ardour.git
6 years agoOSC: in custom strip list check all strips exist
Len Ovens [Tue, 12 Dec 2017 06:01:14 +0000 (22:01 -0800)]
OSC: in custom strip list check all strips exist

6 years agoOSC: initialize parameter correctly
Len Ovens [Thu, 7 Dec 2017 16:56:56 +0000 (08:56 -0800)]
OSC: initialize parameter correctly

6 years agoUS2400: Add us2400 profile.
Ben Loftis [Fri, 15 Dec 2017 15:26:49 +0000 (09:26 -0600)]
US2400: Add us2400 profile.

6 years agoCzech translation update #7526
Pavel Fric [Thu, 14 Dec 2017 22:45:01 +0000 (23:45 +0100)]
Czech translation update #7526

6 years agoFix FP8/16 port-names
Robin Gareus [Wed, 13 Dec 2017 22:44:39 +0000 (23:44 +0100)]
Fix FP8/16 port-names

6 years agoFix FP16 fader-touch release for faders 9..16
Robin Gareus [Wed, 13 Dec 2017 22:11:37 +0000 (23:11 +0100)]
Fix FP16 fader-touch release for faders 9..16

6 years agoFix FP16 select button 10..16
Robin Gareus [Wed, 13 Dec 2017 20:59:22 +0000 (21:59 +0100)]
Fix FP16 select button 10..16

6 years agoAdd FP17 to reserved I/O names
Robin Gareus [Tue, 12 Dec 2017 13:13:34 +0000 (14:13 +0100)]
Add FP17 to reserved I/O names

6 years agoAdd FP16 icon
Robin Gareus [Tue, 12 Dec 2017 13:12:26 +0000 (14:12 +0100)]
Add FP16 icon

6 years agoAdd FP16 control-surface
Robin Gareus [Tue, 12 Dec 2017 13:10:07 +0000 (14:10 +0100)]
Add FP16 control-surface

6 years agoNamespace FP8, FP16 to avoid symbol conflicts
Robin Gareus [Tue, 12 Dec 2017 13:09:40 +0000 (14:09 +0100)]
Namespace FP8, FP16 to avoid symbol conflicts

6 years agoPrepare for FaderPort16 (ctrl-protocol)
Robin Gareus [Tue, 12 Dec 2017 12:29:54 +0000 (13:29 +0100)]
Prepare for FaderPort16 (ctrl-protocol)

6 years agoFix a -Wreorder
Robin Gareus [Mon, 11 Dec 2017 23:24:00 +0000 (00:24 +0100)]
Fix a -Wreorder

6 years agomore NO-OP, comment and whitespace
Robin Gareus [Mon, 11 Dec 2017 23:19:36 +0000 (00:19 +0100)]
more NO-OP, comment and whitespace

6 years agoNO-OP: whitespace
Robin Gareus [Mon, 11 Dec 2017 23:13:12 +0000 (00:13 +0100)]
NO-OP: whitespace

6 years agoUS-2400: ignore joystick moves until the user clicks the joystick NULL button.
Ben Loftis [Mon, 11 Dec 2017 16:49:44 +0000 (10:49 -0600)]
US-2400: ignore joystick moves until the user clicks the joystick NULL button.

6 years agoFix another case where: a Range selection must enforce some tracks selected as well.
Ben Loftis [Mon, 11 Dec 2017 16:03:15 +0000 (10:03 -0600)]
Fix another case where: a Range selection must enforce some tracks selected as well.

6 years agozoom-to-selection should clear the selection, afterwards.
Ben Loftis [Mon, 11 Dec 2017 15:13:37 +0000 (09:13 -0600)]
zoom-to-selection should clear the selection, afterwards.

6 years agoLua scripting: add convenience function Editor::trigger_script_by_name().
Ben Loftis [Thu, 7 Dec 2017 17:05:57 +0000 (11:05 -0600)]
Lua scripting: add convenience function Editor::trigger_script_by_name().

