do init pass for this instr */
| 104 | |
| 105 | /* do init pass for this instr */ |
| 106 | static int init_pass(CSOUND *csound, INSDS *ip) { |
| 107 | int error = 0; |
| 108 | if(csound->oparms->realtime) |
| 109 | csoundLockMutex(csound->init_pass_threadlock); |
| 110 | csound->curip = ip; |
| 111 | csound->ids = (OPDS *)ip; |
| 112 | csound->mode = 1; |
| 113 | while (error == 0 && (csound->ids = csound->ids->nxti) != NULL) { |
| 114 | csound->op = csound->ids->optext->t.oentry->opname; |
| 115 | if (UNLIKELY(csound->oparms->odebug)) |
| 116 | csound->Message(csound, "init %s:\n", csound->op); |
| 117 | error = (*csound->ids->iopadr)(csound, csound->ids); |
| 118 | } |
| 119 | csound->mode = 0; |
| 120 | if(csound->oparms->realtime) |
| 121 | csoundUnlockMutex(csound->init_pass_threadlock); |
| 122 | return error; |
| 123 | } |
| 124 | |
| 125 | int rireturn(CSOUND *csound, void *p); |
| 126 | /* do reinit pass */ |
no test coverage detected