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
93eac8b068
Use 'const_iterator' to prevent MSVC from complaining
2016-04-26 14:58:16 +01:00
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
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
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
11a69068af
PortManager lua bindings (to debug lingering ports)
2016-04-26 02:21:09 +02:00
4f3f966276
update [lua bindings] documentation
2016-04-25 13:06:40 +02:00
f4f9963cdd
add missing header for luadoc
2016-04-25 02:35:45 +02:00
fde99e68f7
..and CoreAudio.
2016-04-24 20:45:50 +02:00
800c8182c6
O(log(n)) port and connection lookup for ALSA
2016-04-24 20:45:37 +02:00
ce052ba20a
now with C++98 compat
2016-04-24 18:34:31 +02:00
a3856d44b2
delayline: use boost::shared_array
2016-04-24 18:26:39 +02:00
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
1321701189
reduce debug-build overhead.
2016-04-24 18:26:39 +02:00
36a928f0ae
we need the process lock after all..
2016-04-24 18:26:39 +02:00
f80c0faa24
some new lua-bindings and session-lua (creating sessions)
2016-04-24 14:43:18 +02:00
667a4aafb5
fix mismatched delete/delete[]
2016-04-24 14:43:18 +02:00
f6a621346c
some notes on mem-leaks...
2016-04-24 14:43:18 +02:00
e3536fbefe
hand over automationlist undo state ownership (mem-leak)
2016-04-24 14:43:18 +02:00
e3607a4c8b
plug some memory leaks in libardour
2016-04-24 14:43:18 +02:00
4fe7d1ea08
further tweaks to session close
2016-04-24 02:53:01 +02:00
f317451609
lua bindings for track/bus and session creation
2016-04-24 00:25:34 +02:00
f8936ebcb1
Disconnect Signals before dropping ports
...
significantly speeds up session close
2016-04-24 00:24:43 +02:00
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
e4b2b6477f
fix typo in config variable
2016-04-23 00:01:28 +02:00
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
5c41043a2d
fix single-bus AU rendering & related updates
2016-04-22 22:04:48 +02:00
00f48c3d63
invalidate AU cache on re-scan
2016-04-22 21:10:39 +02:00
90babfaca3
use coreaudio wrapper
2016-04-22 20:50:06 +02:00
7e8fda8431
Single instance AUs only, use variable i/o
2016-04-22 19:35:38 +02:00
73aab79d59
AU multibus support
2016-04-22 18:48:20 +02:00
8a1aeccc82
fix AU cache clear
2016-04-22 18:48:20 +02:00
2dc6c1c74b
add API to load plugin presets for all instances
2016-04-22 14:24:45 +02:00
238cec8549
and now with proper closing bracket.
2016-04-21 01:04:55 +02:00
fca2e76db2
take MB dithering into account when stripping silence on export
2016-04-21 01:02:18 +02:00
fc4dd032a7
backend part for MB send-panners (ignore existing state, force disable)
2016-04-20 21:44:28 +02:00
49d044bf04
fix AU sidechain connection
2016-04-20 18:06:51 +02:00
3e659bb657
include sidechain when delegating I/O configuration
2016-04-20 17:24:50 +02:00
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
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
386f244f1e
Reset I/O map when copying plugin and ChanCount changes
2016-04-20 11:55:02 +02:00
622ba89dd9
OSC: removed unused _namespace_root variable.
2016-04-19 16:13:18 -07:00
d32333f4ef
fix stuck solo w/sidechain (when using port, not send, connections)
2016-04-19 22:15:57 +02:00
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
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
c69a9d7a06
some plugin-insert debugging
...
* report inplace
* debug-dump reason(s) why i/o maps are reset
2016-04-19 19:03:16 +02:00
c9d55cb172
fix a const-cast issue
2016-04-19 12:58:54 -04:00
00169f1da1
hidden config option to replace TRY_AUTOSTART_ENGINE environment var.
...
It's really only used by the GUI, but engine states are part of
ARDOUR::Config::extra_xml so this is at least similarly inconsistent.
2016-04-19 16:43:06 +02:00
00b703ebe8
default strict-i/o preference to enable
...
This makes a lot of sense for all midi-instruments and the
vast majority of mono+stereo workflows
2016-04-19 16:40:17 +02:00
170fca53ee
Mixbus specific Pin Mapping tweaks
2016-04-19 13:54:07 +02:00
2729f59aba
NO-OP, whitespace and comments
2016-04-19 13:21:54 +02:00
428c82b1bc
fix plugin silence runs (e.g. during audition)
...
* use max of in+out buffers
* special case Mixbus
* clear delay-lines
2016-04-19 00:57:56 +02:00
26532364bb
fix possible crash at session close.
...
In the wake of 81faa3b420
. Disconnect Signal from process
callback, may notify an IO that just reached a zero shared ptr refcount
due to route-deletion (GUI thread) resulting in a double free.
2016-04-18 21:55:50 +02:00
008eda2858
add some assert for reloading saved plugin pin connections
2016-04-18 17:22:55 +02:00
b2149de37b
add notification if Engine Rate changes and mismatches session's SR
2016-04-18 15:16:27 +02:00
888614b714
never ever change sample-rate saved with the session after creation.
2016-04-18 14:50:09 +02:00
9840a11537
implement metadata-set for remaining backends
2016-04-18 00:35:51 +02:00
fa73112f08
set sidechain port pretty name
2016-04-17 21:50:20 +02:00
cb09b0b34e
add IOProcessors pretty name support
2016-04-17 21:50:13 +02:00
81faa3b420
notify IO about port disconnection due to port removal
...
[Jack] Ports can be deleted without being disconnected first.
the IO Object does not catch that condition.
2016-04-17 18:36:40 +02:00
10bffda810
add API to set pretty names for ardour ports
2016-04-17 18:34:17 +02:00
10140a8e68
implement pretty-name set-property for ALSA and Dummy
2016-04-17 18:22:21 +02:00
1f43878050
add portengine set-property API (follows jack_set_property)
2016-04-17 18:18:16 +02:00
dc1102844a
disconnect SideChain on delete, trigger Send self-destruct
2016-04-17 17:35:30 +02:00
6e94b1fb9f
copy plugin state to all instances when instantiating.
2016-04-17 16:09:25 +02:00
ab1242ca65
don't use lv2plug.in for non-standard URIs
2016-04-17 16:08:53 +02:00
bb090c0012
add self-removing Sends (remove on disconnect)
...
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-17 14:01:09 +02:00
3079a73488
don't let the AudioEngine inherit PortEngine's class doc.
2016-04-16 12:45:52 +02:00
8f367ddaa0
Remove dangling plugin thru-connections
...
fixes crash when removing a thru-connected output
2016-04-16 12:43:56 +02:00
277893b130
ptformat: Make PT import more resilient to bad user choices and display messages
...
Previously, libptformat would attempt to parse all kinds of files,
now the library stops parsing when the version number and session rate
is outside valid ranges, returning an error code to the caller.
If there is a valid PT file detected, but some audio files are missing,
Ardour now pops up an error message to inform the user that some files
may be missing from the import. A success message is displayed otherwise.
Signed-off-by: Damien Zammit <damien@zamaudio.com>
2016-04-16 12:21:12 +02:00
241f734af4
disallow strict-i/o output on monitor and auditioner
...
monitor follows the master bus outs,
auditioner is fixed stereo and synth dependent.
(fixes crash when adding/removing the monitor section)
2016-04-16 00:10:48 +02:00
b6c8b96cf2
fix duplicate definition (typo in 5242aeb8
)
2016-04-15 18:43:06 +02:00
424cacfbc8
variable plugin port config.
...
* extend plugin API (query IO ports)
* collect possible variable plugin configurations (AU, Lua)
* prepare semi-automatic configuration (presets: mono, stereo, N)
2016-04-15 17:57:40 +02:00
ed3eddaf19
special case mixbus routing
2016-04-15 14:52:19 +02:00
426e2f2a19
AU synth inplace processing
2016-04-15 13:36:02 +02:00
52a8bad4a2
luaproc error logging
2016-04-15 03:24:37 +02:00
9041fc8d54
find a good match for variable i/o plugins
2016-04-15 03:24:22 +02:00
ba67217dbc
document buffer requirement, add sidechain constraint.
2016-04-14 22:43:14 +02:00
03db4805fd
fix locking when switching strict i/o.
...
try_configure_processors_unlocked() needs process lock
2016-04-14 22:13:25 +02:00
4f3fed1c08
fix split plugin default connection with strict-i/o
...
Only connect the available input channels, ignore others.
2016-04-14 21:02:28 +02:00
a3eaa4d3f0
Mixbus enforces output port count
...
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-14 20:01:52 +02:00
104fafbdc2
fix odd case where a deliver has no ports e.g session load.
2016-04-14 19:20:39 +02:00
7962176219
properly calculate requrired thread buffers
2016-04-14 14:13:26 +02:00
5af4ce47eb
alternative approach for 48532baaa
, C++98 compat that actually works, too
2016-04-14 12:46:23 +02:00
eda1508da1
Revert "remove C++11'isms from libptformat. back to C++98 compat."
...
This reverts commit 48532baaa7
.
2016-04-14 12:45:02 +02:00
204c8016c7
allow to compare C class instances from lua
2016-04-14 03:08:02 +02:00
1b097d57bd
NO-OP, whitespace
2016-04-13 20:58:35 +02:00
9b8faf1679
allow midi tracks with audio-out only (and vice versa)
...
and a potential fix for odd noise on startup.
2016-04-13 20:57:40 +02:00
9fedb74b36
strict i/o sets enforces output port count.
2016-04-13 20:54:42 +02:00
868ed41d09
fix typo
2016-04-13 20:31:14 +02:00
ab6d93bf59
fix configurable IO MIDI FX w/strict-i/o
2016-04-13 20:13:39 +02:00
b4e4bd8733
fix crash introduced in 0d1cd3865d
2016-04-13 19:10:43 +02:00
bc0bb9662e
prepare fix for copying plugin state
2016-04-13 18:53:47 +02:00
0d1cd3865d
properly auto-connect sidechain pins
...
Handle cases where the SC pin is not the last (SC3 anyone?)
also round-robin connect multiple SC inputs when replicating instances.
2016-04-13 17:42:38 +02:00
51d58d2c08
fix OSX builds
2016-04-13 14:47:36 +02:00
66b14b7bbb
special case strict-i/o on the master-bus
2016-04-13 13:23:17 +02:00
2b3205df0c
initialize uninitialized variable
2016-04-13 12:37:19 +02:00
7239cb09d9
extend strict-i/o to include route outputs.
2016-04-13 12:28:57 +02:00
e77729125e
VST report audioMasterPinConnected according to Pin Management
2016-04-13 00:52:47 +02:00
e8366dbd83
prepare VST plugins for reporting connected pins
...
The VST needs a way to get the parent PluginInserts's channel-map :(
2016-04-13 00:52:28 +02:00