13
0
Commit Graph

12771 Commits

Author SHA1 Message Date
201fd55743 Add ControlEvent Lua bindings and related methods to access MIDI-CC 2017-04-24 04:21:25 +02:00
d837914e28 Swap inheritance, simplifies Lua Bindings 2017-04-24 04:21:25 +02:00
1e8462f45e Reset process-graph semaphores on engine-restart 2017-04-22 23:06:22 +02:00
9c0ba3b3d5 Add mechanism to reset/lock semaphores 2017-04-22 23:06:22 +02:00
629e6cbefb remove unused semaphore 2017-04-22 23:06:22 +02:00
8e038da828 NO-OP: whitespace 2017-04-22 23:06:22 +02:00
8969ded7e1 Privatize non-public methods 2017-04-22 23:06:22 +02:00
dd1bf47394 NO-OP: whitespace 2017-04-22 16:09:10 +02:00
2012dc2553 OSC: correct spelling 2017-04-21 07:29:13 -07:00
ea1769d711 Resolve potential variable name ambiguity for older compilers 2017-04-21 16:05:24 +02:00
d7d86a99d2 Re-nice ALSA MIDI port names 2017-04-21 10:43:22 +02:00
23efc699c3 Do not clear pretty-names set by the backend
Since 7dde6c3b8f pretty-names are no longer saved and hence initially
empty. The port-manager cleared existing pretty-port-names.
2017-04-21 10:26:59 +02:00
10c4891532 Fix thinko in 6ae047cdd and 8f488515 (prefer LV2 symbol over ID) 2017-04-21 05:36:52 +02:00
048af97b54 Use correct property names in PBD::Undo class
These have been "normalized" in XMLProperty ctor for many years, so this does
not change the Session format.
2017-04-21 12:46:04 +10:00
384478a745 Use XMLNode::get_property in Session::restore_history
Avoid using std::stringstream due to potential future issues with C++ locale.

Also avoids potential NULL pointer dereferences.
2017-04-21 12:46:04 +10:00
d19ec8ba46 Use hyphen for XML property names
These have been normalized/modified by the XMLProperty ctor for many years (~9)
so special treatment when reading properties should not be needed.
2017-04-21 12:46:04 +10:00
b7a9f3c6b5 Use XMLNode::get_property in Session::memento_command_factory
Avoids potential issues with dereferencing a NULL XMLProperty pointer and
improves readability by using better locally scoped variable names.
2017-04-21 12:46:04 +10:00
6ae047cdd2 Fix restoration of Plugin Controllable state ID's
Caused by thinko when merging/replacing two conditional clauses in the
string-convert changes which resulted in bindings not being restored and
regeneration of id's in XML.
2017-04-21 12:46:04 +10:00
44cec18516 Retain state of disabled ctrl-surfaces 2017-04-21 04:08:08 +02:00
661d258687 Fix adeadlock (or rather NDEADLCK)
ControlProtocolManager::set_state() already takes the protocols_lock.
However effectively this is a NO-OP. During ::set_state no CPI should
be instantiated and  ControlProtocolManager::teardown() returns early.
2017-04-21 04:08:05 +02:00
7d5b7d538e Notify GUI when tearing down ctrl-surfaces 2017-04-21 02:53:51 +02:00
f913d5b9f6 NO-OP: whitespace 2017-04-20 23:47:39 +02:00
8a92be1757 Fix operator precedence (amend e7e9e025) 2017-04-20 22:47:45 +02:00
8f8e32881c Remove unused enum 2017-04-20 22:20:20 +02:00
ffff31b832 Relax LocaleGuards
Arodur itself on longer depends on C/C++ locale for saving/loading sessions.
However, the Localeguard is kept for 3rd party plugins: Reset the C locale
to "C" to enforce consisten numerics and portable sessions as well
as verify that no plugin changes the C++ locale.
2017-04-20 22:12:33 +02:00
b6c222555f NO-OP: re-order code, add comments 2017-04-20 17:19:03 +02:00
8add4eefad FP8: some code comments and cleanup 2017-04-20 16:06:47 +02:00
873a469686 Changes needed for building Tim's new 'string_convert' stuff with MSVC (libardour) 2017-04-19 17:25:52 +01:00
251db7a608 Changes needed for building Tim's new 'string_convert' stuff with MSVC (libpbd) 2017-04-19 17:25:51 +01:00
df98be1240 Don't explicitly store Auditioner -> Monitor connections.
The monitor section connection is implicit and done by default.
This fixes an issue with the auditioner connections being lost when
switching between sessions that use/don't use the monitor-section.

