13
0
Commit Graph

75 Commits

Author SHA1 Message Date
Carl Hetherington
94b4c264d1 Send note-offs to VST instrument plugins on transport stop. Fixes #3583.
git-svn-id: svn://localhost/ardour2/branches/3.0@8203 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-07 14:44:47 +00:00
Carl Hetherington
73192bc1a7 Remove all use of nframes_t.
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03 22:26:29 +00:00
c7df5f5271 add non-functional meta-controls for 2in/2out panning, to control direction+width. support exists in OSC and MIDI maps. no GUI elements yet
git-svn-id: svn://localhost/ardour2/branches/3.0@8121 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-28 21:28:54 +00:00
9b7a35cdc0 more or less complete restoration of Controllable::_id from XML, with all that implies for MIDI bindings continuing to work across session reloads, and also that the controlled parameter is now set from Controllable::set_value() during session loading, not directly from its "own" XML value; still some funny stuff going on with Panners. This may have broken 2.X session loading in that panners may not be setup correctly
git-svn-id: svn://localhost/ardour2/branches/3.0@8117 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-28 18:31:18 +00:00
2bd721d1cc save controls state in PluginInsert state nodes (needed to restore MIDI bindings, not done yet)
git-svn-id: svn://localhost/ardour2/branches/3.0@8108 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-27 17:39:38 +00:00
Carl Hetherington
d3ed5483b0 Fix assertion failure when turning plugins off.
git-svn-id: svn://localhost/ardour2/branches/3.0@7760 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-09 14:40:46 +00:00
Carl Hetherington
0c496aafed Activate plugins that are added to a PluginInsert after it itself has been activated.
git-svn-id: svn://localhost/ardour2/branches/3.0@7736 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-02 19:11:02 +00:00
2ba08927bd strip no-longer used code related to plugin parameter state
git-svn-id: svn://localhost/ardour2/branches/3.0@7688 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-25 19:27:41 +00:00
be85889464 fix load+save of plugin parameter automation
git-svn-id: svn://localhost/ardour2/branches/3.0@7678 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-24 22:07:53 +00:00
6e904b1e16 3.0 version of rev 5564 from 2.x - basic boolean plugin parameter automation (no graphical editing intended). this involved adding a new "toggled" property to Evoral::Parameter
git-svn-id: svn://localhost/ardour2/branches/3.0@7670 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-23 16:31:34 +00:00
7b6b75f38f forward port automation handling changes from 2.x, upto and including about rev 6981 (will need full testing in the 3.X context). as on 2.x, this removes real-time visual updates to automation curves during write/touch automation recording
git-svn-id: svn://localhost/ardour2/branches/3.0@7653 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-19 21:09:40 +00:00
a4d9d09af5 forward port 2.X changes up to and including rev 6714
git-svn-id: svn://localhost/ardour2/branches/3.0@7635 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-16 19:58:34 +00:00
Carl Hetherington
78986385e1 Fix save/load of MIDI automation state. Fixes #3354.
git-svn-id: svn://localhost/ardour2/branches/3.0@7578 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-09 22:23:23 +00:00
Carl Hetherington
9a539fd347 Call activate() on plugins when setting state so that they are initialised correctly.
git-svn-id: svn://localhost/ardour2/branches/3.0@7562 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-07 23:31:33 +00:00
ece5093234 change Control::{set,get}_float to Control::{set,get}_double and make almost all Control-related stuff use double rather than random mixtures of float, double and some integer value ; make hans' program change stuff work quite a bit better (not finished yet) including keyboard edting of pgm change values
git-svn-id: svn://localhost/ardour2/branches/3.0@7514 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-27 14:09:16 +00:00
dc815ea8e8 forward-port from 2.X commits 5827-6000 including
git-svn-id: svn://localhost/ardour2/branches/3.0@6914 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-15 20:42:05 +00:00
c0c617902e revisit setting up processors during route construction; remove several more XML-based constructors; don't put () parens around inactive plugin names (we have a checkbox); improve management of send, return and insert bitslot IDs; clean up Diskstream construction a bit more
git-svn-id: svn://localhost/ardour2/branches/3.0@6819 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-01 01:24:13 +00:00
f297e9fa51 lincoln's patch to get loading 2.X sessions to work better
git-svn-id: svn://localhost/ardour2/branches/3.0@6804 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-28 19:07:23 +00:00
8d64ce26c4 Remove weird/pointless Automatable::data().
git-svn-id: svn://localhost/ardour2/branches/3.0@6637 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-05 20:03:57 +00:00
Carl Hetherington
c3bfc3ec4e Stop crash on deleting a plugin when its generic UI window is open.
git-svn-id: svn://localhost/ardour2/branches/3.0@6626 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-03 00:52:45 +00:00
4927f54300 make sure that Parameter that is used by a PluginInsert AutomationControl is the one with the ranges set
git-svn-id: svn://localhost/ardour2/branches/3.0@6415 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-30 19:33:29 +00:00
c83389b8ec cleanup up cleanup at session destruction; clarify the meaning of 3 signals (DropReferences & Destroyed in libardour ; CatchDeletion in the GTK UI); clarify ownership of objects (session no longer pays attention to DropReferences for objects that it is considered to own, such as routes, sources, etc); fix up MIDI parsing and a couple of other places by correcting syntax for return of values from a boost::signals2::signal (possible danger elsewhere to be checked)
git-svn-id: svn://localhost/ardour2/branches/3.0@6389 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-22 20:21:43 +00:00
f6fdd8dcbf switch to using boost::signals2 instead of sigc++, at least for libardour. not finished yet, but compiles, loads sessions, records and can close a session without a crash
git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17 18:24:23 +00:00
Carl Hetherington
1e424e1146 All plugin activate() method when required for copy & paste operations. Fixes segfaults on drag and drop of plugins between routes.
git-svn-id: svn://localhost/ardour2/branches/3.0@6203 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-28 02:39:16 +00:00
Carl Hetherington
47b8fa2169 Give Processor::run a new parameter to say whether or not the run method must leave
the passed-in buffers valid.  In the case where the main outs delivery is the last
processor in a route, this is not necessary (and wasteful).  If another processor
(e.g. a meter) follows the main outs, the passed-in (scratch) buffers must be valid
or the meter will get garbage data.

