ardour.git
5 years agostop trying to guess plugin type, just ask the plugin during store-time
Nikolaus Gullotta [Fri, 17 Aug 2018 13:47:51 +0000 (08:47 -0500)]
stop trying to guess plugin type, just ask the plugin during store-time

5 years agoAdd missing Lua MacVST constant
Robin Gareus [Thu, 16 Aug 2018 22:59:46 +0000 (00:59 +0200)]
Add missing Lua MacVST constant

5 years agoPlugin Load Info: add a triangle indicator, tweak layout
Robin Gareus [Thu, 16 Aug 2018 00:16:09 +0000 (02:16 +0200)]
Plugin Load Info: add a triangle indicator, tweak layout

5 years agoCode styling: remove whitespaces between parenthesis
Térence Clastres [Wed, 15 Aug 2018 09:48:37 +0000 (11:48 +0200)]
Code styling: remove whitespaces between parenthesis

5 years agoAttempt to make some function's names more explicit
Térence Clastres [Mon, 13 Aug 2018 16:52:18 +0000 (18:52 +0200)]
Attempt to make some function's names more explicit

5 years agoFix track select right led wrong behaviour
Térence Clastres [Sat, 11 Aug 2018 22:44:28 +0000 (00:44 +0200)]
Fix track select right led wrong behaviour

5 years agoFix track buttons not working when selecting the last stripable
Térence Clastres [Sat, 11 Aug 2018 22:36:13 +0000 (00:36 +0200)]
Fix track buttons not working when selecting the last stripable

5 years agoTweak labels for plugin-load display
Robin Gareus [Wed, 15 Aug 2018 22:42:23 +0000 (00:42 +0200)]
Tweak labels for plugin-load display

5 years agoRemove some unused includes
Robin Gareus [Wed, 15 Aug 2018 22:23:05 +0000 (00:23 +0200)]
Remove some unused includes

5 years agoRemove plugin-manager's channel-filter
Robin Gareus [Wed, 15 Aug 2018 20:43:18 +0000 (22:43 +0200)]
Remove plugin-manager's channel-filter

For most plugin-standards it is useless. Variable I/O is not filtered,
and many plugins also come in mono-compatible stereo-variant.
The MIDI filter never worked reliably either.

5 years agoRemove ill-conceived Mixbus special case.
Robin Gareus [Wed, 15 Aug 2018 20:15:03 +0000 (22:15 +0200)]
Remove ill-conceived Mixbus special case.

Using "Audio I/O" prevents instruments being listed by default.

5 years agort:is_master(), not r:is_master()
Nikolaus Gullotta [Wed, 15 Aug 2018 15:54:56 +0000 (10:54 -0500)]
rt:is_master(), not r:is_master()

