ardour.git
5 years agoInitial changes needed for building Mixbus (with MSVC) as version 5
John Emmas [Mon, 10 Sep 2018 06:14:59 +0000 (07:14 +0100)]
Initial changes needed for building Mixbus (with MSVC) as version 5

(Mixbus itself will probably need extra changes)

5 years agoAdd missing cast (NoteButton to TrackButton)
Robin Gareus [Thu, 6 Sep 2018 21:03:55 +0000 (23:03 +0200)]
Add missing cast (NoteButton to TrackButton)

5 years agoFix an invalid conversion from 'int' to non-scalar.
Robin Gareus [Thu, 6 Sep 2018 17:28:45 +0000 (19:28 +0200)]
Fix an invalid conversion from 'int' to non-scalar.

5 years agoLCXL: Refactor code to use boost::shared_ptr
Jan Lentfer [Mon, 3 Sep 2018 12:53:59 +0000 (14:53 +0200)]
LCXL: Refactor code to use boost::shared_ptr

5 years agoFix shared_ptr initialization
Robin Gareus [Mon, 3 Sep 2018 11:38:37 +0000 (13:38 +0200)]
Fix shared_ptr initialization

error: no matching function for call to
 'boost::shared_ptr<ArdourSurface::Push2::Button>::shared_ptr(int)'

5 years agouse boost::shared_ptr<> to manage Button/Pad lifetimes in Push2 code
Paul Davis [Sun, 2 Sep 2018 17:23:36 +0000 (13:23 -0400)]
use boost::shared_ptr<> to manage Button/Pad lifetimes in Push2 code

5 years agoRestore mixer scroll offset after spill
Robin Gareus [Sat, 1 Sep 2018 19:32:57 +0000 (21:32 +0200)]
Restore mixer scroll offset after spill

5 years agoLCXL: Fix check if ports exist
Térence Clastres [Thu, 30 Aug 2018 20:36:59 +0000 (22:36 +0200)]
LCXL: Fix check if ports exist

5 years agoP2: Fix check if ports exist
Robin Gareus [Thu, 30 Aug 2018 20:28:31 +0000 (22:28 +0200)]
P2: Fix check if ports exist

5 years agoLCXL: Fix two crashes
Jan Lentfer [Sun, 26 Aug 2018 15:58:05 +0000 (17:58 +0200)]
LCXL: Fix two crashes

    * fix a crash when accessing VCAs
    * fix a crash when being at the end
      of available stripables
    * unify for-loop constructs

5 years agoClarify video-export dialog phrases
Robin Gareus [Wed, 29 Aug 2018 17:24:43 +0000 (19:24 +0200)]
Clarify video-export dialog phrases

5 years agoIncrease alsa-backend timeout
Robin Gareus [Wed, 29 Aug 2018 17:23:53 +0000 (19:23 +0200)]
Increase alsa-backend timeout

