Quote:
Originally Posted by IXix
The obvious solution is for the source properties option to ignore project tempo to be set automatically when the item timebase is changed to Time and cleared when set to Beats.
|
Thinking about this some more, that's not right. I think MIDI items should behave
exactly the same as audio items where timebase is concerned. This might be a seem a bit weird for Beats (position only) but I think consistency trumps weirdness.
The "Ignore project tempo" option becomes redundant. It's not enough for MIDI source to have its own tempo, it needs its own
grid in order to properly cope with tempo and time sig changes. A MIDI item should retain all the tempo and time signature changes that were present when it was created. If I copy or move an item, its internal grid should copy the project grid at the item's current location. Whether the MIDI events follow the project grid or the internal grid would be dictated by the item timebase:
- Time: MIDI events use source grid
- Beats (position only): MIDI events use source grid
- Beats (position, length, rate): MIDI events follow project grid
The user would need to be able to edit the source grid in the midi editor.
I understand that this is a lot of work for the devs but I can't see any other way to have fully functional MIDI. Each MIDI item needs to be a self-contained entity.
I think this system provides enough flexibility for any scenario. The default timebase for new MIDI items should default to "Beats (position, length, rate)" with an option on the "Media item defaults" tab to allow the user to specify their preference.
It's taken me a long time to compose this post so please implement it straight away. Thankyou