Commit graph

12944 commits

Author SHA1 Message Date
Robin Gareus
b5c6f06a99 Move RouteGroup color into libardour.
This allows to change it from scripts and surfaces and consolidates code.
2017-05-03 17:53:00 +02:00
Robin Gareus
b45a3c8164 NO-OP: whitespace 2017-05-03 17:53:00 +02:00
Len Ovens
2abefde534 OSC scrub, fix numbers to work with usec rather than msec. 2017-05-01 13:53:03 -07:00
Len Ovens
e5182f3eb4 OSC: fix scrub to not use boost ptime. 2017-05-01 13:45:47 -07:00
Len Ovens
5f06ae43d8 OSC: add /scrub function 2017-05-01 07:08:02 -07:00
Robin Gareus
8229124078 Fix vari-speed and non-locked slave modes
A transport-speed-change is no reason to skip processing.

Prior to this change cannot_process() silently skipped in the process
cycle of the speed-change (which may have been every process-cycle),
without moving the transport or doing any processing.
2017-04-30 01:22:25 +02:00
Robin Gareus
a283784cce FP8: channel-navigation/scroll select track on encoder press 2017-04-29 12:38:53 +02:00
Robin Gareus
de45ac0e76 FP8: snap-to scroll tracks, both editor+mixer 2017-04-29 12:38:53 +02:00
Robin Gareus
cba2543131 NO-OP: whitespace 2017-04-27 21:09:12 +02:00
Robin Gareus
6e9c10db19 Fix flow for measuring latencies of live backends 2017-04-27 21:07:18 +02:00
Robin Gareus
0d668b9beb ALSA backend: always register ports with systemic latency
and allow re-start to un/set reporting latency.
2017-04-27 20:59:15 +02:00
Robin Gareus
c25640f336 Fix flow for latency measurements that needs an engine stop.
Make AudioEngine::prepare_for_latency_measurement() idempotent. There are
multple calls (when switching to the measurement page and every time
a measurement is preformed).

Also the Stopped() signal is important for the Dialog state regardless
if the engine was stopped for latency or not.
2017-04-27 19:43:34 +02:00
Robin Gareus
410f94cf1b Fix Editor/Mixer visibility (OSX, NSGLCanvas)
Only unpacking a widget retains the GdkWindow and and the widget is still
mapped. The NSView is still visible. See also 235631a6.
2017-04-27 16:23:48 +02:00
Robin Gareus
544031cecf fix a -Wreorder following d837914e2 2017-04-26 23:42:47 +02:00
Robin Gareus
0b5db91ee9 AutomationLine time-unit conversion and paste API update
This fixes copy/paste of MIDI automation (time-unit: beat) from/to
Parameter automation (time-unit: samples).

It also fixes repeatedly pasting with tempo-ramps: pre-multiply length
before converting to samples.
2017-04-26 23:37:27 +02:00
Tim Mayberry
4b4d64dd7f Use a const iterator for sorted RouteList in Session::state 2017-04-26 17:36:58 +10:00
Tim Mayberry
3589740d69 Sort Route xml node order by PBD::ID instead of by PresentationInfo
This prevents the node order from changing when the display order of the Routes
changes, which helps to reduce the amount of Session file change.

This is useful for testing and if keeping sessions under version control.

Resolves: #7327
2017-04-26 17:36:58 +10:00
Robin Gareus
d8c926979e Assume VST chunks are portable (Mac, Linux, Windows VST) 2017-04-25 18:40:43 +02:00
Robin Gareus
54e374f272 Fix conversion in 41b997a90 (monitor cut, invert) 2017-04-25 17:22:54 +02:00
Robin Gareus
441cc5b485 Add missing Lua ClassKeys (windows build) 2017-04-25 15:48:14 +02:00
Robin Gareus
7d0193606c Fix Windows build: declare static class-keys (amend 201fd5574) 2017-04-25 14:05:34 +02:00
Robin Gareus
7652f4edf2 Some more Lua ARDOUR::Plugin bindings 2017-04-25 14:01:02 +02:00
Robin Gareus
c3390a2c4b Add an API to conveniently query plugin-parameter labels 2017-04-25 14:01:00 +02:00
Robin Gareus
201fd55743 Add ControlEvent Lua bindings and related methods to access MIDI-CC 2017-04-24 04:21:25 +02:00
Robin Gareus
d837914e28 Swap inheritance, simplifies Lua Bindings 2017-04-24 04:21:25 +02:00
Robin Gareus
1e8462f45e Reset process-graph semaphores on engine-restart 2017-04-22 23:06:22 +02:00
Robin Gareus
9c0ba3b3d5 Add mechanism to reset/lock semaphores 2017-04-22 23:06:22 +02:00
Robin Gareus
629e6cbefb remove unused semaphore 2017-04-22 23:06:22 +02:00
Robin Gareus
8e038da828 NO-OP: whitespace 2017-04-22 23:06:22 +02:00
Robin Gareus
8969ded7e1 Privatize non-public methods 2017-04-22 23:06:22 +02:00
Robin Gareus
dd1bf47394 NO-OP: whitespace 2017-04-22 16:09:10 +02:00
Len Ovens
2012dc2553 OSC: correct spelling 2017-04-21 07:29:13 -07:00
Robin Gareus
ea1769d711 Resolve potential variable name ambiguity for older compilers 2017-04-21 16:05:24 +02:00
Robin Gareus
d7d86a99d2 Re-nice ALSA MIDI port names 2017-04-21 10:43:22 +02:00
Robin Gareus
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
Robin Gareus
10c4891532 Fix thinko in 6ae047cdd and 8f488515 (prefer LV2 symbol over ID) 2017-04-21 05:36:52 +02:00
Tim Mayberry
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
Tim Mayberry
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
Tim Mayberry
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
Tim Mayberry
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
Tim Mayberry
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
Robin Gareus
44cec18516 Retain state of disabled ctrl-surfaces 2017-04-21 04:08:08 +02:00
Robin Gareus
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
Robin Gareus
7d5b7d538e Notify GUI when tearing down ctrl-surfaces 2017-04-21 02:53:51 +02:00
Robin Gareus
f913d5b9f6 NO-OP: whitespace 2017-04-20 23:47:39 +02:00
Robin Gareus
8a92be1757 Fix operator precedence (amend e7e9e025) 2017-04-20 22:47:45 +02:00
Robin Gareus
8f8e32881c Remove unused enum 2017-04-20 22:20:20 +02:00
Robin Gareus
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
Robin Gareus
b6c222555f NO-OP: re-order code, add comments 2017-04-20 17:19:03 +02:00
Robin Gareus
8add4eefad FP8: some code comments and cleanup 2017-04-20 16:06:47 +02:00