summaryrefslogtreecommitdiff
path: root/libs/ardour/route.cc
AgeCommit message (Collapse)Author
2016-05-31redesign control slave/master system, move code from GainControl to ↵Paul Davis
AutomationControl
2016-05-31move vca assignment up to the Route level (from GainControl)Paul Davis
2016-05-31move VCA assignment up to Route levelPaul Davis
2016-05-31redesign Route and VCA objects to inherit from ARDOUR::StripablePaul Davis
2016-05-31change API for GainControl, VCA and VCAManagerPaul Davis
This allows sane state save/restore
2016-05-31start shaping up VCA assign processPaul Davis
2016-05-26ensure that amp/fader is present on every routeRobin Gareus
2016-05-26take read-lock when saving processor orderRobin Gareus
2016-05-19prepare plugin configuration and replacing instrumentsRobin Gareus
2016-05-19consolidate add_processor codeRobin Gareus
* fixes drag/copy'ing sidechain sends (autodestruct) * reduce duplicated code * prepare for instrument replacement
2016-05-10prepare route pin display (shared mixer + editor-mixer window proxy)Robin Gareus
2016-05-07make boost shared_ptr debugging a little easier to turn on/offPaul Davis
2016-05-07a few strategic LocaleGuards..Robin Gareus
..to prevent switching forth and back during individual ::state(), ::set_state() when loading/saving the session or locating.
2016-05-07Revert "Add a global state localeguard (and one for route templates)"Robin Gareus
This reverts commit 2b7a047e92bc5ebe3287860ff9c9f2fb0acb193c.
2016-05-07fix LocaleGuard contstructor (3dc77280)Robin Gareus
2016-05-07Add a global state localeguard (and one for route templates)Robin Gareus
2016-05-05we always only use the "C" locale when saving.Robin Gareus
2016-05-05no need to force a change here.Robin Gareus
Fixes an issue with Mixbus where set_active() is a NO-OP for mixbusses.
2016-05-04OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one)Paul Davis
2016-05-04use existing API to find the instrumentRobin Gareus
2016-04-28fix a deadlock with jack2 when inserting a plugin adds ports.Robin Gareus
When adding a processor, the processor may add ports leading to a call to jack_port_register(). while Ardour holds a WritertLock on the processor-list (this commit removes this WriterLock). with jack2 that results in a graph-reorder callback (WHY?) jack2 issues that graph-reorder in a separate thread BUT port-registration does not return until the graph-reorder is complete. On Ardour's side, graph_reordered() calls Session::resort_routes () which eventually checks Route::direct_feeds_according_to_reality() which needs a ReadLock on the processor-list to check I/O. Since jack_port_register() does not return, this constitutes a deadlock. THE ACTUAL PROBLEM IS JACK2's THREAD DESIGN! Why does jack_port_register() trigger a graph-order in jack2? No connections are made. ..and why does it block jack_port_register() from returning if that graph-order callback is in a different thread? http://pastebin.com/DZANXJLz
2016-04-27allow to customize variable i/o plugin inputsRobin Gareus
2016-04-19fix stuck solo w/sidechain (when using port, not send, connections)Robin Gareus
2016-04-17add self-removing Sends (remove on disconnect)Robin Gareus
The idea is to dynamically add/remove sends for feeding a sidechain and re-use all existing "External Send" infrastructure in particular latency compensation.
2016-04-16disallow strict-i/o output on monitor and auditionerRobin Gareus
monitor follows the master bus outs, auditioner is fixed stereo and synth dependent. (fixes crash when adding/removing the monitor section)
2016-04-15variable plugin port config.Robin Gareus
* extend plugin API (query IO ports) * collect possible variable plugin configurations (AU, Lua) * prepare semi-automatic configuration (presets: mono, stereo, N)
2016-04-15special case mixbus routingRobin Gareus
2016-04-14fix locking when switching strict i/o.Robin Gareus
try_configure_processors_unlocked() needs process lock
2016-04-14Mixbus enforces output port countRobin Gareus
Ardour features N in -> M out panners. It can make sense that the last processor has fewer outputs than the route. In Mixbus this is not the case.
2016-04-14properly calculate requrired thread buffersRobin Gareus
2016-04-13strict i/o sets enforces output port count.Robin Gareus
2016-04-13prepare fix for copying plugin stateRobin Gareus
2016-04-13special case strict-i/o on the master-busRobin Gareus
2016-04-13extend strict-i/o to include route outputs.Robin Gareus
2016-04-12some strategic documentationRobin Gareus
Prevent class descriptions inheriting the doc from PBD:Stateful by adding some specific doc.
2016-04-12hotfix process-graph: include internal-send -> internal returnRobin Gareus
2016-04-06Route API to query all outputs (incl sends) and graph-feedsRobin Gareus
2016-04-03cement daa10a6a38Robin Gareus
2016-04-03Fix graph ordering incl. Inserts, Returns and SideChainsRobin Gareus
When building the process graph. Ardour usess Route::direct_feeds_according_to_reality() This function only tests if the current route (or any ioprocessors) is feeding another route's *input*. Inserts, Return and now Sidechains are ignored as destinations on the destination route are not taken into account. This is now resolved by adding an IOVector, a collection of all inputs of the destination route.
2016-04-03handle sidechain input changesRobin Gareus
2016-04-03expose plugin sidechain (via route):Robin Gareus
Processor and Process lock are needed, and the plugin chain needs to be reconfigured, so this cannot be directly performed by the plugin.
2016-04-02set processor owner early on (when loading session)Robin Gareus
2016-04-02revert bd5da84928 - separate i/o-map & config reset.Robin Gareus
2016-04-02reset pin-maps with custom config.Robin Gareus
2016-04-01custom config trumps strict-i/oRobin Gareus
This allows a user to override strict-i/o per processor. The downside (currently): all downstream effects will be clamped to the customized outputs (not the actual track's inputs) This also introduces an new issue with re-config on session-load (missing code to handle this).
2016-03-31plugin-pin-map:Robin Gareus
* fix MIDI-bypass * prepare combined channel-map report (for GUI) * fix route failed config return
2016-03-29abort if configuration failsRobin Gareus
2016-03-27closing in on pin management.Robin Gareus
overall the PluginInsert API is complete. many implementation details remain.
2016-03-26allocate buffers for all possible plugin configurationsRobin Gareus
2016-03-25prepare strict-i/o configuration.Robin Gareus