ardour.git
6 years agoFaderPort8 updates
Robin Gareus [Thu, 29 Jun 2017 23:59:12 +0000 (01:59 +0200)]
FaderPort8 updates

* use 2 lines for Plugin Parameter Names
* Expose Plugin Bypass/Enable per plugin
 - Shift + Select in Plugin Select Mode
 - Bypass Button in Plugin Parameter Edit Mode

6 years agoTweak LV2 float parameter printing
Robin Gareus [Thu, 29 Jun 2017 23:56:49 +0000 (01:56 +0200)]
Tweak LV2 float parameter printing

6 years agoDon't interpolate&smooth playhead pos during export.
Robin Gareus [Thu, 29 Jun 2017 16:40:51 +0000 (18:40 +0200)]
Don't interpolate&smooth playhead pos during export.

6 years agoAccommodate newly introduced source(s) in our MSVC project (gtkmm2ext)
John Emmas [Thu, 29 Jun 2017 09:11:05 +0000 (10:11 +0100)]
Accommodate newly introduced source(s) in our MSVC project (gtkmm2ext)

6 years agoAccommodate newly introduced source(s) in our MSVC project (cairocanvas)
John Emmas [Thu, 29 Jun 2017 09:10:26 +0000 (10:10 +0100)]
Accommodate newly introduced source(s) in our MSVC project (cairocanvas)

6 years agoRemove ambiguity ('CheckMenuItem' conflicts with an item already existing in MSVC)
John Emmas [Thu, 29 Jun 2017 09:08:32 +0000 (10:08 +0100)]
Remove ambiguity ('CheckMenuItem' conflicts with an item already existing in MSVC)

6 years agoFix multi-channel delaylines #7409 part 2/2
Robin Gareus [Thu, 29 Jun 2017 02:40:54 +0000 (04:40 +0200)]
Fix multi-channel delaylines #7409 part 2/2

6 years agoFix send mono to stereo (or N to M; M > N) sends #7409 part 1/2
Robin Gareus [Thu, 29 Jun 2017 02:40:00 +0000 (04:40 +0200)]
Fix send mono to stereo (or N to M; M > N) sends #7409 part 1/2

6 years agoUse quotes for bundled library includes
Robin Gareus [Wed, 28 Jun 2017 22:21:13 +0000 (00:21 +0200)]
Use quotes for bundled library includes

6 years agoUse mnemonic-save API for menu-element texts
Robin Gareus [Wed, 28 Jun 2017 22:20:55 +0000 (00:20 +0200)]
Use mnemonic-save API for menu-element texts

6 years agoAdd a convenience MenuHelper c'tor
Robin Gareus [Wed, 28 Jun 2017 21:24:06 +0000 (23:24 +0200)]
Add a convenience MenuHelper c'tor

This is pretty much Gtkmm's
  * CheckMenuElem::CheckMenuElem
  * MenuElem::MenuElem
except MenuItems are created with bool mnemonic = false;

6 years agoAdd explicit VideoTimeline change-type, follow up on f73ce2d
Robin Gareus [Wed, 28 Jun 2017 16:46:07 +0000 (18:46 +0200)]
Add explicit VideoTimeline change-type, follow up on f73ce2d

6 years agoReset idle_handler_id (fixes idle zoom -- bug in 265f52535a7)
Robin Gareus [Wed, 28 Jun 2017 16:42:10 +0000 (18:42 +0200)]
Reset idle_handler_id (fixes idle zoom -- bug in 265f52535a7)

If pending_visual_change.pending was zero when calling idle_visual_changer
the handler_id was never reset. and the idle-handler was never called
again.

6 years agofix OSX builds (llmath compat)
Robin Gareus [Wed, 28 Jun 2017 01:03:05 +0000 (03:03 +0200)]
fix OSX builds (llmath compat)

6 years agoDistinguish error-messages.
Robin Gareus [Tue, 27 Jun 2017 18:28:45 +0000 (20:28 +0200)]
Distinguish error-messages.

The vast majority of errors reported by users as
  "Cannot configure audio/midi engine with session parameters"
