Skip to content

Commit 003bf28

Browse files
committed
Fixed issue with FL Studio compatibility mode not working
1 parent 662117f commit 003bf28

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

Source/SeqFile.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -855,8 +855,17 @@ int SeqFile::importMIDI(File midifile, ValueTree midiopts){
855855
OwnedArray<MidiMessageSequence> chantracks;
856856
for(int channel=0; channel<16; channel++){
857857
chantracks.add(new MidiMessageSequence());
858-
mastertrack->extractMidiChannelMessages(channel+1, *chantracks[channel], false);
859-
mastertrack->deleteMidiChannelMessages(channel+1);
858+
for(int m=0; m<mastertrack->getNumEvents(); ++m){
859+
msg = mastertrack->getEventPointer(m)->message;
860+
if(msg.getChannel() == channel+1 && (
861+
!(bool)midiopts.getProperty("flstudio") ||
862+
!msg.isController() ||
863+
!(msg.getControllerNumber() == 114 || msg.getControllerNumber() == 115))){
864+
chantracks[channel]->addEvent(msg);
865+
mastertrack->deleteEvent(m, false);
866+
--m;
867+
}
868+
}
860869
mastertrack->updateMatchedPairs();
861870
chantracks[channel]->updateMatchedPairs();
862871
}

0 commit comments

Comments
 (0)