ardour.git
5 years agoconsolidate all transport masters on a SafeTime object that is a member of the Transp...
Paul Davis [Tue, 25 Sep 2018 21:46:59 +0000 (17:46 -0400)]
consolidate all transport masters on a SafeTime object that is a member of the TransportMaster base class.

This seems to have broken some aspects of chasing/locking

5 years agochange type of MIDI::Parser::position signal to include timestamp
Paul Davis [Tue, 25 Sep 2018 21:46:49 +0000 (17:46 -0400)]
change type of MIDI::Parser::position signal to include timestamp

5 years agomore objectification for SafeTime
Paul Davis [Tue, 25 Sep 2018 15:53:52 +0000 (11:53 -0400)]
more objectification for SafeTime

5 years agoinitial hacks towards a truly thread-safe SafeTime object, using boost::atomic
Paul Davis [Mon, 24 Sep 2018 21:34:25 +0000 (17:34 -0400)]
initial hacks towards a truly thread-safe SafeTime object, using boost::atomic

5 years agoVST-state, set/restore program before loading chunk.
Robin Gareus [Tue, 25 Sep 2018 18:08:01 +0000 (20:08 +0200)]
VST-state, set/restore program before loading chunk.

This may fix some issues with VST state being restored incorrectly
when a plugin-preset was loaded.

5 years agoAdd script to exercise PI-stats interface
Robin Gareus [Tue, 25 Sep 2018 16:50:14 +0000 (18:50 +0200)]
Add script to exercise PI-stats interface

5 years agoAdd Lua bindings to query DSP load statistics
Robin Gareus [Tue, 25 Sep 2018 15:47:22 +0000 (17:47 +0200)]
Add Lua bindings to query DSP load statistics

5 years agoFix/tweak various DSP-load window issues
Robin Gareus [Tue, 25 Sep 2018 15:46:58 +0000 (17:46 +0200)]
Fix/tweak various DSP-load window issues

* update when window is visible and session-changes
* drop connections to prevent multiple callbacks
* catch session-deletion, skip updates

5 years agoAccommodate newly introduced source(s) in our MSVC project (gtk2_ardour)
John Emmas [Tue, 25 Sep 2018 12:04:43 +0000 (13:04 +0100)]
Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)

5 years agoAdd a reset-all DSP-load-stats button
Robin Gareus [Mon, 24 Sep 2018 23:00:58 +0000 (01:00 +0200)]
Add a reset-all DSP-load-stats button

5 years agoAdd a window that shows DSP usage of all plugins
Robin Gareus [Mon, 24 Sep 2018 22:12:42 +0000 (00:12 +0200)]
Add a window that shows DSP usage of all plugins

Currently hidden, use
  Editor:access_action("Window", "toggle-plugin-dsp-load")

5 years agoSeparate Plugin DSP load UI implementation
Robin Gareus [Mon, 24 Sep 2018 21:20:15 +0000 (23:20 +0200)]
Separate Plugin DSP load UI implementation

5 years agorearrange parts of transport masters dialog, and fix tooltip issue
Paul Davis [Mon, 24 Sep 2018 19:46:11 +0000 (15:46 -0400)]
rearrange parts of transport masters dialog, and fix tooltip issue

5 years agoremove debug output
Paul Davis [Sun, 23 Sep 2018 17:55:26 +0000 (13:55 -0400)]
remove debug output

5 years agoremove debug output
Paul Davis [Sun, 23 Sep 2018 17:40:06 +0000 (13:40 -0400)]
remove debug output

5 years agovarious tweaks to the transport masters dialog
Paul Davis [Sun, 23 Sep 2018 16:59:18 +0000 (12:59 -0400)]
various tweaks to the transport masters dialog

5 years agorename transport masters dialog -> window
Paul Davis [Sun, 23 Sep 2018 16:58:53 +0000 (12:58 -0400)]
rename transport masters dialog -> window

5 years agoremove debug output
Paul Davis [Sun, 23 Sep 2018 16:57:52 +0000 (12:57 -0400)]
remove debug output

5 years agodefer creating a visibility tracker for a window until the window is mapped
Paul Davis [Sun, 23 Sep 2018 16:57:31 +0000 (12:57 -0400)]
defer creating a visibility tracker for a window until the window is mapped

Without this, the visibility tracker will report that the window is not visible at startup, and
this overrides the XML _visible property which denotes that the window should be made visible

5 years agoemit property change for "collect" on a TransportMaster
Paul Davis [Sun, 23 Sep 2018 16:54:34 +0000 (12:54 -0400)]
emit property change for "collect" on a TransportMaster

5 years agono more ProxyTemporary member of ArdourWindow - all such windows should be wrapped...
Paul Davis [Sun, 23 Sep 2018 16:53:53 +0000 (12:53 -0400)]
no more ProxyTemporary member of ArdourWindow - all such windows should be wrapped in an explicit proxy in ARDOUR_UI