have nothing to do with engine-parameters.

6 years agoUpdate fluidsynth
Robin Gareus [Tue, 27 Jun 2017 18:12:03 +0000 (20:12 +0200)]
Update fluidsynth

Fix potential crashes in case fluid-synth runs into an OOM error,
and address a const-cast compiler warning.

Switch to track github repo (instead of sf.net git)

6 years agoInclude file's sha1 in export-report image
Robin Gareus [Mon, 26 Jun 2017 17:40:05 +0000 (19:40 +0200)]
Include file's sha1 in export-report image

6 years agoAdd convenience fn to compute a file's sha1sum
Robin Gareus [Mon, 26 Jun 2017 17:39:40 +0000 (19:39 +0200)]
Add convenience fn to compute a file's sha1sum

6 years agoFix friend declaration in WaveView code for non-c++11 builds
Tim Mayberry [Mon, 26 Jun 2017 07:04:18 +0000 (17:04 +1000)]
Fix friend declaration in WaveView code for non-c++11 builds

6 years agoReimplementation of large parts of the WaveView class
Tim Mayberry [Thu, 16 Mar 2017 04:12:05 +0000 (14:12 +1000)]
Reimplementation of large parts of the WaveView class

The drawing itself should be unchanged but much of the rest of the
implementation has changed. The WaveViewThreads and WaveViewDrawingThread
classes were added and allow multiple drawing threads.

The Item::prepare_for_render interface is implemented by WaveView to enable
queuing draw requests for the drawing threads to process as soon as the state
change occurs during Editor::visual_changer, which often means the images will
be finished by the time they are needed in WaveView::render. This can
significantly reduce total render time and also flickering caused by images not
being ready for display.

If the drawing thread/s cannot finish the request by the time it is required in
WaveView::render then cancel it and draw the WaveViewImage in the GUI thread if
it is likely it can be completed in the current render pass/frame.  This change
also helps reduce the flickering caused by images not being ready with threaded
rendering, but with several drawing threads, drawing in the GUI thread may not
often occur (unless explicitly requested).

Allow unfinished images to be returned from the cache in
WaveView::prepare_for_render so that new draw requests aren't queued for
duplicate images. This reduces the amount of drawing for instance in
compositions where there are many instances of the same sample/waveform
displayed on the canvas as only a single image should be drawn.

Use a random width within a certain range for
WaveView::optimal_image_width_samples so that image drawing is less likely to
occur at the same time (which will cause a spike in render/draw time and
increase the chance of flickering waveforms).

Move implementations of the private WaveView classes into wave_view_private.h
and wave_view_private.cc source files.

Incorporate a fix for limiting the waveview image size to the cairo image size
limit.

Should hopefully Resolve: #6478

6 years agoChanges to Editor::visual_changer to support Item/Canvas::prepare_for_render
Tim Mayberry [Mon, 27 Mar 2017 03:26:58 +0000 (13:26 +1000)]
Changes to Editor::visual_changer to support Item/Canvas::prepare_for_render

This is necessary to allow calculation of correct intersection of visible
canvas area and items for the new Item::prepare_for_render() API.

samples_per_pixel must be set first to calculate the new horizontal canvas
position in Editor::set_horizontal_position and then
WaveView::set_samples_per_pixel will eventually call
WaveView::prepare_for_render for those items that are visible on the new canvas
position at the new position.

Or if there is not a change to zoom state then call Canvas::prepare_for_render
explicitly.

Also changes so that each method is only called once during
Editor::visual_changer

6 years agoAdd Canvas::get_microseconds_since_render_start() method
Tim Mayberry [Tue, 28 Mar 2017 05:52:28 +0000 (15:52 +1000)]
Add Canvas::get_microseconds_since_render_start() method

Initial use is for the WaveView class to determine whether on not to draw the
waveform in the GUI thread.

6 years agoAdd Canvas::get_last_render_start_timestamp method
Tim Mayberry [Tue, 28 Mar 2017 04:05:03 +0000 (14:05 +1000)]
Add Canvas::get_last_render_start_timestamp method

