Robin Gareus [Sat, 22 Apr 2017 19:27:00 +0000 (21:27 +0200)]
Privatize non-public methods
Len Ovens [Sat, 22 Apr 2017 15:07:35 +0000 (08:07 -0700)]
Set -b switch to only two columns, correct options text.
Robin Gareus [Sat, 22 Apr 2017 14:09:10 +0000 (16:09 +0200)]
NO-OP: whitespace
Robin Gareus [Sat, 22 Apr 2017 14:04:35 +0000 (16:04 +0200)]
Add a Readme pertaining to GH release tarballs
Robin Gareus [Sat, 22 Apr 2017 13:19:34 +0000 (15:19 +0200)]
Remove stub file which was used for pre-commit hook testing
Robin Gareus [Fri, 21 Apr 2017 23:06:54 +0000 (01:06 +0200)]
Robin Gareus [Fri, 21 Apr 2017 21:54:17 +0000 (23:54 +0200)]
fix endless loop when clicking on the canvas w/o backend
Len Ovens [Fri, 21 Apr 2017 19:58:59 +0000 (12:58 -0700)]
Add HTML output for -b so that output can replace actions page in manual.
Len Ovens [Fri, 21 Apr 2017 14:29:13 +0000 (07:29 -0700)]
OSC: correct spelling
Robin Gareus [Fri, 21 Apr 2017 14:05:24 +0000 (16:05 +0200)]
Resolve potential variable name ambiguity for older compilers
Robin Gareus [Fri, 21 Apr 2017 08:43:22 +0000 (10:43 +0200)]
Re-nice ALSA MIDI port names
Robin Gareus [Fri, 21 Apr 2017 08:26:59 +0000 (10:26 +0200)]
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.
Robin Gareus [Fri, 21 Apr 2017 03:36:52 +0000 (05:36 +0200)]
Fix thinko in
6ae047cdd and
8f488515 (prefer LV2 symbol over ID)
Tim Mayberry [Thu, 20 Apr 2017 00:55:31 +0000 (10:55 +1000)]
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.
Tim Mayberry [Wed, 19 Apr 2017 12:21:03 +0000 (22:21 +1000)]
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.
Tim Mayberry [Wed, 19 Apr 2017 10:57:18 +0000 (20:57 +1000)]
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.
Tim Mayberry [Wed, 19 Apr 2017 10:48:47 +0000 (20:48 +1000)]
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.
Tim Mayberry [Fri, 21 Apr 2017 01:40:03 +0000 (11:40 +1000)]
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.
Robin Gareus [Fri, 21 Apr 2017 01:47:26 +0000 (03:47 +0200)]
Retain state of disabled ctrl-surfaces
Robin Gareus [Fri, 21 Apr 2017 01:37:26 +0000 (03:37 +0200)]
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.
Robin Gareus [Fri, 21 Apr 2017 00:56:29 +0000 (02:56 +0200)]
Update preferences when Ctrl-surfaces change with session.
Robin Gareus [Fri, 21 Apr 2017 00:53:51 +0000 (02:53 +0200)]
Notify GUI when tearing down ctrl-surfaces
Robin Gareus [Thu, 20 Apr 2017 22:12:20 +0000 (00:12 +0200)]
squelch "curl failed: No Error"
Robin Gareus [Thu, 20 Apr 2017 21:47:39 +0000 (23:47 +0200)]
NO-OP: whitespace
Robin Gareus [Thu, 20 Apr 2017 21:16:09 +0000 (23:16 +0200)]
Show the splash-screen if the engine dialog's run() hid it.
Robin Gareus [Thu, 20 Apr 2017 21:15:13 +0000 (23:15 +0200)]
Run gtk-main iteration after hiding dialogs
Robin Gareus [Thu, 20 Apr 2017 20:47:45 +0000 (22:47 +0200)]
Fix operator precedence (amend
e7e9e025)
Robin Gareus [Thu, 20 Apr 2017 20:14:36 +0000 (22:14 +0200)]
Remove unused enum
Robin Gareus [Thu, 20 Apr 2017 20:11:50 +0000 (22:11 +0200)]
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.
Robin Gareus [Thu, 20 Apr 2017 20:12:18 +0000 (22:12 +0200)]
Do not set C++ locale.
Ardour translations and GUI string formatting only depends on the C locale.
Modifying the C++ locale may produce erratic results on various systems
(in particular OSX and macOS) and cause incompatibilies with plugins.
Robin Gareus [Thu, 20 Apr 2017 17:41:06 +0000 (19:41 +0200)]
Fix crash when clicking on the canvas while un/loading a session.
GTK events are still handled while un/loading a session (e.g display
"Loading" message or showing the splash triggers an event-loop run).
Global canvas elements (e.g. Rulers) may respond to session-specific
actions.
Robin Gareus [Thu, 20 Apr 2017 17:03:52 +0000 (19:03 +0200)]
Keep Dialogs which report process around.
Since
5.8-245-g3e43585fa, a response hides the dialog Window
in ArdourDialog::on_response (to prevent dialogs windows staying
around unresponsively while Ardour does background work).
This logic does not apply to Dialog Windows which implement
ProgressReporter or support dialog responses other than OK, Close.
Robin Gareus [Thu, 20 Apr 2017 15:19:03 +0000 (17:19 +0200)]
NO-OP: re-order code, add comments
Robin Gareus [Thu, 20 Apr 2017 14:06:47 +0000 (16:06 +0200)]
FP8: some code comments and cleanup
John Emmas [Wed, 19 Apr 2017 16:23:52 +0000 (17:23 +0100)]
Changes needed for building Tim's new 'string_convert' stuff with MSVC (gtk2_ardour)
John Emmas [Wed, 19 Apr 2017 16:22:44 +0000 (17:22 +0100)]
Changes needed for building Tim's new 'string_convert' stuff with MSVC (libardour)
John Emmas [Wed, 19 Apr 2017 16:21:12 +0000 (17:21 +0100)]
Changes needed for building Tim's new 'string_convert' stuff with MSVC (libpbd)
Robin Gareus [Wed, 19 Apr 2017 14:38:41 +0000 (16:38 +0200)]
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.
Robin Gareus [Wed, 19 Apr 2017 10:51:11 +0000 (12:51 +0200)]
Prefer boolean over literal
Robin Gareus [Wed, 19 Apr 2017 09:43:08 +0000 (11:43 +0200)]
Remove cruft. ChanCount::INFINITE is not used
Tim Mayberry [Wed, 19 Apr 2017 08:04:10 +0000 (18:04 +1000)]
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).
Tim Mayberry [Tue, 4 Apr 2017 07:54:52 +0000 (17:54 +1000)]
Use PBD::string_to_uint32 in Playlist class instead of boost::lexical_cast
Tim Mayberry [Tue, 4 Apr 2017 07:50:54 +0000 (17:50 +1000)]
Use fixed size type for Playlist sort id as it is serialized
Tim Mayberry [Tue, 4 Apr 2017 07:42:22 +0000 (17:42 +1000)]
Use PBD::to_string in AutomationTimeAxis instead of boost::lexical_cast and string_compose
Tim Mayberry [Sat, 15 Apr 2017 12:02:40 +0000 (22:02 +1000)]
Add additional PBD::string_to/to_string specializations for PBD::ID
Tim Mayberry [Tue, 27 Sep 2016 09:57:26 +0000 (19:57 +1000)]
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"
Tim Mayberry [Tue, 27 Sep 2016 06:33:05 +0000 (16:33 +1000)]
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"
Tim Mayberry [Tue, 27 Sep 2016 06:59:52 +0000 (16:59 +1000)]
Use std::string::operator+ instead of string_compose in VSTPlugin
Tim Mayberry [Tue, 27 Sep 2016 06:03:54 +0000 (16:03 +1000)]
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.
Tim Mayberry [Wed, 21 Sep 2016 06:23:34 +0000 (16:23 +1000)]
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.
Tim Mayberry [Wed, 21 Sep 2016 05:43:56 +0000 (15:43 +1000)]
Use PBD::to_string() from pbd/string_convert.h in VCATimeAxisView
Tim Mayberry [Wed, 21 Sep 2016 05:38:42 +0000 (15:38 +1000)]
Use PBD::to_string from pbd/string_convert.h in VCAMasterStrip class
Tim Mayberry [Wed, 7 Dec 2016 05:48:23 +0000 (15:48 +1000)]
Use PBD::to_string from pbd/string_convert.h in SoundFileBox class
Numeric formatting is equivalent.
Tim Mayberry [Wed, 21 Sep 2016 05:25:30 +0000 (15:25 +1000)]
Use PBD::to_string from pbd/string_convert.h in RouteTimeAxis
Numeric formatting is equivalent as LC_NUMERIC=C in global C++ locale
Tim Mayberry [Wed, 21 Sep 2016 05:20:22 +0000 (15:20 +1000)]
Use PBD::to_string from pbd/string_convert.h in MixerStrip class
The numeric formatting is equivalent. Even though this string is being used in
the UI as a label I think this is another case where we don't want a localized
numeric string, which would only be relevant with a track count >=1000.
Tim Mayberry [Wed, 21 Sep 2016 04:50:01 +0000 (14:50 +1000)]
Use PBD::to_string from pbd/string_convert.h in MeterStrip class
The numeric formatting is equivalent. The string is being used in a label so it
could be argued that we want localized numeric formatting in this case, but as
it is only relevant if we have >=1000 meter strip keep it the same for now.
Tim Mayberry [Wed, 21 Sep 2016 04:42:13 +0000 (14:42 +1000)]
Use PBD::to_string from pbd/string_convert.h in ExportTimespanSelector
The C++ global locale is currently set to LC_NUMERIC=C by the first instance of
LocaleGuard so this change means numeric formatting is equivalent.
As the string is being used to construct a label, perhaps we do want to
generate localized numeric formatting in this case. Anyway keep it the same for
now.
Tim Mayberry [Wed, 21 Sep 2016 02:58:56 +0000 (12:58 +1000)]
Use PBD::to_string() from pbd/string_convert.h in ControlSlaveUI
The numeric formatting is equivalent.
Tim Mayberry [Wed, 21 Sep 2016 02:52:36 +0000 (12:52 +1000)]
Use PBD::to_string from pbd/string_convert.h in WaveView debug code
Tim Mayberry [Wed, 21 Sep 2016 02:41:42 +0000 (12:41 +1000)]
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.
Tim Mayberry [Wed, 21 Sep 2016 02:17:19 +0000 (12:17 +1000)]
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".
Tim Mayberry [Wed, 21 Sep 2016 01:38:22 +0000 (11:38 +1000)]
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.
Tim Mayberry [Wed, 21 Sep 2016 01:30:31 +0000 (11:30 +1000)]
Use XMLNode::get_property in ARDOUR::ElementImporter
Tim Mayberry [Wed, 21 Sep 2016 01:25:51 +0000 (11:25 +1000)]
Use PBD::to_string/string_to in ARDOUR::ElementImporter class
Tim Mayberry [Tue, 20 Sep 2016 12:56:39 +0000 (22:56 +1000)]
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.
Tim Mayberry [Tue, 20 Sep 2016 12:48:59 +0000 (22:48 +1000)]
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.
Tim Mayberry [Tue, 20 Sep 2016 12:27:21 +0000 (22:27 +1000)]
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
Tim Mayberry [Tue, 20 Sep 2016 12:19:55 +0000 (22:19 +1000)]
Use PBD::to_string() from pbd/string_convert.h in JACK 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.
Tim Mayberry [Thu, 8 Sep 2016 00:19:12 +0000 (10:19 +1000)]
Use PBD::string_to/to_string when de/serializing in AutomationList class
This avoids requiring a LocaleGuard to get the correct numeric formatting and
saves/restores the automation data to the precision required for roundtrip
equality.
Tim Mayberry [Wed, 7 Sep 2016 13:11:48 +0000 (23:11 +1000)]
Remove unused header include in ARDOUR::Amp source file
Tim Mayberry [Wed, 7 Sep 2016 13:07:36 +0000 (23:07 +1000)]
Use PBD::string_to/to_string in IO::find_possible_bundle
Possible issue with numeric formatting using std::streams in locales with
grouping. Although I don't think it would be an issue in this case use locale
independant alternative for numeric formatting anyway.
Tim Mayberry [Wed, 7 Sep 2016 12:56:50 +0000 (22:56 +1000)]
Use PBD::to_string instead of std::ostream when setting up video server url
To avoid issues with locales that use grouping/thousands separators.
Tim Mayberry [Tue, 6 Sep 2016 11:56:08 +0000 (21:56 +1000)]
Use PBD::to_string to convert period count in EngineControl class
The functionality is the same so might as well use it.
Tim Mayberry [Tue, 6 Sep 2016 11:39:27 +0000 (21:39 +1000)]
Use PBD::to_string to convert bufsize to string in EngineControl class
string_compose uses std::ostream/stringstream which will insert thousands
separators in some locales. This was not a problem when LocaleGuard set the
global C++ locale to "C"
Tim Mayberry [Sun, 4 Sep 2016 23:28:50 +0000 (09:28 +1000)]
Use PBD::string_to functions in VideoUtils::video_query_info
LocaleGuard is in use so float <=> string conversions must be expected in C
locale format
Tim Mayberry [Tue, 6 Sep 2016 04:27:10 +0000 (14:27 +1000)]
Use snprintf instead of std::stringstream when converting color values to strings
std::ostream/stringstream will use the current locale to determine the numeric
formatting. If the locale uses grouping then thousands separators will be
inserted in the output which produces an invalid color string in
UIConfiguration::reset_gtk_theme() and when converting colors to strings in
UIConfiguration::store_color_theme()
This has not been a problem so far because it appears that LocaleGuard does not
reset the LC_NUMERIC value for the global C++ locale. So if a LocaleGuard is
created at any time before these functions are called(even if it goes out of
scope) the numeric formatting used by std::streams will use the "C" locale
formatting facets.
Tim Mayberry [Sat, 15 Apr 2017 02:13:39 +0000 (12:13 +1000)]
Use XMLNode::get/set_property API in Faderport surface
Tim Mayberry [Wed, 31 Aug 2016 05:38:55 +0000 (15:38 +1000)]
Remove now unused PBD::string_is_affirmative function
The equivalent function is now PBD::string_to<bool>
Tim Mayberry [Tue, 30 Aug 2016 12:34:40 +0000 (22:34 +1000)]
Use PBD::string_to<bool> in MidiTimeAxisView class
As the conversion was performed with PBD::to_string
Tim Mayberry [Tue, 30 Aug 2016 12:37:34 +0000 (22:37 +1000)]
Use PBD::string_to<bool> in RouteTimeAxisView class
As they were converted from bool to string using PBD::to_string
Tim Mayberry [Tue, 30 Aug 2016 11:53:50 +0000 (21:53 +1000)]
Remove conditional checks that are always true in RouteTimeAxisView class
Tim Mayberry [Wed, 31 Aug 2016 04:45:16 +0000 (14:45 +1000)]
Use PBD::string_to<bool>() in GenericMidiControlProtocol class
Equivalent to PBD::string_is_affirmative()
Tim Mayberry [Wed, 31 Aug 2016 05:37:03 +0000 (15:37 +1000)]
Use PBD::string_to<bool> in legacy ARDOUR::Route methods
Tim Mayberry [Wed, 31 Aug 2016 05:36:01 +0000 (15:36 +1000)]
Use PBD::string_to<bool> in ARDOUR::Processor class
Tim Mayberry [Wed, 31 Aug 2016 05:35:07 +0000 (15:35 +1000)]
Use PBD::string_to<bool> in AudioPlaylist class
Tim Mayberry [Tue, 30 Aug 2016 12:36:45 +0000 (22:36 +1000)]
Use AxisView::get/set_gui_property API in RouteTimeAxisView class
Tim Mayberry [Tue, 30 Aug 2016 12:33:39 +0000 (22:33 +1000)]
Use AxisView::get/set_gui_property API in MixerStrip class
Tim Mayberry [Tue, 30 Aug 2016 12:32:13 +0000 (22:32 +1000)]
Use AxisView::get_gui_property API in AutomationTimeAxis class
Tim Mayberry [Tue, 30 Aug 2016 12:29:58 +0000 (22:29 +1000)]
Use AxisView::get_gui_property in AudioRegionView class
Tim Mayberry [Thu, 1 Sep 2016 11:29:57 +0000 (21:29 +1000)]
Use AxisView::get_gui_property API in TimeAxisView class
Tim Mayberry [Tue, 30 Aug 2016 12:33:00 +0000 (22:33 +1000)]
Use AxisView::get_gui_property API in AxisView class
Tim Mayberry [Tue, 30 Aug 2016 11:07:24 +0000 (21:07 +1000)]
Add AxisView::get_gui_property method, use PBD::string_to<T> for string conversion
Tim Mayberry [Tue, 30 Aug 2016 10:02:26 +0000 (20:02 +1000)]
Use PBD::to_string to convert non-string types in AxisView::set_gui_property
Tim Mayberry [Tue, 30 Aug 2016 09:59:49 +0000 (19:59 +1000)]
Let AxisView::set_gui_property perform type conversion in TimeAxisView::set_height
Tim Mayberry [Tue, 30 Aug 2016 08:59:05 +0000 (18:59 +1000)]
Remove unused XMLNode::add_property methods
These are now unused and functionality is replaced by XMLNode::set_property
set_property is a better name as a node can only have properties with unique
names and the property will be set or reset(if it already exists). Changing the
name also makes it easier to transition and test the new API.
Tim Mayberry [Mon, 26 Sep 2016 13:05:47 +0000 (23:05 +1000)]
Use XMLNode::set_property API in xml tests
Tim Mayberry [Tue, 30 Aug 2016 04:01:52 +0000 (14:01 +1000)]
Use XMLNode::set_property API in copy-mixer Session utility
Tim Mayberry [Tue, 30 Aug 2016 07:16:34 +0000 (17:16 +1000)]
Use XMLNode::get_property in AudioClock class
Tim Mayberry [Mon, 29 Aug 2016 13:34:13 +0000 (23:34 +1000)]
Use XMLNode::get/set_property API in VideoTimeLine class
Tim Mayberry [Mon, 29 Aug 2016 12:04:57 +0000 (22:04 +1000)]
Use XMLNode::set_property API in VideoMonitor class