5 years agoAccommodate newly added/renamed source(s) in our MSVC project (libardour)
John Emmas [Sat, 22 Sep 2018 15:54:51 +0000 (16:54 +0100)]
Accommodate newly added/renamed source(s) in our MSVC project (libardour)

5 years agoAccommodate newly introduced source(s) in our MSVC project (gtk2_ardour)
John Emmas [Sat, 22 Sep 2018 15:54:04 +0000 (16:54 +0100)]
Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)

5 years agoLCXL: fix off by one cause by fader8master
Jan Lentfer [Sat, 22 Sep 2018 09:10:45 +0000 (11:10 +0200)]
LCXL: fix off by one cause by fader8master

5 years agoLCXL: Fix a crash on exit
Jan Lentfer [Fri, 21 Sep 2018 07:25:17 +0000 (09:25 +0200)]
LCXL: Fix a crash on exit

5 years agono more slave.h
Paul Davis [Sat, 22 Sep 2018 13:03:50 +0000 (09:03 -0400)]
no more slave.h

5 years agouse abs() instead of fabs() on integers
Paul Davis [Sat, 22 Sep 2018 12:51:58 +0000 (08:51 -0400)]
use abs() instead of fabs() on integers

5 years agoRevert "MSVC complains because we're using 'fabs()' to compare 2 x integers"
Paul Davis [Sat, 22 Sep 2018 12:50:16 +0000 (08:50 -0400)]
Revert "MSVC complains because we're using 'fabs()' to compare 2 x integers"

You can't remove an abs() conversion and keep the same semantics.

This reverts commit d89b8cc0ad01eaf59dc605939628003dfa89899d.

5 years agoremove old slave files
Paul Davis [Sat, 22 Sep 2018 12:49:24 +0000 (08:49 -0400)]
remove old slave files

5 years agoReplace a namespace brace deleted by accident
John Emmas [Sat, 22 Sep 2018 08:08:44 +0000 (09:08 +0100)]
Replace a namespace brace deleted by accident

5 years agoRemove some namespace ambiguity
John Emmas [Sat, 22 Sep 2018 07:48:41 +0000 (08:48 +0100)]
Remove some namespace ambiguity

There are a couple of places where we're using both MIDI namespace as well as ARDOUR namespace (both of which declare 'pframes_t)

5 years agoRemove 2 x unneeded functions in 'SlaveSessionProxy'
John Emmas [Sat, 22 Sep 2018 07:44:42 +0000 (08:44 +0100)]
Remove 2 x unneeded functions in 'SlaveSessionProxy'

I assume they're not needed now because their declarations got removed in commit #e6915e01de

5 years agoMSVC complains because we're using 'fabs()' to compare 2 x integers
John Emmas [Sat, 22 Sep 2018 07:39:34 +0000 (08:39 +0100)]
MSVC complains because we're using 'fabs()' to compare 2 x integers

