8538ba35fe
Only call Gtk::Widget::queue_draw_area in canvas when item and visible area intersect
...
Refactor GtkCanvas::request_redraw to use Rect::intersection
2017-06-26 08:40:47 +10:00
c4e31fc322
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.
2017-06-26 08:40:47 +10:00
265f52535a
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.
2017-06-26 08:40:47 +10:00
dac25b8db9
Add PreRender signal to the canvas
...
Emitted by the canvas immediately before rendering.
2017-06-26 08:40:47 +10:00
9618b6dcbb
Whitespace fixes in canvas.h
2017-06-26 08:40:47 +10:00
f7c134863c
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.
2017-06-26 08:40:47 +10:00
843d5ffa59
Output the setting of the --no-threaded-waveviews option during configure
2017-06-26 08:40:47 +10:00
de99d7c528
Allow saving state w/o backend
...
Connections are remembered by ARDOUR::Port to re-establish at load.
2017-06-25 22:03:42 +02:00
e511985ad9
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.
2017-06-25 20:53:47 +02:00
cc7ff53e1f
Create a deep-copy of MIDI sources when saving snapshots
2017-06-25 01:57:19 +02:00
a1c5d1be43
Extend API to allow calling new_midi_source_path() with source_lock held
...
This is in preparation for cloning MIDI-sources during snapshot save.
2017-06-25 01:57:19 +02:00
86ee4de7a9
OSC: simplify GUI and make less error-prone
2017-06-24 13:13:53 -07:00
33bfe681c9
OSC: Allow /bank_up to accept -1 as well as 1 so encoder can work.
2017-06-23 18:08:04 -07:00
01e75da96b
OSC: make sed_fader work with banking too.
2017-06-23 17:34:22 -07:00
0b21143234
OSC: Add master_send_enable for MB
2017-06-23 17:09:54 -07:00
1fad162256
OSC: redo math for redux control with fewer calls.
2017-06-23 17:09:54 -07:00
2ea14c25ec
OSC: Messages too fast at bank_change/refresh slowed down.
2017-06-23 17:09:54 -07:00
nickolas360
2106ab431b
Add missing echo
in ardev_common.sh.in
2017-06-24 01:34:21 +02:00
64a091ea4b
Fix metronome + capture alignment for Mixbus
2017-06-24 01:22:17 +02:00
92fb6325e3
NO-OP: whitespace
2017-06-23 23:43:01 +02:00
d405b2dd6c
Mixbus GUI updates (VCA layout, no panners)
2017-06-23 23:43:01 +02:00
2a08746437
OSC: Fix math error in send fader feedback
2017-06-23 14:26:29 -07:00
1138b62fb8
amend 5e5f7a55; re-add wrongly removed variable
2017-06-23 18:15:50 +02:00
104a4c2030
leave a hint for clang's static analyzer
2017-06-23 17:39:20 +02:00
e765d0b3bb
Remove Automation Types that should never have existed.
2017-06-23 17:39:20 +02:00
66a3dd7ded
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.
2017-06-23 17:39:20 +02:00
5e5f7a55ee
MCU: Remove use of AutomationType as ID, part one.
2017-06-23 17:39:20 +02:00
de73194050
Implement undo for merging VCA-master automation/value on disconnect.
2017-06-23 17:39:20 +02:00
d34fdb98e3
Improve default parameter display
2017-06-23 17:39:20 +02:00
5aad9d9a33
OSC: only show visible plugins (not MB channel strip PI)
2017-06-22 22:40:06 -07:00
d972fa431c
Remove unnecessary LocaleGuard header include
2017-06-23 09:12:53 +10:00
d55cb9ba94
Update GUI to follow Slavable API change
2017-06-22 22:04:10 +02:00
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
7e3a970c1e
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()
2017-06-22 10:48:38 +10:00
e6d2eef929
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
2017-06-22 10:48:38 +10:00
4e31157ef4
Remove LocaleGuard from VideoUtils::video_query_info
...
PBD::string_to is now used for float <=> string conversions so a LocaleGuard is
no longer necessary.
2017-06-22 10:48:38 +10:00
f3d622f6f9
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
2017-06-22 10:48:38 +10:00
85732a66e3
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()
2017-06-22 10:48:38 +10:00
4e385b44a6
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.
2017-06-22 10:48:38 +10:00