Paul Davis
3cd8138a41
convert from Glib:: to Glib::Threads for all thread-related API
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-25 17:48:55 +00:00
Paul Davis
0532e2063b
dramatic overhaul of automation. too long to explain here. this work is not finished - write/touch passes do not correctly overwrite existing data because the semantics of ControlList::insert_iterator need clarification. more to follow
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13038 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-13 21:05:45 +00:00
Paul Davis
8d6d3c309d
add StartTouch and EndTouch signals to Plugin class; make PluginInsert handle these signals and mark the start end of touch/gestures for a given AutomationControl; net result is that touch automation now works for AudioUnit plugins, at least those whose GUIs send kAudioUnitEvent_{Begin,End}ParameterGesture events
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13028 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-11 15:31:02 +00:00
Paul Davis
0fb8c89eeb
fix propagation of parameter changes from Plugin to PluginInsert so that automation will record parameter changes performed in a plugin GUI ( #4976 )
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13026 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-11 03:48:14 +00:00
Paul Davis
bfd2ee48ce
improved version of last commit, for tracking plugin control changes and mapping them to PluginInsert automation controls
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13025 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-11 00:23:55 +00:00
Paul Davis
80d9eaf96c
set fader and plugin parameter automation curve default values - what else needs this?
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12996 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-09 18:31:09 +00:00
David Robillard
6fa6514cfd
Remove over 500 unnecessary includes (including 54 of session.h).
...
It's slightly possible that this causes trivial build failures on different
configurations, but otherwise shouldn't cause any problems (i.e. no actual
changes other than include/naming/namespace stuff). I deliberately avoided
removing libardour-config.h since this can mysteriously break things, though a
few of those do seem to be unnecessary.
This commit only targets includes of ardour/*.h. There is also a very large
number of unnecessary includes of stuff in gtk2_ardour; tackling that should
also give a big improvement in build time when things are modified.
git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 06:09:29 +00:00
Paul Davis
ad39f598ae
move ::reconfigurable_io() from Plugin to PluginInfo so that the GUI can offer correct information without having ccess to a Plugin instance
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12200 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-07 22:00:42 +00:00
David Robillard
99ba7de591
Fix failed assertion with plugins with only an audio output are inserted on a MIDI track. This logic is probably completely wrong (i.e. it shouldn't be Split in the first place), but it fixes the crash, anyway.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11876 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-10 20:45:39 +00:00
Carl Hetherington
4381b590bb
Reinstate user Controllable values, as they are needed
...
for gain (which I forgot about).
git-svn-id: svn://localhost/ardour2/branches/3.0@11293 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-21 16:38:56 +00:00
Carl Hetherington
d03d0363a4
Remove unused concept of user' values. Make user_to_ui
...
and ui_to_user virtual members of PBD::Controllable.
git-svn-id: svn://localhost/ardour2/branches/3.0@11286 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 18:02:36 +00:00
Paul Davis
d0d6a2015f
reduce Processor debug tag verbosity
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11206 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-09 16:43:09 +00:00
Paul Davis
5558b3cf06
a grab bag of changes correcting and improving the way MIDI note on/off tracking is done. may/should fix a number of problem with spurious note-offs under a variety of circumstances
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11074 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-26 17:01:31 +00:00
Carl Hetherington
067b81d0bf
Remove unnecessary silencing of unused plugin inputs; unnecessary as (LADSPA/LV2 at least) connect_and_run routines pass in silent buffers for inputs that are not in the ChanMapping. The explicit silencing also failed if the plugin had more inputs than any processor on the route ( fixes #4535 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10949 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-09 17:57:50 +00:00
Paul Davis
5aa4d95f59
rename a Buffer/BufferSet method to be a little clearer as to its intent (is_silent(bool) => set_is_silent(bool))
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10867 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-02 19:53:33 +00:00
Carl Hetherington
e8ee8593c7
Trim function that is only used once.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10804 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-23 19:29:48 +00:00
Carl Hetherington
d9a3c6b89f
Rename windows VST stuff with a Windows prefix.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10738 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-21 17:42:29 +00:00
Paul Davis
7c9c86af27
start trying to remove the use of Plugin::info()->n_{inputs,outputs}, which alway refer to static (unchanging) information from the plugin metadata, which is not useful in the face of AU-like plugin APIs that can change I/O valency as requested, at least some of the time
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10386 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-01 21:48:45 +00:00
Paul Davis
8771e00fab
a better fix for the silent buffer issue: whenever we run a plugin, mark all the buffers passed to it as non-silent. a few plugin APIs allow the plugin to indicate whether or not it generated silence or not, but we ignore this for now (and possibly forever)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10385 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-01 21:28:16 +00:00
David Robillard
96dcffcb22
More robust plugin I/O mapping.
...
This does not change the actual mapping logic, but makes the application of
the mapping much more robust. If there is no valid mapping for a given port,
that port is connected to silence (instead of crashing messily and/or via a
failed assertion).
Also tolerate mappings that nonsensically map to a buffer that is not present
(this particularly happens for MIDI ports in some cases) as a temporary fix.
The mapping logic needs work and/or our concept of just how much MIDI we support
in a route needs simplification...
git-svn-id: svn://localhost/ardour2/branches/3.0@10262 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-21 04:51:04 +00:00
Carl Hetherington
52caae3971
Improve plugin hide logic to prevent crashes when trying to insert fully audio plugins into MIDI tracks.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10232 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-19 14:26:16 +00:00
Paul Davis
4aeebb914e
changes for OS X support: change waf config define to COREAUDIO_SUPPORT, remove PluginInsert call to IO::PortCountChanged, remove use of explicit Carbon linkage, fix up AudioUnit internals to actually work (Cocoa GUIs still currently broken)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10224 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-18 15:08:42 +00:00
Paul Davis
4085309cdb
make Stateful::_id private and provide appropriate methods to set it, and use them throughout ardour
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10222 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-18 13:18:47 +00:00
Carl Hetherington
f40c7c45be
Somewhat experimental patch to hide plugin inputs if the preceding processor doesn't offer outputs for them. Fixes #4330 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10126 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-26 18:07:02 +00:00
Carl Hetherington
8f46b0dc4b
Tidy up PluginInsert's handling of how it chooses to map plugin IO to that of the insert.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10125 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-26 18:04:02 +00:00
Paul Davis
d4433b9ab3
(native) Linux VST support from LinuxDSP
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10101 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-20 20:29:47 +00:00
Carl Hetherington
14e083001d
Fix a couple of thinkos causing crashes during split cycles
...
with plugins that are splitting e.g. mono inputs to stereo
plugins (#4169 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@10068 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-12 13:17:42 +00:00
Paul Davis
9a2fe5aad3
refine definition of "generator" plugins, and only send silence through the route is there is a REAL generator plugin (i.e. no inputs at all). Fixes #4144 (hopefully without breaking anything else)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9814 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-08 21:58:34 +00:00
Carl Hetherington
d5bb729755
Uncomment fix for #4110 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9793 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-04 17:35:28 +00:00
Paul Davis
67e21fd82e
add MIDI input control column to editor route list; tweak SVG for MIDI not DIN
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9779 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-01 15:48:24 +00:00
Paul Davis
071cc3ef01
fix serious breakage with setup of plugin automatable controls/parameters, in which the relative ordering of things during ::set_state() was totally wrong. still see multiple instances of automation tracks for processors in GUI
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9698 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-09 20:21:46 +00:00
Paul Davis
1a2a58fdd6
don't call Processor::set_state() from PluginInsert::set_state() till the plugins are present in the container, so that describe_parameter() can work
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9696 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-09 13:55:52 +00:00
David Robillard
a473d630eb
Fix broken whitespace. I'd apologize for the compile times if it was my fault :D
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 16:50:12 +00:00
David Robillard
c78528dcea
Use LV2_SUPPORT define instead of HAVE_SLV2.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9510 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-14 17:59:16 +00:00
Paul Davis
e22f93407b
make instruments/generators do the right thing when bypassed
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9498 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-12 00:16:16 +00:00
David Robillard
0906b39918
Fix my name :)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9302 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-06 15:00:16 +00:00
Carl Hetherington
806b94bec1
Add plugins (activating them) after doing any latency_compute_run, as otherwise the latency_compute_run deactivates the plugins and an assert trips in LadspaPlugin::run_in_place.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9282 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-04 17:57:18 +00:00
David Robillard
4ae4704112
Implement LV2 files extension.
...
This extension works with the persist extension to allow plugins to
save references to files in their state, but still allow the host
(e.g. Ardour) to control where files are located, making it possible
to do a deep export of a session with all files (e.g. loaded sampler
banks) included.
Tested working with a patched version of LinuxSampler...
TODO: Make symlinks in the plugin state directory rather than refer
to absolute file paths in state files (i.e. support session export,
either by ardour or any other tool, in particular the Jack session
manager...)
git-svn-id: svn://localhost/ardour2/branches/3.0@9272 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-03 01:57:12 +00:00
David Robillard
9ca4623451
Fix broken whitespace.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9270 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-02 19:52:21 +00:00
Paul Davis
0d95a4bfe4
remove sample-rate adjustment of plugin parameters - represents a misunderstanding of the LADSPA spec
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9217 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-26 21:28:40 +00:00
Carl Hetherington
ee92df2a25
Copy plugin when extending the count, rather than using the same one. Should fix #3672 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8982 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-28 02:33:07 +00:00
Paul Davis
e1905c1c29
allow zero-input (i.e. tone generator) processors to be added
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8950 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-24 16:22:42 +00:00
Carl Hetherington
279c9d8b4c
Fix plugin parameter controllers again ( #3767 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8912 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-20 17:57:45 +00:00
Carl Hetherington
ea11968f95
Clean up and hopefully fix handling of logarithmic plugin parameters ( fixes #3769 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8850 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-15 01:42:48 +00:00
Carl Hetherington
825cb4ce18
Label logarithmic plugin controls correctly. Should fix #3767 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8832 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-12 14:10:15 +00:00
Paul Davis
a9d331aa98
add back some missing logic to can-replicate
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8743 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-07 17:14:40 +00:00
Paul Davis
eb012ac243
simplify "can-replicate" to allow replication only if a plugin has zero or one input AND output for each data type
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8742 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-07 17:04:22 +00:00
Carl Hetherington
4233a54ac3
Somewhat unconvincing visual indication that plugin inserts are splitting mono inputs to stereo.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8636 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-01 01:50:49 +00:00
Carl Hetherington
636ffd7d8d
Fix up display of plugin automation when loading 2.X sessions.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8635 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-01 01:07:38 +00:00
Carl Hetherington
6c3bad48f9
Allow plugins with >1 input to be inserted into mono tracks; the input is passed to each plugin input equally ( #3746 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8628 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-31 15:28:15 +00:00