5 years agoFix typo: emit signal (don't construct an object)
Robin Gareus [Fri, 21 Sep 2018 19:35:28 +0000 (21:35 +0200)]
Fix typo: emit signal (don't construct an object)

5 years agoFix --no-nls (5/5), i18n.h include order in gtk2_ardour
Robin Gareus [Fri, 21 Sep 2018 17:05:57 +0000 (19:05 +0200)]
Fix --no-nls (5/5), i18n.h include order in gtk2_ardour

5 years agoFix --no-nls (4/5), i18n include order in libs/*
Robin Gareus [Fri, 21 Sep 2018 17:05:39 +0000 (19:05 +0200)]
Fix --no-nls (4/5), i18n include order in libs/*

"i18n.h" needs to be included last (after any includes that may indirectly
pull in getext or libintl etc)

5 years agoFix --no-nls (3/5), prefer #if in gtk2_ardour
Robin Gareus [Fri, 21 Sep 2018 17:04:06 +0000 (19:04 +0200)]
Fix --no-nls (3/5), prefer #if in gtk2_ardour

This is for consistency with system-wide gettext.h which is used
by some 3rd party libs. system-wide gettext uses `#if ENABLE_NLS`,
not #ifdef

5 years agoFix --no-nls (2/5), prefer #if in libs
Robin Gareus [Fri, 21 Sep 2018 17:03:33 +0000 (19:03 +0200)]
Fix --no-nls (2/5), prefer #if in libs

This is for consistency with system-wide gettext.h which is used
by some 3rd party libs. system-wide gettext uses `#if ENABLE_NLS`,
not #ifdef

5 years agoFix --no-nls (1/5): ENABLE_NLS = 1/0 config
Robin Gareus [Fri, 21 Sep 2018 17:00:33 +0000 (19:00 +0200)]
Fix --no-nls (1/5): ENABLE_NLS = 1/0 config

system-wide gettext uses `#if ENABLE_NLS`, not #ifdef

5 years agoFix metronome emphasis preference (#7666)
Robin Gareus [Thu, 20 Sep 2018 21:52:22 +0000 (23:52 +0200)]
Fix metronome emphasis preference (#7666)

5 years agomissing enum/properties stuff
Paul Davis [Thu, 20 Sep 2018 16:00:16 +0000 (12:00 -0400)]
missing enum/properties stuff

5 years agoswitch transport masters to use properties and notify via PropertyChanged
Paul Davis [Thu, 20 Sep 2018 15:30:28 +0000 (11:30 -0400)]
switch transport masters to use properties and notify via PropertyChanged

5 years agoAppData: 'revision' in revision.cc is expected in the 2nd line
Guido Aulisi [Sun, 21 May 2017 10:31:12 +0000 (12:31 +0200)]
AppData: 'revision' in revision.cc is expected in the 2nd line

Signed-off-by: Nils Philippsen <nils@tiptoe.de>
5 years agogenerate revision.cc with one item per line
Nils Philippsen [Thu, 6 Oct 2016 07:49:00 +0000 (09:49 +0200)]
generate revision.cc with one item per line

5 years agoAppData release tags need a date to be valid
Nils Philippsen [Sat, 13 Aug 2016 12:38:28 +0000 (14:38 +0200)]
AppData release tags need a date to be valid

Or a timestamp, but that's deprecated. Create it from the last commit,
store it in/retrieve it from revision.cc and substitute it in the
template.

https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-releases

5 years agoRemove ambiguity of Gtk and Windows API
Robin Gareus [Wed, 19 Sep 2018 13:17:43 +0000 (15:17 +0200)]
Remove ambiguity of Gtk and Windows API

5 years agonamespace change to help out on non-linux platforms
Paul Davis [Wed, 19 Sep 2018 01:35:33 +0000 (21:35 -0400)]
namespace change to help out on non-linux platforms

5 years agodo not initialize boost::shared_ptr<> with zero
Paul Davis [Wed, 19 Sep 2018 01:26:43 +0000 (21:26 -0400)]
do not initialize boost::shared_ptr<> with zero

5 years agoboost/atomic.hpp is not used
Paul Davis [Wed, 19 Sep 2018 00:01:05 +0000 (20:01 -0400)]
boost/atomic.hpp is not used

5 years agonew transport slave/master implementation, gui edition
Paul Davis [Tue, 18 Sep 2018 22:52:20 +0000 (18:52 -0400)]
new transport slave/master implementation, gui edition

5 years agonew transport slave/master implementation, libs/ edition
Paul Davis [Tue, 18 Sep 2018 22:51:59 +0000 (18:51 -0400)]
new transport slave/master implementation, libs/ edition

5 years agoOSC: Allow personal monitor to change output connection
Len Ovens [Tue, 18 Sep 2018 22:38:16 +0000 (15:38 -0700)]
OSC: Allow personal monitor to change output connection

5 years agoFix crash when re-assigning groups
Robin Gareus [Sun, 16 Sep 2018 21:08:41 +0000 (23:08 +0200)]
Fix crash when re-assigning groups

This works around an issue where gtk sends two callbacks when a radio
selection changes. First: unselect, then select new item.

Previously:
 Two tracks, two groups. Select all tracks, assign to 2nd group. Crash.

The first callback, "unselect" iterates over all tracks, removes them
from any groups. Eventually all groups are unused and hence destroyed.

The 2nd callback - "select" - now uses a just destroyed group.

5 years agoImplement new Enclosed region equivalence mode
Colin Fletcher [Thu, 13 Sep 2018 18:05:47 +0000 (14:05 -0400)]
Implement new Enclosed region equivalence mode

5 years agoOops - I got the session file numbers the wrong way around :-(
John Emmas [Tue, 11 Sep 2018 17:50:07 +0000 (18:50 +0100)]
Oops - I got the session file numbers the wrong way around  :-(

5 years agoUpdate Lua LTC decoder (API change in d7dc224d)
Robin Gareus [Tue, 11 Sep 2018 14:02:23 +0000 (16:02 +0200)]
Update Lua LTC decoder (API change in d7dc224d)

5 years agoLTC-file reader: offset frame position (not timecode)
Robin Gareus [Tue, 11 Sep 2018 14:01:50 +0000 (16:01 +0200)]
LTC-file reader: offset frame position (not timecode)

5 years agoFix LTC file-reader -- closes #7661
Robin Gareus [Tue, 11 Sep 2018 13:59:51 +0000 (15:59 +0200)]
Fix LTC file-reader -- closes #7661

Change reader API to return the position of the decoded LTC frame
and store the correct position in the array)
This bug was introduced in e5a181c323

5 years agoOSC: Personal monitoring can add a new aux
Len Ovens [Mon, 10 Sep 2018 16:57:19 +0000 (09:57 -0700)]
OSC: Personal monitoring can add a new aux

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