13
0
Commit Graph

92 Commits

Author SHA1 Message Date
8960ebcdf9 remove another naming that refers to JACK 2013-08-09 13:27:05 -04:00
bfd50cdeb0 rework MIDI [processor|plugin] chain
* forward midi-data around plugins that have no MIDI-out
* allow to insert plugins with no MIDI-input at a point with one MIDI-channel

This works because excess ports (both plugin and route) remain
unconnected and use scratch-buffers.

Tested with LV2, LXVST and LADSPA.
(AU plugins with variable in/out retain the old behavior, no bypass)

fixes http://tracker.ardour.org/view.php?id=5630
2013-08-02 03:39:00 +02:00
7ba1f94fb1 fix another semantically-significant-expression-in-assert case (though not a very important one, because the test is intended to fail)
git-svn-id: svn://localhost/ardour2/branches/3.0@14010 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-27 04:00:39 +00:00
b621b28fce make it possible to (and actually do) name insert and send ports as "return" and "send" rather than "in" and "out" (#5012)
git-svn-id: svn://localhost/ardour2/branches/3.0@13052 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-17 13:59:46 +00:00
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
Carl Hetherington
bc2f8348b5 Remove unused return value.
git-svn-id: svn://localhost/ardour2/branches/3.0@12126 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-30 19:01:42 +00:00
Carl Hetherington
8cc2f19926 Remove unused parameter to Port::flush_buffers().
git-svn-id: svn://localhost/ardour2/branches/3.0@11906 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-11 16:27:05 +00:00
Carl Hetherington
36ec03358f Remove thought-to-be-unnecessary setup of Delivery::_no_outs_cuz_we_no_monitor
at the start of each cycle; it is set up at the start of Route::process_output_buffers.


git-svn-id: svn://localhost/ardour2/branches/3.0@11247 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-14 23:31:55 +00:00
60872a8504 get Delivery to disconnect from any signals it is connected to relatively early in its destructor, so that it is not possible to call Delivery::cycle_start() and encounter a partially formed Delivery-derived object. may fix a crash that geoff beasley has seen with jack2
git-svn-id: svn://localhost/ardour2/branches/3.0@11004 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-14 17:08:57 +00:00
Carl Hetherington
fa40fb2d98 Make a few things private in Delivery; couple of minor
cleanups.


git-svn-id: svn://localhost/ardour2/branches/3.0@10715 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-20 17:49:25 +00:00
Carl Hetherington
9a0d7cafeb Remove unused variables.
git-svn-id: svn://localhost/ardour2/branches/3.0@10714 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-20 17:49:14 +00:00
Carl Hetherington
7bdcc127e3 Use shared_ptr for Port in the AudioEngine; improves thread-safety of the audio engine's port list as a writer cannot destroy a port in one thread while the port list is being iterated in another.
git-svn-id: svn://localhost/ardour2/branches/3.0@10327 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-28 17:04:09 +00:00
Carl Hetherington
cb58ca535f flush_buffers on all of a route's deliveries so that MIDI sends work.
git-svn-id: svn://localhost/ardour2/branches/3.0@10231 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-19 10:40:27 +00:00
Carl Hetherington
bced7c250e Use derived pan_outs() when panner setup is deferred, to
make it the same as when it is done immediately.  Fixes
part of #4190.


git-svn-id: svn://localhost/ardour2/branches/3.0@10069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-12 15:05:43 +00:00
afdb298462 add virtual Delivery::pan_outs() so that internal sends correctly configure their panner for the number of outputs on the target rather than the output of the internal send processor within the route. fixes a crash when adding internal sends
git-svn-id: svn://localhost/ardour2/branches/3.0@9975 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-10 20:22:21 +00:00
862972eaaa use std::vector::assign() in BufferSet::attach_buffers() rather than an explicit loop; minor formatting touchups
git-svn-id: svn://localhost/ardour2/branches/3.0@9912 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-22 15:44:13 +00:00
82e4573227 tentative "fix" for output for tracks with audio and MIDI output (no known test case at present)
git-svn-id: svn://localhost/ardour2/branches/3.0@9903 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-19 13:45:39 +00:00
57cb31ea6e check for _panshell->panner() before ::run-ing the panshell, so that MIDI tracks or other tracks with no panner just get the 1:1 copy-to-outputs code invoked
git-svn-id: svn://localhost/ardour2/branches/3.0@9902 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-19 13:08:11 +00:00
Carl Hetherington
48de21b120 Move panner bypass state up to the PannerShell so that it is preserved even when new Panners are dropped in (refixes #4185).
git-svn-id: svn://localhost/ardour2/branches/3.0@9877 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-14 22:17:43 +00:00
Carl Hetherington
2d83ffc45a Fix restoration of PannerShell state from session XML (#4185).
git-svn-id: svn://localhost/ardour2/branches/3.0@9875 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-14 14:56:40 +00:00
Carl Hetherington
67ad5fe2b7 Make sure the buffer count is updated properly when run() happens on a muted delivery. Fixes #4153.
git-svn-id: svn://localhost/ardour2/branches/3.0@9810 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-08 17:06:29 +00:00
1961051416 monitor send gets access to the (shared) pannable of the track/bus, thus ensuring that the monitor feed is panned. required a few fixes along the way
git-svn-id: svn://localhost/ardour2/branches/3.0@9731 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-14 19:00:08 +00:00
a5674e9271 fix initialization of gain for Listen internal sends (to monitor bus); remove pannable object from monitor bus after (re)creation from XML
git-svn-id: svn://localhost/ardour2/branches/3.0@9730 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-14 14:49:06 +00:00
37e9a53180 remove Pannable/PanShell from the Monitor bus
git-svn-id: svn://localhost/ardour2/branches/3.0@9720 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-13 15:52:31 +00:00
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
de9e216cb5 (1) push a locate all the way through the processing heirarchy so that MIDI output ports can resolve any notes currently playing (2) remove MidiStateTracker from MidiPort and use a fixed set of MIDI messages (sustain-off and all-notes-off, per channel) to do note resolution (3) move note resolution caused by a LoopEvent psuedo-event to within the main MidiPort::flush_output() loop, so that we resolve (turn off) Notes that come before the loop point, rather than send them out after the note resolution messages
git-svn-id: svn://localhost/ardour2/branches/3.0@9635 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-30 21:37:58 +00:00
ca84e02b48 fix (?) capture alignment by making sure we use non-public latency information for playback latency, thus avoiding counting plugin latency twice
git-svn-id: svn://localhost/ardour2/branches/3.0@9168 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-18 20:21:51 +00:00
d155f32039 sorta-kinda working latency compensation, latency reporting and capture alignment ... working except that we report the wrong information to JACK and i've noticed a couple of odd circumstances where turning on a latent plugin caused punch recording to fail
git-svn-id: svn://localhost/ardour2/branches/3.0@9121 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-11 02:55:52 +00:00
665f3bea5a fix all manner of wrongness with port buffer offsets
git-svn-id: svn://localhost/ardour2/branches/3.0@9098 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-07 19:06:42 +00:00
333817557d make metering do the right thing if panner is bypassed
git-svn-id: svn://localhost/ardour2/branches/3.0@8927 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-22 20:49:21 +00:00
07cadd6fca ensure that the main outs' panner <-> pannable relationship is setup in a new session
git-svn-id: svn://localhost/ardour2/branches/3.0@8641 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-01 15:09:28 +00:00
4d1d355720 move point at which main outs Panner <-> Route Pannable binding occurs, so that it does, in fact, occur
git-svn-id: svn://localhost/ardour2/branches/3.0@8596 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-28 00:49:45 +00:00
b17dc03047 "Listen" delivery processors (i.e. monitor out) never get their own panner; Route calls Pannable::set_panner() so that it is always the panner for the main outs that controls the Route's own Pannable
git-svn-id: svn://localhost/ardour2/branches/3.0@8591 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-27 23:00:17 +00:00
15b5fce904 merge 3.0-panexp (pan experiments) branch, revisions 8534-8585 into 3.0, thus ending 3.0-panexp. THIS COMMIT WILL BREAK ALL EXISTING 3.0 SESSIONS IN SOME WAY (possibly not fatally).
git-svn-id: svn://localhost/ardour2/branches/3.0@8586 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-27 01:31:03 +00:00
Carl Hetherington
dd7caa0165 Optimise BufferSet::attach_buffers code to avoid memory allocation in the RT thread and speed things up a bit.
git-svn-id: svn://localhost/ardour2/branches/3.0@8490 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-10 16:23:54 +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
Carl Hetherington
54cbc45a5a Prevent removal of route inputs when the plugins cannot be configured with the new number. Rework locking so that the process lock is held from the point that a route input is removed until after the processors are reconfigured; fixes #3548.
git-svn-id: svn://localhost/ardour2/branches/3.0@8089 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-25 23:46:24 +00:00
ede4ecbb00 megaopus patch #2 for today: remove nframes64_t and sframes_t from source
git-svn-id: svn://localhost/ardour2/branches/3.0@7792 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17 18:20:37 +00:00
Carl Hetherington
5b90aab4d8 Fix restore of sends from session files for both 2.X and 3.0 sessions. Fixes #3433.
git-svn-id: svn://localhost/ardour2/branches/3.0@7739 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-03 15:34:09 +00:00
Carl Hetherington
b9dca83832 Auto-connect outputs that appear as a result of e.g. instruments being added to MIDI tracks. Fixes #3368.
git-svn-id: svn://localhost/ardour2/branches/3.0@7720 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-30 22:34:21 +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
4d80bdad7d Make main out delivery expand its output ports if the processor chain requires it.
git-svn-id: svn://localhost/ardour2/branches/3.0@7333 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-30 00:10:56 +00:00
0f5bdd666f use JACK thread creation functions to create process-graph threads; provide GUI control over number of threads-relative-to-number-of-CPUS
git-svn-id: svn://localhost/ardour2/branches/3.0@7296 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-24 14:13:45 +00:00
1e728e728a basically, fix all kinds of odds and ends with MIDI playback, including missed notes and applying gain
git-svn-id: svn://localhost/ardour2/branches/3.0@7247 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-09 13:00:54 +00:00
Carl Hetherington
afbc04a65b Tiny cleanup.
git-svn-id: svn://localhost/ardour2/branches/3.0@7116 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-18 01:05:12 +00:00
Carl Hetherington
f35dc8b35d Remove muting behaviour from the Amp processor. Fix some small
bugs with delivery muting.  The upshot being that muting now definitely
happens in a channel's deliveries, and not really in the channel strip
at all.  When the channel is muted, those deliveries described by
the MuteMaster settings are muted.  Should fix #3141.



git-svn-id: svn://localhost/ardour2/branches/3.0@7115 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-17 23:28:13 +00:00
dda0622957 the great solo model simplification (without much code removal)
git-svn-id: svn://localhost/ardour2/branches/3.0@7049 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-03 22:07:47 +00:00
e33d4553b2 more solo model work, including a GUI fix for mute button state when the route is self-soloed
git-svn-id: svn://localhost/ardour2/branches/3.0@7048 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-03 18:58:38 +00:00
576cdb08b5 perhaps, just possibly, a working solo model. needs to be fixed so that connections to other JACK clients count as "physical" connections, so don't use this with ardour connected to other JACK apps just yet. Oh, this also invalidates existing a3 sessions again
git-svn-id: svn://localhost/ardour2/branches/3.0@7033 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-01 15:09:19 +00:00