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