Re: Weird MIDI bug

Will Godfrey <[email protected]>
Newsgroups gmane.comp.audio.rosegarden.user
Message-ID <20230923090657.060ceff2@devuan>
On Sat, 23 Sep 2023 09:40:39 +0200
Lorenzo Sutton <[email protected]> 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
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.