-
Notifications
You must be signed in to change notification settings - Fork 27
Tracker player update order
Persune edited this page Jan 23, 2023
·
4 revisions
Documents the player update order of the tracker.
- CSoundGen::PlayChannelNotes()
- CSoundGen::PlayNote()
- CSoundGen::EvaluateGlobalEffects()
- CChannelHandler::HandleDelay()
- CChannelHandler::HandleNoteData()
- (handle echo buffer)
- CChannelHandler::WriteEchoBuffer()
- (handle effects)
- CChannelHandler::HandleEffect()
- (handle volume command and Nxy)
- (handle instrument command)
- (switch case note command)
- (handle empty note)
- (handle note cut)
- (handle note release)
- (handle note)
- (handle note slide)
- (handle echo buffer)
- CSoundGen::PlayNote()
- CSoundGen::UpdatePlayer()
- CSoundGen::UpdateChannels() // run instruments, effects, etc.
- CChannelHandler::ProcessChannel()
- UpdateDelay();
- UpdateNoteCut();
- UpdateNoteRelease();
- UpdateNoteVolume(); // // //
- UpdateTranspose(); // // //
- if (m_iVolSlideTarget < 0) // // !!
- UpdateVolumeSlide();
- else
- UpdateTargetVolumeSlide();
- UpdateVibratoTremolo();
- UpdateEffects();
- if (m_pInstHandler) m_pInstHandler->UpdateInstrument(); // // //
- CChannelHandler::ProcessChannel()
- CSoundGen::UpdateAPU() // write to registers