ardour.git
6 years agoOSC: Change custom mode to enum
Len Ovens [Tue, 20 Mar 2018 21:37:08 +0000 (14:37 -0700)]
OSC: Change custom mode to enum

6 years agomore stability fixes
Nikolaus Gullotta [Tue, 20 Mar 2018 20:41:20 +0000 (15:41 -0500)]
more stability fixes

6 years agofixed processor ordering crash in ardour and added group support (kinda)
Nikolaus Gullotta [Tue, 20 Mar 2018 18:01:48 +0000 (13:01 -0500)]
fixed processor ordering crash in ardour and added group support (kinda)

6 years agoFix call to labs.
Robin Gareus [Tue, 20 Mar 2018 18:16:37 +0000 (19:16 +0100)]
Fix call to labs.

..or as clang puts it:
"error: no member named 'labs' in namespace 'std'; did you mean
 simply 'labs'?"

6 years agoFix crash when re-assigning groups to a disjunct set.
Robin Gareus [Tue, 20 Mar 2018 17:07:55 +0000 (18:07 +0100)]
Fix crash when re-assigning groups to a disjunct set.

Drag a group-tab's right-edge horizontally to the right to remove all
current routes from the groups before adding new routes to the group.

The group becomes temporarily empty, and
Session::route_removed_from_route_group() removes the group (before new
routes can be added).

6 years agoOSC: a strip controlling a send should deactivate other controls
Len Ovens [Tue, 20 Mar 2018 15:41:06 +0000 (08:41 -0700)]
OSC: a strip controlling a send should deactivate other controls

6 years agoOSC: Add feedback for bus_only mode and automation and pan
Len Ovens [Sun, 18 Mar 2018 06:10:16 +0000 (23:10 -0700)]
OSC: Add feedback for bus_only mode and automation and pan

6 years agoOSC: select should have latch too.
Len Ovens [Sun, 18 Mar 2018 06:07:44 +0000 (23:07 -0700)]
OSC: select should have latch too.

6 years agoOSC: Add bus only mode for gain controls
Len Ovens [Sat, 17 Mar 2018 18:00:59 +0000 (11:00 -0700)]
OSC: Add bus only mode for gain controls

6 years agoFixed issue in plugin id invalidator caused by commit d5d5c0c
Nikolaus Gullotta [Mon, 19 Mar 2018 18:30:19 +0000 (13:30 -0500)]
Fixed issue in plugin id invalidator caused by commit d5d5c0c

6 years agocleanup, fix in-on-change issue.
Nikolaus Gullotta [Mon, 19 Mar 2018 17:24:46 +0000 (12:24 -0500)]
cleanup, fix in-on-change issue.

6 years agoLua is not an acronym
Robin Gareus [Mon, 19 Mar 2018 17:18:35 +0000 (18:18 +0100)]
Lua is not an acronym

6 years agoSpeed up plugin-selector refill.
Robin Gareus [Mon, 19 Mar 2018 17:13:37 +0000 (18:13 +0100)]
Speed up plugin-selector refill.

* Detach model from treeview and disable sorting during refill.
* Prevent multiple re-fills due to sensitivity updates of ComboBoxes:
  gtk_widget_set_sensitive() -> CairoWidget::on_state_changed ()
  -> CairoWidget::set_visual_state () ->  StateChanged Signal

6 years agoFix "Shortcut" special-case in the script-selector.
Robin Gareus [Mon, 19 Mar 2018 14:43:07 +0000 (15:43 +0100)]
Fix "Shortcut" special-case in the script-selector.

The Script-selector is used in various places, not just for
Action-scripts.

Also add a "--" prefix for the separator to avoid name conflicts with
actual script names.

6 years agoLua: Lock bindings into memory for rt-scripts
Robin Gareus [Mon, 19 Mar 2018 01:26:24 +0000 (02:26 +0100)]
Lua: Lock bindings into memory for rt-scripts

Empirically this decreases gc-spike duration (worst-case) by a factor of
two and speeds up the average gc-run by a factor of over 4 (depending
on the amount of memory used by the plugin).

6 years agoCustomize Lua GC, add object-memory-lock API.
Robin Gareus [Mon, 19 Mar 2018 00:33:13 +0000 (01:33 +0100)]
Customize Lua GC, add object-memory-lock API.