5 years agoadded a check for master, due to substituting pan control values for non master(...
Nikolaus Gullotta [Wed, 15 Aug 2018 15:43:06 +0000 (10:43 -0500)]
added a check for master, due to substituting pan control values for non master() routes

5 years agoMake authoring consistent
Nikolaus Gullotta [Wed, 15 Aug 2018 13:35:40 +0000 (08:35 -0500)]
Make authoring consistent

5 years agoKeep MSVC happy by specifying which version of 'floor()' we want (gtk2_ardour)
John Emmas [Wed, 15 Aug 2018 13:17:18 +0000 (14:17 +0100)]
Keep MSVC happy by specifying which version of 'floor()' we want (gtk2_ardour)

5 years agoTweak plugin DSP stats UI
Robin Gareus [Wed, 15 Aug 2018 11:17:14 +0000 (13:17 +0200)]
Tweak plugin DSP stats UI

* add Clear/Reset button
* increase opacity of min/max bar
* variable log-scale base
* vertically align error-bar

5 years agoAdd API to reset plugin timing stats
Robin Gareus [Wed, 15 Aug 2018 10:46:11 +0000 (12:46 +0200)]
Add API to reset plugin timing stats

5 years agoDraw Plugin DSP load bargraph
Robin Gareus [Wed, 15 Aug 2018 02:30:11 +0000 (04:30 +0200)]
Draw Plugin DSP load bargraph

5 years agoSave Mixer values in "C" locale.
Robin Gareus [Tue, 14 Aug 2018 22:53:19 +0000 (00:53 +0200)]
Save Mixer values in "C" locale.

5 years agoAdd a locale-independent float/double format Lua method
Robin Gareus [Tue, 14 Aug 2018 21:49:43 +0000 (23:49 +0200)]
Add a locale-independent float/double format Lua method

print(ARDOUR.LuaAPI.ascii_dtostr(1.5))

5 years agoLCXL: Reorganize knobs functions
Jan Lentfer [Mon, 13 Aug 2018 20:10:47 +0000 (22:10 +0200)]
LCXL: Reorganize knobs functions

    Make the knobs work as printed on the controller

    Holding the Device button will enable extra functionality:
    Send A -> Trim Control
    Pan -> Stereo Width

5 years agoLCXL: implement mute, solo and record arm toggles
Jan Lentfer [Sun, 12 Aug 2018 18:27:18 +0000 (20:27 +0200)]
LCXL: implement mute, solo and record arm toggles

    Holding the Device button and pressing one
    of mute, solo and record arm will toggle
    selected tracks (use Track Focus buttons)
    accordingly.

5 years agoFix missing enum case: Avoid a divide-by-0 crash.
Ben Loftis [Mon, 13 Aug 2018 17:55:19 +0000 (12:55 -0500)]
Fix missing enum case: Avoid a divide-by-0 crash.

5 years agoAdd pick-up mode and use it for knobs and faders
Térence Clastres [Fri, 10 Aug 2018 16:44:10 +0000 (18:44 +0200)]
Add pick-up mode and use it for knobs and faders
The pick up mode ignores new controller values until they match with the current setting of the stripable's ac

5 years agoinitial implementation of keyboard event forwarding for LXVST
Paul Davis [Sat, 11 Aug 2018 17:50:42 +0000 (13:50 -0400)]
initial implementation of keyboard event forwarding for LXVST

5 years agoLikely fix for jittery snapped-cursor when dragging a region.
Ben Loftis [Fri, 10 Aug 2018 15:43:38 +0000 (10:43 -0500)]
Likely fix for jittery snapped-cursor when dragging a region.

5 years agoAdd Launch Control XL icon
Térence Clastres [Thu, 9 Aug 2018 20:42:44 +0000 (22:42 +0200)]
Add Launch Control XL icon

5 years agoTurn off button led if it doesn't control a stripable
Térence Clastres [Thu, 9 Aug 2018 20:13:14 +0000 (22:13 +0200)]
Turn off button led if it doesn't control a stripable

5 years agoCall switch_bank() and use button_track_mode() within it to init required LEDs
Térence Clastres [Thu, 9 Aug 2018 18:53:50 +0000 (20:53 +0200)]
Call switch_bank() and use button_track_mode() within it to init required LEDs

5 years agoAdd reset method and use it during start-up/shutdown
Térence Clastres [Thu, 9 Aug 2018 18:10:40 +0000 (20:10 +0200)]
Add reset method and use it during start-up/shutdown

5 years agoAdd missing set_color(Off) in else statement
Térence Clastres [Thu, 9 Aug 2018 17:58:59 +0000 (19:58 +0200)]
Add missing set_color(Off) in else statement

5 years agoCorrect formatting for if/else statements
Térence Clastres [Thu, 9 Aug 2018 17:57:34 +0000 (19:57 +0200)]
Correct formatting for if/else statements

5 years agoFix wrong note number offset
Térence Clastres [Thu, 9 Aug 2018 17:30:29 +0000 (19:30 +0200)]
Fix wrong note number offset

5 years agoSet VCA Pane toggle sensitivity
Robin Gareus [Thu, 9 Aug 2018 16:52:20 +0000 (18:52 +0200)]
Set VCA Pane toggle sensitivity

5 years agoIgnore scroll-wheel while dragging notes.
Robin Gareus [Thu, 9 Aug 2018 16:11:18 +0000 (18:11 +0200)]
Ignore scroll-wheel while dragging notes.

Previously, dragging a MIDI note and scrolling with scroll wheel
(to change velocity) made the note jump back to location before drag.

5 years agoFix VCA pane being made visible when redisplaying tracks
Robin Gareus [Thu, 9 Aug 2018 15:28:54 +0000 (17:28 +0200)]
Fix VCA pane being made visible when redisplaying tracks

5 years agoBackport Mixbus' mixer shadow
Robin Gareus [Thu, 9 Aug 2018 15:10:22 +0000 (17:10 +0200)]
Backport Mixbus' mixer shadow

This is incomplete, pending backporting of Mixbus mixer_ui.h changes,
but this way it won't be forgotten.

And it might be handy to also include the shadow in Ardour's theme?!

5 years agoAdd method to show/hide VCA (and Mixbus) Mixer pane
Robin Gareus [Wed, 8 Aug 2018 20:42:12 +0000 (22:42 +0200)]
Add method to show/hide VCA (and Mixbus) Mixer pane

5 years agofix button note number map lookup
Paul Davis [Wed, 8 Aug 2018 15:21:15 +0000 (11:21 -0400)]
fix button note number map lookup

5 years agoProperly announce support for Vendor string
Robin Gareus [Wed, 8 Aug 2018 12:09:31 +0000 (14:09 +0200)]
Properly announce support for Vendor string

5 years agoLet VST plugins know that we implement plugin window resizing.
Stefan Westerfeld [Wed, 8 Aug 2018 11:25:04 +0000 (13:25 +0200)]
Let VST plugins know that we implement plugin window resizing.

5 years agoBundle Rotary Speaker with binaries
Robin Gareus [Tue, 7 Aug 2018 19:04:11 +0000 (21:04 +0200)]
Bundle Rotary Speaker with binaries

5 years agoemacs whitespace fixes
Paul Davis [Tue, 7 Aug 2018 14:49:33 +0000 (10:49 -0400)]
emacs whitespace fixes

5 years agoexplicitly drop connections from destructor
Paul Davis [Tue, 7 Aug 2018 14:49:15 +0000 (10:49 -0400)]
explicitly drop connections from destructor

5 years agodon't use an invalidator when connecting an EventLoop object's methods to a signal
Paul Davis [Tue, 7 Aug 2018 14:48:43 +0000 (10:48 -0400)]
don't use an invalidator when connecting an EventLoop object's methods to a signal

5 years agofix uninitialized pointer error in launch control code
Paul Davis [Tue, 7 Aug 2018 14:43:37 +0000 (10:43 -0400)]
fix uninitialized pointer error in launch control code

5 years agobetter debug message with correct namespace for EventLoop::invalidate_request()
Paul Davis [Tue, 7 Aug 2018 14:42:44 +0000 (10:42 -0400)]
better debug message with correct namespace for EventLoop::invalidate_request()

5 years agoCreate plugin-metadata folder for new config
Robin Gareus [Tue, 7 Aug 2018 14:25:43 +0000 (16:25 +0200)]
Create plugin-metadata folder for new config

5 years agoFix invalid C++11isms: don't use of enum as class or namespace
Robin Gareus [Tue, 7 Aug 2018 13:48:39 +0000 (15:48 +0200)]
Fix invalid C++11isms: don't use of enum as class or namespace

5 years agoFix C++98 compatibility error
Robin Gareus [Tue, 7 Aug 2018 13:44:30 +0000 (15:44 +0200)]
Fix C++98 compatibility error

'>' should be '> >' within a nested template argument list

5 years agoLCXL: add missing request-buffer factory.
Robin Gareus [Tue, 7 Aug 2018 13:40:30 +0000 (15:40 +0200)]
LCXL: add missing request-buffer factory.

5 years agoFix -Wnon-virtual-dtor
Robin Gareus [Tue, 7 Aug 2018 13:36:22 +0000 (15:36 +0200)]
Fix -Wnon-virtual-dtor

`struct ArdourSurface::LaunchControlXL::LED' has virtual functions
and accessible non-virtual destructor [-Wnon-virtual-dtor]

5 years agoFix invalid use of enum as class or namespace.
Robin Gareus [Tue, 7 Aug 2018 13:34:03 +0000 (15:34 +0200)]
Fix invalid use of enum as class or namespace.

5 years agoNO-OP: whitespace
Robin Gareus [Tue, 7 Aug 2018 13:30:26 +0000 (15:30 +0200)]
NO-OP: whitespace

5 years agoAdd Launch Control XL control surface support
Térence Clastres [Tue, 7 Aug 2018 01:41:12 +0000 (03:41 +0200)]
Add Launch Control XL control surface support

5 years agoFix track rename oddity, don't skip over current name.
Robin Gareus [Mon, 6 Aug 2018 17:52:51 +0000 (19:52 +0200)]
Fix track rename oddity, don't skip over current name.

ensure_track_or_route_name() can produce the current name.

This fixes the following issue:
Create a two audio tracks. Their names are "Audio" and "Audio 1".
Try to rename "Audio 1" to "Audio", its name becomes "Audio 2".

5 years agoremove debug output file!
Paul Davis [Sun, 5 Aug 2018 05:10:41 +0000 (01:10 -0400)]
remove debug output file!

5 years agoFix preference ID for MIDI-input
Robin Gareus [Sat, 4 Aug 2018 21:29:27 +0000 (23:29 +0200)]
Fix preference ID for MIDI-input

5 years agoUnify support chat channel.
Robin Gareus [Sat, 4 Aug 2018 19:33:21 +0000 (21:33 +0200)]
Unify support chat channel.

5 years agoFix Italian translation
Robin Gareus [Fri, 3 Aug 2018 17:54:00 +0000 (19:54 +0200)]
Fix Italian translation

Context separator `|` is for original messages only.

5 years agoprotect the_instrument() on MIDI tracks, needs a lot more work.
Nikolaus Gullotta [Thu, 2 Aug 2018 20:59:23 +0000 (15:59 -0500)]
protect the_instrument() on MIDI tracks, needs a lot more work.

5 years agoAdd method to conveniently retrieve a sorted routelist
Robin Gareus [Thu, 2 Aug 2018 19:02:31 +0000 (21:02 +0200)]
Add method to conveniently retrieve a sorted routelist

5 years agoMore consistent dialog window titles (Recall Mixer Settings).
Ben Loftis [Thu, 2 Aug 2018 18:54:31 +0000 (13:54 -0500)]
More consistent dialog window titles (Recall Mixer Settings).

5 years agouse ordered list of routes and fix some dialog box names
Nikolaus Gullotta [Thu, 2 Aug 2018 18:37:01 +0000 (13:37 -0500)]
use ordered list of routes and fix some dialog box names

5 years agooption to create groups if necessary and add order var to dialog table for future
Nikolaus Gullotta [Thu, 2 Aug 2018 16:03:11 +0000 (11:03 -0500)]
option to create groups if necessary and add order var to dialog table for future

5 years agoRemove "This is a script" note on some Lua dialogs.
Ben Loftis [Thu, 2 Aug 2018 15:35:54 +0000 (10:35 -0500)]
Remove "This is a script" note on some Lua dialogs.

5 years agoremove redundant checks in wake of 980de904e
Nikolaus Gullotta [Thu, 2 Aug 2018 14:17:54 +0000 (09:17 -0500)]
remove redundant checks in wake of 980de904e

5 years agoAdd scrollbar to LuaDialog
Robin Gareus [Thu, 2 Aug 2018 13:17:38 +0000 (15:17 +0200)]
Add scrollbar to LuaDialog

5 years agoLua-dialog: allow to set folder for file to load/save.
Robin Gareus [Wed, 1 Aug 2018 22:53:18 +0000 (00:53 +0200)]
Lua-dialog: allow to set folder for file to load/save.

When a non-existent file-path is given, GTK falls back to show the
containing folder and automatically goes up to parent folders until
the root.

This removes the explicit file/folder check and delegates the
behavior to GTK, allowing to set a folder for a non-existent file.

5 years agoimplement fetch_valid_settings_file() to avoid the user having to see stub files
Nikolaus Gullotta [Wed, 1 Aug 2018 19:42:02 +0000 (14:42 -0500)]
implement fetch_valid_settings_file() to avoid the user having to see stub files

5 years agomore dialog formatting changes
Nikolaus Gullotta [Wed, 1 Aug 2018 17:14:08 +0000 (12:14 -0500)]
more dialog formatting changes

5 years agouse is_nonbypassable(), is_channelstrip(), and display_to_user() to protect critical...
Nikolaus Gullotta [Wed, 1 Aug 2018 17:13:59 +0000 (12:13 -0500)]
use is_nonbypassable(), is_channelstrip(), and display_to_user() to protect critical plugins, and add option to remove sends

5 years agoFP2: Fix banking in NavChannel mode.
Ben Loftis [Wed, 1 Aug 2018 16:34:56 +0000 (11:34 -0500)]
FP2: Fix banking in NavChannel mode.

5 years agoAlso expose PI::enabled()
Robin Gareus [Wed, 1 Aug 2018 15:03:23 +0000 (17:03 +0200)]
Also expose PI::enabled()

5 years agoFix+extend PluginInsert Lua bindings
Robin Gareus [Wed, 1 Aug 2018 14:55:58 +0000 (16:55 +0200)]
Fix+extend PluginInsert Lua bindings

5 years agoedit dialog formatting
Nikolaus Gullotta [Wed, 1 Aug 2018 14:12:42 +0000 (09:12 -0500)]
edit dialog formatting

5 years agoPrepare for non-bypassable plugins (Mixbus channelstrip)
Robin Gareus [Tue, 31 Jul 2018 20:24:15 +0000 (22:24 +0200)]
Prepare for non-bypassable plugins (Mixbus channelstrip)

5 years agoincorporate program name into save and recalling
Nikolaus Gullotta [Tue, 31 Jul 2018 19:40:07 +0000 (14:40 -0500)]
incorporate program name into save and recalling

5 years agocheck-in of Lua script snippet to determine what program is running
Nikolaus Gullotta [Tue, 31 Jul 2018 19:13:34 +0000 (14:13 -0500)]
check-in of Lua script snippet to determine what program is running

5 years agosplit store_recall_mixer into two files: mixer_settings_store.lua
Nikolaus Gullotta [Tue, 31 Jul 2018 17:57:22 +0000 (12:57 -0500)]
split store_recall_mixer into two files: mixer_settings_store.lua
and
mixer_settings_recall.lua

also changed a lot of dialog formatting and configure global and local
paths

5 years agoFix mismatched delete/delete[]
Robin Gareus [Tue, 31 Jul 2018 14:54:08 +0000 (16:54 +0200)]
Fix mismatched delete/delete[]

5 years agoTweak FP2/2018 image
Robin Gareus [Tue, 31 Jul 2018 13:53:31 +0000 (15:53 +0200)]
Tweak FP2/2018 image

5 years agoTweak FP2/2018 Ctrl-Surface UI
Robin Gareus [Tue, 31 Jul 2018 13:43:21 +0000 (15:43 +0200)]
Tweak FP2/2018 Ctrl-Surface UI

5 years agoTweak UI for Faderport2/2018
Robin Gareus [Tue, 31 Jul 2018 13:24:10 +0000 (15:24 +0200)]
Tweak UI for Faderport2/2018

5 years agoFix Faderport8/16 support in the wake of FP2
Robin Gareus [Tue, 31 Jul 2018 13:23:49 +0000 (15:23 +0200)]
Fix Faderport8/16 support in the wake of FP2

5 years agoAdd support for PreSonus Faderport2 (2018 model)
Ben Loftis [Tue, 31 Jul 2018 12:46:20 +0000 (14:46 +0200)]
Add support for PreSonus Faderport2 (2018 model)

This is a cleaned-up, foward-ported version of Ben's
Mixbus patch (d6694c5b31).

5 years agoCleanup trigger_script_by_name() debug/error messages
Robin Gareus [Tue, 31 Jul 2018 00:00:27 +0000 (02:00 +0200)]
Cleanup trigger_script_by_name() debug/error messages

5 years agoExpose Config and Cache dirs to Lua
Robin Gareus [Mon, 30 Jul 2018 21:35:25 +0000 (23:35 +0200)]
Expose Config and Cache dirs to Lua

usage example:
print (ARDOUR.user_config_directory(-1), ARDOUR.user_cache_directory(""))
print (ARDOUR.LuaAPI.build_filename(ARDOUR.user_config_directory(-1), "test.txt"))

5 years agoFix "session dirty" flicker during session-setup.
Robin Gareus [Mon, 30 Jul 2018 15:32:03 +0000 (17:32 +0200)]
Fix "session dirty" flicker during session-setup.

Loading a session includes setting the sync-source, this is queued
to happen during process(), which may or may not be while Session::Loading
is still set.

This change only catches the common case: internal transport, no slave.

5 years agoIgnore state-changes during deletion
Robin Gareus [Mon, 30 Jul 2018 15:28:47 +0000 (17:28 +0200)]
Ignore state-changes during deletion

Closing a session removes tracks, which triggers set_dirty().
There is no need to inform the UI or change the session's state.

5 years agoRuler visibility is not really a session-prop.
Robin Gareus [Mon, 30 Jul 2018 14:18:41 +0000 (16:18 +0200)]
Ruler visibility is not really a session-prop.

This fixes an issue with the session being marked as dirty without
any actual change. Also this method indirectly called during session-load
when the UI state is restored, a potential race with "Session::Loading"
being unset.

5 years agoFix processor invalidation issue with substiuted routes
Nikolaus Gullotta [Mon, 30 Jul 2018 14:16:26 +0000 (09:16 -0500)]
Fix processor invalidation issue with substiuted routes

5 years agoAmend VST "MasterUpdateDisplay", allow UI(s) to idle-update.
Robin Gareus [Mon, 30 Jul 2018 13:58:29 +0000 (15:58 +0200)]
Amend VST "MasterUpdateDisplay", allow UI(s) to idle-update.

5 years agoFix VST callback and crash for some plugins
Robin Gareus [Mon, 30 Jul 2018 13:41:52 +0000 (15:41 +0200)]
Fix VST callback and crash for some plugins

Apparently "MasterUpdateDisplay" is for plugins to notify the host about
state changes -- and not notficy the plugin's own UI.

see also
http://mixbus.harrisonconsoles.com/forum/thread-6229-post-37127.html

5 years agoadd group_name fallback for adding routes to groups
Nikolaus Gullotta [Fri, 27 Jul 2018 19:19:43 +0000 (14:19 -0500)]
add group_name fallback for adding routes to groups

5 years agowhitespace editing and comments + add ability to substitute routes at will
Nikolaus Gullotta [Fri, 27 Jul 2018 18:56:39 +0000 (13:56 -0500)]
whitespace editing and comments + add ability to substitute routes at will

5 years agoAllow to disable smart ruler changes.
Robin Gareus [Thu, 26 Jul 2018 22:25:42 +0000 (00:25 +0200)]
Allow to disable smart ruler changes.

5 years agoNO-OP: clean up whitespace, separate methods
Robin Gareus [Thu, 26 Jul 2018 22:25:01 +0000 (00:25 +0200)]
NO-OP: clean up whitespace, separate methods

5 years agonew_grid: The Return of the snap_to_X functions.
Ben Loftis [Thu, 26 Jul 2018 19:23:59 +0000 (14:23 -0500)]
new_grid:  The Return of the snap_to_X functions.
 We no longer assume that Snap always uses the visible ruler lines.
 If you want to snap to the grid, and ignore the users zoom scale, use SnapPref::SnapToGrid_Unscaled
 This fixes 2 (known) oversights: "snap region(s) to grid" and "regions whose start are left of the canvas edge".

5 years agoPrepare types for new grid
Robin Gareus [Thu, 26 Jul 2018 22:27:44 +0000 (00:27 +0200)]
Prepare types for new grid