Hi! I hope this isn't a duplicate but I don't think I've seen an already reported issue for this.
In brief
Exporting MIDI file from a project that contains a second time signature somewhere after the first time signature makes export totally wrong (in term of note duration and note positionning.
Context (why I did this)
This made me crazy since yesterday 🤪 ! But I finally found the problem !
I'm working on a project with a signer. The singer sent me a track with voice and guitar; but he doesn't starts on a beat: if the metronome starts at the beginning of the file, the overall project beats would be shifted. Not ideal to work, especially with MIDI.
As I've to send him a MIDI file that corresponds to the file I received; and not a MIDI file saying him "here is my piano file; but you'll have to place the beginning of this file at 0"2'23.234" I needed to "realign" beats: define the first beat when the singer starts to play guitar.
So to "realign" the whole thing I added a time signature when the singer starts to play guitar and I'm good to go then.
But when exporting my MIDI file yesterday I re-imported it onto a new project just to check and I realized that the file is exploitable
Steps to reproduce
=> check the Proof Of Concept Reaper project joint with this Bug report !
- create a project with a MIDI track
- record some MIDI notes, not from the beginning, but leaving an empty space at the beginning
- define a tempo/time signature at the beginning of the file defining tempo
- disable snapping to place another time signature somewhere,
not on a beat, after this first time signature just added, and before the first MIDI note
---- on this time signature's options, don't define a tempo, but only define time signature
- export MIDI track:
- select the track
--- file -> export project MIDI ->
------- entire project
------- selected tracks only
------- type 0 MIDI file
------- leave "embed project tempo/time signature changes" unchecked (it doesn't changes anything on my tests, but I'm not absolutely sure)
- open this exported MIDI file and constat that this file is not correct
the "----" represent sub-lists, but this forum syntax is unbearable :'(
Joint files
I joint a zip file containing an complete example project to help debugging:
.
├── POC.mp3 -> a fake singer track to align MIDI notes with
├── POC - without time signature.RPP -> the project without the second time signature
├── POC - with time signature.RPP -> the project with the 2 times signatures. This is the one that produces buggy export
└── renders -> MIDI renders from my machine, just in case you've different ones
├── POC - without time signature.mid
└── POC - with time sign.mid
Thank you
I hope that this will be useful for you and I take this opportunity to say thank you to all the dev team ! Reaper is an amazing peace of software !
(I would have preferred to see it open source; I would have paid for it too, and this would make me feel confident about the long living of this software)
PS: please consider change this forum for Discord ! (but maybe you're using some features that are not available in Discord and I've missed it; but I really miss Markdown syntax here)
Thanks a lot !