Commit Graph

10348 Commits

Author SHA1 Message Date
Robin Gareus
cda5b48b96 initialize output data ports for cases where the plugin is not run
(e.g. load session with inactive track, or instantiate an audio plugin
on a midi track before the synth)
2016-04-26 22:21:00 +02:00
Robin Gareus
4b8bc84e4a let GMainContext clean up after us.
this fixes a potential crash in
AsyncMIDIPort::~AsyncMIDIPort() -> CrossThreadChannel::~CrossThreadChannel()
2016-04-26 19:45:06 +02:00
Robin Gareus
43e620504a port 93eac8b0 to ALSA and CoreAudio 2016-04-26 18:19:48 +02:00
Robin Gareus
59f7df38a2 allow to duplicate tracks with sends or load templates with sends/inserts 2016-04-26 18:16:14 +02:00
Robin Gareus
5227f57f2e implement missing PortManager methods and lua-bind them 2016-04-26 18:16:14 +02:00
John Emmas
7f8c7d8647 #define HAVE_JACK_PORT_RENAME when building with MSVC
This means needing to build against libjack v1.9.11 (or later) although that's probably not a bad thing.
2016-04-26 15:02:20 +01:00
John Emmas
93eac8b068 Use 'const_iterator' to prevent MSVC from complaining 2016-04-26 14:58:16 +01:00
Robin Gareus
01286b442e don't show engine dialog when loading a session..
..and the engine is running at the desired samplerate
2016-04-26 12:56:52 +02:00
Robin Gareus
7cbc6cf8a2 styleguide #10
sigc keeps a reference to the shared_ptr, AsyncMidiPorts were never
unregistered, causing issues when loading a new session w/o Engine
restart.
2016-04-26 04:02:58 +02:00
Robin Gareus
2169de3975 keep portmap & portindex in sync when renaming ports
Fixes crash on session re-load (introduced in 800c8182 and fde99e68)
2016-04-26 02:26:20 +02:00
Robin Gareus
11a69068af PortManager lua bindings (to debug lingering ports) 2016-04-26 02:21:09 +02:00
Robin Gareus
4f3f966276 update [lua bindings] documentation 2016-04-25 13:06:40 +02:00
Robin Gareus
f4f9963cdd add missing header for luadoc 2016-04-25 02:35:45 +02:00
Robin Gareus
fde99e68f7 ..and CoreAudio. 2016-04-24 20:45:50 +02:00
Robin Gareus
800c8182c6 O(log(n)) port and connection lookup for ALSA 2016-04-24 20:45:37 +02:00
Robin Gareus
ce052ba20a now with C++98 compat 2016-04-24 18:34:31 +02:00
Robin Gareus
a3856d44b2 delayline: use boost::shared_array 2016-04-24 18:26:39 +02:00
Robin Gareus
d1874d4685 optimize port lookup, adding/removing/reconnecting routes
xxxAudioBackend::connected_to() is called O(N^2) when building the graph.
Mitigate this by using an O(log(N)) lookup.

