#1387 MIDI export: no text events in produced file

None
closed
5
2013-10-09
2013-03-07
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

  • D. Michael McIntyre

    • assigned_to: Tom Breton
     
  • D. Michael McIntyre

    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)
    
     
  • D. Michael McIntyre

    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.

     
  • D. Michael McIntyre

    • status: open --> closed
     
  • D. Michael McIntyre

    I miss being able to set a bug to pending and have it close itself after a couple weeks of no activity.

     

Log in to post a comment.