9334c99b35
Update Slavable API
...
Do not use AutomationType to identify parameters, use complete
Evoral::Parameter and Automatable.
For "batch connections", a Slavables needs to implement an API to return
the relevant controls.
This is only a first step towards a more generic Master/Slave framework.
2017-06-22 22:04:10 +02:00
faa52a3349
NO-OP: whitespace
2017-06-22 22:04:10 +02:00
7af5de2074
OSC: Add increment fader.
2017-06-22 12:54:03 -07:00
57e7531b1f
OSC: allow mixbuses to show
2017-06-22 10:20:48 -07:00
6180c5a5fc
Accommodate newly introduced source(s) in our MSVC project (libpbd)
2017-06-22 17:59:16 +01:00
3baf360733
OSC: use internal_to_interface or reverse
2017-06-22 09:21:51 -07:00
a5836e2922
Remove LocaleGuard from Plugin::get_state
...
Let the plugin implementation of Plugin::add_state use a LocaleGuard if it is
necessary (VST/LV2). This puts the LocaleGuards where they are required but the
LocaleGuards in Session::set/get_state will mean these LocaleGuards are a noop.
They are still useful for documentation purposes and in case the code is called
from a non-Session context at some point.
2017-06-22 10:48:38 +10:00
8b10ed2478
Remove LocaleGuards from LadspaPlugin::set/add_state
...
String <-> type conversion is being performed by the pbd/string_convert.h API
via PBD::XMLNode so LocaleGuards are not necessary.
2017-06-22 10:48:38 +10:00
a65c3ef28f
Remove unnecessary LocaleGuards from VSTPlugin derived classes
...
VSTPlugin::set_state and VSTPlugin::add_state methods both already contain
LocaleGuard instances.
2017-06-22 10:48:38 +10:00
90f169881f
Remove unused ArdourCanvas::HSV constructor
...
Using stringstream for this is not locale independant. If this constructor is
needed at a later stage it should be reimplemented.
2017-06-22 10:48:38 +10:00
6d35b3c4e4
Remove locale_guard.h from ardour/ardour.h header
...
Add to source files that use LocaleGuard
Results in far less recompiling when pbd/locale_guard.h changes
2017-06-22 10:48:38 +10:00
5ddd7a58b6
Remove unused pbd/locale_guard.h header from Gtkmm2ext::Barcontroller class
2017-06-22 10:48:38 +10:00
1170bd9043
Remove LocaleGuards from SVAModifier and HSV classes
...
float <=> string conversion now done using PBD::to_string/string_to so
LocaleGuards are no longer needed.
2017-06-22 10:48:38 +10:00
5103663f13
Remove LocaleGuard from ARDOUR::PannerShell
...
All Panner implementations using PBD::to_string/string_to for float <=> string
conversion and no longer require a LocaleGuard.
2017-06-22 10:48:38 +10:00
e4b5a84211
Remove LocaleGuard from ARDOUR::Pannable class
...
string <=> float conversions are using PBD::to_string/string_to and no longer
require a LocaleGuard
2017-06-22 10:48:38 +10:00
00803ca69b
Remove LocaleGuards from ARDOUR::Tempo class
...
All float <=> string conversions are done for PBD::string_to/to_string and no
longer require a LocaleGuard.
2017-06-22 10:48:38 +10:00
8d039d3211
Remove LocaleGuards from ARDOUR::Speakers class
...
float <=> string conversions are now using PBD::to_string/string_to via XMLNode
for locale independent conversion and these guards are not necessary.
2017-06-22 10:48:38 +10:00
f597711428
Remove LocaleGuards from ARDOUR::Session transport related methods
...
ARDOUR::AutomationList is no longer using LocaleGuards as float <=> string
conversion is using PBD::to_string/string_to so the reason for adding these
guards as per comment no longer applies.
2017-06-22 10:48:38 +10:00
5c5cfac4a3
Remove LocaleGuard from Session::load_options
...
PBD::ConfigVariable uses PBD::to_string/string_to methods so this LocaleGuard
is no longer necessary.
2017-06-22 10:48:38 +10:00
58371af68a
Remove LocaleGuards from SessionConfiguration class
...
ConfigurationVariable is now using PBD::to_string/string_to for float <=>
string conversions so LocaleGuard is no longer necessary.
2017-06-22 10:48:38 +10:00
0e3a132097
Remove LocaleGuard from Session::immediately_post_engine method
...
I think this was only to protect the float <=> string conversion in
Session::setup_click_state related to click gain which is now using
PBD::to_string/string_to and so no longer necessary.
2017-06-22 10:48:38 +10:00
5694d877aa
Remove LocaleGuard from ARDOUR::Route class
...
Route and all members are now using locale independent string <=> float
conversions.
2017-06-22 10:48:38 +10:00
f8abdd9cdf
Remove LocaleGuard from ARDOUR::MonitorProcessor state method
...
All float <=> string conversions are done using PBD::to_string/string_to via
XMLNode and LocaleGuard is not necessary.
2017-06-22 10:48:38 +10:00
1a39da25e4
Remove LocaleGuard from ARDOUR::RCConfiguration class
...
This presumes that all ControlProtocol implementations either use
PBD::to_string/string_to for float <=> string conversions, which is now the
case.
2017-06-22 10:48:38 +10:00
579d856cc7
Remove LocaleGuards from LuaProc class
...
All float <=> string conversions are done using PBD::to_string/string_to via
XMLNode so no LocaleGuard is necessary.
2017-06-22 10:48:38 +10:00
3c59d38f1c
Remove LocaleGuard from ARDOUR::MidiTrack class
...
There are no float <=> string conversions and they are all now performed using
PBD::to_string/string_to via XMLNode
2017-06-22 10:48:38 +10:00
482be1410b
Remove LocaleGuard from ARDOUR::MidiDiskstream class
...
There are no float <=> string conversions in MidiDiskstream state methods,
these guards must have been to protect conversions in Diskstream state methods
which are now using PBD::to_string/string_to via XMLNode so no longer need
guarding.
2017-06-22 10:48:38 +10:00
d5cf19d606
Remove LocaleGuards from ARDOUR::ExportFormatSpecification state methods
...
All float <=> string conversions are performed by PBD::to_string/string_to via
XMLNode.
2017-06-22 10:48:38 +10:00
810c6e7833
Remove LocaleGuard from ARDOUR::Diskstream state method
...
The float conversion in Diskstream::get_state is now done using
PBD::to_string/string_to via XMLNode::set_property API.
There was no explicit LocaleGuard protecting the string -> float conversion to
remove so it was probably protected by the caller.
2017-06-22 10:48:38 +10:00
9954b476cb
Remove LocaleGuard from ARDOUR::AutomationList class
...
All float conversions are using PBD::to_string/string_to via
XMLNode::get/set_property API
2017-06-22 10:48:38 +10:00
cfd78ab07b
Remove LocaleGuard from ARDOUR::Region class
...
Property conversions <=> string use PBD::to_string/string_to so float
conversions don't need to be protected by a LocaleGuard
2017-06-22 10:48:38 +10:00
ffe0bbe0ab
Remove LocaleGuard from ARDOUR::AudioRegion state methods
...
float <=> string conversions are performed using PBD::to_string/string_to via
XMLNode
2017-06-22 10:48:38 +10:00
11b4da078a
Remove LocaleGuard from ARDOUR::AudioTrack class
...
The gain property float <=> string conversion is now performed using
PBD::to_string/string_to via XMLNode
2017-06-22 10:48:38 +10:00
2e4277ad7b
Remove LocaleGuard from AudioFileSource::get_state
...
Not necessary when using XMLNode::set_property API
2017-06-22 10:48:38 +10:00
47b1f0869b
Remove LocaleGuard from ARDOUR::AudioDiskstream state methods
...
There are no float <=> string conversions and they are all now performed using
PBD::to_string/string_to via XMLNode
2017-06-22 10:48:38 +10:00
eb5161b601
Remove LocaleGuard from ARDOUR::IO class state methods
...
There are no float <=> string conversions that require a LocaleGuard and all
conversions are performed using PBD::to_string/string_to via XMLNode
2017-06-22 10:48:38 +10:00
6ab970efa3
Remove LocaleGuard from PBD::Controllable state methods
...
These are no longer necessary as float <=> string conversion is handled by
locale independent PBD::to_string/string_to via XMLNode::get/set_property
2017-06-22 10:48:38 +10:00
3b718c60de
OSC: Accept mixed parameter types for touch
2017-06-21 15:18:56 -07:00
940be0cbb9
compilation requires <stdint.h>
2017-06-21 14:19:21 -04:00
ed4909bd59
Some ToDo notes about AutomationTypes
2017-06-21 18:14:33 +02:00
ce059e2d66
Remove internal_to_user/user_to_internal API
...
Also GainControl can just use the AutomationControl's implementation of
get_user_string()
2017-06-21 18:13:46 +02:00
55df5b39bc
Prepare removal of redundant get_user/set_user API.
2017-06-21 18:13:41 +02:00
8cd8cb1650
Temporary session-format compatibility (revert before release)
...
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.
2017-06-21 18:13:36 +02:00
d85ce60158
Fix VST default value. query once at instantiation time.
2017-06-21 18:13:29 +02:00
7ab15def2b
Consolidate ParameterDescriptor settings+ranges
2017-06-21 18:13:26 +02:00
394bd8f428
Set default interpolation type (for new lanes)
2017-06-21 18:12:58 +02:00
16624f3139
Add API to compute parameter delta, depending on AutomationType
2017-06-21 18:12:55 +02:00
37905d82a6
Centralize Parameter scaling
...
This exposes an AutomationType dependent abstract version of
inteface_to_internal(), internal_to_interface().
2017-06-21 18:12:45 +02:00
8dcc28c9ad
Remove duplicates from ControlList
2017-06-21 18:12:31 +02:00
3d15499cda
Clamp values in ControlList
2017-06-21 18:12:29 +02:00