Browse Source

Fix DSSI MIDI events

Signed-off-by: falkTX <falktx@falktx.com>
pull/1807/head
falkTX 1 year ago
parent
commit
b77c437792
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
1 changed files with 5 additions and 0 deletions
  1. +5
    -0
      source/backend/plugin/CarlaPluginLADSPADSSI.cpp

+ 5
- 0
source/backend/plugin/CarlaPluginLADSPADSSI.cpp View File

@@ -1569,6 +1569,7 @@ public:
CARLA_SAFE_ASSERT_CONTINUE(note.channel >= 0 && note.channel < MAX_MIDI_CHANNELS); CARLA_SAFE_ASSERT_CONTINUE(note.channel >= 0 && note.channel < MAX_MIDI_CHANNELS);


snd_seq_event_t& seqEvent(fMidiEvents[midiEventCount++]); snd_seq_event_t& seqEvent(fMidiEvents[midiEventCount++]);
carla_zeroStruct(seqEvent);


seqEvent.type = (note.velo > 0) ? SND_SEQ_EVENT_NOTEON : SND_SEQ_EVENT_NOTEOFF; seqEvent.type = (note.velo > 0) ? SND_SEQ_EVENT_NOTEON : SND_SEQ_EVENT_NOTEOFF;
seqEvent.data.note.channel = static_cast<uchar>(note.channel); seqEvent.data.note.channel = static_cast<uchar>(note.channel);
@@ -1727,6 +1728,7 @@ public:
continue; continue;


snd_seq_event_t& seqEvent(fMidiEvents[midiEventCount++]); snd_seq_event_t& seqEvent(fMidiEvents[midiEventCount++]);
carla_zeroStruct(seqEvent);


seqEvent.time.tick = isSampleAccurate ? startTime : eventTime; seqEvent.time.tick = isSampleAccurate ? startTime : eventTime;


@@ -1771,6 +1773,7 @@ public:
continue; continue;


snd_seq_event_t& seqEvent(fMidiEvents[midiEventCount++]); snd_seq_event_t& seqEvent(fMidiEvents[midiEventCount++]);
carla_zeroStruct(seqEvent);


seqEvent.time.tick = isSampleAccurate ? startTime : eventTime; seqEvent.time.tick = isSampleAccurate ? startTime : eventTime;


@@ -1795,6 +1798,7 @@ public:
continue; continue;


snd_seq_event_t& seqEvent(fMidiEvents[midiEventCount++]); snd_seq_event_t& seqEvent(fMidiEvents[midiEventCount++]);
carla_zeroStruct(seqEvent);


seqEvent.time.tick = isSampleAccurate ? startTime : eventTime; seqEvent.time.tick = isSampleAccurate ? startTime : eventTime;


@@ -1823,6 +1827,7 @@ public:
status = MIDI_STATUS_NOTE_OFF; status = MIDI_STATUS_NOTE_OFF;


snd_seq_event_t& seqEvent(fMidiEvents[midiEventCount++]); snd_seq_event_t& seqEvent(fMidiEvents[midiEventCount++]);
carla_zeroStruct(seqEvent);


seqEvent.time.tick = isSampleAccurate ? startTime : eventTime; seqEvent.time.tick = isSampleAccurate ? startTime : eventTime;




Loading…
Cancel
Save