Add custom API to prevent Lua Objects from being garbage collected.
This is intended to for Ardour LuaBridge bindings (~1MB Objects:
tables, functions and userdata).
The bindings are persistent and the gc can skip them in mark & sweep
phases. This is a significant performance improvement for garbage
collection.

Note. The next version of Lua (5.4) will come with a generational-gc
rather than an incremental, so extending the API at this point in time
is acceptable.

6 years agoExample Lua script to perform action at specific wallclock time
Robin Gareus [Sun, 18 Mar 2018 14:56:06 +0000 (15:56 +0100)]
Example Lua script to perform action at specific wallclock time

6 years agoFix midi track mapping on pt import
Damien Zammit [Sun, 18 Mar 2018 00:39:53 +0000 (11:39 +1100)]
Fix midi track mapping on pt import

6 years agoRemove calls to deprecated Lua bitlib
Robin Gareus [Sat, 17 Mar 2018 20:13:06 +0000 (21:13 +0100)]
Remove calls to deprecated Lua bitlib

6 years agoRemove another C++11 construct (local struct) from UI code
Robin Gareus [Sat, 17 Mar 2018 19:00:08 +0000 (20:00 +0100)]
Remove another C++11 construct (local struct) from UI code

6 years agoRemove C++11isms (libptformat)
Robin Gareus [Sat, 17 Mar 2018 18:59:38 +0000 (19:59 +0100)]
Remove C++11isms (libptformat)

6 years agoFix wrong "_nth_" replacement in ba202cc09
Robin Gareus [Sat, 17 Mar 2018 17:17:25 +0000 (18:17 +0100)]
Fix wrong "_nth_" replacement in ba202cc09

6 years agoDon't alter, use and rely on selection for PT import
Robin Gareus [Sat, 17 Mar 2018 16:32:29 +0000 (17:32 +0100)]
Don't alter, use and rely on selection for PT import

6 years agoNO-OP: C++ify code
Robin Gareus [Sat, 17 Mar 2018 16:21:21 +0000 (17:21 +0100)]
NO-OP: C++ify code

* remove typdef for struct
* Remove {} struct initializer, use a dedicated c'tor
* scope variables

6 years agoNO-OP: whitespace
Robin Gareus [Sat, 17 Mar 2018 16:15:44 +0000 (17:15 +0100)]
NO-OP: whitespace

* distinguish comments and commented-out-code
* add space after function, before bracket

6 years agoPT import: Use multitrack MIDI import support based on ptformat update
Damien Zammit [Sat, 17 Mar 2018 11:41:44 +0000 (22:41 +1100)]
PT import: Use multitrack MIDI import support based on ptformat update

6 years agoptformat: Update to upstream master 4e653041
Damien Zammit [Sat, 17 Mar 2018 11:40:16 +0000 (22:40 +1100)]
ptformat: Update to upstream master 4e653041

- Better MIDI support

6 years agoStartup Dialog: A change to the monitor selection should trigger a write to config.
Ben Loftis [Fri, 16 Mar 2018 21:34:09 +0000 (16:34 -0500)]
Startup Dialog: A change to the monitor selection should trigger a write to config.

6 years agoadd support to reinstantiate deleted plugins
Nikolaus Gullotta [Fri, 16 Mar 2018 16:11:54 +0000 (11:11 -0500)]
add support to reinstantiate deleted plugins

6 years agoNO-OP: Convert Spaces to Tabs
Nikolaus Gullotta [Thu, 15 Mar 2018 18:36:25 +0000 (13:36 -0500)]
NO-OP: Convert Spaces to Tabs

6 years agodescription changes and stop jumping instructions if proc:isnil()
Nikolaus Gullotta [Wed, 14 Mar 2018 19:51:37 +0000 (14:51 -0500)]
description changes and stop jumping instructions if proc:isnil()

6 years agoExpose a few more PluginInsert methods to Lua
Robin Gareus [Fri, 16 Mar 2018 14:33:56 +0000 (15:33 +0100)]
Expose a few more PluginInsert methods to Lua

6 years agoGUI: create_vca() API change
Robin Gareus [Thu, 15 Mar 2018 19:25:14 +0000 (20:25 +0100)]
GUI: create_vca() API change