Fixes meters displaying phantom signals in some cases.


git-svn-id: svn://localhost/ardour2/branches/3.0@6180 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-25 23:29:52 +00:00
4650d86312 more set_state() tweaks to aid with plugin state loading
git-svn-id: svn://localhost/ardour2/branches/3.0@5791 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-16 16:44:16 +00:00
8713667ec1 rework Stateful::set_state() patch to avoid default version argument
git-svn-id: svn://localhost/ardour2/branches/3.0@5787 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15 18:56:11 +00:00
Carl Hetherington
79f91c7a20 Part 1 of loading 2.X sessions; some things work, some things don't, hacks a-plenty.
LOADING 2.X SESSIONS WITH THIS COMMIT IN PLACE WILL (PROBABLY) CORRUPT THE .ardour FILE,
MAKING THE SESSION UNLOADABLE ON 2.X AND LOSING INFORMATION.

So don't do that unless you make a backup of the session file first.



git-svn-id: svn://localhost/ardour2/branches/3.0@5786 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-15 00:57:55 +00:00
bb9cc45cd2 Strip trailing whitespace and fix other whitespace errors (e.g. space/tab mixing). Whitespace changes only.
Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red.  I don't know the emacs equivalent...


git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14 16:10:01 +00:00
Carl Hetherington
a8fbf1f0c6 Fix update of brackets around processor name on activate / deactivate.
git-svn-id: svn://localhost/ardour2/branches/3.0@5456 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-02 00:34:49 +00:00
Carl Hetherington
b65f8073ba Fix some unused parameter warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5403 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-21 15:55:17 +00:00
f411496289 fix clicking when processors become active/inactive; reduce crazy 2.5sec delay for quit dialog
git-svn-id: svn://localhost/ardour2/branches/3.0@5402 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-21 14:39:21 +00:00
88beef2e93 merge pre- and post-fader processor boxes; start removing Placement (not finished) ; add -DWAF_BUILD and use per-directory foobar-config.h to correctly pick up configure-time settings like HAVE_OGG ; check for libgiomm (part of upgrade to newer gtk stack); 32 bit marker reload fix from 2.X; audiounit IO config cache fix from 2.X; multi-add route template fix from 2.X; plugin GUI delete fix from 2.X; solo button labels are A or P for listen mode
git-svn-id: svn://localhost/ardour2/branches/3.0@5344 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-13 00:26:28 +00:00
6e9b9294e1 nick m's fix for markers etc ; several tweaks for mute/solo ; rename run_in_place() as run()
git-svn-id: svn://localhost/ardour2/branches/3.0@5155 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-10 18:10:07 +00:00
dab9b3aa8c fix a problem with re-ordering in PostFader placement; remove lots of debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@5087 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-16 13:37:48 +00:00
ace07c80a8 a gadzillion changes all over the place. nothing is finished, but all is better than it was. more to come on all almost everything touched by this commit, this is purely a sync-to-repository. compiles and runs, but now incompatible with all previous 3.0 session files (probably)
git-svn-id: svn://localhost/ardour2/branches/3.0@5084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-16 02:51:17 +00:00
0569107ddc more work on the new all-Processor-all-The-Time redesign of Route - LOTS OF BREAKAGE STILL EXPECTED ; change all(?) methods that pass a start/end frame in to use sframes_t not nframes_t
git-svn-id: svn://localhost/ardour2/branches/3.0@5074 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-13 21:34:09 +00:00
Sampo Savolainen
05c597d0ee Make sure plugin analysis buffers are the proper length. sigh.
git-svn-id: svn://localhost/ardour2/branches/3.0@5065 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-08 05:20:23 +00:00
7183242b8c The great audio processing overhaul.
The vast majority of Route signal processing is now simply in the list of
processors.  There are definitely regressions here, but there's also
a lot of things fixed.  It's far too much work to let diverge anymore
regardless, so here it is.