6 years agoDrop the "Lua" in Lua Action Buttons:
Ben Loftis [Thu, 7 Dec 2017 15:17:53 +0000 (09:17 -0600)]
Drop the "Lua" in Lua Action Buttons:
Removed the term "Lua", because users were turned off by something they didn't understand.
A special-case Lua script ("Shortcut") allows the user to select an arbitrary Action.
The "Shortcut" script is selected by default, and in this case there is no "Type" or "Author" displayed.
Action-Buttons may still trigger Lua scripts, as a secondary function.

6 years agoPrototype to allow embedding sysex in midi-map
Robin Gareus [Wed, 6 Dec 2017 15:32:53 +0000 (16:32 +0100)]
Prototype to allow embedding sysex in midi-map

6 years agoAccommodate newly added/removed source(s) in our MSVC project (libardour)
John Emmas [Wed, 6 Dec 2017 10:51:53 +0000 (10:51 +0000)]
Accommodate newly added/removed source(s) in our MSVC project (libardour)

6 years agoAdd example Lua script to send raw MIDI (sysex) from file
Robin Gareus [Tue, 5 Dec 2017 15:09:19 +0000 (16:09 +0100)]
Add example Lua script to send raw MIDI (sysex) from file

6 years agoAdd Lua bindings for MIDI-parser and Async ports
Robin Gareus [Tue, 5 Dec 2017 15:08:02 +0000 (16:08 +0100)]
Add Lua bindings for MIDI-parser and Async ports

6 years agoIncrease ALSA max MIDI msg size to 128 bytes (same as OSX) for long sysex
Robin Gareus [Tue, 5 Dec 2017 15:07:36 +0000 (16:07 +0100)]
Increase ALSA max MIDI msg size to 128 bytes (same as OSX) for long sysex

6 years agoAdd a Raw MIDI parser (based on ALSA raw MIDI)
Robin Gareus [Tue, 5 Dec 2017 15:00:21 +0000 (16:00 +0100)]
Add a Raw MIDI parser (based on ALSA raw MIDI)

6 years agoAdd an action script to call access actions..
Robin Gareus [Tue, 5 Dec 2017 00:53:54 +0000 (01:53 +0100)]
Add an action script to call access actions..

6 years agoSort LuaDialog dropdown entries by key-name
Robin Gareus [Tue, 5 Dec 2017 00:53:03 +0000 (01:53 +0100)]
Sort LuaDialog dropdown entries by key-name

6 years agoAdd Lua binding to query action-list
Robin Gareus [Tue, 5 Dec 2017 00:42:44 +0000 (01:42 +0100)]
Add Lua binding to query action-list