6 years agoOnly call Gtk::Widget::queue_draw_area in canvas when item and visible area intersect
Tim Mayberry [Sat, 1 Apr 2017 13:33:16 +0000 (23:33 +1000)]
Only call Gtk::Widget::queue_draw_area in canvas when item and visible area intersect

Refactor GtkCanvas::request_redraw to use Rect::intersection

6 years agoAdd an optional ArdourCanvas::Item::prepare_for_render interface
Tim Mayberry [Sat, 1 Apr 2017 13:02:49 +0000 (23:02 +1000)]
Add an optional ArdourCanvas::Item::prepare_for_render interface

Called when an item has requested a redraw and intersects with visible
canvas area.

Also add Canvas::prepare_for_render that will call Item::prepare_for_render for
items visible on the canvas.

6 years agoCoalesce visual changes to canvas/items and allow canvas to render
Tim Mayberry [Sat, 1 Apr 2017 11:33:59 +0000 (21:33 +1000)]
Coalesce visual changes to canvas/items and allow canvas to render

First visual change will be processed as normal and then blocked until the
canvas renders the change. If further visual changes need processing then
Editor::pre_render callback will schedule another expose/redraw/render.

This prevents an issue where idle_visual_changer is called many times in
response to events(keys/motion/etc) but the canvas does not get a chance to
render any but the last one which results in a big pause/jump.

This results in a more responsive canvas and in particular a smoother and more
predictable zooming experience.

6 years agoAdd PreRender signal to the canvas
Tim Mayberry [Mon, 13 Mar 2017 10:45:13 +0000 (20:45 +1000)]
Add PreRender signal to the canvas

Emitted by the canvas immediately before rendering.

6 years agoWhitespace fixes in canvas.h
Tim Mayberry [Mon, 13 Mar 2017 03:31:26 +0000 (13:31 +1000)]
Whitespace fixes in canvas.h

6 years agoTweak/Change the zoom scale in RulerZoomDrag
Tim Mayberry [Mon, 13 Mar 2017 12:00:32 +0000 (22:00 +1000)]
Tweak/Change the zoom scale in RulerZoomDrag

This multiplier really should be based on the "responsiveness" of the
canvas..or something. I think this is an improvement for more complex sessions
with many regions.

6 years agoOutput the setting of the --no-threaded-waveviews option during configure
Tim Mayberry [Mon, 13 Mar 2017 09:31:37 +0000 (19:31 +1000)]
Output the setting of the --no-threaded-waveviews option during configure

6 years agoAllow saving state w/o backend
Robin Gareus [Sun, 25 Jun 2017 20:03:42 +0000 (22:03 +0200)]
Allow saving state w/o backend

Connections are remembered by ARDOUR::Port to re-establish at load.

6 years agoReport Dummy as not available if not running
Robin Gareus [Sun, 25 Jun 2017 18:53:47 +0000 (20:53 +0200)]
Report Dummy as not available if not running

This fixes an issue with port-connections being polled from the backend
even when it's not running.

6 years agoCreate a deep-copy of MIDI sources when saving snapshots
Robin Gareus [Sat, 24 Jun 2017 23:56:53 +0000 (01:56 +0200)]
Create a deep-copy of MIDI sources when saving snapshots

6 years agoExtend API to allow calling new_midi_source_path() with source_lock held
Robin Gareus [Sat, 24 Jun 2017 23:23:03 +0000 (01:23 +0200)]
Extend API to allow calling new_midi_source_path() with source_lock held

This is in preparation for cloning MIDI-sources during snapshot save.

6 years agoOSC: simplify GUI and make less error-prone
Len Ovens [Sat, 24 Jun 2017 20:13:53 +0000 (13:13 -0700)]
OSC: simplify GUI and make less error-prone

6 years agoOSC: Allow /bank_up to accept -1 as well as 1 so encoder can work.
Len Ovens [Sat, 24 Jun 2017 01:08:04 +0000 (18:08 -0700)]
OSC: Allow /bank_up to accept -1 as well as 1 so encoder can work.