The basic model is: A route has a fixed set of input channels (matching
its JACK input ports and diskstream).  The first processor takes this
as input.  The next processor is configured using the first processor's
output as input, and is allowed to choose whatever output it wants
given that input... and so on, and so on.  Finally, the last processor's
requested output is used to set up the panner and create whatever Jack
ports are needed to output the data.

All 'special' internal processors (meter, fader, amp, insert, send) are
currently transparent: they read any input, and return the same set
of channels back (unmodified, except for amp).

User visible changes:
 * LV2 Instrument support (tracks with both MIDI and audio channels)
 * MIDI in/out plugin support
 * Generic plugin replication (for MIDI plugins, MIDI/audio plugins)
 * Movable meter point

Known Bugs:
 * Things seem to get weird on loaded sessions
 * Output delivery is sketchy
 * 2.0 session loading was probably already broken...
   but it's definitely broken now :)

Please test this and file bugs if you have any time...



git-svn-id: svn://localhost/ardour2/branches/3.0@5055 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-07 06:30:50 +00:00
ca10cc82a4 Preliminary MIDI plugin support.
git-svn-id: svn://localhost/ardour2/branches/3.0@5036 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-04 15:50:51 +00:00
2e7c10b6ef fix up confusion between silence() decls for Processor & PluginInsert; fix typo that put a 9 where a 0 should be
git-svn-id: svn://localhost/ardour2/branches/3.0@5018 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-30 17:26:13 +00:00
2836879341 remove offset from process callback tree. some breakage may have occured. yes, really.
git-svn-id: svn://localhost/ardour2/branches/3.0@4999 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-23 17:48:37 +00:00
e0aaed6d65 *** NEW CODING POLICY ***
All #include statements that include a header that is a part of a library
bundled with ardour MUST use quotes, not angle brackets.

Do this:

#include "ardour/types.h"

NOT this:

#include <ardour/types.h>

Rationale:

This is best practice in general, to ensure we include the local version
and not the system version.  That quotes mean "local" (in some sense)
and angle brackets mean "system" (in some sense) is a ubiquitous
convention and IIRC right in the C spec somewhere.

More pragmatically, this is required by (my) waf (stuff) for dependencies
to work correctly.  That is:

!!! FAILURE TO DO THIS CAN RESULT IN BROKEN BUILDS !!!

Failure to comply is punishable by death by torture. :)

P.S. It's not that dramatic in all cases, but this (in combination with some
GCC flags specific to the include type) is the best way I have found to be
absolutely 100% positive the local ones are being used (and we definitely
want to be absolutely 100% positive on that one).


git-svn-id: svn://localhost/ardour2/branches/3.0@4655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 18:26:51 +00:00
1380f4fafb Trim include dependency tree (particularly on evoral/Sequence.hpp).
git-svn-id: svn://localhost/ardour2/branches/3.0@4589 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 23:47:09 +00:00
9462374e29 Session XML style consistency (tag names are capitalized).
One thing left, this weird "end-marker-is-free" in <Config>.  Is this really a config option?  Anyone?


git-svn-id: svn://localhost/ardour2/branches/3.0@4577 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-15 03:21:30 +00:00
Carl Hetherington
9a3734a6bd Make DnD copy processors using their XML representations. Remove unused
copy constructors from the Processor hierarchy, and declare them private
to explicitly disallow copy construction.


git-svn-id: svn://localhost/ardour2/branches/3.0@4556 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 19:45:30 +00:00
Carl Hetherington
d6637dad5a Rework Port class hierarchy a bit. Hopefully now simpler, and should
support connection of JACK ports with internal ones.


git-svn-id: svn://localhost/ardour2/branches/3.0@4417 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-21 02:27:21 +00:00
7f66b71539 Apply LV2 changes from 2.0.
Completely and utterly untested.


git-svn-id: svn://localhost/ardour2/branches/3.0@4178 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-11-14 22:14:15 +00:00
Sampo Savolainen
a75868c767 Added facilities into PluginInsert for the GUI to gather parts of the real signal passed through the insert. Also added rudimentary plugin input/output difference analysis in the plugin eq gui for the collected signal.
git-svn-id: svn://localhost/ardour2/branches/3.0@3987 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-20 18:57:34 +00:00
Sampo Savolainen
d9106e99a4 First draft of the EQ visualization system. Now force fed to all plugin UIs.
git-svn-id: svn://localhost/ardour2/branches/3.0@3958 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-13 19:45:20 +00:00