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 :( -- Will J Godfrey {apparently now an 'elderly'} _______________________________________________ Rosegarden-user mailing list Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe https://lists.sourceforge.net/lists/listinfo/rosegarden-user