MCPcopy Create free account
hub / github.com/csound/csound / reinit_pass

Function reinit_pass

Engine/insert.c:127–149  ·  view source on GitHub ↗

do reinit pass */

Source from the content-addressed store, hash-verified

125int rireturn(CSOUND *csound, void *p);
126/* do reinit pass */
127static int reinit_pass(CSOUND *csound, INSDS *ip, OPDS *ids) {
128 int error = 0;
129 if(csound->oparms->realtime) {
130 csoundLockMutex(csound->init_pass_threadlock);
131 }
132 csound->curip = ip;
133 csound->ids = ids;
134 csound->mode = 1;
135 while (error == 0 && (csound->ids = csound->ids->nxti) != NULL &&
136 (csound->ids->iopadr != (SUBR) rireturn)){
137 csound->op = csound->ids->optext->t.oentry->opname;
138 if (UNLIKELY(csound->oparms->odebug))
139 csound->Message(csound, "reinit %s:\n", csound->op);
140 error = (*csound->ids->iopadr)(csound, csound->ids);
141 }
142 csound->mode = 0;
143
144 ATOMIC_SET8(ip->actflg, 1);
145 csound->reinitflag = ip->reinitflag = 0;
146 if(csound->oparms->realtime)
147 csoundUnlockMutex(csound->init_pass_threadlock);
148 return error;
149}
150
151
152/*

Callers 1

event_insert_threadFunction · 0.85

Calls 3

csoundLockMutexFunction · 0.85
csoundUnlockMutexFunction · 0.85
MessageMethod · 0.80

Tested by

no test coverage detected