ardour.git
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.

8 years agoluaproc: assert instance access
Robin Gareus [Thu, 14 Apr 2016 01:08:58 +0000 (03:08 +0200)]
luaproc: assert instance access

8 years agoallow to compare C class instances from lua
Robin Gareus [Thu, 14 Apr 2016 01:08:02 +0000 (03:08 +0200)]
allow to compare C class instances from lua

8 years agoshow plugin pin labels when hovering over them
Robin Gareus [Wed, 13 Apr 2016 21:37:09 +0000 (23:37 +0200)]
show plugin pin labels when hovering over them

8 years agoget editor controls layout/midi track header/scroomer to be the correct height
Paul Davis [Wed, 13 Apr 2016 19:28:27 +0000 (15:28 -0400)]
get editor controls layout/midi track header/scroomer to be the correct height

Using is_mapped() is wrong, since if the editor was not visible (i.e. program has not yet shown the editor
"tab", then _group_tabs will have is_visible() == true but is_mapped() == false

8 years agoNO-OP, whitespace
Robin Gareus [Wed, 13 Apr 2016 18:58:35 +0000 (20:58 +0200)]
NO-OP, whitespace

8 years agoallow midi tracks with audio-out only (and vice versa)
Robin Gareus [Wed, 13 Apr 2016 18:57:40 +0000 (20:57 +0200)]
allow midi tracks with audio-out only (and vice versa)

and a potential fix for odd noise on startup.

8 years agostrict i/o sets enforces output port count.
Robin Gareus [Wed, 13 Apr 2016 18:54:42 +0000 (20:54 +0200)]
strict i/o sets enforces output port count.

8 years agofix typo
Robin Gareus [Wed, 13 Apr 2016 18:31:14 +0000 (20:31 +0200)]
fix typo

8 years agofix configurable IO MIDI FX w/strict-i/o
Robin Gareus [Wed, 13 Apr 2016 18:13:39 +0000 (20:13 +0200)]
fix configurable IO MIDI FX w/strict-i/o

8 years agofix crash introduced in 0d1cd3865d
Robin Gareus [Wed, 13 Apr 2016 17:10:06 +0000 (19:10 +0200)]
fix crash introduced in 0d1cd3865d

8 years agofix use of DIALOG/UTILITY window type hint on OS X.
Paul Davis [Wed, 13 Apr 2016 16:59:56 +0000 (12:59 -0400)]
fix use of DIALOG/UTILITY window type hint on OS X.

See code comments for details

8 years agoshow window title in DEBUG::Accelerator debug trace
Paul Davis [Wed, 13 Apr 2016 16:34:59 +0000 (12:34 -0400)]
show window title in DEBUG::Accelerator debug trace

8 years agouse correctly named action to put preferences into the global menu bar on OS X
Paul Davis [Wed, 13 Apr 2016 16:34:21 +0000 (12:34 -0400)]
use correctly named action to put preferences into the global menu bar on OS X

8 years agofix use of C++ style comments in cpp file (avoids warning on OS X)
Paul Davis [Wed, 13 Apr 2016 16:33:44 +0000 (12:33 -0400)]
fix use of C++ style comments in cpp file (avoids warning on OS X)

8 years agospecial case side-chain when copying plugin-state (fix crash, dup IO)
Robin Gareus [Wed, 13 Apr 2016 16:53:54 +0000 (18:53 +0200)]
special case side-chain when copying plugin-state (fix crash, dup IO)

8 years agoprepare fix for copying plugin state
Robin Gareus [Wed, 13 Apr 2016 16:53:47 +0000 (18:53 +0200)]
prepare fix for copying plugin state

8 years agoproperly auto-connect sidechain pins
Robin Gareus [Wed, 13 Apr 2016 15:42:38 +0000 (17:42 +0200)]
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.

8 years agofix OSX builds
Robin Gareus [Wed, 13 Apr 2016 12:47:36 +0000 (14:47 +0200)]
fix OSX builds

8 years agospecial case strict-i/o on the master-bus
Robin Gareus [Wed, 13 Apr 2016 11:23:17 +0000 (13:23 +0200)]
special case strict-i/o on the master-bus

8 years agoinitialize uninitialized variable
Robin Gareus [Wed, 13 Apr 2016 10:37:19 +0000 (12:37 +0200)]
initialize uninitialized variable

8 years agoextend strict-i/o to include route outputs.
Robin Gareus [Wed, 13 Apr 2016 10:28:57 +0000 (12:28 +0200)]
extend strict-i/o to include route outputs.

8 years agofix Plugin Pin for Audio + Midi input plugins
Robin Gareus [Tue, 12 Apr 2016 23:16:03 +0000 (01:16 +0200)]
fix Plugin Pin for Audio + Midi input plugins

8 years agoVST report audioMasterPinConnected according to Pin Management
Robin Gareus [Tue, 12 Apr 2016 22:52:47 +0000 (00:52 +0200)]
VST report audioMasterPinConnected according to Pin Management

8 years agoprepare VST plugins for reporting connected pins
Robin Gareus [Tue, 12 Apr 2016 22:44:18 +0000 (00:44 +0200)]
prepare VST plugins for reporting connected pins

The VST needs a way to get the parent PluginInserts's channel-map :(

8 years agoupdate luadoc tools
Robin Gareus [Tue, 12 Apr 2016 22:48:39 +0000 (00:48 +0200)]
update luadoc tools

8 years agoexpose sidechain binding, fix "bounce" typo
Robin Gareus [Tue, 12 Apr 2016 22:52:17 +0000 (00:52 +0200)]
expose sidechain binding, fix "bounce" typo

8 years agoyet more documentation..
Robin Gareus [Tue, 12 Apr 2016 22:07:28 +0000 (00:07 +0200)]
yet more documentation..

8 years agoModify 'getIdentityKey()' function to have LuaBridge_API linkage when building with...
John Emmas [Tue, 12 Apr 2016 16:53:56 +0000 (17:53 +0100)]
Modify 'getIdentityKey()' function to have LuaBridge_API linkage when building with MSVC (rather than simply 'extern')

8 years agoChange LuaBridge_API to be __declspec(dllexport) or __declspec(dllimport, as required
John Emmas [Tue, 12 Apr 2016 16:50:54 +0000 (17:50 +0100)]
Change LuaBridge_API to be __declspec(dllexport) or __declspec(dllimport, as required

8 years agosomewhat improved "thru" and sidechain routing display
Robin Gareus [Tue, 12 Apr 2016 16:38:28 +0000 (18:38 +0200)]
somewhat improved "thru" and sidechain routing display

8 years agoturn MarkerSelection into a class (bindings)
Robin Gareus [Tue, 12 Apr 2016 16:13:31 +0000 (18:13 +0200)]
turn MarkerSelection into a class (bindings)

8 years agofix typo in luabindings
Robin Gareus [Tue, 12 Apr 2016 16:13:03 +0000 (18:13 +0200)]
fix typo in luabindings

8 years agosome strategic documentation
Robin Gareus [Tue, 12 Apr 2016 15:03:44 +0000 (17:03 +0200)]
some strategic documentation

Prevent class descriptions inheriting the doc from PBD:Stateful by
adding some specific doc.

8 years agoremove and ignore intermediate generated documentation files
Robin Gareus [Tue, 12 Apr 2016 11:55:09 +0000 (13:55 +0200)]
remove and ignore intermediate generated documentation files

..until someone steps up and wants to use those for auto-complete etc.

8 years agoupdate luadoc tools
Robin Gareus [Tue, 12 Apr 2016 11:53:02 +0000 (13:53 +0200)]
update luadoc tools

8 years agouse dedicated counter for sidechain port numbering
Robin Gareus [Tue, 12 Apr 2016 11:50:01 +0000 (13:50 +0200)]
use dedicated counter for sidechain port numbering

8 years agoadd a new counter (for sidechain numbering)
Robin Gareus [Tue, 12 Apr 2016 11:49:50 +0000 (13:49 +0200)]
add a new counter (for sidechain numbering)

8 years agoNO-OP; document some more parameters.
Robin Gareus [Tue, 12 Apr 2016 09:06:35 +0000 (11:06 +0200)]
NO-OP; document some more parameters.

Since headers only provide the declaration, function
parameters need to be documented.

8 years agosome more windows bandaids for optimized builds
Robin Gareus [Tue, 12 Apr 2016 00:18:20 +0000 (02:18 +0200)]
some more windows bandaids for optimized builds

really this is getting UGLY.

8 years agohotfix process-graph: include internal-send -> internal return
Robin Gareus [Mon, 11 Apr 2016 22:33:06 +0000 (00:33 +0200)]
hotfix process-graph: include internal-send -> internal return

8 years agoimprove luawindow save/load/revert
Robin Gareus [Mon, 11 Apr 2016 22:32:18 +0000 (00:32 +0200)]
improve luawindow save/load/revert

8 years agospecial case luabridge for windows/MSVC
Robin Gareus [Mon, 11 Apr 2016 20:19:25 +0000 (22:19 +0200)]
special case luabridge for windows/MSVC

luabridge uses static fn addresses to identify classes.
Windows uses different addresses for *identical* static functions
in libardour.dll and ardour.exe

This solves the issue by moving the all functions from a
header-only implementation into libardour.

8 years agoupdate lua documentation tools
Robin Gareus [Mon, 11 Apr 2016 14:16:52 +0000 (16:16 +0200)]
update lua documentation tools

8 years agoindicate read-only scripts
Robin Gareus [Mon, 11 Apr 2016 12:58:42 +0000 (14:58 +0200)]
indicate read-only scripts

8 years agoupdate and cleanup lua example scripts
Robin Gareus [Mon, 11 Apr 2016 12:36:57 +0000 (14:36 +0200)]
update and cleanup lua example scripts

8 years agoadd some more Editor Selection lua bindings
Robin Gareus [Mon, 11 Apr 2016 12:06:26 +0000 (14:06 +0200)]
add some more Editor Selection lua bindings

8 years agoclean up lua-class inheritance
Robin Gareus [Mon, 11 Apr 2016 12:04:45 +0000 (14:04 +0200)]
clean up lua-class inheritance

Implicit casts of derived classes only work for the first parent.
other parent classes require dedicated casts

8 years agoadd some class documentation
Robin Gareus [Mon, 11 Apr 2016 12:03:37 +0000 (14:03 +0200)]
add some class documentation

8 years agoadd Lua bindings for Range Time Selection
Robin Gareus [Sun, 10 Apr 2016 22:31:35 +0000 (00:31 +0200)]
add Lua bindings for Range Time Selection

```lua
print (Editor:get_selection ().time:start ())

for ar in Editor:get_selection ().time:iter () do
  print (ar.id, ar.start, ar._end)
end
```

8 years agoAdd tom's additions to tom's loop and turn it into an Action Script
Robin Gareus [Sun, 10 Apr 2016 22:04:53 +0000 (00:04 +0200)]
Add tom's additions to tom's loop and turn it into an Action Script

8 years agoupdate lua class documentation scripts
Robin Gareus [Sun, 10 Apr 2016 21:34:00 +0000 (23:34 +0200)]
update lua class documentation scripts

8 years agofix loop example script (updated API)
Robin Gareus [Sun, 10 Apr 2016 21:02:00 +0000 (23:02 +0200)]
fix loop example script (updated API)

8 years agoupdate lua related doc, add missing bindings
Robin Gareus [Sun, 10 Apr 2016 21:01:44 +0000 (23:01 +0200)]
update lua related doc, add missing bindings

8 years agosome more example lua scripts
Robin Gareus [Sun, 10 Apr 2016 18:57:24 +0000 (20:57 +0200)]
some more example lua scripts

8 years agoconvenient API to access track and region selection
Robin Gareus [Sun, 10 Apr 2016 16:57:52 +0000 (18:57 +0200)]
convenient API to access track and region selection

8 years agoexpose port bindings
Robin Gareus [Sun, 10 Apr 2016 18:56:45 +0000 (20:56 +0200)]
expose port bindings

8 years agoadd lua bindings for Automation Events
Robin Gareus [Sun, 10 Apr 2016 15:35:02 +0000 (17:35 +0200)]
add lua bindings for Automation Events

8 years agoNO-OP whitespace + comments
Robin Gareus [Sun, 10 Apr 2016 18:53:42 +0000 (20:53 +0200)]
NO-OP  whitespace + comments

8 years agoNO-OP document Evoral::ControlList
Robin Gareus [Sun, 10 Apr 2016 18:55:59 +0000 (20:55 +0200)]
NO-OP document Evoral::ControlList

8 years agoadd a C++ lifetime MementoCommand API
Robin Gareus [Sun, 10 Apr 2016 15:13:00 +0000 (17:13 +0200)]
add a C++ lifetime MementoCommand API

8 years agoadd undo to the lua bounce+loop example script, just because.
Robin Gareus [Sun, 10 Apr 2016 00:01:27 +0000 (02:01 +0200)]
add undo to the lua bounce+loop example script, just because.

8 years agoexpose Undo Commands to Lua
Robin Gareus [Sat, 9 Apr 2016 23:45:41 +0000 (01:45 +0200)]
expose Undo Commands to Lua

Some trickery is needed here to manage object lifetimes and
multiple inheritance.

8 years agoexercise new lua bindings
Robin Gareus [Sat, 9 Apr 2016 13:44:53 +0000 (15:44 +0200)]
exercise new lua bindings

8 years agoand a few more Editor lua bindings
Robin Gareus [Sat, 9 Apr 2016 13:42:48 +0000 (15:42 +0200)]
and a few more Editor lua bindings

8 years agoadd some more libardour lua bindings
Robin Gareus [Sat, 9 Apr 2016 13:42:32 +0000 (15:42 +0200)]
add some more libardour lua bindings

8 years agoanother lua convenience API
Robin Gareus [Sat, 9 Apr 2016 11:23:30 +0000 (13:23 +0200)]
another lua convenience API

8 years agorefactor and document delayline
Robin Gareus [Sat, 9 Apr 2016 08:18:14 +0000 (10:18 +0200)]
refactor and document delayline

8 years agoAccommodate newly introduced source(s) in our MSVC project (libardour)
John Emmas [Sat, 9 Apr 2016 08:44:32 +0000 (09:44 +0100)]
Accommodate newly introduced source(s) in our MSVC project (libardour)

8 years agofix editor/mixer initial display (show_all)
Robin Gareus [Fri, 8 Apr 2016 22:33:56 +0000 (00:33 +0200)]
fix editor/mixer initial display (show_all)

8 years agochange const some functions to const. (prepare lua bindings)
Robin Gareus [Fri, 8 Apr 2016 22:33:03 +0000 (00:33 +0200)]
change const some functions to const. (prepare lua bindings)

8 years agoimprove elapsed time readability for large numbers.
Robin Gareus [Fri, 8 Apr 2016 19:50:02 +0000 (21:50 +0200)]
improve elapsed time readability for large numbers.

8 years agoProfile Session::save_state
Robin Gareus [Fri, 8 Apr 2016 19:45:32 +0000 (21:45 +0200)]
Profile Session::save_state

8 years agoRevert "experimental session-save speedup" -- needs C++11
Robin Gareus [Fri, 8 Apr 2016 19:21:38 +0000 (21:21 +0200)]
Revert "experimental session-save speedup" -- needs C++11

This reverts commit d1dcedaccfd5adfd661724476003410d5d251756.

8 years agomore potential session-save speedup.
Robin Gareus [Fri, 8 Apr 2016 19:03:23 +0000 (21:03 +0200)]
more potential session-save speedup.

std:vector trumps std::list speed in all aspects: traversal, insertion
(at end) and Deletion.  ..but we'll have to be careful about iterators..

8 years agoexperimental session-save speedup
Robin Gareus [Fri, 8 Apr 2016 18:32:49 +0000 (20:32 +0200)]
experimental session-save speedup

property order is not important,
unordered_map lookup and insertion is O(1)

8 years agoLatency compensation for plugin thru routing.
Robin Gareus [Fri, 8 Apr 2016 16:21:46 +0000 (18:21 +0200)]
Latency compensation for plugin thru routing.

8 years agoAdd a fixed (not de-clicked) multi-buffer audio/midi delayline.
Robin Gareus [Fri, 8 Apr 2016 16:07:45 +0000 (18:07 +0200)]
Add a fixed (not de-clicked) multi-buffer audio/midi delayline.

A ringbuffer intended to be used for plugin-thru/bypass
latency compensation.

8 years agoimplement Lua editor script/file delete.
Robin Gareus [Fri, 8 Apr 2016 16:14:52 +0000 (18:14 +0200)]
implement Lua editor script/file delete.

8 years agosmall ArdourButton optimization
Robin Gareus [Fri, 8 Apr 2016 13:53:59 +0000 (15:53 +0200)]
small ArdourButton optimization

8 years agoGUI part of count/n_total API rename
Robin Gareus [Fri, 8 Apr 2016 13:53:32 +0000 (15:53 +0200)]
GUI part of count/n_total API rename

8 years agoconsistent count/n_total API
Robin Gareus [Fri, 8 Apr 2016 16:16:19 +0000 (18:16 +0200)]
consistent count/n_total API

8 years agoadd Plugin LatencyChanged() signal and max latency report
Robin Gareus [Fri, 8 Apr 2016 16:16:01 +0000 (18:16 +0200)]
add Plugin LatencyChanged() signal and max latency report