Sorry for the x-posting to rosegarden-devel
On 23/09/2023 09:08, Lorenzo Sutton wrote:
On 23/09/2023 08:50, Lorenzo Sutton wrote:
On 22/09/2023 21:35, Will Godfrey wrote:
First off I don't know if this is down to Rosegarden or aplaymidi
If I set program change to patch number 122 in a Rosegarden track
Yoshimi responds to by loading the appropriate patch.
If I then export that track as a MIDI file and run that via aplaymidi
to Yoshimi, it's ignored. Any other patch value works correctly.
Now if a 122 (121 counting from 0) program change is present rosegarden
[MidiFile] writeTrack(): Found controller 121. Skipping. This is a
HACK to address BUG #1404.
This doesn't happen with other program changes... So, this is definitely
a bug of rosegarden confusing a 121 program change for a controller
change. I'm not sure if someone familiar with this code can look into this.
I think I found the issue. In the file:
around line 1458 essentially the check is only on the MIDI data
'catching' anything with a data1 value of 121.
Changing the condition to this where there is a check that the type of
event is actually a MIDI control change seems to solve the issue:
midiEvent.getEventCode() == MIDI_CTRL_CHANGE &&
midiEvent.getData1() == MIDI_CONTROLLER_RESET
At the moment I don't have time to open a bug report and submit the
change in a fork (this is really painful with sourceforge)... I can do
it in the next days.
Hope this helps.
Rosegarden-user mailing list
Rosegardenfirstname.lastname@example.org - use the link below to unsubscribe