Ben Loftis [Sun, 29 Sep 2019 14:14:09 +0000 (09:14 -0500)]
Fix Region-list column layout.
Robin Gareus [Sat, 28 Sep 2019 23:57:15 +0000 (01:57 +0200)]
Theme latency-disable-button
Robin Gareus [Sat, 28 Sep 2019 23:23:48 +0000 (01:23 +0200)]
Add Latency Control Toolbar Widgets
Robin Gareus [Sun, 29 Sep 2019 00:43:06 +0000 (02:43 +0200)]
Use samples_as_time_string API
Robin Gareus [Sat, 28 Sep 2019 23:24:23 +0000 (01:24 +0200)]
Helper function to format sample-count as duration
Robin Gareus [Sat, 28 Sep 2019 20:29:50 +0000 (22:29 +0200)]
Emit signal when session latency was updated
Robin Gareus [Sat, 28 Sep 2019 19:02:45 +0000 (21:02 +0200)]
Add Lua bindings related to latency compensation
Robin Gareus [Sat, 28 Sep 2019 18:53:50 +0000 (20:53 +0200)]
Add Signal to indicate global delay compensation status
Robin Gareus [Sat, 28 Sep 2019 23:24:47 +0000 (01:24 +0200)]
Upddate path for doxygen doc
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.
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
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
Robin Gareus [Fri, 27 Sep 2019 11:58:28 +0000 (13:58 +0200)]
Re-layout engine dialog, improve "Autostart" button position
Robin Gareus [Fri, 27 Sep 2019 02:32:54 +0000 (04:32 +0200)]
Amend
973e9ad1: fix "black" regions when selecing them
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
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).
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.
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.
Robin Gareus [Thu, 26 Sep 2019 17:44:22 +0000 (19:44 +0200)]
Fix cursor icon over region-bar (use trim)
Robin Gareus [Thu, 26 Sep 2019 17:39:13 +0000 (19:39 +0200)]
Theme-manager: sort colors by name (not hue)
Robin Gareus [Thu, 26 Sep 2019 17:35:31 +0000 (19:35 +0200)]
Rweak selection+color semantics
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.
Robin Gareus [Thu, 26 Sep 2019 16:40:17 +0000 (18:40 +0200)]
Backport sensible ui-config defaults for Mixbus
Robin Gareus [Thu, 26 Sep 2019 04:11:30 +0000 (06:11 +0200)]
More i18n include order fixes
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
Robin Gareus [Thu, 26 Sep 2019 00:47:16 +0000 (02:47 +0200)]
Another try at C++11/boost spinlock initialization
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
Paul Davis [Wed, 25 Sep 2019 19:02:31 +0000 (13:02 -0600)]
goodbye Profile->...trx
Paul Davis [Wed, 25 Sep 2019 18:16:13 +0000 (12:16 -0600)]
goodbye USE_TRACKS_CODE_FEATURES and is_tracks_build
Robin Gareus [Wed, 25 Sep 2019 14:31:52 +0000 (16:31 +0200)]
Remove ui-config mixbus ifdef's
Robin Gareus [Wed, 25 Sep 2019 13:27:02 +0000 (15:27 +0200)]
Some reasonable default config changes
Robin Gareus [Wed, 25 Sep 2019 13:16:34 +0000 (15:16 +0200)]
Print LADSPA ID with debug message
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
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"
Robin Gareus [Wed, 25 Sep 2019 10:03:06 +0000 (12:03 +0200)]
Faderport: use well-known-controls API
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
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.
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.
John Emmas [Tue, 24 Sep 2019 09:20:23 +0000 (10:20 +0100)]
Add/remove source(s) in our MSVC project (gtk2_ardour)
John Emmas [Tue, 24 Sep 2019 09:19:38 +0000 (10:19 +0100)]
Add/remove source(s) in our MSVC project (libardour)
John Emmas [Tue, 24 Sep 2019 09:17:32 +0000 (10:17 +0100)]
Include a header file needed for Windows VST support
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
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
Paul Davis [Mon, 23 Sep 2019 01:21:18 +0000 (19:21 -0600)]
remove empty methods and signal connections
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
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
Paul Davis [Sun, 22 Sep 2019 17:50:51 +0000 (11:50 -0600)]
improve debug output
Paul Davis [Sun, 22 Sep 2019 17:50:44 +0000 (11:50 -0600)]
move all bundle-related session methods into their own file
Paul Davis [Sun, 22 Sep 2019 17:49:59 +0000 (11:49 -0600)]
add direct access API for transportFSM and session transport speed
Paul Davis [Sun, 22 Sep 2019 17:49:19 +0000 (11:49 -0600)]
remove unused PostTransportDuration and enumeration-writing for Adjust(Playback|Capture)Buffering
Paul Davis [Sun, 22 Sep 2019 17:44:06 +0000 (11:44 -0600)]
UI goto_start() action no longer forces roll-after-locate
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
Paul Davis [Fri, 20 Sep 2019 20:31:19 +0000 (14:31 -0600)]
split session-bundled-related methods to their own file
Paul Davis [Fri, 20 Sep 2019 20:12:08 +0000 (14:12 -0600)]
add const and tweak variable name
Paul Davis [Fri, 20 Sep 2019 20:11:53 +0000 (14:11 -0600)]
transport master deletion is no longer in parallel with process()
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.
Robin Gareus [Sun, 22 Sep 2019 02:58:32 +0000 (04:58 +0200)]
NO-OP: whitespace
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
Robin Gareus [Sun, 22 Sep 2019 02:52:26 +0000 (04:52 +0200)]
Remove unused method
Robin Gareus [Sun, 22 Sep 2019 02:15:36 +0000 (04:15 +0200)]
Properly initialize BusSendEnable min/max
Robin Gareus [Sun, 22 Sep 2019 02:15:01 +0000 (04:15 +0200)]
NO-OP: cleanup code
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
Robin Gareus [Fri, 20 Sep 2019 18:25:04 +0000 (20:25 +0200)]
Add abstract API for latency compensated sends
This is in preparation for MixbusSends that are not derived from
Delivery : IOProcessor.
Paul Davis [Fri, 20 Sep 2019 19:02:46 +0000 (13:02 -0600)]
do not abort in the event that we cannot internal-seek to align with the playhead.
There are no good options here, but treating it like a regular underrun seems as good as anything
Paul Davis [Fri, 20 Sep 2019 18:36:23 +0000 (12:36 -0600)]
better initial value
Paul Davis [Fri, 20 Sep 2019 18:19:25 +0000 (12:19 -0600)]
remove debug output
Paul Davis [Fri, 20 Sep 2019 18:18:49 +0000 (12:18 -0600)]
fix crash when doing rapid (ongoing-locate-interrupting) locates
Paul Davis [Fri, 20 Sep 2019 18:17:22 +0000 (12:17 -0600)]
move TransportFSM::enqueue() into .cc file
Paul Davis [Fri, 20 Sep 2019 18:16:50 +0000 (12:16 -0600)]
at transport stop, reset FSM's idea of the last locate target (also removes const from method)
Paul Davis [Fri, 20 Sep 2019 18:11:33 +0000 (12:11 -0600)]
fix commented out decision on whether or not to hide/show sysexes in MIDI regions
Robin Gareus [Fri, 20 Sep 2019 17:40:29 +0000 (19:40 +0200)]
Handle an unused edge-case
In practice PanControllable::owner cannot be NULL, but in theory it
could be (and might be for Mixbus6 internal panning).
Robin Gareus [Fri, 20 Sep 2019 17:38:34 +0000 (19:38 +0200)]
Fix Latency Measurement without device re-start
This handles a case when the engine was started normally
(not for latency measurement), and measurement is performed later.
This resulted in a duplicate backend start
Paul Davis [Fri, 20 Sep 2019 15:44:15 +0000 (09:44 -0600)]
const-ify TransportFSM
Paul Davis [Fri, 20 Sep 2019 15:38:09 +0000 (09:38 -0600)]
rename TransportFSM::FSMEvent to TransportFSM::Event (c/o the Department of Redundancy Department)
Paul Davis [Fri, 20 Sep 2019 15:35:08 +0000 (09:35 -0600)]
add an important comment about transportFSM being single-thread and synchronous
Paul Davis [Fri, 20 Sep 2019 15:33:24 +0000 (09:33 -0600)]
use boost::intrusive to manage FSM events (this is all RT code)
Paul Davis [Fri, 20 Sep 2019 14:21:14 +0000 (08:21 -0600)]
expand comment
John Emmas [Fri, 20 Sep 2019 10:32:58 +0000 (11:32 +0100)]
Remove my BOOST_MPL declarations (as BOOST_MPL seems to have been removed more generally)
Paul Davis [Fri, 20 Sep 2019 04:34:02 +0000 (22:34 -0600)]
remove compiler flags required only by boost::msm and a large transition table
Paul Davis [Fri, 20 Sep 2019 04:33:43 +0000 (22:33 -0600)]
replace boost::msm - based FSM for transport with one written in "plain C++"
Still need to use boost::intrusive to managed qeued/deferred containers
Robin Gareus [Wed, 18 Sep 2019 16:40:02 +0000 (18:40 +0200)]
Fix LV2 state:loadDefaultState
lilv_state_restore() needs to be called unconditionally (regardless
if a plugin actually has a state-interface) to set port and properties.
It has to be called after ports are enumerated and supported
properties are loaded.
Paul Davis [Wed, 18 Sep 2019 16:08:32 +0000 (10:08 -0600)]
don't bother following playhead priority during session loading
Paul Davis [Wed, 18 Sep 2019 16:08:20 +0000 (10:08 -0600)]
deepen stack trace when checking non-RT RT calls
Robin Gareus [Wed, 18 Sep 2019 15:28:35 +0000 (17:28 +0200)]
Add missing break (VST-key forwarding)
Robin Gareus [Wed, 18 Sep 2019 15:27:56 +0000 (17:27 +0200)]
NO-OP: fix some Wimplicit-fallthrough, see prev commit
Robin Gareus [Wed, 18 Sep 2019 15:27:09 +0000 (17:27 +0200)]
NO-OP: fix some Wimplicit-fallthrough
gcc can recognize various regexps in comments. Since C++17 provides
[[fallthrough]], using /* fallthrough */ consistently seems
appropriate until we switch to C++17.
see also https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
John Emmas [Wed, 18 Sep 2019 14:08:26 +0000 (15:08 +0100)]
Introduce the BOOST_MPL stuff (though it all seems a bit flaky with MSVC...)
John Emmas [Wed, 18 Sep 2019 14:05:16 +0000 (15:05 +0100)]
Remove a (no longer needed) source file from our MSVC project (evoral)
John Emmas [Wed, 18 Sep 2019 14:03:51 +0000 (15:03 +0100)]
Add/remove source(s) in our MSVC project (libardour)
Robin Gareus [Wed, 18 Sep 2019 04:23:40 +0000 (06:23 +0200)]
Fix OSX builds: undef Apples's odd nil macro
Robin Gareus [Wed, 18 Sep 2019 03:57:26 +0000 (05:57 +0200)]
Consistent use of abort() /* NOTREACHED */
This fixes some static analysis warnings:
PBD::fatal transmitter needs to be connected to a function
that aborts. This is usually the case with GUI
Robin Gareus [Wed, 18 Sep 2019 02:43:09 +0000 (04:43 +0200)]
Fix Wdeprecated, dynamic exception
Dynamic exception specifications are deprecated in C++11,
and were removed in C++17.
Robin Gareus [Wed, 18 Sep 2019 02:37:12 +0000 (04:37 +0200)]
Remove old unused source file
Robin Gareus [Wed, 18 Sep 2019 02:32:51 +0000 (04:32 +0200)]
Add missing i18n include (after
7f3f2018334)
Robin Gareus [Wed, 18 Sep 2019 02:14:31 +0000 (04:14 +0200)]
Re-order includes
* external, system-wide first <>
* next "pbd/*"
...
Robin Gareus [Wed, 18 Sep 2019 02:09:26 +0000 (04:09 +0200)]
Remove "i18n.h" include from header - fix builds
i18n alsways needs to be included last. This fixes an ambiguity of "_"
boost/function_types/detail/class_transform.hpp:23:26:
error: ‘boost::mpl::placeholders::_’ has not been declared
using mpl::placeholders::_;
Paul Davis [Wed, 18 Sep 2019 01:16:53 +0000 (19:16 -0600)]
deepen stacktrace to show where non-process calls to supposedly process-stack-only methods are called
Paul Davis [Wed, 18 Sep 2019 00:26:03 +0000 (18:26 -0600)]
add finite state machine to control/manage transport state
Paul Davis [Wed, 18 Sep 2019 00:20:51 +0000 (18:20 -0600)]
correct mistakenly left-in debugging condition that removed parallelism for PortManager::cycle_start()
Paul Davis [Wed, 27 Mar 2019 16:58:12 +0000 (09:58 -0700)]
minor tweaks to use initialization rather than assignment