13
0
Commit Graph

13037 Commits

Author SHA1 Message Date
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