13
0
Commit Graph

11476 Commits

Author SHA1 Message Date
31a2957700 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.
2017-04-19 09:37:01 +10:00
c149d7d64c Use PBD::to_string() from pbd/string_convert.h in ControlSlaveUI
The numeric formatting is equivalent.
2017-04-19 09:37:01 +10:00
e15524cc64 Use PBD::to_string instead of std::ostream when setting up video server url
To avoid issues with locales that use grouping/thousands separators.
2017-04-19 09:36:59 +10:00
ab30f45bba Use PBD::to_string to convert period count in EngineControl class
The functionality is the same so might as well use it.
2017-04-19 09:36:59 +10:00
0739bada9e 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"
2017-04-19 09:36:59 +10:00
df2b0e33b9 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
2017-04-19 09:36:59 +10:00
e7a23eaaa8 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.
2017-04-19 09:36:59 +10:00
71fc5b9e8b Use PBD::string_to<bool> in MidiTimeAxisView class
As the conversion was performed with PBD::to_string
2017-04-19 09:36:59 +10:00
b540817b5b Use PBD::string_to<bool> in RouteTimeAxisView class
As they were converted from bool to string using PBD::to_string
2017-04-19 09:36:59 +10:00
edb9868e76 Remove conditional checks that are always true in RouteTimeAxisView class 2017-04-19 09:36:59 +10:00
8e07e4bd68 Use AxisView::get/set_gui_property API in RouteTimeAxisView class 2017-04-19 09:36:58 +10:00
634207dd6a Use AxisView::get/set_gui_property API in MixerStrip class 2017-04-19 09:36:58 +10:00
13d2670e96 Use AxisView::get_gui_property API in AutomationTimeAxis class 2017-04-19 09:36:58 +10:00
de80767c8c Use AxisView::get_gui_property in AudioRegionView class 2017-04-19 09:36:58 +10:00
2c4e801183 Use AxisView::get_gui_property API in TimeAxisView class 2017-04-19 09:36:58 +10:00
be59503364 Use AxisView::get_gui_property API in AxisView class 2017-04-19 09:36:58 +10:00
9d2d0ddf00 Add AxisView::get_gui_property method, use PBD::string_to<T> for string conversion 2017-04-19 09:36:58 +10:00
66004a5036 Use PBD::to_string to convert non-string types in AxisView::set_gui_property 2017-04-19 09:36:58 +10:00
7fdbabcd79 Let AxisView::set_gui_property perform type conversion in TimeAxisView::set_height 2017-04-19 09:36:57 +10:00
a6d71df0d0 Use XMLNode::get_property in AudioClock class 2017-04-19 09:36:57 +10:00
1534a2a4d1 Use XMLNode::get/set_property API in VideoTimeLine class 2017-04-19 09:36:57 +10:00
47f1183a15 Use XMLNode::set_property API in VideoMonitor class 2017-04-19 09:36:57 +10:00
b00b83f95a Use XMLNode::set_property API in UIConfiguration class 2017-04-19 09:36:57 +10:00
3ba34e13b1 Use XMLNode::get/set_property API in SelectionMemento class 2017-04-19 09:36:57 +10:00
8219e3c6ee Use XMLNode::get/set_property API in Selection class
There were many possible value truncations occuring and some precision loss
with the double conversions.
2017-04-19 09:36:57 +10:00
5b97b1a191 Use XMLNode::get/set_property API in ProcessorBox and ProcessorWindowProxy classes 2017-04-19 09:36:56 +10:00
657e32290e Use XMLNode::get/set_property API in ProcessorBox class 2017-04-19 09:36:56 +10:00
5cd88fa050 Use XMLNode::get/set_property API in MeterBridge class 2017-04-19 09:36:56 +10:00
4bf8f9f1a8 Use XMLNode::set_property API in LuaInstance class
Didn't seem worth converting from XMLNode::property API to
XMLNode::get_property and there may be some ordering issues.
2017-04-19 09:36:56 +10:00
a2c1e79660 Use XMLNode::get/set_property API in LocationUI class 2017-04-19 09:36:56 +10:00
7cb78301eb Use XMLNode::get/set_property API in Keyboard class 2017-04-19 09:36:56 +10:00
5b71470449 Use XMLNode::get_property API in AutomationTimeAxis class 2017-04-19 09:36:56 +10:00
8d90723e8c Use XMLNode::set_property API in GUIObject class 2017-04-19 09:36:56 +10:00
0bfdab738b Use XMLNode::get/set_property in ExportVideoDialog class 2017-04-19 09:36:56 +10:00
a8420d4b6b Use XMLNode::get/set_property API in EditorRulers class 2017-04-19 09:36:56 +10:00
df33a6e53a Use XMLNode::get/set_property API in EditorRegions class 2017-04-19 09:36:56 +10:00
346123e619 Use XMLNode::set_property API in ARDOUR_UI class 2017-04-19 09:36:55 +10:00
41493d556a Use XMLNode::get/set_property API in ARDOUR_UI class 2017-04-19 09:36:55 +10:00
dcc21b19a9 Add AudioClock::on() method as convenience method for serialization 2017-04-19 09:36:55 +10:00
d41d612276 Use XMLNode::get/set_property API in Mixer_UI class 2017-04-19 09:36:55 +10:00
8d6df23ebc Remove unused header include in video_timeline.cc 2017-04-19 09:36:55 +10:00
a4b9014932 Use XMLNode::get/set_property API in Editor class 2017-04-19 09:36:55 +10:00
800112c3b7 Use XMLNode::get/set_property API in EngineDialog class
Fixes many of the type conversions but I doubt any would have been an issue.

