689 |
NoteIterator itNewNote = pNotePool->allocAppend(); |
NoteIterator itNewNote = pNotePool->allocAppend(); |
690 |
const note_id_t newNoteID = pNotePool->getID(itNewNote); |
const note_id_t newNoteID = pNotePool->getID(itNewNote); |
691 |
|
|
692 |
|
// remember the engine's time when this note was triggered exactly |
693 |
|
itNewNote->triggerSchedTime = pNoteOnEvent->SchedTime(); |
694 |
|
|
695 |
// usually the new note (and its subsequent voices) will be |
// usually the new note (and its subsequent voices) will be |
696 |
// allocated on the key provided by the event's note number, |
// allocated on the key provided by the event's note number, |
697 |
// however if this new note is requested not to be a regular |
// however if this new note is requested not to be a regular |
990 |
itScriptEvent->cause = *itEvent; |
itScriptEvent->cause = *itEvent; |
991 |
itScriptEvent->currentHandler = 0; |
itScriptEvent->currentHandler = 0; |
992 |
itScriptEvent->executionSlices = 0; |
itScriptEvent->executionSlices = 0; |
993 |
|
itScriptEvent->ignoreAllWaitCalls = false; |
994 |
|
itScriptEvent->handlerType = pEventHandler->eventHandlerType(); |
995 |
// this is the native representation of the $EVENT_ID script variable |
// this is the native representation of the $EVENT_ID script variable |
996 |
itScriptEvent->id = |
itScriptEvent->id = |
997 |
(itEvent->Type == Event::type_note_on) |
(itEvent->Type == Event::type_note_on) |
1919 |
* @param pEngineChannel - engine channel on which this event occurred on |
* @param pEngineChannel - engine channel on which this event occurred on |
1920 |
* @param itEvent - note synthesis parameter change event |
* @param itEvent - note synthesis parameter change event |
1921 |
*/ |
*/ |
1922 |
virtual void ProcessNoteSynthParam(EngineChannel* pEngineChannel, RTList<Event>::Iterator& itEvent) OVERRIDE { |
virtual void ProcessNoteSynthParam(EngineChannel* pEngineChannel, RTList<Event>::Iterator& itEvent) { |
1923 |
EngineChannelBase<V, R, I>* pChannel = static_cast<EngineChannelBase<V, R, I>*>(pEngineChannel); |
EngineChannelBase<V, R, I>* pChannel = static_cast<EngineChannelBase<V, R, I>*>(pEngineChannel); |
1924 |
|
|
1925 |
NoteBase* pNote = pChannel->pEngine->NoteByID( itEvent->Param.NoteSynthParam.NoteID ); |
NoteBase* pNote = pChannel->pEngine->NoteByID( itEvent->Param.NoteSynthParam.NoteID ); |
1957 |
case Event::synth_param_resonance: |
case Event::synth_param_resonance: |
1958 |
pNote->Override.Resonance = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta; |
pNote->Override.Resonance = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta; |
1959 |
break; |
break; |
1960 |
|
case Event::synth_param_attack: |
1961 |
|
pNote->Override.Attack = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta; |
1962 |
|
break; |
1963 |
|
case Event::synth_param_decay: |
1964 |
|
pNote->Override.Decay = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta; |
1965 |
|
break; |
1966 |
|
case Event::synth_param_release: |
1967 |
|
pNote->Override.Release = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta; |
1968 |
|
break; |
1969 |
} |
} |
1970 |
|
|
1971 |
// move note parameter event to its MIDI key |
// move note parameter event to its MIDI key |