Saving the new ControlList interpolation methods (enum) breaks loading
the session in older version. The session-format version will
need to be increased.
Until then:
* Fader automation + region gain envelope uses linear fades
* The automation-line visible in the GUI does not match the actual fade
(the y-axis is log/exp-scale, the fade is linear)
* Adding new points on the line is not using the correct initial value
* Custom changes of interpolation mode are not available
Neither of these issues is a regression.
Trim automation is planned via SlavableAC as normal AutomationMode.
Some of this code have a revival (a special "Trim+Preview" state
before merging Automation but that has to be more general than Pan & Gain.
The first click to select a new stripable may actually un-select strip.
counting and ignoring this leads to strange behavior.
Also when the selection_counter hit zero, VCAs were not ignored.
whatever this workaround was good for, it's more trouble than it's worth.
As side-effect this also improves DnD + Gtk::Entry behavior with stock GTK.
Remove old code to remove duplicate engine state which was used to
work-around a bug since 3.x saved duplicates but broke with 4.x separate
i/o devices.
Add a new variant to purge old unused states per backend (after sorting).
* add an abstract StripableTimeAxisView (Route TAV + VCA TAV)
* move common strip-methods into STAV
* Add Automation Lanes to VCA TAV
* Allow ATAV without Automatable for VCA Controls
"Add and Close" is an odd one out and this button should really be
removed for consistency. Still it allows for a 2-click or
2-keyboard-shortcut very common action.
Double clicking on a file or pressing the Return key will now import it.
This means with autoplay enabled you can navigate a directory of audio files
using the up and down arrow keys and import the wanted files (with Return)
without having to touch the mouse.
Being able to use double click to import a file means you don't have to move
the mouse back and forth between the file browser and the import button.
You can still manually audition the file with space as before.
TempoMap::get_grid() supplies a list of beat positions, leaving the lines
to work out any subdivision positions.
This is fine, unless a tempo section falls in between beats.
Use a BeatsFramesConverter along with a quarter note position
(in the BBTPointsList) to make this easier.
Since 478f26b2ad, transport_rolling() is only true when actually rolling.
Count-in is a no-roll process (don't move playhead, no playhead UI
position interpolation 55b8b448).
But transport isn't exactly stopped either (preparing to roll), so
during count-in transport_stopped() == transport_rolling() == false.