LocaleGuard is no longer necessary
2017-04-19 09:36:55 +10:00
697f0ce5e1 Add PBD::to_string/string_to template specialisations for types in editing.h 2017-04-19 09:36:55 +10:00
6ee1e4d6dd Add PBD::to_string/string_to template specialisations for types in enums.h 2017-04-19 09:36:55 +10:00
2b58bbd50a Use PBD string conversion functions in PBD::ConfigurationVariable
No longer need a specialization for bool as PBD::to_string/string_to already
has specializations for bool

Remove template specialization for float as string_to/to_string handles string
representations of infinity
2017-04-19 09:36:47 +10:00
cb3c564822 Use int32_t type instead of long for font-scale UI configuration variable
long type can not be used with PBD::to_string/string_to
2017-04-19 09:36:47 +10:00
3edb6b2e1f Use PBD string conversion functions in PBD::Property class 2017-04-19 09:36:47 +10:00
fda05ac64b Use ID::to_s() in gtk2_ardour instead of ID::print() 2017-04-19 07:49:58 +10:00
18dcd4d7ff FP8: Configuration UI layout & design (add image, separators) 2017-04-15 15:19:58 +02:00
cooltehno
57dfc0ffb1 Update blueberry_milk-ardour.colors 2017-04-14 13:22:18 -07:00
a8858ad311 Fix toggle-processors: operate on plugins only 2017-04-14 00:53:45 +02:00
d43a23fe28 Faderport8 control surface support 2017-04-13 21:21:59 +02:00
bcab83205b Keep the RhythmFerret dialog window around after using an action.
Since 5.8-245-g3e43585fa, a response hides the dialog Window
in ArdourDialog::on_response (to prevent dialogs windows staying
around unresponsive while Ardour does background work).

The RF is special, and also the only dialog using explicit
add_action_widget().
2017-04-07 00:29:21 +02:00
43a07bab51 mini-timeline: show labels for outside range markers 2017-04-03 16:14:01 +02:00
54bab5153f don't set region selection on loading a session 1 by 1, but just once after they should all exist 2017-04-03 00:33:44 +02:00
f201726286 NO-OP: whitespace 2017-04-03 00:33:44 +02:00
907fbdd19e Minitimeline: show markers immediately left/right of viewpoint 2017-04-02 22:20:12 +02:00
77e8c0c4df GUI options for rec-only metronome 2017-04-01 23:56:27 +02:00
2513aad1ed Remove duplicate msg (load_keybindings also prints an info) 2017-04-01 19:16:12 +02:00
a57914ed50 Another fix to reset keybindings:
Don't carry previously set global keybindings_path.
2017-04-01 19:16:12 +02:00
6fbe3f6408 Fix label for show-mixer 2017-04-01 10:02:04 -05:00
3e43585fa1 Pop splash on dialog response - not d'tor.
A Dialog Window may not be tightly scoped, and may be around
for a while (query settings from the dialog instance). The destructor
may only be called  later.
2017-04-01 16:40:07 +02:00
dae7e8dbd3 NO-OP: whitespace 2017-04-01 15:56:35 +02:00
16cdab6327 Fix engine state ordering 2017-04-01 15:39:02 +02:00
8bed793b48 Properly desensitize various engine-controls.
MIDI system and channel-count cannot be changed while the engine is
running.
2017-04-01 14:37:35 +02:00
752706911e Fix crash when dragging playhead or mouse in ruler area
This can be hard to reproduce and I have not been able to work out the steps to
reproduce reliably, but as it is still occuring work around the issue by just
checking the variable is valid before dereferencing it.

