| 307 | } |
| 308 | |
| 309 | JASChannel *JASTrack::channelStart(JASTrack::TChannelMgr *channelMgr, u32 p2, u32 p3, u32 updateTimer) { |
| 310 | JASBank *bank = NULL; |
| 311 | if (mBankTable != NULL) { |
| 312 | bank = mBankTable->getBank(mBankNumber); |
| 313 | } |
| 314 | JASChannel *channel = JASBank::noteOn(bank, mProgNumber, p2, p3, |
| 315 | mNoteOnPrio | mReleasePrio << 8, |
| 316 | channelUpdateCallback, channelMgr); |
| 317 | if (channel == NULL) { |
| 318 | return NULL; |
| 319 | } |
| 320 | channel->setUpdateTimer(updateTimer); |
| 321 | channel->setSkipSamples(mSkipSample); |
| 322 | channel->setVibrateDelay(mVibDelay); |
| 323 | channel->setTremoloDelay(mTremDelay); |
| 324 | |
| 325 | for (u32 i = 0; i < 6; i++) { |
| 326 | channel->setMixConfig(i, mMixConfig[i]); |
| 327 | } |
| 328 | overwriteOsc(channel); |
| 329 | if (mDirectRelease != 0) { |
| 330 | channel->setDirectRelease(mDirectRelease); |
| 331 | } |
| 332 | return channel; |
| 333 | } |
| 334 | |
| 335 | int JASTrack::noteOn(u32 noteid, u32 p2, u32 p3) { |
| 336 | #line 476 |
nothing calls this directly
no test coverage detected