Re: [Rosegarden-user] Weird MIDI bug

Lorenzo Sutton <[email protected]>
Newsgroups gmane.comp.audio.rosegarden.devel,gmane.comp.audio.rosegarden.user
Message-ID <[email protected]>
On 23/09/2023 10:06, Will Godfrey wrote:
> 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 :(
> 

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

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



_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
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.