| 290 | } |
| 291 | |
| 292 | Result csndExecCmds(bool waitDone) |
| 293 | { |
| 294 | Result ret=0; |
| 295 | |
| 296 | // Check we actually wrote commands |
| 297 | if (csndCmdStartOff == csndCmdCurOff) |
| 298 | return 0; |
| 299 | |
| 300 | vu8* flag = (vu8*)&csndSharedMem[(csndCmdStartOff + 4) >> 2]; |
| 301 | |
| 302 | ret = CSND_ExecuteCommands(csndCmdStartOff); |
| 303 | csndCmdStartOff = csndCmdCurOff; |
| 304 | if (R_FAILED(ret)) return ret; |
| 305 | |
| 306 | // FIXME: This is a really ugly busy waiting loop! |
| 307 | while (waitDone && *flag == 0); |
| 308 | |
| 309 | return ret; |
| 310 | } |
| 311 | |
| 312 | void CSND_SetPlayStateR(u32 channel, u32 value) |
| 313 | { |
no test coverage detected