6 years agoOSC: make sed_fader work with banking too.
Len Ovens [Sat, 24 Jun 2017 00:34:22 +0000 (17:34 -0700)]
OSC: make sed_fader work with banking too.

6 years agoOSC: Add master_send_enable for MB
Len Ovens [Sat, 24 Jun 2017 00:07:11 +0000 (17:07 -0700)]
OSC: Add master_send_enable for MB

6 years agoOSC: redo math for redux control with fewer calls.
Len Ovens [Fri, 23 Jun 2017 22:30:01 +0000 (15:30 -0700)]
OSC: redo math for redux control with fewer calls.

6 years agoOSC: Messages too fast at bank_change/refresh slowed down.
Len Ovens [Fri, 23 Jun 2017 22:03:37 +0000 (15:03 -0700)]
OSC: Messages too fast at bank_change/refresh slowed down.

6 years agoAdd missing `echo` in ardev_common.sh.in
nickolas360 [Fri, 23 Jun 2017 21:26:33 +0000 (14:26 -0700)]
Add missing `echo` in ardev_common.sh.in

6 years agoFix metronome + capture alignment for Mixbus
Robin Gareus [Fri, 23 Jun 2017 23:22:17 +0000 (01:22 +0200)]
Fix metronome + capture alignment for Mixbus

6 years agoNO-OP: whitespace
Robin Gareus [Fri, 23 Jun 2017 21:42:42 +0000 (23:42 +0200)]
NO-OP: whitespace

6 years agoMixbus GUI updates (VCA layout, no panners)
Robin Gareus [Fri, 23 Jun 2017 21:40:19 +0000 (23:40 +0200)]
Mixbus GUI updates (VCA layout, no panners)

6 years agoOSC: Fix math error in send fader feedback
Len Ovens [Fri, 23 Jun 2017 20:12:43 +0000 (13:12 -0700)]
OSC: Fix math error in send fader feedback

6 years agoamend 5e5f7a55; re-add wrongly removed variable
Robin Gareus [Fri, 23 Jun 2017 16:15:50 +0000 (18:15 +0200)]
amend 5e5f7a55; re-add wrongly removed variable

6 years agoleave a hint for clang's static analyzer
Robin Gareus [Fri, 23 Jun 2017 15:39:09 +0000 (17:39 +0200)]
leave a hint for clang's static analyzer

6 years agoRemove Automation Types that should never have existed.
Robin Gareus [Fri, 23 Jun 2017 15:37:19 +0000 (17:37 +0200)]
Remove Automation Types that should never have existed.

6 years agoMCU: Remove use of AutomationType as ID, part two.
Robin Gareus [Fri, 23 Jun 2017 13:58:50 +0000 (15:58 +0200)]
MCU: Remove use of AutomationType as ID, part two.

This may need some small tweaks for MB channelstrip to set
print-format (like LV2 plugins would) for cases where the default
value_as_string() differs.

6 years agoMCU: Remove use of AutomationType as ID, part one.
Robin Gareus [Fri, 23 Jun 2017 13:55:42 +0000 (15:55 +0200)]
MCU: Remove use of AutomationType as ID, part one.

6 years agoImplement undo for merging VCA-master automation/value on disconnect.
Robin Gareus [Fri, 23 Jun 2017 13:51:46 +0000 (15:51 +0200)]
Implement undo for merging VCA-master automation/value on disconnect.

6 years agoImprove default parameter display
Robin Gareus [Fri, 23 Jun 2017 13:51:17 +0000 (15:51 +0200)]
Improve default parameter display

6 years agoOSC: only show visible plugins (not MB channel strip PI)
Len Ovens [Fri, 23 Jun 2017 05:37:38 +0000 (22:37 -0700)]
OSC: only show visible plugins (not MB channel strip PI)

6 years agoRemove unnecessary LocaleGuard header include
Tim Mayberry [Thu, 22 Jun 2017 23:10:08 +0000 (09:10 +1000)]
Remove unnecessary LocaleGuard header include

