Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#1387 MIDI export: no text events in produced file

None
closed
Tom Breton
5
2013-10-09
2013-03-07
Thunderchild
No

I'm regularly setting choral pieces for a choir with Lilypond and use RG to produce nice MIDIs. Those are based on the Lilypond-generated MIDI, which I import into Rosegarden, clean up a bit and then re-export for publication.

Since RG 12, all exported MIDIs do not contain any text events anymore. This has been bugging me ever since. Now that 13.02 became available, I finally took the effort to create an account here to report it. Please tell me this is a proper bug and not intended. I can also live with being proven wrong because I missed an option or something.

This is (for me anyway) a severe regression and forces me to stick to 11.11.11, which is -- to my knowledge -- the last version to not suffer from it.

Attached is a minimal example containing a lilypond score and two MIDIs. One is produced by Lilypond. The other was obtained by importing that Lilypond MIDI into Rosegarden 13.02 and exporting it again without any further editing.

Thanks for your time.

1 Attachments

Discussion

    • assigned_to: Tom Breton
     
  • Easy trail to follow. It leads to a block of code in src/sound/MidiInserter.cpp that is completely disabled and blocked out.

    I certainly never missed this functionality, and had no idea this used to work, and was now broken. You didn't waste your time reporting this one, that's for sure!

    It looks like Tom had some plan what he was going to do with MappedEvent::Text and never implemented it. My guess is he just left it disabled figuring nobody would notice or care, and he was nearly right about that.

    I took a look, and I'd rather see if Tom remembers something about this before I go in and find out why this code was disabled in the first place

     
  • Tom Breton
    Tom Breton
    2013-03-07

    It looks like Tom had some plan what he was going to do with
    MappedEvent::Text and never implemented it. My guess is he just left it
    disabled figuring nobody would notice or care, and he was nearly right
    about that.

    I took a look, and I'd rather see if Tom remembers something about this
    before I go in and find out why this code was disabled in the first place

    I'm on it. I left it disabled because text requires some slightly special
    mapping, but since there is demand for it, I'll write the support and
    re-enable it. Shouldn't take long.

    Tom Breton (Tehom)
    
     
  • Tom Breton
    Tom Breton
    2013-03-07

    I just committed a fix for it on /trunk.

    Tom Breton (Tehom)
    
     
  • Fix looks plausible. I extended the special handling to exclude LilyPond directives as well. I made no attempt to test this beyond making sure the code compiled without typos, but it FEELS like the right thing to do. LilyPond directives are just a repurposed clone of annotations, used to make special things happen during the LilyPond export process. Somebody going back and forth to MIDI wouldn't want these showing up, I don't expect.

     
    • status: open --> closed
     
  • I miss being able to set a bug to pending and have it close itself after a couple weeks of no activity.