Robin Gareus
1e5bcc4f76
re-map lv2-port (symbol) with Controllable ID
...
LV2 plugin port indices can change, so we need to save the symbol name
with the controllable and look up the port-index on load.
2016-01-03 18:15:59 +01:00
Paul Davis
9e3299f97d
change Controllable::set_value() API to include grouped control consideration.
...
This also removes Route::group_gain_control() and associated machinery.
Not yet tested with Mackie or other surfaces. More work to done to
start using the group capabilities, and also potentially to add
or derive more controls as RouteAutomationControls
2016-01-02 04:58:30 -05:00
Paul Davis
b5ed8495fb
remove debug output
2016-01-01 06:58:56 -05:00
Paul Davis
b390d8c8a6
possible extra housekeeping for control protocol modules.
...
Currently this code isn't reached because we never call ControlProtocolManager::teardown() on inactive protocols. But at some point it might be appropriate to unload modules (.so/.dll/.dylib) even if the protocol was never instantiated
2015-12-30 04:11:14 -05:00
Paul Davis
2c6d92ec96
safer housekeeping for control protocol descriptors
2015-12-30 03:51:00 -05:00
Robin Gareus
75021abfd6
some good practice.
2015-12-30 00:45:24 +01:00
Robin Gareus
d58f68ae97
fix control surface discovery crash:
...
On OSX unloading a module deletes all references to it and
the descriptor becomes invalid.
2015-12-30 00:41:33 +01:00
Robin Gareus
2c95cb0652
keep AU cache in cache-dir
2015-12-29 23:11:01 +01:00
Paul Davis
6a8b8c8523
add check for descriptor when deciding whether to register a control surface request buffer factory
2015-12-29 05:20:50 -05:00
Robin Gareus
6f347d325a
prepare VST window resize
...
(this only triggers resizing the parent container window (like user
resizes), which is not sufficient for all plugins.
2015-12-28 23:43:59 +01:00
Robin Gareus
be3d8bc3d0
add midi-track mute automation
2015-12-28 18:30:46 +01:00
Paul Davis
0d9efc1148
redesign cross-thread registration/signalling system
...
This new design will work even when threads that need to receive
messages from RT threads are created *after* the RT threads. The
existing design would fail because the RT thread(s) would never
be known the later created threads, and so signals emitted by the
RT thread and causing call_slot() in the receiver would end up
being enqueued using a lock-protected list. The new design ensures
that communication always uses a lock-free FIFO instead
2015-12-28 10:14:17 -05:00
Robin Gareus
dd9e0e49a0
proper display name for Monitor Processor
2015-12-27 18:36:20 +01:00
Robin Gareus
435dd4e98f
fix samplerate initialization.
2015-12-26 04:52:08 +01:00
Robin Gareus
81a3ae985d
Keep plugin presets in sync across plugin-instances.
2015-12-25 22:38:48 +01:00
Robin Gareus
b92f208b52
don't assume plugin presets start their numbering at zero.
2015-12-25 17:12:37 +01:00
Robin Gareus
a8159326b8
add a PluginPreset struct: combined plugin-info + preset-record
...
...in preparation to allow adding presets directly.
2015-12-25 14:38:31 +01:00
Robin Gareus
9cddc7cda0
add monitor-processor pre-fader (not at the top)
2015-12-23 14:35:31 +01:00
Edgar Aichinger
751e6a3dbc
Update German Translation for libardour
2015-12-23 12:43:54 +01:00
Nil Geisweiller
742d176479
Fix overlapping resolution (see issue #177 )
...
It assumes that a note ending at the same time of another one starting
is not considered overlapping.
2015-12-22 04:52:50 +01:00
Nil Geisweiller
3a6f62d238
Fix indentation (whitespace -> tab)
2015-12-22 04:52:50 +01:00
Robin Gareus
dc20611933
add signal for Plugin Status Changes (Hidden/Favorite)
2015-12-22 04:25:37 +01:00
Robin Gareus
66bc06051b
add monitor-section processor limitations.
2015-12-21 14:38:16 +01:00
Robin Gareus
d9eb5e00c5
cont'd work on plugin-state templates - #6709
...
Refactor and consolidate code and re-use it for session-templates.
This avoids recursive copying of the plugin-dir()
2015-12-19 14:46:15 +01:00
Robin Gareus
ec9a8f022c
open Finder/Explorer/File-manager in case of session-dir ambiguity.
2015-12-18 17:46:08 +01:00
Robin Gareus
6e7ce525f7
cleaner version of 7383ea6a (duplicate plugin state)
2015-12-18 14:55:33 +01:00
Robin Gareus
3eb04c3c23
save/restore plugin state with track-template
2015-12-18 14:27:15 +01:00
Robin Gareus
7b6ef41f0c
leave some todo-notes #6709 (track templates & state)
2015-12-17 23:48:06 +01:00
Robin Gareus
7383ea6a35
properly copy plugin state when duplicating routes. #6709
...
This is not a really elegant solution. Something had to come up and
ruin the neatness of the thread-private regenerate_xml_or_string_ids :)
2015-12-17 23:47:50 +01:00
Paul Davis
cfff528ae9
expose the right panning parameters for ardour
2015-12-16 11:05:11 -05:00
Alexandre Prokoudine
90f64364cb
Update Russian translation
2015-12-16 12:47:24 +01:00
Paul Davis
11f069f118
add new automation types for EQ and compression
2015-12-16 06:30:43 -05:00
Paul Davis
ab3f0f75a8
new route API to discover/access well-known automation controls for panning, EQ and compression.
...
The EQ and compression parts do nothing for Ardour, where there is no identifiable and understood plugin to perform their
roles. They do work on mixbus, which also serves as a model for how to do this.
2015-12-16 06:00:56 -05:00
Robin Gareus
f05afd973b
update URI (see lv2-dev email list)
2015-12-15 09:07:00 +01:00
Robin Gareus
a168d8b75e
explicitly disallow looping with external-sync
...
amend 939808a7
2015-12-15 08:39:09 +01:00
Robin Gareus
756a4cd85f
API consistency
2015-12-13 18:32:55 +01:00
Robin Gareus
03ed30ac9b
update LV2 URI
2015-12-13 18:29:44 +01:00
Len Ovens
7ffeb70b1b
Fix ff->stop->play not at speed 1.0 on Mackie Control and some key bindings.
2015-12-13 09:16:57 -08:00
Robin Gareus
dac57703cc
correct name of Midi-UI thread memory-pool and request-queue
2015-12-12 14:45:17 +01:00
Robin Gareus
5630332797
fix LV2 plugin state for copied plugins.
2015-12-10 19:31:00 +01:00
Robin Gareus
699f9b097d
LV2 specific instrument-plugin check
2015-12-10 17:20:08 +01:00
Len Ovens
e18ea188f4
Fix Mackie control Gain while in flip mode (vpot control of gain)
2015-12-09 09:21:36 -08:00
Edgar Aichinger
ba3936391a
update german translation
2015-12-09 13:22:25 +01:00
Robin Gareus
8bfa7d95c1
fix/workaround OSX "No Memory Pool"
...
fixes issue on MacBookPro11,1 OSX 10.10
* Coreaudio: internal speaker + internal Mic
* start recording
* plug-in headphone
* stop recording
-> crash
process_callback -> [..] stop_transport -> no RT memory pool
for realtime event.
2015-12-09 11:13:18 +01:00
Ben Loftis
43d3bf5696
Set_self_solo should always set the mute_master state as well.
...
This fixed a bug in mixbus when a session was reopened with a soloed bus.
This may not be necessary in Ardour but I think it is more correct.
2015-12-08 15:44:11 -06:00
Robin Gareus
2f5c4c29c6
2K? that's micro -- use macrosoft for lots a files, please!
2015-12-08 18:39:56 +01:00
Paul Davis
1c8ad40339
touch peakfile after closing a SndFileSource
...
libsndfile (can|may) update the headers at close, which can lead to the file being marked newer than the peakfile,
thus causing a rebuild of the peakfile at session (re)load.
Originally detected by Grygorii
2015-12-08 09:07:51 -05:00
Robin Gareus
de877cb497
add config variable to en/disable opening the plugin gui after adding a plugin
2015-12-08 13:44:05 +01:00
Paul Davis
41b2de41d6
change API for accessing session MIDI ports so that (1) boost::shared_ptr<> is used all the time (2) we avoid using multiple functions to return different subclass versions of some ports
2015-12-07 12:38:17 -05:00
Robin Gareus
065d7c852a
outline a "NoSampleAccurateControl" LV2 feature:
...
Since control-ports have a fixed value for the current process-block,
Ardour splits a plugin's run() process cycle on every automation event
to facilitate sample-accurate automation.
Since automation is interpolated between events, this ensures that each
explicit automation point is reached (not interpolated).
Plugins where this is not required and which favor a fixed block-size,
can now specify an optional Feature: NoSampleAccurateControl.
One example: a convolution plugin with smoothed gain control.
2015-12-06 14:27:24 +01:00