Resolves: #7304
2017-04-01 22:04:56 +10:00
a534258594 Reset Playhead interpolation when looping and locating 2017-03-31 14:16:04 +02:00
9436d0cb86 Hide eyedropper color-picker on mac
It not only does not work, but also locks up the Desktop/Window
manager in odd ways.
2017-03-31 02:21:38 +02:00
eea8fbd1c5 NO-OP, semantic tweak 2017-03-30 22:07:06 +02:00
02080a434f Consistent Color Selection Dialog (incl RouteGroups) 2017-03-30 15:21:06 +02:00
dd7063277a Add ColorButton drop-in replacement with palette support 2017-03-30 15:20:48 +02:00
05231949e6 When adding a PC, use the channel given in the dialog. 2017-03-29 23:53:56 +02:00
e66ba382da Remove expensive menu for sending immediate Patch Changes, use a dialog 2017-03-29 23:53:56 +02:00
c3f2cff8bc optimize LuaInstance::get_action_state, LuaInstance::get_hook_state
Lua serialize() is called recursively and concatenates strings.
(in Lua that results in a new string on the stack, with 2 unused old
strings). Collecting garbage every time becomes expensive, so do it
only once at the end. GUI scripts are not memory limited anyway.
2017-03-27 04:59:20 +02:00
47ea6534d0 Add option to disable blinking alert buttons. 2017-03-26 21:42:01 +02:00
5ac2d6dcd8 improve correct selection (in mixer) of newly added tracks/busses 2017-03-26 16:13:11 +02:00
453e07d0a2 make selection of tracks/busses after adding them slightly more efficient 2017-03-26 16:12:10 +02:00
7720caf36a whenever showing the add routes dialog, put focus in the SpinButton that determines how many <X> are added 2017-03-26 15:07:11 +02:00
aeae859c46 make it possible to drop a group from a VCA 2017-03-26 15:01:00 +02:00
962e7a214a Revert "consistent use of context-menu popups"
This reverts commit b3722f7063.

In some cases ardour shows context-menu on right-mouse-button
release. In this case selecting a menu-entry should happen
with the left-mouse button (or any button?!)

Using ev->button is only correct if the menu is temporary and only
visible while the button is held, button release then activates the
menu-item.

This needs further work, in some cases allowing any button (0) to work
makes sense and overall consistency needs to be improved.
Different places use different strategies for context-menus which
don't always match the button used in the event-handler.

This is a hotfix (to make TAV context menus work again with left-click)
2017-03-24 14:48:46 +01:00
55b8b44889 Improve playhead updates, reduce jitter for follow PH, stationary PH
* resolve rounding mistakes
* extrapolate and filter position using GUI timing
* track engine's position
2017-03-23 19:21:50 +01:00
585fa4302f Disallow Selection, context-menu & drag-start on peak-display Button 2017-03-23 01:53:31 +01:00
159e956225 Top-up "Utils" plugin filter
* move Generators unto Utility groups
* all "MIDI" plugins (which are not Instruments) are Utils
* Anaylsis, Analyser, Analyzer
2017-03-21 22:20:17 +01:00
de0e401214 Use NSGLView backed main editor canvas 2017-03-21 05:38:10 +01:00
d06de26a4f Towards a consistent render() API.
This fixes an -Woverloaded-virtual ambiguity introduced in b5e613d45

  void render (cairo_t*, cairo_rectagle*)
  void render (Cairo::RefPtr<Cairo::Context> const&, cairo_rectangle_t*)

ArdourCanvas prefers cairomm and CairoWidget itself uses Cairo::Context,
this improves overall API consistency.
2017-03-20 17:12:08 +01:00
3294b82e25 Use NSGLView for EditorSummary 2017-03-20 17:12:08 +01:00
4491722eae Editor: forward unmap events to widgets 2017-03-20 17:12:08 +01:00
fc91cfc66b Fix Group assign to new VCA
For reasons unknown[1], The vca-counter may not be in sync with
actual number of VCAs present.

[1] possibly some shared-ptr references at the time of session-save, or
old session compatibility.
2017-03-18 23:06:42 +01:00
9c016c619f Hide SoundCloud uploader in optimized builds until it's fixed 2017-03-18 15:05:54 +01:00
921d2c5809 Add newline to DEBUG::Soundcloud so that it's readable & flushed 2017-03-18 14:26:53 +01:00
Hiroki Inagaki
70728fd739 Update Japanese translation 2017-03-17 19:48:33 +01:00
bbda37c28f Fix note-grid, canvas bounding-box offset.
Note lines on a MIDI-track were able to exceed the time-axis' height
towards the top. If a MIDI track was at the top, the TAV's canvas-group
would increase the overall bounding-box of the track-area and allow
tracks to visually bleed into the time markers group.
2017-03-16 03:47:46 +01:00
3aefd0e744 consolidate context-menu popup methods 2017-03-16 02:36:48 +01:00
b3722f7063 consistent use of context-menu popups 2017-03-16 02:36:48 +01:00
e5d48a8544 Plugin another menu memory leak. 2017-03-16 02:36:48 +01:00
4d95a4e205 Manage some Menus (memory leaks) 2017-03-16 02:36:48 +01:00
2623b227d5 fix windows builds 2017-03-15 12:52:16 +01:00
d87965d82d amend c9b1e6dbe 2017-03-15 12:47:14 +01:00
c9b1e6dbef Tweak idle-o-meter: reset-button & acquisition time display 2017-03-15 12:38:11 +01:00