6 years agoUpdate GUI to follow Slavable API change
Robin Gareus [Thu, 22 Jun 2017 19:06:24 +0000 (21:06 +0200)]
Update GUI to follow Slavable API change

6 years agoUpdate Slavable API
Robin Gareus [Thu, 22 Jun 2017 19:06:12 +0000 (21:06 +0200)]
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.

6 years agoNO-OP: whitespace
Robin Gareus [Thu, 22 Jun 2017 16:08:38 +0000 (18:08 +0200)]
NO-OP: whitespace

6 years agoOSC: Add increment fader.
Len Ovens [Thu, 22 Jun 2017 19:54:03 +0000 (12:54 -0700)]
OSC: Add increment fader.

6 years agoOSC: allow mixbuses to show
Len Ovens [Thu, 22 Jun 2017 17:20:02 +0000 (10:20 -0700)]
OSC: allow mixbuses to show

6 years agoAccommodate newly introduced source(s) in our MSVC project (libpbd)
John Emmas [Thu, 22 Jun 2017 16:25:44 +0000 (17:25 +0100)]
Accommodate newly introduced source(s) in our MSVC project (libpbd)

6 years agoOSC: use internal_to_interface or reverse
Len Ovens [Thu, 22 Jun 2017 16:21:15 +0000 (09:21 -0700)]
OSC: use internal_to_interface or reverse

6 years agoRemove LocaleGuard from Plugin::get_state
Tim Mayberry [Wed, 21 Jun 2017 11:27:45 +0000 (21:27 +1000)]
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.

6 years agoRemove LocaleGuards from LadspaPlugin::set/add_state
Tim Mayberry [Wed, 21 Jun 2017 11:23:56 +0000 (21:23 +1000)]
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.

6 years agoRemove unnecessary LocaleGuards from VSTPlugin derived classes
Tim Mayberry [Wed, 7 Dec 2016 07:02:18 +0000 (17:02 +1000)]
Remove unnecessary LocaleGuards from VSTPlugin derived classes

VSTPlugin::set_state and VSTPlugin::add_state methods both already contain
LocaleGuard instances.

6 years agoRemove unused ArdourCanvas::HSV constructor
Tim Mayberry [Tue, 6 Sep 2016 09:57:36 +0000 (19:57 +1000)]
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.

6 years agoRemove locale_guard.h from ardour/ardour.h header
Tim Mayberry [Mon, 5 Sep 2016 00:22:39 +0000 (10:22 +1000)]
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

6 years agoRemove unused pbd/locale_guard.h header from Gtkmm2ext::Barcontroller class
Tim Mayberry [Sun, 4 Sep 2016 23:40:45 +0000 (09:40 +1000)]
Remove unused pbd/locale_guard.h header from Gtkmm2ext::Barcontroller class

6 years agoRemove LocaleGuard from ARDOUR_UI::save_ardour_state method
Tim Mayberry [Sun, 4 Sep 2016 23:35:03 +0000 (09:35 +1000)]
Remove LocaleGuard from ARDOUR_UI::save_ardour_state method

All float <=> string conversions are now done using PBD::to_string/string_to()
in ConfigVariable class or via XMLNode::get/set_property()

6 years agoRemove LocaleGuards from VideoTimeLine class
Tim Mayberry [Sun, 4 Sep 2016 23:32:45 +0000 (09:32 +1000)]
Remove LocaleGuards from VideoTimeLine class

float <=> string conversion is done using PBD::string_to/to_string() via
XMLNode::get/set_property so the LocaleGuards are no longer necessary

6 years agoRemove LocaleGuard from VideoUtils::video_query_info
Tim Mayberry [Sun, 4 Sep 2016 23:30:20 +0000 (09:30 +1000)]
Remove LocaleGuard from VideoUtils::video_query_info

PBD::string_to is now used for float <=> string conversions so a LocaleGuard is
no longer necessary.

6 years agoRemove LocaleGuards from UIConfiguration class
Tim Mayberry [Sun, 4 Sep 2016 23:21:22 +0000 (09:21 +1000)]
Remove LocaleGuards from UIConfiguration class

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

