ardour.git
4 years agoInvert Pan-Azimuth (up means left)
Robin Gareus [Mon, 7 Oct 2019 03:07:55 +0000 (05:07 +0200)]
Invert Pan-Azimuth (up means left)

It's a well established convention that pan y-axis automation,
or vertical uses (top) +1 for left.

This special cases rotary knobs (and horizontal sliders) to retain
a clockwise movement (or movement to the right) for panning to the
right.

4 years agoConfigure UI scale as first start step
Robin Gareus [Sun, 6 Oct 2019 18:56:34 +0000 (20:56 +0200)]
Configure UI scale as first start step

This also includes some simple heuristic to guess initial scaling
depending on the largest screen's geometry.

4 years agoCleanup unused includes
Robin Gareus [Sun, 6 Oct 2019 16:39:53 +0000 (18:39 +0200)]
Cleanup unused includes

4 years agofactor out NSM startup code
Paul Davis [Thu, 3 Oct 2019 23:23:57 +0000 (17:23 -0600)]
factor out NSM startup code

4 years agochanges required to get build-stack to run on a Mojave VM.
Paul Davis [Thu, 3 Oct 2019 00:00:59 +0000 (18:00 -0600)]
changes required to get build-stack to run on a Mojave VM.

4 years agoremove all use of NO_PLUGIN_STATE #ifdef
Paul Davis [Sun, 29 Sep 2019 16:00:23 +0000 (10:00 -0600)]
remove all use of NO_PLUGIN_STATE #ifdef

We determined several years that we should never ever do this,
and changed the basis for the free/demo copy because of that.

4 years agoPrefer portable (MSVC?) getenv (amend 5ea54be)
Robin Gareus [Wed, 2 Oct 2019 21:14:58 +0000 (23:14 +0200)]
Prefer portable (MSVC?) getenv (amend 5ea54be)

4 years agoAllow ARDOUR_AVG_DSP_LOAD for non-debug builds
Robin Gareus [Wed, 2 Oct 2019 20:55:55 +0000 (22:55 +0200)]
Allow ARDOUR_AVG_DSP_LOAD for non-debug builds

4 years agoAmend 903c3ec5a API rename
Robin Gareus [Wed, 2 Oct 2019 19:28:13 +0000 (21:28 +0200)]
Amend 903c3ec5a API rename

4 years agoPlugin type lookup does not change PI
Robin Gareus [Wed, 2 Oct 2019 17:35:03 +0000 (19:35 +0200)]
Plugin type lookup does not change PI

4 years agoRemove unused API (and some MIXBUS specifics)
Robin Gareus [Wed, 2 Oct 2019 17:29:52 +0000 (19:29 +0200)]
Remove unused API (and some MIXBUS specifics)

4 years agoOptimize default case: no delay
Robin Gareus [Tue, 1 Oct 2019 23:54:08 +0000 (01:54 +0200)]
Optimize default case: no delay

4 years agoFix thinko in cd5f70e69a (delayline buffer resize)
Robin Gareus [Tue, 1 Oct 2019 11:42:34 +0000 (13:42 +0200)]
Fix thinko in cd5f70e69a (delayline buffer resize)

The delay-time itself can change arbitrarily, but the buffer-size
never shrinks.

If the buffersize grows it means that the new delay is longer than
the current one (or at least as large as any pending, not yet
active delay).

This is important for the mechanism that adjusts the read-pointer
to the new buffer-size.

4 years agoUpdate Fluidsynth to v2.0.7
Robin Gareus [Mon, 30 Sep 2019 21:10:33 +0000 (23:10 +0200)]
Update Fluidsynth to v2.0.7

4 years agoadded an Ardour-focused smartphone layout for Touch OSC
Sunil Chopra [Mon, 3 Jun 2019 02:15:05 +0000 (21:15 -0500)]
added an Ardour-focused smartphone layout for Touch OSC

4 years agoFix remaining doxygen warnings (!)
Robin Gareus [Mon, 30 Sep 2019 19:00:29 +0000 (21:00 +0200)]
Fix remaining doxygen warnings (!)

