ardour.git
8 years agoSingle instance AUs only, use variable i/o
Robin Gareus [Fri, 22 Apr 2016 17:35:38 +0000 (19:35 +0200)]
Single instance AUs only, use variable i/o

8 years agoAU multibus support
Robin Gareus [Fri, 22 Apr 2016 16:47:45 +0000 (18:47 +0200)]
AU multibus support

8 years agofix AU cache clear
Robin Gareus [Fri, 22 Apr 2016 15:31:08 +0000 (17:31 +0200)]
fix AU cache clear

8 years agoload presets for all instances
Robin Gareus [Fri, 22 Apr 2016 12:26:33 +0000 (14:26 +0200)]
load presets for all instances

8 years agoadd API to load plugin presets for all instances
Robin Gareus [Fri, 22 Apr 2016 12:24:45 +0000 (14:24 +0200)]
add API to load plugin presets for all instances

8 years agoClarify my XML error printout from yesterday (see previous commit)
John Emmas [Fri, 22 Apr 2016 06:18:15 +0000 (07:18 +0100)]
Clarify my XML error printout from yesterday (see previous commit)

8 years agoWhen logging XML error messages, make sure we don't accidentally log an empty message
John Emmas [Thu, 21 Apr 2016 15:45:15 +0000 (16:45 +0100)]
When logging XML error messages, make sure we don't accidentally log an empty message

Amends my previous commit #a7508a9c from 23rd July 2015. If the filename and/or line number were NULL, we could end up logging a message with no text!

8 years agoand now with proper closing bracket.
Robin Gareus [Wed, 20 Apr 2016 23:04:55 +0000 (01:04 +0200)]
and now with proper closing bracket.

8 years agotake MB dithering into account when stripping silence on export
Robin Gareus [Wed, 20 Apr 2016 23:02:18 +0000 (01:02 +0200)]
take MB dithering into account when stripping silence on export

8 years agodisable sidechain & manual cfg for MB & AU for now
Robin Gareus [Wed, 20 Apr 2016 20:36:03 +0000 (22:36 +0200)]
disable sidechain & manual cfg for MB & AU for now

8 years agobackend part for MB send-panners (ignore existing state, force disable)
Robin Gareus [Wed, 20 Apr 2016 19:44:28 +0000 (21:44 +0200)]
backend part for MB send-panners (ignore existing state, force disable)

8 years agospecial case send panning for MB
Robin Gareus [Wed, 20 Apr 2016 19:27:44 +0000 (21:27 +0200)]
special case send panning for MB

since the route does not use Ardour pannersi"link panners" here only
affects send <> send linking.

8 years agofix AU sidechain connection
Robin Gareus [Wed, 20 Apr 2016 16:06:51 +0000 (18:06 +0200)]
fix AU sidechain connection

8 years agoinclude sidechain when delegating I/O configuration
Robin Gareus [Wed, 20 Apr 2016 15:24:50 +0000 (17:24 +0200)]
include sidechain when delegating I/O configuration

8 years agoMixbus: auto-connect monitor-section
Robin Gareus [Wed, 20 Apr 2016 14:17:22 +0000 (16:17 +0200)]
Mixbus: auto-connect monitor-section

Mixbus does not expose the "auto_connect_standard_busses" preference
and forces it to false.

8 years agoamend 386f244f - don't reinitialize I/O map
Robin Gareus [Wed, 20 Apr 2016 13:14:15 +0000 (15:14 +0200)]
amend 386f244f - don't reinitialize I/O map

load ChanCount to compare if I/O maps have changed.

8 years agoReset I/O map when copying plugin and ChanCount changes
Robin Gareus [Wed, 20 Apr 2016 09:55:02 +0000 (11:55 +0200)]
Reset I/O map when copying plugin and ChanCount changes

8 years agoOSC: removed unused _namespace_root variable.
Len Ovens [Tue, 19 Apr 2016 23:13:18 +0000 (16:13 -0700)]
OSC: removed unused _namespace_root variable.

8 years agofix stuck solo w/sidechain (when using port, not send, connections)
Robin Gareus [Tue, 19 Apr 2016 20:15:57 +0000 (22:15 +0200)]
fix stuck solo w/sidechain (when using port, not send, connections)

8 years agoclear [midi] plugin audio output buffers before running plugin.
Robin Gareus [Tue, 19 Apr 2016 18:39:40 +0000 (20:39 +0200)]
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.