Previously:
1) load session with monitor section, save session
  -> global config explicitly saved
  "auditioner-output-left" -> "ardour:Monitor/audio_in 1"

2) Load a session w/o monitor-section. The config is parsed,
  "ardour:Monitor/audio_in" port does not exist, connection was lost.
2017-04-19 16:41:51 +02:00
c8aa78af07 Prefer boolean over literal 2017-04-19 12:51:11 +02:00
8f1cc261a2 Remove cruft. ChanCount::INFINITE is not used 2017-04-19 11:43:08 +02:00
89815f7d59 Change header include order to try and avoid INFINITE define on windows
This doesn't seem to be an issue with a newer version of the Mingw-w64 headers
that I use (5.0.2rc2).
2017-04-19 18:08:40 +10:00
21077018b8 Use PBD::string_to_uint32 in Playlist class instead of boost::lexical_cast 2017-04-19 09:37:02 +10:00
e097e0511f Use fixed size type for Playlist sort id as it is serialized 2017-04-19 09:37:02 +10:00
1ce58ad90a Add additional PBD::string_to/to_string specializations for PBD::ID 2017-04-19 09:37:02 +10:00
baa1bff5ec Use PBD::to_string to set state-dir property in LV2Plugin
To prevent issues with numeric grouping with formatting used by string_compose
template/stringstream when global C++ locale != "C"
2017-04-19 09:37:01 +10:00
19f9158dc6 Use PBD::to_string() in LV2Plugin instead of string_compose for state_dir
To prevent issues with numeric grouping with formatting used by string_compose
template/stringstream when global C++ locale != "C"
2017-04-19 09:37:01 +10:00
f2e32efc92 Use std::string::operator+ instead of string_compose in VSTPlugin 2017-04-19 09:37:01 +10:00
af1f4b933b Use std::string::operator+() instead of string_compose template in Route class
Using string_compose in this instance doesn't seem necessary, is worse in terms
of readability and is no doubt slower.
2017-04-19 09:37:01 +10:00
4367b51e56 Remove PBD::to_string() function from pbd/convert.h
All uses of this function have now been replaced by PBD::to_string() from
pbd/string_convert.h

Remove this function so that it isn't mistakenly used to perform numeric to
string conversion when the result is being used for serialization as that only
works if the global C++ locale is set with LC_NUMERIC=C, which is the case
currently but may not be in the future.
2017-04-19 09:37:01 +10:00
926a064744 Use PBD::to_string from pbd/string_convert.h in WaveView debug code 2017-04-19 09:37:01 +10:00
aede5c85d5 Use PBD::to_string from pbd/string_convert.h in ARDOUR::VCAManager
The numeric formatting is equivalent to iostreams when global C++ locale is set
to "C" without the need for a LocaleGuard.

I'm not sure this would have been an issue as the number of VCA's may never get
high enough for digit grouping of the locale to affect numeric output, but now
it is not a possibility.
2017-04-19 09:37:00 +10:00
2386dc7ede Use PBD::string_to/to_string in ARDOUR::user_config_directory_name()
The numeric formatting is equivalent without requiring a LocaleGuard or the
global C++ locale is "C".
2017-04-19 09:37:00 +10:00
797fbfc5de Use PBD::to_string from pbd/string_convert.h in ARDOUR::ExportFilename
The numeric formatting is equivalent to using iostreams in the C locale without
having to use a LocaleGuard or set global C++ locale.
2017-04-19 09:37:00 +10:00
0ae2985a21 Use XMLNode::get_property in ARDOUR::ElementImporter 2017-04-19 09:37:00 +10:00
5c387b76b8 Use PBD::to_string/string_to in ARDOUR::ElementImporter class 2017-04-19 09:37:00 +10:00
37d76e4104 Use PBD::to_string API from pbd/string_convert.h in AudioFileTagger
Use pbd/string_convert.h API instead of std::ostream for numeric formatting to
remain locale independent and not have to use a LocaleGuard. The formatting is
equivalent.
2017-04-19 09:37:00 +10:00
0dbb9e6346 Use PBD::to_string API from pbd/string_convert.h in AudioTrackImporter
Use pbd/string_convert.h API instead of std::ostream for numeric formatting to
remain locale independent and not have to use a LocaleGuard. The formatting
is equivalent.

The code in this file has been disabled in the GUI for some time...and I doubt
it would now work correctly.
2017-04-19 09:37:00 +10:00
0de5722fb1 Use PBD::to_string() from pbd/string_convert.h in ardour ALSA utils
Use pbd/string_convert.h API instead of std::ostream for numeric formatting to
remain locale independent and not have to use a LocaleGuard. The formatting is
equivalent
2017-04-19 09:37:00 +10:00