This duplicates the storage (both set and map and both are kept in sync.
Changing this to a boost:bidirectional might be nice, before updating
other backends.
2016-04-24 18:26:39 +02:00
Robin Gareus
1321701189 reduce debug-build overhead. 2016-04-24 18:26:39 +02:00
Robin Gareus
36a928f0ae we need the process lock after all.. 2016-04-24 18:26:39 +02:00
Robin Gareus
f80c0faa24 some new lua-bindings and session-lua (creating sessions) 2016-04-24 14:43:18 +02:00
Robin Gareus
667a4aafb5 fix mismatched delete/delete[] 2016-04-24 14:43:18 +02:00
Robin Gareus
f6a621346c some notes on mem-leaks... 2016-04-24 14:43:18 +02:00
Robin Gareus
e3536fbefe hand over automationlist undo state ownership (mem-leak) 2016-04-24 14:43:18 +02:00
Robin Gareus
e3607a4c8b plug some memory leaks in libardour 2016-04-24 14:43:18 +02:00
Robin Gareus
4fe7d1ea08 further tweaks to session close 2016-04-24 02:53:01 +02:00
Robin Gareus
f317451609 lua bindings for track/bus and session creation 2016-04-24 00:25:34 +02:00
Robin Gareus
f8936ebcb1 Disconnect Signals before dropping ports
significantly speeds up session close
2016-04-24 00:24:43 +02:00
Robin Gareus
2a7a64a873 delegate port-connections to low priority thread.
This prevents a deadlock with (some versions) jack:
 * add new instrument track with instrument
 * configure processors (takes processor lock)
 * add I/Os (delivery) -> create ports
 * auto-connect ports
 * jack port-connect -> jack graph re-order
 * Ardour graph-re-order
 * needs processor lock (to check sends)
2016-04-23 22:11:48 +02:00
Robin Gareus
e4b2b6477f fix typo in config variable 2016-04-23 00:01:28 +02:00
Robin Gareus
f719dcbd43 fix send-id "0" when loading session
Send::set_state() unsets the current send-id before setting
the new one, but by default _bitset defaults to zero.
This may lead to unset an existing send "0"
2016-04-22 23:36:41 +02:00
Robin Gareus
5c41043a2d fix single-bus AU rendering & related updates 2016-04-22 22:04:48 +02:00
Robin Gareus
00f48c3d63 invalidate AU cache on re-scan 2016-04-22 21:10:39 +02:00
Robin Gareus
90babfaca3 use coreaudio wrapper 2016-04-22 20:50:06 +02:00
Robin Gareus
7e8fda8431 Single instance AUs only, use variable i/o 2016-04-22 19:35:38 +02:00
Robin Gareus
73aab79d59 AU multibus support 2016-04-22 18:48:20 +02:00
Robin Gareus
8a1aeccc82 fix AU cache clear 2016-04-22 18:48:20 +02:00
Robin Gareus
2dc6c1c74b add API to load plugin presets for all instances 2016-04-22 14:24:45 +02:00
Robin Gareus
238cec8549 and now with proper closing bracket. 2016-04-21 01:04:55 +02:00
Robin Gareus
fca2e76db2 take MB dithering into account when stripping silence on export 2016-04-21 01:02:18 +02:00
Robin Gareus
fc4dd032a7 backend part for MB send-panners (ignore existing state, force disable) 2016-04-20 21:44:28 +02:00
Robin Gareus
49d044bf04 fix AU sidechain connection 2016-04-20 18:06:51 +02:00
Robin Gareus
3e659bb657 include sidechain when delegating I/O configuration 2016-04-20 17:24:50 +02:00
Robin Gareus
65fada3b0a Mixbus: auto-connect monitor-section
Mixbus does not expose the "auto_connect_standard_busses" preference
and forces it to false.
2016-04-20 16:17:22 +02:00
Robin Gareus
ec44499666 amend 386f244f - don't reinitialize I/O map
load ChanCount to compare if I/O maps have changed.
2016-04-20 15:14:15 +02:00
Robin Gareus
386f244f1e Reset I/O map when copying plugin and ChanCount changes 2016-04-20 11:55:02 +02:00
Len Ovens
622ba89dd9 OSC: removed unused _namespace_root variable. 2016-04-19 16:13:18 -07:00
Robin Gareus
d32333f4ef fix stuck solo w/sidechain (when using port, not send, connections) 2016-04-19 22:15:57 +02:00
Robin Gareus
24282065aa clear [midi] plugin audio output buffers before running plugin.
some samplers don't zero the output buffers if they're not configured
or no samples are loaded.
2016-04-19 20:39:40 +02:00
Robin Gareus
3715602ea7 Revert/amend "fix a const-cast issue"
This reverts commit c9d55cb172.
because it it's "const" one cannot set it from lua.
2016-04-19 19:07:09 +02:00