6 years agoVCA API-change: return created VCAs (handy for Lua scripts)
Robin Gareus [Thu, 15 Mar 2018 19:24:53 +0000 (20:24 +0100)]
VCA API-change: return created VCAs (handy for Lua scripts)

6 years agore-add plugin bypass state and move proc order writing closer to top
Nikolaus Gullotta [Wed, 14 Mar 2018 14:58:56 +0000 (09:58 -0500)]
re-add plugin bypass state and move proc order writing closer to top

6 years agoI said, LESS ugly, not more :)
Nikolaus Gullotta [Tue, 13 Mar 2018 19:51:47 +0000 (14:51 -0500)]
I said, LESS ugly, not more :)

6 years agoNow recalls plug-in ordering (also looks a bit less ugly hopefully?
Nikolaus Gullotta [Tue, 13 Mar 2018 19:26:27 +0000 (14:26 -0500)]
Now recalls plug-in ordering (also looks a bit less ugly hopefully?

6 years agoAdd Midnam for Roland TB-03
7890 [Sun, 4 Feb 2018 09:10:00 +0000 (10:10 +0100)]
Add Midnam for Roland TB-03

Named controllers according to MIDI implementation chart.
https://www.roland.com/global/support/by_product/tb-03/

6 years agoSort generic-midi bindings alphabetically
Robin Gareus [Tue, 13 Mar 2018 15:17:31 +0000 (16:17 +0100)]
Sort generic-midi bindings alphabetically

6 years agoNovation LaunchKey 49 bindings from Michael McLeod
Robin Gareus [Tue, 13 Mar 2018 14:55:33 +0000 (15:55 +0100)]
Novation LaunchKey 49 bindings from Michael McLeod

6 years agoSame for midi input enable button
Len Ovens [Tue, 13 Mar 2018 15:05:41 +0000 (08:05 -0700)]
Same for midi input enable button

6 years agoTrim and vca button should also be insensitive in strip aux mode
Len Ovens [Mon, 12 Mar 2018 23:02:45 +0000 (16:02 -0700)]
Trim and vca button should also be insensitive in strip aux mode

6 years agoOSC: group commands should feedback all off if no group
Len Ovens [Sat, 10 Mar 2018 21:58:31 +0000 (13:58 -0800)]
OSC: group commands should feedback all off if no group

6 years agoInitial checkin of mixer store script
Nikolaus Gullotta [Mon, 12 Mar 2018 20:31:33 +0000 (15:31 -0500)]
Initial checkin of mixer store script

6 years agoTweak logic in master-bus packing to make it clearer; will also minimize conflicts...
Ben Loftis [Sun, 11 Mar 2018 19:42:00 +0000 (14:42 -0500)]
Tweak logic in master-bus packing to make it clearer; will also minimize conflicts with Mixbus.

6 years agoOSC: fix /strip/hidden feedback excess
Len Ovens [Sat, 10 Mar 2018 21:06:17 +0000 (13:06 -0800)]
OSC: fix /strip/hidden feedback excess

6 years agoOSC: change group sharing to individual commands
Len Ovens [Sat, 10 Mar 2018 20:58:14 +0000 (12:58 -0800)]
OSC: change group sharing to individual commands
Send less feedback for group name and sharing

6 years agoOSC: set surface should reset custom mode
Len Ovens [Wed, 7 Mar 2018 20:36:56 +0000 (12:36 -0800)]
OSC: set surface should reset custom mode

6 years agoOSC: Display only strips controlled by selected VCA
Len Ovens [Wed, 7 Mar 2018 20:20:30 +0000 (12:20 -0800)]
OSC: Display only strips controlled by selected VCA

6 years agoOSC: add set VCA for slavable strip
Len Ovens [Wed, 7 Mar 2018 18:41:07 +0000 (10:41 -0800)]
OSC: add set VCA for slavable strip

6 years agoOSC: Added slaved feedback to select
Len Ovens [Wed, 7 Mar 2018 17:38:38 +0000 (09:38 -0800)]
OSC: Added slaved feedback to select

6 years agoAdd virtual slaved, slaved_to calls to stripable
Len Ovens [Wed, 7 Mar 2018 16:49:57 +0000 (08:49 -0800)]
Add virtual slaved, slaved_to calls to stripable

6 years agoOSC: check route exists
Len Ovens [Sun, 4 Mar 2018 23:46:09 +0000 (15:46 -0800)]
OSC: check route exists

6 years agoSafeguard against possibly invalid peak-requests
Robin Gareus [Wed, 7 Mar 2018 23:37:54 +0000 (00:37 +0100)]
Safeguard against possibly invalid peak-requests

It may happen that WaveView requests a range that is larger than
the data on disk.

If start > _length, cnt becomes negative and the function will throw
or segfault.

6 years agoAllow loadfile in non-rt scripts
Robin Gareus [Tue, 6 Mar 2018 20:46:35 +0000 (21:46 +0100)]
Allow loadfile in non-rt scripts

6 years agoInitial check in of EditorHook script transparent_regions.lua
Nikolaus Gullotta [Tue, 6 Mar 2018 16:45:55 +0000 (10:45 -0600)]
Initial check in of EditorHook script transparent_regions.lua

6 years agogeneric_midi: add proper handling of midi controll toggles
Jan Lentfer [Sat, 3 Mar 2018 13:04:12 +0000 (14:04 +0100)]
generic_midi: add proper handling of midi controll toggles

6 years agoUnrecognized plugins are stored in the tagfile (FromPlug); but only set the user_set...
Ben Loftis [Fri, 2 Mar 2018 23:35:18 +0000 (17:35 -0600)]
Unrecognized plugins are stored in the tagfile (FromPlug); but only set the user_set flag if the user actually edited it.

6 years agoAllow successive changes from the Gui to set tags.
Ben Loftis [Fri, 2 Mar 2018 21:57:58 +0000 (15:57 -0600)]
Allow successive changes from the Gui to set tags.

6 years agoRemove interpolation unit-test (fails to compile)
Robin Gareus [Fri, 2 Mar 2018 15:13:37 +0000 (16:13 +0100)]
Remove interpolation unit-test (fails to compile)

Ardour vari-speed does no longer use ARDOUR::CubicInterpolation
and LinearInterpolation was removed.
vari-speed is now using zita-resampler.

6 years agoFix gcc-4.2 OSX/PPC builds
Robin Gareus [Fri, 2 Mar 2018 15:11:21 +0000 (16:11 +0100)]
Fix gcc-4.2 OSX/PPC builds

ambiguity between
  reverse_iterator rend();
  const_reverse_iterator rend() const;

6 years agoTag_reset() should be FromPlug, not FromGui.
Ben Loftis [Fri, 2 Mar 2018 00:26:09 +0000 (18:26 -0600)]
Tag_reset() should be FromPlug, not FromGui.

6 years agoFix thinko in prior commit 7c5f1c.
Ben Loftis [Thu, 1 Mar 2018 15:09:50 +0000 (09:09 -0600)]
Fix thinko in prior commit 7c5f1c.

6 years agoPlugin-Tag improvements:
Ben Loftis [Thu, 1 Mar 2018 14:59:48 +0000 (08:59 -0600)]
Plugin-Tag improvements:
 Initialize LADSPA tags.
 Explicitly define behavior of tags provided by plugin, factory, or user.
 Store the plugin name in the tag-file, for easier user-submissions and bulk editing.

6 years agoYet another spelling mistake fix
Robin Gareus [Wed, 28 Feb 2018 19:48:49 +0000 (20:48 +0100)]
Yet another spelling mistake fix

6 years agoFix a typo in session-utils (thanks to IOhannes/debian for reporting)
Robin Gareus [Wed, 28 Feb 2018 19:02:13 +0000 (20:02 +0100)]
Fix a typo in session-utils (thanks to IOhannes/debian for reporting)

6 years agoFix a typo (thanks to IOhannes/debian for reporting)
Robin Gareus [Wed, 28 Feb 2018 19:02:01 +0000 (20:02 +0100)]
Fix a typo (thanks to IOhannes/debian for reporting)

6 years agoFix some GUI typos (thanks to IOhannes/debian for reporting)
Robin Gareus [Wed, 28 Feb 2018 19:01:11 +0000 (20:01 +0100)]
Fix some GUI typos (thanks to IOhannes/debian for reporting)

6 years agoOSC: add group sharing bit feedback
Len Ovens [Wed, 28 Feb 2018 04:55:30 +0000 (20:55 -0800)]
OSC: add group sharing bit feedback

6 years agoOSC: add group sharing bit setting
Len Ovens [Tue, 27 Feb 2018 19:55:49 +0000 (11:55 -0800)]
OSC: add group sharing bit setting

6 years agoOSC: display only strips in group.
Len Ovens [Tue, 27 Feb 2018 19:15:08 +0000 (11:15 -0800)]
OSC: display only strips in group.

6 years agoImplement grid line colors ( was: measure lines ). This restores measure lines to...
Ben Loftis [Tue, 27 Feb 2018 22:39:49 +0000 (16:39 -0600)]
Implement grid line colors ( was: measure lines ). This restores measure lines to a brighter color than beats.

6 years agoReinstate the ability to split regions while dragging playhead. I think this was...
Ben Loftis [Tue, 27 Feb 2018 19:08:40 +0000 (13:08 -0600)]
Reinstate the ability to split regions while dragging playhead.  I think this was unintentionally lost.

6 years agoRemove some redundant calls to snap_to(). get_preferred_edit_position() already...
Ben Loftis [Tue, 27 Feb 2018 14:55:17 +0000 (08:55 -0600)]
Remove some redundant calls to snap_to().  get_preferred_edit_position() already did it.

6 years agoShould be able to Split in range mode, with a selected track.
Ben Loftis [Tue, 27 Feb 2018 02:38:50 +0000 (20:38 -0600)]
Should be able to Split in range mode, with a selected track.

6 years agoFix bug: sequential pasting to the same time, but different tracks, would trigger...
Ben Loftis [Tue, 27 Feb 2018 01:40:24 +0000 (19:40 -0600)]
Fix bug: sequential pasting to the same time, but different tracks, would trigger paste offset.

6 years agoSwitch CDFrame grid to use MinSec ruler rather than Sample ruler.
Ben Loftis [Tue, 27 Feb 2018 00:52:28 +0000 (18:52 -0600)]
Switch CDFrame grid to use MinSec ruler rather than Sample ruler.

6 years agoRename SMPTE enum back to Timecode.
Ben Loftis [Tue, 27 Feb 2018 00:38:18 +0000 (18:38 -0600)]
Rename SMPTE enum back to Timecode.

6 years agoFix a rather large naming thinko: GridTypeSamples should be CDFrames.
Ben Loftis [Mon, 26 Feb 2018 23:02:24 +0000 (17:02 -0600)]
Fix a rather large naming thinko: GridTypeSamples should be CDFrames.

6 years agoAdd missing checkbox: Snap to Marker.
Ben Loftis [Mon, 26 Feb 2018 21:52:06 +0000 (15:52 -0600)]
Add missing checkbox: Snap to Marker.

6 years agoSnap-to-grid should not invalidate other snap options. This was a leftover behavior...
Ben Loftis [Sat, 24 Feb 2018 16:53:03 +0000 (10:53 -0600)]
Snap-to-grid should not invalidate other snap options. This was a leftover behavior from prior iterations of Snap+Grid.

6 years agoFixes for region_boundary_cache:
Ben Loftis [Sat, 24 Feb 2018 16:30:52 +0000 (10:30 -0600)]
Fixes for region_boundary_cache:
 If no region-snaps are defined, bail out before generating cache.
 Avoid potential overflow at max_samplepos+1
 Snap should continue to work beyond the End marker.

6 years agoNO-OP: whitespace
Robin Gareus [Sat, 24 Feb 2018 12:54:15 +0000 (13:54 +0100)]
NO-OP: whitespace

- remove trailing whitespace
- remove space after opening brackets and before closing brackets
- add space around operators
- do not use '//' for multi-line comments, do not use "//" on line-start
  to comment-out code breaking indenting (-Wmisleading-indent)
- do add a single space after comment-start /*{SPACE}... or //{SPACE}...
- reserve duplicate whitespace "  " for alignment, remove other duplicate
  whitespace
- use established "TODO" and "XXX" (highlighted keywords)
- remove equal-sign series "====" (those indicate merge conflicts)

6 years agoFix/amend a23a8ebcad7.
Robin Gareus [Sat, 24 Feb 2018 11:55:48 +0000 (12:55 +0100)]
Fix/amend a23a8ebcad7.

Updated condition to check for transport_rolling to include preroll and
count-in (speed is != 0 during pre-roll and count-in, but transport is not
actually rolling).

6 years agoTell the user why Insert/Remove Time failed, rather than fail silently.
Ben Loftis [Fri, 23 Feb 2018 20:37:32 +0000 (14:37 -0600)]
Tell the user why Insert/Remove Time failed, rather than fail silently.

6 years agoUse transport_stopped() instead of speed check.
Ben Loftis [Fri, 23 Feb 2018 19:59:46 +0000 (13:59 -0600)]
Use transport_stopped() instead of speed check.

6 years agocatch (incorrect) inclusion of non-MIDI related automation parameters in MidiSource...
Paul Davis [Fri, 23 Feb 2018 19:56:58 +0000 (14:56 -0500)]
catch (incorrect) inclusion of non-MIDI related automation parameters in MidiSource XML nodes

6 years agoDo not interpolate playhead when stopped.
Ben Loftis [Fri, 23 Feb 2018 19:48:29 +0000 (13:48 -0600)]
Do not interpolate playhead when stopped.
This fixes a bug where, for a few seconds after transport stops, the users zoom+panning would get hijacked by the follow_playhead behavior, because the playhead was still "hunting".

6 years agoRevert afedd2 and associated commits (method to generate initial tag file)
Ben Loftis [Fri, 23 Feb 2018 14:49:14 +0000 (08:49 -0600)]
Revert afedd2 and associated commits (method to generate initial tag file)

6 years agoStart versioning Mixbus keybindings files.
Ben Loftis [Fri, 23 Feb 2018 14:34:59 +0000 (08:34 -0600)]
Start versioning Mixbus keybindings files.

6 years agoAccommodate recently removed source(s) in our MSVC project (gtk2_ardour)
John Emmas [Thu, 22 Feb 2018 11:24:43 +0000 (11:24 +0000)]
Accommodate recently removed source(s) in our MSVC project (gtk2_ardour)

6 years agofix compilation on windows with VST support
Len Ovens [Thu, 22 Feb 2018 05:05:53 +0000 (21:05 -0800)]
fix compilation on windows with VST support

6 years agoOSC: fix compiler warning and catch possible errors
Len Ovens [Thu, 22 Feb 2018 03:24:18 +0000 (19:24 -0800)]
OSC: fix compiler warning and catch possible errors

6 years agofix compilation on linux with LXVST support
Paul Davis [Thu, 22 Feb 2018 04:20:53 +0000 (23:20 -0500)]
fix compilation on linux with LXVST support

6 years agoMethod to generate an initial tag file:
Ben Loftis [Thu, 22 Feb 2018 00:04:45 +0000 (18:04 -0600)]
Method to generate an initial tag file:
rm config/plugin_tags
touch config/init_plugin_tags

6 years agoOSC: Add session name change
Len Ovens [Tue, 20 Feb 2018 23:48:54 +0000 (15:48 -0800)]
OSC: Add session name change

6 years agouser-friendly hack/heuristic: if they edit a BBT non-duration clock to say zero beats...
Paul Davis [Tue, 20 Feb 2018 22:19:43 +0000 (17:19 -0500)]
user-friendly hack/heuristic: if they edit a BBT non-duration clock to say zero beats, act as if they had used 1

6 years agoRe-add fixed-color DSP-load indicator background
Robin Gareus [Tue, 20 Feb 2018 11:53:21 +0000 (12:53 +0100)]
Re-add fixed-color DSP-load indicator background

6 years agoRemove ArdourGauges -- since they're no longer actual Gauge widgets
Robin Gareus [Tue, 20 Feb 2018 11:22:11 +0000 (12:22 +0100)]
Remove ArdourGauges -- since they're no longer actual Gauge widgets

The Gauges devolved into Labels with dedicated formatting and UI-config
colors. Prevent ArdourButton to happen all over over again...

6 years agoUse standard Labels again.
Robin Gareus [Tue, 20 Feb 2018 11:15:29 +0000 (12:15 +0100)]
Use standard Labels again.

Since the Gauges become little more than text with colored background,
prepare their removal. If color is wanted, use named widget-style.