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

Reply via email to