8 years agoRevert/amend "fix a const-cast issue"
Robin Gareus [Tue, 19 Apr 2016 17:07:09 +0000 (19:07 +0200)]
Revert/amend "fix a const-cast issue"

This reverts commit c9d55cb172d07d5da25140516abe045ea409b66b.
because it it's "const" one cannot set it from lua.

8 years agoshow no/inplace info in Pin Dialog (debug builds only)
Robin Gareus [Tue, 19 Apr 2016 17:02:50 +0000 (19:02 +0200)]
show no/inplace info in Pin Dialog (debug builds only)

.. also only show latency (relevant for thru) in debug-builds.

8 years agosome plugin-insert debugging
Robin Gareus [Tue, 19 Apr 2016 17:02:03 +0000 (19:02 +0200)]
some plugin-insert debugging

* report inplace
* debug-dump reason(s) why i/o maps are reset

8 years agofix a const-cast issue
Paul Davis [Tue, 19 Apr 2016 16:58:54 +0000 (12:58 -0400)]
fix a const-cast issue

8 years agodon't show plugin GUI when renaming tracks/busses
Robin Gareus [Tue, 19 Apr 2016 16:24:35 +0000 (18:24 +0200)]
don't show plugin GUI when renaming tracks/busses

ProcessorBox::route_property_changed() iterates over existing windows
and hit a "show_all".

8 years agofix midi-bypass drawing.
Robin Gareus [Tue, 19 Apr 2016 15:31:00 +0000 (17:31 +0200)]
fix midi-bypass drawing.

8 years agoGUI part of 00169f1da (TRY_AUTOSTART_ENGINE)
Robin Gareus [Tue, 19 Apr 2016 15:20:45 +0000 (17:20 +0200)]
GUI part of 00169f1da (TRY_AUTOSTART_ENGINE)

8 years agohidden config option to replace TRY_AUTOSTART_ENGINE environment var.
Robin Gareus [Tue, 19 Apr 2016 14:43:06 +0000 (16:43 +0200)]
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.

8 years agodefault strict-i/o preference to enable
Robin Gareus [Tue, 19 Apr 2016 14:40:17 +0000 (16:40 +0200)]
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

8 years agoMixbus specific Pin Mapping tweaks
Robin Gareus [Tue, 19 Apr 2016 11:54:07 +0000 (13:54 +0200)]
Mixbus specific Pin Mapping tweaks

8 years agosmall is beautiful
Robin Gareus [Tue, 19 Apr 2016 11:31:41 +0000 (13:31 +0200)]
small is beautiful

...but I need new glasses
to tweak thru-via drawing for <=100% GUI scaling

8 years agoNO-OP, whitespace and comments
Robin Gareus [Tue, 19 Apr 2016 11:21:54 +0000 (13:21 +0200)]
NO-OP,  whitespace and comments

8 years agomore wire drawing..
Robin Gareus [Tue, 19 Apr 2016 11:21:09 +0000 (13:21 +0200)]
more wire drawing..

* use via-style circles for thru
* widen the spacing
* show gnd -> thru connections

8 years agofix plugin silence runs (e.g. during audition)
Robin Gareus [Mon, 18 Apr 2016 22:57:56 +0000 (00:57 +0200)]
fix plugin silence runs (e.g. during audition)

* use max of in+out buffers
* special case Mixbus
* clear delay-lines

8 years agofix possible crash at session close.
Robin Gareus [Mon, 18 Apr 2016 19:55:50 +0000 (21:55 +0200)]
fix possible crash at session close.

In the wake of 81faa3b420303eec2ca0e3. 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.

8 years agoupdate instrument list when rescanning plugins
Robin Gareus [Mon, 18 Apr 2016 17:15:53 +0000 (19:15 +0200)]
update instrument list when rescanning plugins

8 years agoslightly better version of 0077923d, don't stop the engine for nothing
Robin Gareus [Mon, 18 Apr 2016 15:37:14 +0000 (17:37 +0200)]
slightly better version of 0077923d, don't stop the engine for nothing

8 years agoadd some assert for reloading saved plugin pin connections
Robin Gareus [Mon, 18 Apr 2016 15:22:55 +0000 (17:22 +0200)]
add some assert for reloading saved plugin pin connections