6 years agoLua Script-Selector update
Robin Gareus [Tue, 5 Dec 2017 00:32:48 +0000 (01:32 +0100)]
Lua Script-Selector update

 * register bindings for action_param
 * honor pre-seeded value (don't ask)
 * allow to pre-seed a script-name
 * allow to cancel interactive script load at parameter-stage

6 years agoAllow to pre-seed Lua action script params
Robin Gareus [Tue, 5 Dec 2017 00:30:07 +0000 (01:30 +0100)]
Allow to pre-seed Lua action script params

6 years agoAllow to pass interpreter to evaluate action-script parameters
Robin Gareus [Mon, 4 Dec 2017 23:12:42 +0000 (00:12 +0100)]
Allow to pass interpreter to evaluate action-script parameters

This allows to add bindings, in particular GUI dialog, to be registered
before evaluating the parameters.

6 years agoOSC: Add custom bank creation and use
Len Ovens [Sat, 2 Dec 2017 16:17:42 +0000 (08:17 -0800)]
OSC: Add custom bank creation and use

6 years agoA couple of minor changes when #including <utime.h>
John Emmas [Sat, 2 Dec 2017 11:46:20 +0000 (11:46 +0000)]
A couple of minor changes when #including <utime.h>

6 years agoAdd some devices to the reserved list of midi controllers.
Ben Loftis [Fri, 10 Nov 2017 14:24:49 +0000 (08:24 -0600)]
Add some devices to the reserved list of midi controllers.

6 years agoFix error when $PATH contains whitespaces
Markus Seeber [Thu, 30 Nov 2017 12:28:44 +0000 (13:28 +0100)]
Fix error when $PATH contains whitespaces

Previously, if $PATH contains whitespaces the startup script would split
the new exported $PATH on the first whitespace. This was observed on an
Ubuntu system where $PATH contained a directory with whitespaces.

The change adds weak quotation around the new path to prevent expansion
of whitespaces. $PATH though, is still expanded.

6 years agoFix Windows builds (amend a3ec16)
Robin Gareus [Wed, 29 Nov 2017 17:53:06 +0000 (18:53 +0100)]
Fix Windows builds (amend a3ec16)

Since scanner.cc defines NO_OLDNAMES, utime.h needs to be included
first.

6 years agoSet VST cache file mtime to be at least as new as the plugin
Robin Gareus [Wed, 29 Nov 2017 14:08:25 +0000 (15:08 +0100)]
Set VST cache file mtime to be at least as new as the plugin

Fixes issues with timezones when installing pluins from a .zip

6 years agoOSX packaging: don't create empty Plugins dir
Robin Gareus [Wed, 29 Nov 2017 11:05:21 +0000 (12:05 +0100)]
OSX packaging: don't create empty Plugins dir

6 years agoArdourButton: ignore double+tripple clicks
Robin Gareus [Wed, 29 Nov 2017 11:04:19 +0000 (12:04 +0100)]
ArdourButton: ignore double+tripple clicks

6 years agoUpdate LuaProc GC stat calc
Robin Gareus [Wed, 29 Nov 2017 11:03:47 +0000 (12:03 +0100)]
Update LuaProc GC stat calc

6 years agoTweak Lua GC
Robin Gareus [Wed, 29 Nov 2017 11:03:18 +0000 (12:03 +0100)]
Tweak Lua GC

6 years agoupdate to lua-5.3.4
Robin Gareus [Wed, 29 Nov 2017 03:22:26 +0000 (04:22 +0100)]
update to lua-5.3.4

6 years agoOSC: add /select/plugin/activate cause some add deactivated
Len Ovens [Tue, 28 Nov 2017 20:16:36 +0000 (12:16 -0800)]
OSC: add /select/plugin/activate cause some add deactivated
And clean up plugin code as well

6 years agoFix "open folder" for non-ASCII paths on Windows
Robin Gareus [Sun, 26 Nov 2017 23:42:29 +0000 (00:42 +0100)]
Fix "open folder" for non-ASCII paths on Windows

6 years agoRemove unused API
Robin Gareus [Sun, 26 Nov 2017 08:50:35 +0000 (09:50 +0100)]
Remove unused API

6 years agoSidechain latency compensation - part one
Robin Gareus [Sun, 26 Nov 2017 08:48:54 +0000 (09:48 +0100)]
Sidechain latency compensation - part one

This properly sets the port-latencies of PluginInsert owned ports as well
as handles external sends (send-target playback latency).

NB. This needs more work to ensure that Sidechain input port playback
latency is set before the feeding send queries it the connected latency.
Re-ordering process may change sidechain or external-send latencies,
but since re-ordering does not change the route's latency,
engine.update_latency() may not be called.

6 years agoAdd convenience methods to set port latencies
Robin Gareus [Sun, 26 Nov 2017 08:38:32 +0000 (09:38 +0100)]
Add convenience methods to set port latencies

6 years agoOSC: Only send new select send values
Len Ovens [Thu, 23 Nov 2017 20:04:21 +0000 (12:04 -0800)]
OSC: Only send new select send values
no clear first, no double send

6 years agoOSC personal monitor fix off by one bug.
Len Ovens [Tue, 14 Nov 2017 17:23:39 +0000 (09:23 -0800)]
OSC personal monitor fix off by one bug.

6 years agoRemove duplicate assignment (amend 867460cd3)
Robin Gareus [Thu, 23 Nov 2017 14:34:21 +0000 (15:34 +0100)]
Remove duplicate assignment (amend 867460cd3)

6 years agoExample Lua script to move regions (insert gaps)
Robin Gareus [Thu, 23 Nov 2017 14:27:29 +0000 (15:27 +0100)]
Example Lua script to move regions (insert gaps)

6 years agoMake static analysis happy..
Robin Gareus [Thu, 23 Nov 2017 10:29:07 +0000 (11:29 +0100)]
Make static analysis happy..

If the copy c'tor of ProcessorSelection was actually used,
assigning the XMLProcessorSelection
    processors = other.processors;
would lead to duplicate free() of the XMLNode*
XMLProcessorSelection would need a dedicated copy c'tor that
duplicates allocates a new XMLNode.
see also #10 at https://www.viva64.com/en/b/0540/

Anyway, the copy c'tor and assignment is never used. This commit makes
this explicit.

6 years agoRemove unreachable code.
Robin Gareus [Thu, 23 Nov 2017 09:51:20 +0000 (10:51 +0100)]
Remove unreachable code.

if (working_on_selection) {
  ...
} else {
  if (working_on_selection) { .. never reached .. }
}

Found by PVS: https://www.viva64.com/en/b/0540/

6 years agoNO-OP: cleaner syntax
Robin Gareus [Thu, 23 Nov 2017 09:46:44 +0000 (10:46 +0100)]
NO-OP: cleaner syntax

6 years agoConsistent default argument for virtual fn.
Robin Gareus [Thu, 23 Nov 2017 09:45:04 +0000 (10:45 +0100)]
Consistent default argument for virtual fn.

6 years agoCatch exceptions by const reference
Robin Gareus [Thu, 23 Nov 2017 09:38:52 +0000 (10:38 +0100)]
Catch exceptions by const reference

6 years agoFix a potential(?) nullptr dereference
Robin Gareus [Thu, 23 Nov 2017 09:38:05 +0000 (10:38 +0100)]
Fix a potential(?) nullptr dereference

6 years agofix call to std::unique; to actually erase dups.
Robin Gareus [Thu, 23 Nov 2017 09:23:54 +0000 (10:23 +0100)]
fix call to std::unique; to actually erase dups.

6 years agoFix potentially ambiguous printf()
Robin Gareus [Thu, 23 Nov 2017 09:12:34 +0000 (10:12 +0100)]
Fix potentially ambiguous printf()

Not a real issue, since it's just supposed to be some unique number.
but still.

Reported by PVS-Studio - https://www.viva64.com/en/b/0540/

6 years agoNo need for memset to clear a byte.
Robin Gareus [Thu, 23 Nov 2017 09:10:32 +0000 (10:10 +0100)]
No need for memset to clear a byte.

6 years agoremove useless test, fgets() already ensures MAX_STRING_LEN
Robin Gareus [Thu, 23 Nov 2017 08:56:57 +0000 (09:56 +0100)]
remove useless test, fgets() already ensures MAX_STRING_LEN

Found by PVS-Studio - https://www.viva64.com/en/b/0540/

6 years agoFix another duplicate if from session/system config consolidation
Robin Gareus [Thu, 23 Nov 2017 08:53:50 +0000 (09:53 +0100)]
Fix another duplicate if from session/system config consolidation

Found by PVS-Studio - https://www.viva64.com/en/b/0540/

6 years agoFix size-request call
Robin Gareus [Thu, 23 Nov 2017 08:53:09 +0000 (09:53 +0100)]
Fix size-request call

use  Requisition Gtk::Widget::size_request ()  const;
and not deprecated
void Gtk::Widget::size_request  (const Requisition&);

Found by PVS-Studio - https://www.viva64.com/en/b/0540/

6 years agoFix duplicate if(A) else if (A) condition
Robin Gareus [Thu, 23 Nov 2017 08:22:21 +0000 (09:22 +0100)]
Fix duplicate if(A) else if (A) condition

Issue came to be from consolidating Session and UI configuration.
Found by PVS-Studio - https://www.viva64.com/en/b/0540/

6 years agoFix typo in 318e7efb
Robin Gareus [Wed, 22 Nov 2017 23:10:54 +0000 (00:10 +0100)]
Fix typo in 318e7efb

6 years agoGUI to set clock-origin marker
Robin Gareus [Wed, 22 Nov 2017 23:10:36 +0000 (00:10 +0100)]
GUI to set clock-origin marker

6 years agoImplement clock delta modes
Robin Gareus [Wed, 22 Nov 2017 21:10:37 +0000 (22:10 +0100)]
Implement clock delta modes

* use new config variable
* update GUI to select delta-modes
* delegate delta-calculation to MainClock
* save offset to calculate absolute-time

6 years agoAdd clock-delta mode enum
Robin Gareus [Wed, 22 Nov 2017 21:09:17 +0000 (22:09 +0100)]
Add clock-delta mode enum

6 years agoIntroduce a dedicated "Clock Origin" Marker
Robin Gareus [Wed, 22 Nov 2017 21:08:40 +0000 (22:08 +0100)]
Introduce a dedicated "Clock Origin" Marker

6 years agoFix switch statements in ExportTimespanSelector
Robin Gareus [Wed, 22 Nov 2017 19:36:58 +0000 (20:36 +0100)]
Fix switch statements in ExportTimespanSelector

6 years agoAdd seconds as clock-unit
Robin Gareus [Wed, 22 Nov 2017 19:36:28 +0000 (20:36 +0100)]
Add seconds as clock-unit

6 years agoRelease (debug) lock before emitting signal
Robin Gareus [Mon, 13 Nov 2017 22:31:12 +0000 (23:31 +0100)]
Release (debug) lock before emitting signal

6 years agoRevert "editor_pt_import: Process wav indexes once only"
Damien Zammit [Sat, 18 Nov 2017 04:27:37 +0000 (15:27 +1100)]
Revert "editor_pt_import: Process wav indexes once only"

This reverts commit 7422ffe6920deba396debb670c713849a64be43b.

6 years agoOSC: only reset cue sends that do not have a new send
Len Ovens [Tue, 14 Nov 2017 01:18:33 +0000 (17:18 -0800)]
OSC: only reset cue sends that do not have a new send

6 years agoOSC: /cue/previous_aux should always refresh
Len Ovens [Mon, 13 Nov 2017 17:32:24 +0000 (09:32 -0800)]
OSC: /cue/previous_aux should always refresh

6 years agoOSC: cue buttons can accept float or int
Len Ovens [Sun, 12 Nov 2017 21:52:18 +0000 (13:52 -0800)]
OSC: cue buttons can accept float or int

6 years agoFix typo (missing quote) in patch-change window title
Robin Gareus [Mon, 13 Nov 2017 22:31:39 +0000 (23:31 +0100)]
Fix typo (missing quote) in patch-change window title

6 years agoAdd API to allow buffer offsets when applying gain
Robin Gareus [Fri, 10 Nov 2017 21:52:10 +0000 (22:52 +0100)]
Add API to allow buffer offsets when applying gain

6 years agoAdd a noise generator (Lua DSP)
Robin Gareus [Sat, 11 Nov 2017 21:47:47 +0000 (22:47 +0100)]
Add a noise generator (Lua DSP)

6 years agoa-comp: Fix typo with previous patch
Damien Zammit [Sat, 11 Nov 2017 13:16:44 +0000 (00:16 +1100)]
a-comp: Fix typo with previous patch

6 years agoa-comp: Fix noise floor - asymptotics
Damien Zammit [Sat, 11 Nov 2017 02:59:41 +0000 (13:59 +1100)]
a-comp: Fix noise floor - asymptotics

6 years agoOSC link: make whole link set follow strip_types
Len Ovens [Fri, 10 Nov 2017 16:38:08 +0000 (08:38 -0800)]
OSC link: make whole link set follow strip_types
strip should not run periodic when blank - crash fix

6 years agoOSC: set_surface sets linkset, linkid
Len Ovens [Wed, 8 Nov 2017 17:36:32 +0000 (09:36 -0800)]
OSC: set_surface sets linkset, linkid
/set_surface/* deals with linked surfaces

6 years agoOSC: catch bad commands on /cue/* created crash on exit
Len Ovens [Wed, 8 Nov 2017 04:18:23 +0000 (20:18 -0800)]
OSC: catch bad commands on /cue/* created crash on exit

6 years agoFix a-reverb bypass/enable
Robin Gareus [Wed, 8 Nov 2017 00:37:50 +0000 (01:37 +0100)]
Fix a-reverb bypass/enable

6 years agoOSC link: Clean up link not ready and surface refresh
Len Ovens [Tue, 7 Nov 2017 17:31:14 +0000 (09:31 -0800)]
OSC link: Clean up link not ready and surface refresh

6 years agoOSC link: make selection work correctly
Len Ovens [Mon, 6 Nov 2017 21:37:37 +0000 (13:37 -0800)]
OSC link: make selection work correctly

6 years agoOptimize zresampler for no re-sampling case.
Robin Gareus [Sun, 5 Nov 2017 23:13:14 +0000 (00:13 +0100)]
Optimize zresampler for no re-sampling case.

6 years agoSome further notes (and experiments) on optimizations
Robin Gareus [Sun, 5 Nov 2017 23:12:32 +0000 (00:12 +0100)]
Some further notes (and experiments) on optimizations

6 years agoAdd some notes for future optimizations (and prepare API)
Robin Gareus [Sat, 4 Nov 2017 16:11:10 +0000 (17:11 +0100)]
Add some notes for future optimizations (and prepare API)

6 years agoChange Delayline to use power-of-two size and bitmasking
Robin Gareus [Sat, 4 Nov 2017 15:39:08 +0000 (16:39 +0100)]
Change Delayline to use power-of-two size and bitmasking

6 years ago[Re]-Implement Delayline flush.
Robin Gareus [Sat, 4 Nov 2017 15:24:09 +0000 (16:24 +0100)]
[Re]-Implement Delayline flush.

Also don't automatically flush the delayline at transport or monitor-
changes anymore.

With full-graph latency compensation, delaylines are before the
disk-reader, aligning input (disk uses read-ahead to align).

Flushing the delayline should only happen when input-monitoring
is disengaged. It's best degated to the Route or object using the
Delayline (potentially latency-aligned delayed flush).

6 years agoOptimize Delaylines: block-process (not one sample at a time)
Robin Gareus [Sat, 4 Nov 2017 04:20:14 +0000 (05:20 +0100)]
Optimize Delaylines: block-process (not one sample at a time)

This also tweaks fade behavior when the latency changes to prefer a
x-fade when possible.

This new variant does not support concurrent re-allocation and
execution. Hence the auto-connect thread needs to take a lock before
updating latencies (actually there's no need for an explicit update with
built-in backends, so this case remains to be updated further)

6 years agoClean up delayline API: don't use 'get_' for accessor method-name
Robin Gareus [Fri, 3 Nov 2017 18:26:44 +0000 (19:26 +0100)]
Clean up delayline API: don't use 'get_' for accessor method-name

6 years agoOSC link: first working commit for linking two surfaces as one
Len Ovens [Fri, 3 Nov 2017 19:35:19 +0000 (12:35 -0700)]
OSC link: first working commit for linking two surfaces as one

6 years agoFix scroll-wheel on mixer-sliders
Robin Gareus [Fri, 3 Nov 2017 14:55:33 +0000 (15:55 +0100)]
Fix scroll-wheel on mixer-sliders

74c986534b changes the semantics of fader-flags:
NoVerticalScroll  was "ignore vertical scroll for horizontal faders".
Now the flag ignores all vertical scrolling.

6 years agoAuditioner, silence buffer at end.
Robin Gareus [Fri, 3 Nov 2017 03:26:33 +0000 (04:26 +0100)]
Auditioner, silence buffer at end.

6 years agoDon't crash when auditioning empty .mid files.
Robin Gareus [Fri, 3 Nov 2017 03:14:23 +0000 (04:14 +0100)]
Don't crash when auditioning empty .mid files.

6 years agoFix polarity-control size (and crash during audition)
Robin Gareus [Fri, 3 Nov 2017 02:05:54 +0000 (03:05 +0100)]
Fix polarity-control size (and crash during audition)

Also initialize new polarity-invert with gain 1.0, not inverted.
Don't fade-in.