Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Add to source files that use LocaleGuard
Results in far less recompiling when pbd/locale_guard.h changes
|
|
All float <=> string conversions are now done using PBD::to_string/string_to()
in ConfigVariable class or via XMLNode::get/set_property()
|
|
float <=> string conversion is done using PBD::string_to/to_string() via
XMLNode::get/set_property so the LocaleGuards are no longer necessary
|
|
PBD::string_to is now used for float <=> string conversions so a LocaleGuard is
no longer necessary.
|
|
all float <=> string conversions are done via PBD::to_string/string_to. Either
via XMLNode::get/set_property or directly in HSV and SVAModifier classes
|
|
The float <=> string conversions that this guard was protecting are now using
PBD::to_string/string_to() via XMLNode::get/set_property()
|
|
There are no float <=> string conversions in these methods and g_base64_encode
etc functions are not affected by locale.
|
|
All float <=> string conversion is now done using PBD::to_string/string_to()
via XMLNode::get/set_property()
|
|
All float <=> string conversions are now done using locale independent
PBD::to_string/string_to() via XMLNode::get/set_property
|
|
|
|
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.
|
|
|
|
|
|
|
|
remove use of
- unbound_min/max
- list->default_value and min/max_y
|
|
Note: Control-surfaces should always use interface_to_internal()
and internal_to_interface().
|
|
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.
|
|
|
|
for a certain string leads failure to launch the application on Windows 10
|
|
|
|
because reordering a TreeView [pragmatically] does not retain selection.
|
|
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.
|
|
There's no TargetEntry receiver for the custom DnDTreeView<Route> object.
We can just use a default Gtk::TreeView.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
position
|
|
|
|
|
|
Commit cebefe6 assumed that frame 0 was the music origin.
Silly me.
|
|
|
|
|
|
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.
|