8 years agoupdate flow when loading a new session with different SR.
Robin Gareus [Mon, 18 Apr 2016 13:18:36 +0000 (15:18 +0200)]
update flow when loading a new session with different SR.

8 years agoGUI samplerate Mismatch notification
Robin Gareus [Mon, 18 Apr 2016 13:17:51 +0000 (15:17 +0200)]
GUI samplerate Mismatch notification

8 years agoadd notification if Engine Rate changes and mismatches session's SR
Robin Gareus [Mon, 18 Apr 2016 13:16:27 +0000 (15:16 +0200)]
add notification if Engine Rate changes and mismatches session's SR

8 years agonever ever change sample-rate saved with the session after creation.
Robin Gareus [Mon, 18 Apr 2016 12:50:09 +0000 (14:50 +0200)]
never ever change sample-rate saved with the session after creation.

8 years agoadd a try-autostart-engine option (most recently used settings)
Robin Gareus [Mon, 18 Apr 2016 12:11:22 +0000 (14:11 +0200)]
add a try-autostart-engine option (most recently used settings)

8 years agoEngine Dialog: exclude optional widgets from show_all.
Robin Gareus [Mon, 18 Apr 2016 12:07:49 +0000 (14:07 +0200)]
Engine Dialog: exclude optional widgets from show_all.

8 years agomore sidechain send GUI details:
Robin Gareus [Sun, 17 Apr 2016 23:01:49 +0000 (01:01 +0200)]
more sidechain send GUI details:

* don't list exising normal sends (separate mono connections)
* tooltip inidicate autoremoval

8 years agofix initial panner control for new Sends
Robin Gareus [Sun, 17 Apr 2016 22:52:24 +0000 (00:52 +0200)]
fix initial panner control for new Sends

8 years agoimplement metadata-set for remaining backends
Robin Gareus [Sun, 17 Apr 2016 22:35:51 +0000 (00:35 +0200)]
implement metadata-set for remaining backends

8 years agoPin Dialog: cache UI thread information
Robin Gareus [Sun, 17 Apr 2016 20:21:26 +0000 (22:21 +0200)]
Pin Dialog: cache UI thread information

fixes crash when redraw happens before idle update.

8 years agofix port icon visibility for coalesced wire view
Robin Gareus [Sun, 17 Apr 2016 19:49:44 +0000 (21:49 +0200)]
fix port icon visibility for coalesced wire view

8 years agopretty send and sidechain names
Robin Gareus [Sun, 17 Apr 2016 19:37:43 +0000 (21:37 +0200)]
pretty send and sidechain names

8 years agoset sidechain port pretty name
Robin Gareus [Sun, 17 Apr 2016 18:44:16 +0000 (20:44 +0200)]
set sidechain port pretty name

8 years agoadd IOProcessors pretty name support
Robin Gareus [Sun, 17 Apr 2016 19:50:13 +0000 (21:50 +0200)]
add IOProcessors pretty name support

8 years agonotify IO about port disconnection due to port removal
Robin Gareus [Sun, 17 Apr 2016 16:36:40 +0000 (18:36 +0200)]
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.

8 years agoadd API to set pretty names for ardour ports
Robin Gareus [Sun, 17 Apr 2016 16:34:17 +0000 (18:34 +0200)]
add API to set pretty names for ardour ports

8 years agoimplement pretty-name set-property for ALSA and Dummy
Robin Gareus [Sun, 17 Apr 2016 16:22:21 +0000 (18:22 +0200)]
implement pretty-name set-property for ALSA and Dummy

8 years agoadd portengine set-property API (follows jack_set_property)
Robin Gareus [Sun, 17 Apr 2016 16:18:16 +0000 (18:18 +0200)]
add portengine set-property API (follows jack_set_property)

8 years agodisconnect SideChain on delete, trigger Send self-destruct
Robin Gareus [Sun, 17 Apr 2016 15:35:30 +0000 (17:35 +0200)]
disconnect SideChain on delete, trigger Send self-destruct

8 years agofix 8f14f422e0536, port_prefix already includes colon
Robin Gareus [Sun, 17 Apr 2016 14:52:38 +0000 (16:52 +0200)]
fix 8f14f422e0536, port_prefix already includes colon

8 years agocopy plugin state to all instances when instantiating.
Robin Gareus [Sun, 17 Apr 2016 14:09:25 +0000 (16:09 +0200)]
copy plugin state to all instances when instantiating.