6 years agoRemove LocaleGuard from MixerUI class
Tim Mayberry [Sun, 4 Sep 2016 23:06:17 +0000 (09:06 +1000)]
Remove LocaleGuard from MixerUI class

The float <=> string conversions that this guard was protecting are now using
PBD::to_string/string_to() via XMLNode::get/set_property()

6 years agoRemove LocaleGuards from LuaInstance state methods
Tim Mayberry [Sun, 4 Sep 2016 23:03:40 +0000 (09:03 +1000)]
Remove LocaleGuards from LuaInstance state methods

There are no float <=> string conversions in these methods and g_base64_encode
etc functions are not affected by locale.

6 years agoRemove LocaleGuards from ExportVideoDialog class
Tim Mayberry [Sun, 4 Sep 2016 22:59:36 +0000 (08:59 +1000)]
Remove LocaleGuards from ExportVideoDialog class

All float <=> string conversion is now done using PBD::to_string/string_to()
via XMLNode::get/set_property()

6 years agoRemove LocaleGuards from Editor class
Tim Mayberry [Sun, 4 Sep 2016 22:02:36 +0000 (08:02 +1000)]
Remove LocaleGuards from Editor class

All float <=> string conversions are now done using locale independent
PBD::to_string/string_to() via XMLNode::get/set_property

6 years agoRemove LocaleGuards from SVAModifier and HSV classes
Tim Mayberry [Sun, 4 Sep 2016 12:52:58 +0000 (22:52 +1000)]
Remove LocaleGuards from SVAModifier and HSV classes

float <=> string conversion now done using PBD::to_string/string_to so
LocaleGuards are no longer needed.

6 years agoRemove LocaleGuard from ARDOUR::PannerShell
Tim Mayberry [Sun, 4 Sep 2016 12:49:07 +0000 (22:49 +1000)]
Remove LocaleGuard from ARDOUR::PannerShell

All Panner implementations using PBD::to_string/string_to for float <=> string
conversion and no longer require a LocaleGuard.

6 years agoRemove LocaleGuard from ARDOUR::Pannable class
Tim Mayberry [Sun, 4 Sep 2016 12:47:32 +0000 (22:47 +1000)]
Remove LocaleGuard from ARDOUR::Pannable class

string <=> float conversions are using PBD::to_string/string_to and no longer
require a LocaleGuard

6 years agoRemove LocaleGuards from ARDOUR::Tempo class
Tim Mayberry [Sun, 4 Sep 2016 12:44:27 +0000 (22:44 +1000)]
Remove LocaleGuards from ARDOUR::Tempo class

All float <=> string conversions are done for PBD::string_to/to_string and no
longer require a LocaleGuard.

6 years agoRemove LocaleGuards from ARDOUR::Speakers class
Tim Mayberry [Sun, 4 Sep 2016 12:40:47 +0000 (22:40 +1000)]
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.

6 years agoRemove LocaleGuards from ARDOUR::Session transport related methods
Tim Mayberry [Sun, 4 Sep 2016 12:38:41 +0000 (22:38 +1000)]
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.

6 years agoRemove LocaleGuard from Session::load_options
Tim Mayberry [Fri, 16 Jun 2017 00:56:15 +0000 (10:56 +1000)]
Remove LocaleGuard from Session::load_options

PBD::ConfigVariable uses PBD::to_string/string_to methods so this LocaleGuard
is no longer necessary.

6 years agoRemove LocaleGuards from SessionConfiguration class
Tim Mayberry [Sun, 4 Sep 2016 12:27:37 +0000 (22:27 +1000)]
Remove LocaleGuards from SessionConfiguration class

ConfigurationVariable is now using PBD::to_string/string_to for float <=>
string conversions so LocaleGuard is no longer necessary.

6 years agoRemove LocaleGuard from Session::immediately_post_engine method
Tim Mayberry [Sun, 4 Sep 2016 12:22:09 +0000 (22:22 +1000)]
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.