4 years agoAdd LTC frame doc image
Robin Gareus [Mon, 30 Sep 2019 19:02:49 +0000 (21:02 +0200)]
Add LTC frame doc image

4 years agoNO-OP: whitespace, indent
Robin Gareus [Mon, 30 Sep 2019 17:06:00 +0000 (19:06 +0200)]
NO-OP: whitespace, indent

4 years agoNo more doxygen warnings for gtk2_arodur/*
Robin Gareus [Mon, 30 Sep 2019 16:20:15 +0000 (18:20 +0200)]
No more doxygen warnings for gtk2_arodur/*

That's with doxgen 1.8.13.

4 years agoFix use of doxygen documented parameters in running text
Robin Gareus [Mon, 30 Sep 2019 04:27:24 +0000 (06:27 +0200)]
Fix use of doxygen documented parameters in running text

4 years agoFix some UI doxygen warnings
Robin Gareus [Mon, 30 Sep 2019 03:34:06 +0000 (05:34 +0200)]
Fix some UI doxygen warnings

4 years agoFix some more doxygen warnings
Robin Gareus [Mon, 30 Sep 2019 03:33:44 +0000 (05:33 +0200)]
Fix some more doxygen warnings

4 years agoNO-OP: whitespace (use tab to indent)
Robin Gareus [Mon, 30 Sep 2019 02:52:20 +0000 (04:52 +0200)]
NO-OP: whitespace (use tab to indent)

4 years agoFix a few hundred doxygen warnings..
Robin Gareus [Mon, 30 Sep 2019 02:45:59 +0000 (04:45 +0200)]
Fix a few hundred doxygen warnings..

There are still over a hundred left, but this addresses many already.
In particular @param references to undocumented parameters.
Most notably in audio_backend.h

4 years agoUpdate Doxygen config:
Robin Gareus [Mon, 30 Sep 2019 02:39:37 +0000 (04:39 +0200)]
Update Doxygen config:

* process only header files (API is supposed to be documented there)
  (this resolves various inheritance and ambiguities, as well)
* Set pre-processor defines as a normal Ardour compile would
* Expand Macros (fixes issues with visibility defines)

4 years agoFix a duplicate layout parent issue
Robin Gareus [Sun, 29 Sep 2019 20:42:02 +0000 (22:42 +0200)]
Fix a duplicate layout parent issue

4 years agoNO-OP: whitespace
Robin Gareus [Sun, 29 Sep 2019 19:22:30 +0000 (21:22 +0200)]
NO-OP: whitespace

4 years agoFix External Send GUI
Robin Gareus [Sun, 29 Sep 2019 19:03:27 +0000 (21:03 +0200)]
Fix External Send GUI

panners.set_panner() was inadvertently removed in 31815b5f2

4 years agoFix gtk-table-packing error (redundant packing)
Ben Loftis [Sun, 29 Sep 2019 16:30:18 +0000 (11:30 -0500)]
Fix gtk-table-packing error (redundant packing)

4 years agoArdour::IO is not latent by itself
Robin Gareus [Sun, 29 Sep 2019 16:24:54 +0000 (18:24 +0200)]
Ardour::IO is not latent by itself

4 years agoRemove unused modal LatencyGUI Dialog
Robin Gareus [Sun, 29 Sep 2019 16:23:18 +0000 (18:23 +0200)]
Remove unused modal LatencyGUI Dialog

4 years agoRemove defunct Route "Adjust Latency" GUI
Robin Gareus [Sun, 29 Sep 2019 16:22:55 +0000 (18:22 +0200)]
Remove defunct Route "Adjust Latency" GUI

This was based on Ardour-5 style "set custom latency of the IO", and
inform, override JACK-port latency compensation.

Ardour6: IO itself is no longer in control. This is abstracted by
IOProcessor.

In any case, this is to be superseded by bundling a-virtual-latency,
and allowing track playback offset (that has no additional
thru-latency for cue-monitoring).

4 years agoFix port-insert default latency
Robin Gareus [Sun, 29 Sep 2019 16:16:01 +0000 (18:16 +0200)]
Fix port-insert default latency

4 years agoShow pre-release dialog also for source-tree self-builds
Robin Gareus [Sun, 29 Sep 2019 16:10:39 +0000 (18:10 +0200)]
Show pre-release dialog also for source-tree self-builds

4 years agoNew region opacity rules. (final part of 973e9a)
Ben Loftis [Sun, 29 Sep 2019 15:58:53 +0000 (10:58 -0500)]
New region opacity rules.  (final part of 973e9a)

4 years agoAllow the Cut tool to appear in Mixbus.
Ben Loftis [Sun, 29 Sep 2019 15:11:43 +0000 (10:11 -0500)]
Allow the Cut tool to appear in Mixbus.

4 years agoAmend 4f41367836: fix show/hide latency label
Robin Gareus [Sun, 29 Sep 2019 14:59:18 +0000 (16:59 +0200)]
Amend 4f41367836: fix show/hide latency label

4 years agoFix issues when delay-buffers are re-allocated
Robin Gareus [Sun, 29 Sep 2019 14:10:51 +0000 (16:10 +0200)]
Fix issues when delay-buffers are re-allocated

Previously buffers were dropped, and data was not copied to
newly allocated buffers. As side-effect the read-offset was not
adjusted either.

The distance between read and write-pointer needs to be maintained
(delay does not change). This needs to be accounted for, when the
buffer increases while read->write wraps around the old (smaller)
buffer. Previously this triggered an assert (in line 180)

4 years agoFix Region-list column layout.
Ben Loftis [Sun, 29 Sep 2019 14:14:09 +0000 (09:14 -0500)]
Fix Region-list column layout.

4 years agoTheme latency-disable-button
Robin Gareus [Sat, 28 Sep 2019 23:57:15 +0000 (01:57 +0200)]
Theme latency-disable-button

4 years agoAdd Latency Control Toolbar Widgets
Robin Gareus [Sat, 28 Sep 2019 23:23:48 +0000 (01:23 +0200)]
Add Latency Control Toolbar Widgets

4 years agoUse samples_as_time_string API
Robin Gareus [Sun, 29 Sep 2019 00:43:06 +0000 (02:43 +0200)]
Use samples_as_time_string API

4 years agoHelper function to format sample-count as duration
Robin Gareus [Sat, 28 Sep 2019 23:24:23 +0000 (01:24 +0200)]
Helper function to format sample-count as duration

4 years agoEmit signal when session latency was updated
Robin Gareus [Sat, 28 Sep 2019 20:29:50 +0000 (22:29 +0200)]
Emit signal when session latency was updated

4 years agoAdd Lua bindings related to latency compensation
Robin Gareus [Sat, 28 Sep 2019 19:02:45 +0000 (21:02 +0200)]
Add Lua bindings related to latency compensation

4 years agoAdd Signal to indicate global delay compensation status
Robin Gareus [Sat, 28 Sep 2019 18:53:50 +0000 (20:53 +0200)]
Add Signal to indicate global delay compensation status

4 years agoUpddate path for doxygen doc
Robin Gareus [Sat, 28 Sep 2019 23:24:47 +0000 (01:24 +0200)]
Upddate path for doxygen doc

4 years agoCtrl+shift is a pretty strong convention for Invert-Selection; plus we try to reserve...
Ben Loftis [Fri, 27 Sep 2019 14:38:53 +0000 (09:38 -0500)]
Ctrl+shift is a pretty strong convention for Invert-Selection; plus we try to reserve Shift+ for View menu actions.

4 years agoRestore "A"utomation button
Robin Gareus [Fri, 27 Sep 2019 14:06:29 +0000 (16:06 +0200)]
Restore "A"utomation button

This reverts some "not tracks" parts that were
accidentally removed in 468731c

4 years agoHandle case where an audio-port is added to a MIDI only delayline
Robin Gareus [Fri, 27 Sep 2019 12:50:40 +0000 (14:50 +0200)]
Handle case where an audio-port is added to a MIDI only delayline

4 years agoRe-layout engine dialog, improve "Autostart" button position
Robin Gareus [Fri, 27 Sep 2019 11:58:28 +0000 (13:58 +0200)]
Re-layout engine dialog, improve "Autostart" button position

4 years agoAmend 973e9ad1: fix "black" regions when selecing them
Robin Gareus [Fri, 27 Sep 2019 02:32:54 +0000 (04:32 +0200)]
Amend 973e9ad1: fix "black" regions when selecing them

4 years agorename BufferSet::get* to BufferSet::get_available*
Paul Davis [Fri, 27 Sep 2019 00:39:46 +0000 (18:39 -0600)]
rename BufferSet::get* to BufferSet::get_available*

This tries to make it clear what the BufferSet limit semantics really are

4 years agoDon't try to process MIDI input in a DiskWriter if it has no _midi_buf
Paul Davis [Fri, 27 Sep 2019 00:39:01 +0000 (18:39 -0600)]
Don't try to process MIDI input in a DiskWriter if it has no _midi_buf

... which implies it has no MIDI input port(s) either.

This fixes behaviour caused by BufferSet::get...() returning a valid MidiBuffer because it was
based on using the _available count within the BufferSet, even though the _count value
indicated there was no buffer available (to match the I/O configuration of the Route).

4 years agoAdd use-these-engine-settings-from-now-on checkbox
Robin Gareus [Thu, 26 Sep 2019 19:12:37 +0000 (21:12 +0200)]
Add use-these-engine-settings-from-now-on checkbox

Functional, but this needs a layout fix, still.

4 years agoTry auto-start engine by default
Robin Gareus [Thu, 26 Sep 2019 18:15:09 +0000 (20:15 +0200)]
Try auto-start engine by default

Ardour auto-connects to JACK already if jackd is running. Let
other users benefit from a similar experience.

4 years agoFix cursor icon over region-bar (use trim)
Robin Gareus [Thu, 26 Sep 2019 17:44:22 +0000 (19:44 +0200)]
Fix cursor icon over region-bar (use trim)

4 years agoTheme-manager: sort colors by name (not hue)
Robin Gareus [Thu, 26 Sep 2019 17:39:13 +0000 (19:39 +0200)]
Theme-manager: sort colors by name (not hue)

4 years agoRweak selection+color semantics
Robin Gareus [Thu, 26 Sep 2019 17:35:31 +0000 (19:35 +0200)]
Rweak selection+color semantics

4 years agoTweak semantics for coloring regions
Robin Gareus [Thu, 26 Sep 2019 16:57:35 +0000 (18:57 +0200)]
Tweak semantics for coloring regions

* Shade muted regions only when they are not selected, nor
  being dragged.
* Selecting and Dragging a region adds alpha, so that
  underlying regions and the grid become visible.
* record-red trumps.

4 years agoBackport sensible ui-config defaults for Mixbus
Robin Gareus [Thu, 26 Sep 2019 16:40:17 +0000 (18:40 +0200)]
Backport sensible ui-config defaults for Mixbus

4 years agoMore i18n include order fixes
Robin Gareus [Thu, 26 Sep 2019 04:11:30 +0000 (06:11 +0200)]
More i18n include order fixes

4 years agoFix builds:
Robin Gareus [Thu, 26 Sep 2019 04:08:59 +0000 (06:08 +0200)]
Fix builds:

i18n needs to be included last, and ui_session uses localtime_r

4 years agoAnother try at C++11/boost spinlock initialization
Robin Gareus [Thu, 26 Sep 2019 00:47:16 +0000 (02:47 +0200)]
Another try at C++11/boost spinlock initialization

4 years agoput back editor track header fader+meters inadvertently removed in previous commit
Paul Davis [Wed, 25 Sep 2019 19:24:02 +0000 (13:24 -0600)]
put back editor track header fader+meters inadvertently removed in previous commit

4 years agogoodbye Profile->...trx
Paul Davis [Wed, 25 Sep 2019 19:02:31 +0000 (13:02 -0600)]
goodbye Profile->...trx

4 years agogoodbye USE_TRACKS_CODE_FEATURES and is_tracks_build
Paul Davis [Wed, 25 Sep 2019 18:16:13 +0000 (12:16 -0600)]
goodbye USE_TRACKS_CODE_FEATURES and is_tracks_build

4 years agoRemove ui-config mixbus ifdef's
Robin Gareus [Wed, 25 Sep 2019 14:31:52 +0000 (16:31 +0200)]
Remove ui-config mixbus ifdef's

4 years agoSome reasonable default config changes
Robin Gareus [Wed, 25 Sep 2019 13:27:02 +0000 (15:27 +0200)]
Some reasonable default config changes

4 years agoPrint LADSPA ID with debug message
Robin Gareus [Wed, 25 Sep 2019 13:16:34 +0000 (15:16 +0200)]
Print LADSPA ID with debug message

4 years agoCleanup configuration stage
Robin Gareus [Wed, 25 Sep 2019 12:13:51 +0000 (14:13 +0200)]
Cleanup configuration stage

* use print() only for errors
* use write_config_text() for normal operation
* fail if lld was requested, but not found

4 years agoConsolidate and extend "well-known" controls:
Robin Gareus [Wed, 25 Sep 2019 12:00:34 +0000 (14:00 +0200)]
Consolidate and extend "well-known" controls:

* Add new common strip controls (inspired from Mixbus)
* Remove duplicate documentation, document virtual API only.
* "azimuth" not "azi"

4 years agoFaderport: use well-known-controls API
Robin Gareus [Wed, 25 Sep 2019 10:03:06 +0000 (12:03 +0200)]
Faderport: use well-known-controls API

4 years agoadd configure-time option to use lld as the linker (on linux)
Paul Davis [Tue, 24 Sep 2019 23:36:22 +0000 (17:36 -0600)]
add configure-time option to use lld as the linker (on linux)

this cuts about 15 seconds off the total linker time on a 16 core ryzen threadripper

4 years agoMixbus backports -- part one of many
Robin Gareus [Tue, 24 Sep 2019 20:10:02 +0000 (22:10 +0200)]
Mixbus backports -- part one of many

Changes that are not explicitly #ifdef'ed should go to ardour-git.

4 years agoPrepare for plugin-control groups
Robin Gareus [Tue, 24 Sep 2019 17:48:31 +0000 (19:48 +0200)]
Prepare for plugin-control groups

This is in preparation to allow groups of "well known" controls,
the parameter ID of which is not known a-priori.

4 years agoAdd/remove source(s) in our MSVC project (gtk2_ardour)
John Emmas [Tue, 24 Sep 2019 09:20:23 +0000 (10:20 +0100)]
Add/remove source(s) in our MSVC project (gtk2_ardour)

4 years agoAdd/remove source(s) in our MSVC project (libardour)
John Emmas [Tue, 24 Sep 2019 09:19:38 +0000 (10:19 +0100)]
Add/remove source(s) in our MSVC project (libardour)

4 years agoInclude a header file needed for Windows VST support
John Emmas [Tue, 24 Sep 2019 09:17:32 +0000 (10:17 +0100)]
Include a header file needed for Windows VST support

4 years agosplit apart ardour_ui.cc into a series of distinct source modules.
Paul Davis [Mon, 23 Sep 2019 20:49:06 +0000 (14:49 -0600)]
split apart ardour_ui.cc into a series of distinct source modules.

Should be a 100% no-op - no code was altered, just moved

4 years agofix problem with ArdourDialog::on_delete_event() not being called when appropriate...
Paul Davis [Mon, 23 Sep 2019 03:45:30 +0000 (21:45 -0600)]
fix problem with ArdourDialog::on_delete_event() not being called when appropriate during app startup

The dialog is run using gtk_dialog_run() which uses on_response() to deal with delete/close events unlike a regular
top level event loop.

Probably even better would be run run the dialog from the top level event loop, but this is a bit complex

4 years agoremove empty methods and signal connections
Paul Davis [Mon, 23 Sep 2019 01:21:18 +0000 (19:21 -0600)]
remove empty methods and signal connections

4 years agovarious changes to transportFSM, mostly to try to keep track of whether to roll-after...
Paul Davis [Sun, 22 Sep 2019 18:19:28 +0000 (12:19 -0600)]
various changes to transportFSM, mostly to try to keep track of whether to roll-after-locate (more) accurately

4 years agochange the way we clear post transport work as the butler and post-butler methods...
Paul Davis [Sun, 22 Sep 2019 18:18:36 +0000 (12:18 -0600)]
change the way we clear post transport work as the butler and post-butler methods get things done

This avoids the blanket "set_post_transport_work (PostTransportWork(0));" that never really looked right

4 years agoimprove debug output
Paul Davis [Sun, 22 Sep 2019 17:50:51 +0000 (11:50 -0600)]
improve debug output

4 years agomove all bundle-related session methods into their own file
Paul Davis [Sun, 22 Sep 2019 17:50:44 +0000 (11:50 -0600)]
move all bundle-related session methods into their own file

4 years agoadd direct access API for transportFSM and session transport speed
Paul Davis [Sun, 22 Sep 2019 17:49:59 +0000 (11:49 -0600)]
add direct access API for transportFSM and session transport speed

4 years agoremove unused PostTransportDuration and enumeration-writing for Adjust(Playback|Captu...
Paul Davis [Sun, 22 Sep 2019 17:49:19 +0000 (11:49 -0600)]
remove unused PostTransportDuration and enumeration-writing for Adjust(Playback|Capture)Buffering

4 years agoUI goto_start() action no longer forces roll-after-locate
Paul Davis [Sun, 22 Sep 2019 17:44:06 +0000 (11:44 -0600)]
UI goto_start() action no longer forces roll-after-locate

4 years agocorrect problem with some locates that would keep rolling after they are finished
Paul Davis [Fri, 20 Sep 2019 22:52:13 +0000 (16:52 -0600)]
correct problem with some locates that would keep rolling after they are finished

4 years agosplit session-bundled-related methods to their own file
Paul Davis [Fri, 20 Sep 2019 20:31:19 +0000 (14:31 -0600)]
split session-bundled-related methods to their own file

4 years agoadd const and tweak variable name
Paul Davis [Fri, 20 Sep 2019 20:12:08 +0000 (14:12 -0600)]
add const and tweak variable name

4 years agotransport master deletion is no longer in parallel with process()
Paul Davis [Fri, 20 Sep 2019 20:11:53 +0000 (14:11 -0600)]
transport master deletion is no longer in parallel with process()

4 years agouse internal seek to implement DiskReader::seek() when possible.
Paul Davis [Fri, 20 Sep 2019 20:11:07 +0000 (14:11 -0600)]
use internal seek to implement DiskReader::seek() when possible.

This still needs a check that the amount of readable data left in the buffe is adequate.

4 years agoNO-OP: whitespace
Robin Gareus [Sun, 22 Sep 2019 02:58:32 +0000 (04:58 +0200)]
NO-OP: whitespace

4 years agoOptimize Audio-buffer summing
Robin Gareus [Sun, 22 Sep 2019 02:54:28 +0000 (04:54 +0200)]
Optimize Audio-buffer summing

* skip silent buffers
* use vectorized copy
* prefer memset for zero-gain

4 years agoRemove unused method
Robin Gareus [Sun, 22 Sep 2019 02:52:26 +0000 (04:52 +0200)]
Remove unused method

4 years agoProperly initialize BusSendEnable min/max
Robin Gareus [Sun, 22 Sep 2019 02:15:36 +0000 (04:15 +0200)]
Properly initialize BusSendEnable min/max

4 years agoNO-OP: cleanup code
Robin Gareus [Sun, 22 Sep 2019 02:15:01 +0000 (04:15 +0200)]
NO-OP: cleanup code

4 years agoFix latency-measurement port-name display
Robin Gareus [Fri, 20 Sep 2019 21:30:05 +0000 (23:30 +0200)]
Fix latency-measurement port-name display

In case there are no pretty-names, a blank text was displayed