8 years agodon't use lv2plug.in for non-standard URIs
Robin Gareus [Sun, 17 Apr 2016 14:08:53 +0000 (16:08 +0200)]
don't use lv2plug.in for non-standard URIs

8 years agouse temporary sends for sidechain inputs
Robin Gareus [Sun, 17 Apr 2016 12:10:13 +0000 (14:10 +0200)]
use temporary sends for sidechain inputs

8 years agounhardcode "Program Name" string length
Robin Gareus [Sun, 17 Apr 2016 12:01:57 +0000 (14:01 +0200)]
unhardcode "Program Name" string length

8 years agoadd self-removing Sends (remove on disconnect)
Robin Gareus [Sun, 17 Apr 2016 12:01:09 +0000 (14:01 +0200)]
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.

8 years agoin case sidechain is fed by a Send, show the send's gain control
Robin Gareus [Sat, 16 Apr 2016 23:39:59 +0000 (01:39 +0200)]
in case sidechain is fed by a Send, show the send's gain control

this is mainly about investigating what's involved with automatically
adding sends rather than connect track outputs...

8 years agoNO-OP whitespace
Robin Gareus [Sat, 16 Apr 2016 22:09:11 +0000 (00:09 +0200)]
NO-OP whitespace

8 years agofix logic error for output routing wire display
Robin Gareus [Sat, 16 Apr 2016 20:15:34 +0000 (22:15 +0200)]
fix logic error for output routing wire display

8 years agoanother take on mixer strip wire drawing
Robin Gareus [Sat, 16 Apr 2016 19:28:37 +0000 (21:28 +0200)]
another take on mixer strip wire drawing

mini modulars are fun.

8 years agodon't let the AudioEngine inherit PortEngine's class doc.
Robin Gareus [Sat, 16 Apr 2016 10:45:52 +0000 (12:45 +0200)]
don't let the AudioEngine inherit PortEngine's class doc.

8 years agoRemove dangling plugin thru-connections
Robin Gareus [Sat, 16 Apr 2016 10:43:56 +0000 (12:43 +0200)]
Remove dangling plugin thru-connections

fixes crash when removing a thru-connected output

8 years agoptformat: Make PT import more resilient to bad user choices and display messages
Damien Zammit [Sat, 16 Apr 2016 06:31:44 +0000 (16:31 +1000)]
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>
8 years agodisallow strict-i/o output on monitor and auditioner
Robin Gareus [Fri, 15 Apr 2016 22:10:48 +0000 (00:10 +0200)]
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)

8 years agomore settings not relevant to mixbus
Robin Gareus [Fri, 15 Apr 2016 22:05:26 +0000 (00:05 +0200)]
more settings not relevant to mixbus

8 years agoshorten and clarify context-menu entry.
Robin Gareus [Fri, 15 Apr 2016 21:09:14 +0000 (23:09 +0200)]
shorten and clarify context-menu entry.

8 years agofix another manual typo
Robin Gareus [Fri, 15 Apr 2016 21:06:11 +0000 (23:06 +0200)]
fix another manual typo

8 years agoexample multi-channel synth for testing (revert this)
Robin Gareus [Fri, 15 Apr 2016 21:05:51 +0000 (23:05 +0200)]
example multi-channel synth for testing (revert this)

8 years agooutput config select is only available for synths.
Robin Gareus [Fri, 15 Apr 2016 21:04:55 +0000 (23:04 +0200)]
output config select is only available for synths.

8 years agorefine Pin dialog
Robin Gareus [Fri, 15 Apr 2016 20:08:03 +0000 (22:08 +0200)]
refine Pin dialog

* bend thru-wires away from center (distinguish from connections)
* show DnD wire on move only (not on click select
* consisten Label for Plugin Instance

8 years agofix typo
Robin Gareus [Fri, 15 Apr 2016 20:04:12 +0000 (22:04 +0200)]
fix typo

8 years agoadd missing quote
Robin Gareus [Fri, 15 Apr 2016 18:15:44 +0000 (20:15 +0200)]
add missing quote

8 years agofix duplicate definition (typo in 5242aeb8)
Robin Gareus [Fri, 15 Apr 2016 16:43:06 +0000 (18:43 +0200)]
fix duplicate definition (typo in 5242aeb8)

8 years agore-order label z-stacking in Pin Dialog
Robin Gareus [Fri, 15 Apr 2016 16:38:11 +0000 (18:38 +0200)]
re-order label z-stacking in Pin Dialog

8 years agoOutput Port Presets.
Robin Gareus [Fri, 15 Apr 2016 16:15:05 +0000 (18:15 +0200)]
Output Port Presets.

8 years agovariable plugin port config.
Robin Gareus [Fri, 15 Apr 2016 15:57:40 +0000 (17:57 +0200)]
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)