6 years agoRemove LocaleGuard from ARDOUR::Route class
Tim Mayberry [Sun, 4 Sep 2016 12:13:14 +0000 (22:13 +1000)]
Remove LocaleGuard from ARDOUR::Route class

Route and all members are now using locale independent string <=> float
conversions.

6 years agoRemove LocaleGuard from ARDOUR::MonitorProcessor state method
Tim Mayberry [Sun, 4 Sep 2016 12:08:47 +0000 (22:08 +1000)]
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.

6 years agoRemove LocaleGuard from ARDOUR::RCConfiguration class
Tim Mayberry [Sun, 4 Sep 2016 12:04:00 +0000 (22:04 +1000)]
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.

6 years agoRemove LocaleGuards from LuaProc class
Tim Mayberry [Sun, 4 Sep 2016 11:56:02 +0000 (21:56 +1000)]
Remove LocaleGuards from LuaProc class

All float <=> string conversions are done using PBD::to_string/string_to via
XMLNode so no LocaleGuard is necessary.

6 years agoRemove LocaleGuard from ARDOUR::MidiTrack class
Tim Mayberry [Sun, 4 Sep 2016 11:36:14 +0000 (21:36 +1000)]
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

6 years agoRemove LocaleGuard from ARDOUR::MidiDiskstream class
Tim Mayberry [Sun, 4 Sep 2016 11:29:41 +0000 (21:29 +1000)]
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.

6 years agoRemove LocaleGuards from ARDOUR::ExportFormatSpecification state methods
Tim Mayberry [Sun, 4 Sep 2016 11:26:11 +0000 (21:26 +1000)]
Remove LocaleGuards from ARDOUR::ExportFormatSpecification state methods

All float <=> string conversions are performed by PBD::to_string/string_to via
XMLNode.

6 years agoRemove LocaleGuard from ARDOUR::Diskstream state method
Tim Mayberry [Sun, 4 Sep 2016 11:18:47 +0000 (21:18 +1000)]
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.

6 years agoRemove LocaleGuard from ARDOUR::AutomationList class
Tim Mayberry [Sun, 4 Sep 2016 11:16:49 +0000 (21:16 +1000)]
Remove LocaleGuard from ARDOUR::AutomationList class

All float conversions are using PBD::to_string/string_to via
XMLNode::get/set_property API

6 years agoRemove LocaleGuard from ARDOUR::Region class
Tim Mayberry [Sun, 4 Sep 2016 11:11:14 +0000 (21:11 +1000)]
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

6 years agoRemove LocaleGuard from ARDOUR::AudioRegion state methods
Tim Mayberry [Sun, 4 Sep 2016 11:08:18 +0000 (21:08 +1000)]
Remove LocaleGuard from ARDOUR::AudioRegion state methods

float <=> string conversions are performed using PBD::to_string/string_to via
XMLNode

6 years agoRemove LocaleGuard from ARDOUR::AudioTrack class
Tim Mayberry [Sun, 4 Sep 2016 11:03:51 +0000 (21:03 +1000)]
Remove LocaleGuard from ARDOUR::AudioTrack class

The gain property float <=> string conversion is now performed using
PBD::to_string/string_to via XMLNode

6 years agoRemove LocaleGuard from AudioFileSource::get_state
Tim Mayberry [Sun, 1 Jan 2017 11:34:35 +0000 (21:34 +1000)]
Remove LocaleGuard from AudioFileSource::get_state

Not necessary when using XMLNode::set_property API

6 years agoRemove LocaleGuard from ARDOUR::AudioDiskstream state methods
Tim Mayberry [Sun, 4 Sep 2016 11:00:14 +0000 (21:00 +1000)]
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

6 years agoRemove LocaleGuard from ARDOUR::IO class state methods
Tim Mayberry [Sun, 4 Sep 2016 10:51:06 +0000 (20:51 +1000)]
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

6 years agoRemove LocaleGuard from PBD::Controllable state methods
Tim Mayberry [Sun, 4 Sep 2016 10:38:30 +0000 (20:38 +1000)]
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