On 23/09/2023 10:06, Will Godfrey wrote:
On Sat, 23 Sep 2023 09:40:39 +0200
Lorenzo Sutton <lorenzofsut...@gmail.com> wrote:

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:
I Will,

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
connected
to Yoshimi, it's ignored. Any other patch value works correctly.

...

Now if a 122 (121 counting from 0) program change is present rosegarden
outputs:

[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:

./src/sound/MidiFile.cpp

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:

if (
        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.
Lorenzo

Good sleuthing!

I haven't got time to do anything to help myself. I'm trying to get Yoshimi
V2.3.1 out before Sonoj, and it's being 'difficult' - especially the
documentation :(


OK I think it's fixed with the merge request linked here:

https://sourceforge.net/p/rosegarden/bugs/1663/



_______________________________________________
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user

Reply via email to