Following discussion (https://community.ardour.org/node/15805 and
#ardour IRC) test initial disconnect due to timeout after a cold-boot.

5 years agoLCXL: add visual feedback for sec button functions
Jan Lentfer [Fri, 24 Aug 2018 11:29:01 +0000 (13:29 +0200)]
LCXL: add visual feedback for sec button functions

    also add some little fixes in regard
    to fixing master fader on controller
    fader no 8

5 years agoMonitor should be *really* unselectable
Paul Davis [Fri, 24 Aug 2018 22:25:48 +0000 (18:25 -0400)]
Monitor should be *really* unselectable

5 years agono reason for 2 template types in CoreSelection::select_adjacent_stripable()
Paul Davis [Fri, 24 Aug 2018 22:22:56 +0000 (18:22 -0400)]
no reason for 2 template types in CoreSelection::select_adjacent_stripable()

5 years agoFix unbound methods, add options, arrange dialog
Maxime Lecoq [Fri, 24 Aug 2018 19:16:48 +0000 (21:16 +0200)]
Fix unbound methods, add options, arrange dialog

Remove is_channelstrip() and is_nonbypassable() calls.
Add options: solo, pan, pan width, gain automation, pan automation and pan width automation.
Add radio buttons for sends, inserts and plug-ins.
Arrange prompt dialog: list, names and default values (now false to avoid unwanted behavior).
Add my name to the authors list.

5 years agoa couple more explanatory comments, and rename a variable to be more clear
Paul Davis [Fri, 24 Aug 2018 18:17:14 +0000 (14:17 -0400)]
a couple more explanatory comments, and rename a variable to be more clear

5 years agofix comment (method is now a template)
Paul Davis [Fri, 24 Aug 2018 18:11:00 +0000 (14:11 -0400)]
fix comment (method is now a template)

5 years agoadd shift-alt-(up|down) to editor to navigate VCAs with up/down
Paul Davis [Fri, 24 Aug 2018 18:03:56 +0000 (14:03 -0400)]
add shift-alt-(up|down) to editor to navigate VCAs with up/down

5 years agouse new CoreSelection methods in editor and mixer
Paul Davis [Fri, 24 Aug 2018 18:03:34 +0000 (14:03 -0400)]
use new CoreSelection methods in editor and mixer

5 years agoadd new methods to ARDOUR::CoreSelection to centralize selecting next/prev stripables
Paul Davis [Fri, 24 Aug 2018 18:03:04 +0000 (14:03 -0400)]
add new methods to ARDOUR::CoreSelection to centralize selecting next/prev stripables

5 years agoCleanup various design patterns.
Robin Gareus [Fri, 24 Aug 2018 14:53:06 +0000 (16:53 +0200)]
Cleanup various design patterns.

* do not use implicit bool-to-int-cast
* avoid C++11 member initialization in header
* always use set and access methods, remove public variable

5 years agoprovide mixer-specific bindings for Alt-(up|down) to match editor
Paul Davis [Fri, 24 Aug 2018 14:07:55 +0000 (10:07 -0400)]
provide mixer-specific bindings for Alt-(up|down) to match editor

5 years agoinvert-selection: if tracks are selected, invert selection at that level, unless...
Paul Davis [Fri, 24 Aug 2018 13:50:37 +0000 (09:50 -0400)]
invert-selection: if tracks are selected, invert selection at that level, unless in internal edit mode

5 years agomove select-all-tracks,deselect-all,invert-selection to be global actions (and bindings)
Paul Davis [Fri, 24 Aug 2018 13:42:43 +0000 (09:42 -0400)]
move select-all-tracks,deselect-all,invert-selection to be global actions (and bindings)

5 years agoRevert "LCXL: Fast skip to first/last stripable with left/right long press"
Térence Clastres [Wed, 22 Aug 2018 20:35:54 +0000 (22:35 +0200)]
Revert "LCXL: Fast skip to first/last stripable with left/right long press"

This reverts commit 27b05f4d8dcafa2901c6c60a2c3721017cf642ef.

5 years agoLCXL: Make knobs' leds' color constant when controlling master bus
Térence Clastres [Sun, 19 Aug 2018 16:38:42 +0000 (18:38 +0200)]
LCXL: Make knobs' leds' color constant when controlling master bus

5 years agoLCXL: track select: change from 1 strip at a time to whole bank
Térence Clastres [Sun, 19 Aug 2018 16:27:54 +0000 (18:27 +0200)]
LCXL: track select: change from 1 strip at a time to whole bank

5 years agoLCXL: Mixbus secondary function for Ctrl buttons
Jan Lentfer [Mon, 20 Aug 2018 19:43:21 +0000 (21:43 +0200)]
LCXL: Mixbus secondary function for Ctrl buttons

    In Mixbus holding Device and pressing
    one (or many) of the Track Control buttons
    will toggle the Master Assignment for the
    corresponding track

5 years agoLCXL: Add some Mixbus functionality
Jan Lentfer [Mon, 20 Aug 2018 18:41:02 +0000 (20:41 +0200)]
LCXL: Add some Mixbus functionality

    in the mixer mode secondary functions
    (Device/Hold) of knobs per track
    will map as follows:

    Send A - trim (same as for Ardour)
    Send B - HPF Freq
    PAN    - Compressor threshold

5 years agoLCXL: save assignment of 8th fader in config
Jan Lentfer [Sun, 19 Aug 2018 19:03:49 +0000 (21:03 +0200)]
LCXL: save assignment of 8th fader in config

5 years agoLCXL: fix some more typos
Jan Lentfer [Mon, 20 Aug 2018 09:47:02 +0000 (11:47 +0200)]
LCXL: fix some more typos

5 years agoLCXL: Fast skip to first/last stripable with left/right long press
Térence Clastres [Sat, 18 Aug 2018 23:37:35 +0000 (01:37 +0200)]
LCXL: Fast skip to first/last stripable with left/right long press

5 years agoLCXL: fix crash when disabling the surface while having the GUI open
Térence Clastres [Sat, 18 Aug 2018 22:27:12 +0000 (00:27 +0200)]
LCXL: fix crash when disabling the surface while having the GUI open

5 years agoLCXL: Add configuration option for handling master
Jan Lentfer [Sat, 18 Aug 2018 19:52:43 +0000 (21:52 +0200)]
LCXL: Add configuration option for handling master

    In the Controller's settings you can now
    choose between two operation modes:
    1)  8 track mode
    2)  7 track plus master mode

    In case 2) fader 8 is fixed on the master

5 years agoAdd knob leds and refine colors
Térence Clastres [Tue, 14 Aug 2018 00:59:58 +0000 (02:59 +0200)]
Add knob leds and refine colors

5 years agoLCXL: fix typos in function names
Jan Lentfer [Thu, 16 Aug 2018 09:20:23 +0000 (11:20 +0200)]
LCXL: fix typos in function names

5 years agoLCXL: add isolate solo as secondary function
Jan Lentfer [Wed, 15 Aug 2018 20:22:36 +0000 (22:22 +0200)]
LCXL: add isolate solo as secondary function

    Holding the Device button and press one
    of the Track Focus button will toggle
    solo isolation on the correspongind track

5 years agoLCXL: split track focus button and led code
Jan Lentfer [Wed, 15 Aug 2018 20:19:13 +0000 (22:19 +0200)]
LCXL: split track focus button and led code

5 years agoNO-OP: whitespace
Robin Gareus [Sat, 18 Aug 2018 12:10:47 +0000 (14:10 +0200)]
NO-OP: whitespace

5 years agoInitialize uninitialized variable
Robin Gareus [Sat, 18 Aug 2018 12:09:39 +0000 (14:09 +0200)]
Initialize uninitialized variable

5 years agouse paramer_count position as index, instead of control-port position
Nikolaus Gullotta [Fri, 17 Aug 2018 19:24:16 +0000 (14:24 -0500)]
use paramer_count position as index, instead of control-port position

5 years agocomment out old code remnant that is causing crash on mac.
Nikolaus Gullotta [Fri, 17 Aug 2018 16:23:07 +0000 (11:23 -0500)]
comment out old code remnant that is causing crash on mac.

5 years agoadd mac_vst_plugin_info() to list_plugins() and new_plugin_info()
Nikolaus Gullotta [Fri, 17 Aug 2018 16:22:16 +0000 (11:22 -0500)]
add mac_vst_plugin_info() to list_plugins() and new_plugin_info()

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".