13
0
Commit Graph

12895 Commits

Author SHA1 Message Date
50e362ffd3 OSC: simplify code. 2017-05-10 08:02:03 -07:00
bcbdd858fa Selection::get_stripables() needs to recurse into an Automatable's child Automatables when looking for for an Automation Control
It also needs renaming (to come)
2017-05-10 08:52:55 +01:00
86149840a1 resolve ambiguity 2017-05-10 05:00:03 +02:00
e8387e101f Enums are not Classes in C++98 2017-05-10 04:29:41 +02:00
ac03e4a937 Bump VST param-name length limit to 128 bytes and centralize definition
The official VST spec says 8 bytes, JUCE uses 24 + 1, and there's
anecdotal evidence that some VSTs use up to 100 (which apparently works
in many hosts).
2017-05-10 00:26:02 +02:00
82fed14f41 OSC: Fix select fader automation play feedback as well fixes issue #7160 2017-05-09 14:10:49 -07:00
a12d4c87c6 OSC: Get gain feedback to show with automation Play. 2017-05-09 13:38:57 -07:00
c3c7dfd3e8 OSC: Add Automation mode feedback to /strip 2017-05-09 12:40:20 -07:00
155401b875 OSC: removed letter automation modes to not conflict with feedback 2017-05-09 11:52:21 -07:00
fe5a778535 OSC: Propagate return value so debug shows errors 2017-05-09 09:05:30 -07:00
56ebea48c0 OSC: set Automation mode for fader 2017-05-09 07:55:32 -07:00
f4d62a2a8e OSC: automation mode get strip (step 2) 2017-05-09 07:55:32 -07:00
9b4d58393d OSC: Add framework for /*/automation mode 2017-05-09 07:55:32 -07:00
37a4987dab Ardour does support VST's audioMasterGetProductString, return true; 2017-05-09 16:31:42 +02:00
4e08f5c169 iterator std::set::erase (iterator) is C++11 2017-05-08 16:30:54 +02:00
2ed08f0771 fix copy-n-paste error 2017-05-08 11:03:35 +01:00
0596032b36 fix logic when removing routes
Selection change and re-order signals are distinct.
2017-05-08 10:56:24 +01:00
7b2063d62d remove misc. debug output 2017-05-08 10:41:12 +01:00
7d523dc43c when removing a Route from Session, remove it from CoreSelection and signal that change if necessary 2017-05-08 10:41:12 +01:00
24b8004bf7 when removing Stripables from CoreSelection by ID, be sure to remove all possible entries in the Selection
A Stripable may have itself plus zero-to-N automation controls in
CoreSelection.
2017-05-08 10:41:12 +01:00
005fa9176a allow Session to call Session::remove_stripable_by_id() 2017-05-08 10:40:27 +01:00
6bcd543bf2 Semaphores need to have a unique name -- fixes #7341
On Windows (and OSX) semaphores are named. If the name matches an existing
semaphore, it is re-used and not re-initialized. In case of multiple
LV2-plugins each with a worker-thread this can lead to a deadlock.
2017-05-07 02:02:30 +02:00
e73755f8fb really fix opening session-archives -- amend 1f80f059be 2017-05-06 22:05:26 +02:00
1f80f059be Fix opening session-archives 2017-05-06 18:31:18 +02:00
5d683eaeca NO-OP: whitespace and FSF address 2017-05-06 15:11:53 +02:00
d02cf631c7 Factor RMS normalization by sqrt(2); match sine peak 2017-05-06 15:09:14 +02:00
23b3147598 Accommodate newly introduced source(s) in our MSVC project (libardour) 2017-05-06 13:34:39 +01:00
e8e68fd8c6 MSVC won't allow us to erase an item referenced by const_iterator 2017-05-06 13:33:38 +01:00
dea25f2692 The new class 'ARDOUR::CoreSelection' needs to be exportable (since it gets used outside of libardour) 2017-05-06 13:32:20 +01:00
1eb18f8e27 OSC: make some more paths work with or without a parameter. 2017-05-05 15:02:22 -07:00
379ad3357d OSC: remove debug output. 2017-05-05 15:02:22 -07:00
35a9facdae add missing files from selection development branch(es) 2017-05-05 19:25:35 +01:00
0c035778e1 libardour now has CoreSelection object to manage selection status of Stripables and AutomationControls 2017-05-05 18:56:25 +01:00
ccd19ed061 extend PBD::ID API to allow construction and operator== using uint64_t
This is theoretically dangerous, because a PBD::ID is supposed to be unique, and this new constructor
cannot guarantee that. However, the same danger already exists with the std::string-based constructor
2017-05-05 18:56:25 +01:00
417f63a29e FP8: use new libardour API 2017-05-05 17:08:42 +02:00
d2c8d357da Move special-cased FP8 mute-state into libardour 2017-05-05 16:47:25 +02:00
8288fa40b9 FP8: ignore inactive muted tracks w/mute-clear 2017-05-05 15:36:08 +02:00
3a75e7c53b FP8: solo+mute undo
Eventually this should be moved into libardour: Mixer undo history.
the tentative solution is specifically ifdef'ed FP8_MUTESOLO_UNDO.
2017-05-05 15:26:52 +02:00
337b100b47 Fix converting v4 monitor state -- amend 8a6d30377
It looks like MonitorControl::_monitoring is unused and should be removed.
The actual value is Evoral::Control::_user_value
2017-05-05 14:31:19 +02:00
401eefec1c remove cruft (unused UI::ui_scale) 2017-05-05 14:00:30 +02:00
a3c70696b6 OSC: personal monitoring, fix crash and minor bugs 2017-05-04 15:52:09 -07:00
0d7e9987b3 fix/amend previous commit. 2017-05-04 23:06:52 +02:00
3af9fdad0a Don't save "end-is-free" with templates 2017-05-04 23:00:21 +02:00
ec333406f7 Lua bindings for "end-is-free" (automatic session-end location marker) 2017-05-04 21:08:17 +02:00
8a6d303778 Convert old v4 Track monitoring session-state (untested) 2017-05-04 17:19:55 +02:00
c784f70966 OSC: Add /jog/mode/name 2017-05-03 21:38:52 -07:00
16e545ad73 OSC: Fix puctuation 2017-05-03 21:36:58 -07:00
2cb54dec60 OSC: arrange modes in a more logical order. 2017-05-03 18:19:45 -07:00
2bbf83e109 OSC: Add multimode /jog command 2017-05-03 16:33:33 -07:00
2f37885e4b MIDI learn on ctrl + middle-click only (not ctrl + other mods + btn2).
This fixes various other operations that use ctrl + btn2.
e.g. ctrl+alt+btn2 temporary all un/solo/mute.
2017-05-04 00:35:56 +02:00
a55fb928a7 Lua bindings to set group color 2017-05-03 17:53:00 +02:00
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
b45a3c8164 NO-OP: whitespace 2017-05-03 17:53:00 +02:00
2abefde534 OSC scrub, fix numbers to work with usec rather than msec. 2017-05-01 13:53:03 -07:00
e5182f3eb4 OSC: fix scrub to not use boost ptime. 2017-05-01 13:45:47 -07:00
5f06ae43d8 OSC: add /scrub function 2017-05-01 07:08:02 -07:00
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
a283784cce FP8: channel-navigation/scroll select track on encoder press 2017-04-29 12:38:53 +02:00
de45ac0e76 FP8: snap-to scroll tracks, both editor+mixer 2017-04-29 12:38:53 +02:00
cba2543131 NO-OP: whitespace 2017-04-27 21:09:12 +02:00
6e9c10db19 Fix flow for measuring latencies of live backends 2017-04-27 21:07:18 +02:00
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
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
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
544031cecf fix a -Wreorder following d837914e2 2017-04-26 23:42:47 +02:00
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
4b4d64dd7f Use a const iterator for sorted RouteList in Session::state 2017-04-26 17:36:58 +10:00
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
d8c926979e Assume VST chunks are portable (Mac, Linux, Windows VST) 2017-04-25 18:40:43 +02:00
54e374f272 Fix conversion in 41b997a90 (monitor cut, invert) 2017-04-25 17:22:54 +02:00
441cc5b485 Add missing Lua ClassKeys (windows build) 2017-04-25 15:48:14 +02:00
7d0193606c Fix Windows build: declare static class-keys (amend 201fd5574) 2017-04-25 14:05:34 +02:00
7652f4edf2 Some more Lua ARDOUR::Plugin bindings 2017-04-25 14:01:02 +02:00
c3390a2c4b Add an API to conveniently query plugin-parameter labels 2017-04-25 14:01:00 +02:00
201fd55743 Add ControlEvent Lua bindings and related methods to access MIDI-CC 2017-04-24 04:21:25 +02:00
d837914e28 Swap inheritance, simplifies Lua Bindings 2017-04-24 04:21:25 +02:00
1e8462f45e Reset process-graph semaphores on engine-restart 2017-04-22 23:06:22 +02:00
9c0ba3b3d5 Add mechanism to reset/lock semaphores 2017-04-22 23:06:22 +02:00
629e6cbefb remove unused semaphore 2017-04-22 23:06:22 +02:00
8e038da828 NO-OP: whitespace 2017-04-22 23:06:22 +02:00
8969ded7e1 Privatize non-public methods 2017-04-22 23:06:22 +02:00
dd1bf47394 NO-OP: whitespace 2017-04-22 16:09:10 +02:00
2012dc2553 OSC: correct spelling 2017-04-21 07:29:13 -07:00
ea1769d711 Resolve potential variable name ambiguity for older compilers 2017-04-21 16:05:24 +02:00
d7d86a99d2 Re-nice ALSA MIDI port names 2017-04-21 10:43:22 +02:00
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
10c4891532 Fix thinko in 6ae047cdd and 8f488515 (prefer LV2 symbol over ID) 2017-04-21 05:36:52 +02:00
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
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
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
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
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
44cec18516 Retain state of disabled ctrl-surfaces 2017-04-21 04:08:08 +02:00
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
7d5b7d538e Notify GUI when tearing down ctrl-surfaces 2017-04-21 02:53:51 +02:00
f913d5b9f6 NO-OP: whitespace 2017-04-20 23:47:39 +02:00
8a92be1757 Fix operator precedence (amend e7e9e025) 2017-04-20 22:47:45 +02:00
8f8e32881c Remove unused enum 2017-04-20 22:20:20 +02:00
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
b6c222555f NO-OP: re-order code, add comments 2017-04-20 17:19:03 +02:00