8 years agohide strict-i/o UI for Mixbus
Robin Gareus [Fri, 15 Apr 2016 12:53:18 +0000 (14:53 +0200)]
hide strict-i/o UI for Mixbus

8 years agospecial case mixbus routing
Robin Gareus [Fri, 15 Apr 2016 12:52:19 +0000 (14:52 +0200)]
special case mixbus routing

8 years agoAU synth inplace processing
Robin Gareus [Fri, 15 Apr 2016 11:36:02 +0000 (13:36 +0200)]
AU synth inplace processing

8 years agoluaproc error logging
Robin Gareus [Fri, 15 Apr 2016 01:24:37 +0000 (03:24 +0200)]
luaproc error logging

8 years agofind a good match for variable i/o plugins
Robin Gareus [Fri, 15 Apr 2016 01:24:22 +0000 (03:24 +0200)]
find a good match for variable i/o plugins

8 years agochange lua synth to multi-output
Robin Gareus [Thu, 14 Apr 2016 22:17:09 +0000 (00:17 +0200)]
change lua synth to multi-output

lua processors follow the same connection logic I/O as AudioUnit.
handy for testing.

8 years agodocument buffer requirement, add sidechain constraint.
Robin Gareus [Thu, 14 Apr 2016 20:43:14 +0000 (22:43 +0200)]
document buffer requirement, add sidechain constraint.

8 years agofix locking when switching strict i/o.
Robin Gareus [Thu, 14 Apr 2016 20:13:25 +0000 (22:13 +0200)]
fix locking when switching strict i/o.

try_configure_processors_unlocked() needs process lock

8 years agofix split plugin default connection with strict-i/o
Robin Gareus [Thu, 14 Apr 2016 19:02:28 +0000 (21:02 +0200)]
fix split plugin default connection with strict-i/o

Only connect the available input channels, ignore others.

8 years agoSimplify port add/remove error messages.
Robin Gareus [Thu, 14 Apr 2016 18:05:41 +0000 (20:05 +0200)]
Simplify port add/remove error messages.

The detailed information is no longer correct with flexible routing
since pin management.

8 years agohide add/remove output buttons on mixer-strip.
Robin Gareus [Thu, 14 Apr 2016 18:04:58 +0000 (20:04 +0200)]
hide add/remove output buttons on mixer-strip.

8 years agoMixbus enforces output port count
Robin Gareus [Thu, 14 Apr 2016 18:01:52 +0000 (20:01 +0200)]
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.

8 years agofix odd case where a deliver has no ports e.g session load.
Robin Gareus [Thu, 14 Apr 2016 17:20:39 +0000 (19:20 +0200)]
fix odd case where a deliver has no ports e.g session load.

8 years agoupdate Pin DnD logic:
Robin Gareus [Thu, 14 Apr 2016 16:30:34 +0000 (18:30 +0200)]
update Pin DnD logic:

When starting a Drag on a connected destination, re-connect the
destination. "you grab the connect plug out of the socket and drag it"

8 years agoproperly calculate requrired thread buffers
Robin Gareus [Thu, 14 Apr 2016 12:13:26 +0000 (14:13 +0200)]
properly calculate requrired thread buffers

8 years agoalternative approach for 48532baaa, C++98 compat that actually works, too
Robin Gareus [Thu, 14 Apr 2016 10:46:23 +0000 (12:46 +0200)]
alternative approach for 48532baaa, C++98 compat that actually works, too

8 years agoRevert "remove C++11'isms from libptformat. back to C++98 compat."
Robin Gareus [Thu, 14 Apr 2016 10:45:02 +0000 (12:45 +0200)]
Revert "remove C++11'isms from libptformat. back to C++98 compat."

This reverts commit 48532baaa7eeda99e9b5ea880f52308570dc3181.