Paul Davis [Sat, 14 Dec 2019 17:27:44 +0000 (10:27 -0700)]
cleanup and recomment StartupFSM::load_from_application_api()
Paul Davis [Sat, 14 Dec 2019 17:27:10 +0000 (10:27 -0700)]
remove unnecessary calls to Application::ready
Paul Davis [Sat, 14 Dec 2019 17:22:25 +0000 (10:22 -0700)]
move i/o redirect for macOS bundle before no_app_nap() and comment
Paul Davis [Sat, 14 Dec 2019 17:20:55 +0000 (10:20 -0700)]
emit Application::ready() at a suitable time during startup
This causes macOS to deliver an "openFile" event which allows us
to function correctly when started by a click on a .ardour file
Paul Davis [Sat, 14 Dec 2019 16:58:53 +0000 (09:58 -0700)]
add safety tests inside ShuttleControl to deal with _session == 0
Paul Davis [Sat, 14 Dec 2019 16:02:12 +0000 (09:02 -0700)]
remove use of os_log() API from macOS
This enables building on earlier versions of that platform. It was only used for debugging anyway
Robin Gareus [Sat, 14 Dec 2019 14:47:45 +0000 (15:47 +0100)]
Use InlineControl Port Property
This replaces the special case of showing send-level controls
inline in the mixer-strip with a generic Controllable::InlineControl
property.
Robin Gareus [Sat, 14 Dec 2019 14:00:34 +0000 (15:00 +0100)]
Add Inline Control Port Property
This allows to indicate that a control should by default be displayed
inline in the mixer-strip.
Previously that was hard-coded for and enabled for send-level
controls only.
Robin Gareus [Sat, 14 Dec 2019 14:04:32 +0000 (15:04 +0100)]
Make BusSendLevel 1st class citizen (2/2)
Robin Gareus [Sat, 14 Dec 2019 14:04:08 +0000 (15:04 +0100)]
Make BusSendLevel 1st class citizen (1/2)
Equivalent to Gain and Trim (gain-coefficient, not dB) and use
it for Sends.
Robin Gareus [Sat, 14 Dec 2019 10:44:28 +0000 (11:44 +0100)]
DSPLoad report: allow to sort plugins by load
Robin Gareus [Sat, 14 Dec 2019 09:49:55 +0000 (10:49 +0100)]
Increase contrast of Plugin DSP load report bar colors
Robin Gareus [Fri, 13 Dec 2019 22:05:15 +0000 (23:05 +0100)]
Add Lua bindings to query AutomationControl paramater ranges
Robin Gareus [Fri, 13 Dec 2019 22:02:43 +0000 (23:02 +0100)]
Amend
561cf86919d commit (toolbar sensitivity)
Paul Davis [Fri, 13 Dec 2019 20:06:31 +0000 (13:06 -0700)]
allow setting debug flags via an environment variable (ARDOUR_DEBUG_FLAGS)
Paul Davis [Fri, 13 Dec 2019 20:05:55 +0000 (13:05 -0700)]
fix up stderr and stdout on macOS to write to log files in ~/Library/Preferences/PROGRAM_NAME
Robin Gareus [Fri, 13 Dec 2019 15:33:12 +0000 (16:33 +0100)]
Fix session sensitivity of some toolbar controls
Robin Gareus [Fri, 13 Dec 2019 15:04:34 +0000 (16:04 +0100)]
VKeybd: shrink height when hiding config pane
Robin Gareus [Fri, 13 Dec 2019 14:42:09 +0000 (15:42 +0100)]
Fix mismatched delete
Robin Gareus [Thu, 12 Dec 2019 22:58:17 +0000 (23:58 +0100)]
Vkeybd: default to single-row QWERTY binding
Robin Gareus [Thu, 12 Dec 2019 22:47:12 +0000 (23:47 +0100)]
NO-OP: some const correctness
Robin Gareus [Thu, 12 Dec 2019 22:46:54 +0000 (23:46 +0100)]
VKeybd: fix MacOS key-bindings
Paul Davis [Thu, 12 Dec 2019 20:32:42 +0000 (13:32 -0700)]
fix startup FSM handling when pre-release dialog is shown AND cmdline session info is given
Paul Davis [Thu, 12 Dec 2019 20:32:12 +0000 (13:32 -0700)]
fix ASL logging/stdout+stderr when running from terminal in macOS
Robin Gareus [Thu, 12 Dec 2019 19:50:34 +0000 (20:50 +0100)]
Allow to bind initial Lua action via left-click
Robin Gareus [Thu, 12 Dec 2019 19:35:14 +0000 (20:35 +0100)]
Pre-seed Lua action-buttons
Robin Gareus [Thu, 12 Dec 2019 19:34:50 +0000 (20:34 +0100)]
Add method to look up Lua script by name
Paul Davis [Thu, 12 Dec 2019 19:09:15 +0000 (12:09 -0700)]
reduce another race condition risk
overwrite_queued == true is equivalent to _pending_overwrite != 0
Paul Davis [Thu, 12 Dec 2019 19:08:48 +0000 (12:08 -0700)]
remove debug output
Paul Davis [Thu, 12 Dec 2019 18:31:43 +0000 (11:31 -0700)]
remove useless lock
rbuf allocation/use is protected by process_lock
Paul Davis [Thu, 12 Dec 2019 18:24:56 +0000 (11:24 -0700)]
fix playback of newly added/modified MIDI data
Paul Davis [Thu, 12 Dec 2019 18:24:32 +0000 (11:24 -0700)]
expand DEBUG_TRACE() statement
Robin Gareus [Thu, 12 Dec 2019 15:06:46 +0000 (16:06 +0100)]
BOOST_SP_NOEXCEPT is n/a in boost 1.62
Even though the method that is overridden (shared_ptr<t>::operator=),
has that signature in modern boost, it's of no real significance
for the case at hand (ExportChannel, ExportTimespan)
Paul Davis [Thu, 12 Dec 2019 03:36:00 +0000 (20:36 -0700)]
use process lock to lock out process() during playback buffer resizing
Paul Davis [Thu, 12 Dec 2019 01:08:01 +0000 (18:08 -0700)]
remove MIDI readahead parameter
We just don't do this anymore
Paul Davis [Thu, 12 Dec 2019 01:00:56 +0000 (18:00 -0700)]
variable renaming in Butler for various buffer sizes
Robin Gareus [Thu, 12 Dec 2019 02:57:58 +0000 (03:57 +0100)]
Fix stackoverflow, endless recursion on ComparableSharedPtr assignment
boost::shared_ptr & operator=(shared_ptr const & r);
is not declared virtual and cannot safely be overloaded.
Robin Gareus [Thu, 12 Dec 2019 02:01:31 +0000 (03:01 +0100)]
Fix automation dropdown menu-item active state
Extra XML/GUI has not been in use since ages.
Automation Lane visibility is saved as GUIObjectState.
This properly marks DropDown Menu items as active when a
Plugin Automation Lane is displayed
Paul Davis [Wed, 11 Dec 2019 21:52:46 +0000 (14:52 -0700)]
when loading a session into a running instance, if the SR doesn't match the engine, stop engine and show dialog
Paul Davis [Wed, 11 Dec 2019 21:36:30 +0000 (14:36 -0700)]
NOOP: line merge
Robin Gareus [Wed, 11 Dec 2019 15:21:23 +0000 (16:21 +0100)]
Fix loading plugin state from sessions
While loading a session XML state, set_state must use
`Stateful::loading_state_version`.
When later copying processor state,
`Stateful::current_state_version` is correct.
Robin Gareus [Wed, 11 Dec 2019 12:55:51 +0000 (13:55 +0100)]
Remove hardcoded session-state versions
Paul Davis [Wed, 11 Dec 2019 04:27:10 +0000 (21:27 -0700)]
should probably resolve MIDI notes when loop bounds change
We don't really need to do this if the bounds have moved "outwards", but
at present we don't know if that is the case, so be safe and resolve in
case the loop bounds moved "inwards" and we would otherwise get stuck notes
caused by the now-missing noteOffs
Paul Davis [Wed, 11 Dec 2019 02:30:28 +0000 (19:30 -0700)]
fix unnecssary disruption of MIDI stream when disabling loop
Ben Loftis [Tue, 10 Dec 2019 20:35:03 +0000 (14:35 -0600)]
Monitor Section: Add a spacer so the topmost buttons are not visually grouped with buttons in the editor toolbar.
Ben Loftis [Tue, 10 Dec 2019 20:10:11 +0000 (14:10 -0600)]
Source List nomenclature: Whole files get imported to the SOURCE list.
Paul Davis [Tue, 10 Dec 2019 19:22:05 +0000 (12:22 -0700)]
use PlayistChanged appropriately to fix MIDI output
We didn't render the MIDI data when a playlist was set, only when modified.
Paul Davis [Tue, 10 Dec 2019 19:21:28 +0000 (12:21 -0700)]
use bitmask values for OverwriteReason, as was intended
Paul Davis [Tue, 10 Dec 2019 16:28:41 +0000 (09:28 -0700)]
revert to single buffer for disk playback, and 5.x-style overwrite
Also address issues with MIDI and also atomicity of _pending_overwrite
Ben Loftis [Fri, 6 Dec 2019 19:25:44 +0000 (13:25 -0600)]
Autostart must {try to} use the session sample-rate. There is no ambiguity here.
David Robillard [Mon, 9 Dec 2019 22:38:10 +0000 (23:38 +0100)]
Fix font size on Push2
At least on my machine, the fonts on the Push display were ridiculously large,
making everything overlapping and unusable. I suspect this is because
pango_cairo_font_map_get_default() inherits DPI from the system, so the
monitor scaling factor got applied to the Push display as well.
This commit instead creates a new plain font map, and sets the resolution to
96, which looks like what the UI was designed for. Some more tweaking of the
Pango context might make things more optimal on the Push, but just setting the
resolution makes things look reasonable to me anyway.
David Robillard [Mon, 9 Dec 2019 22:27:04 +0000 (23:27 +0100)]
Suppress warnings in Gtk headers
David Robillard [Mon, 9 Dec 2019 21:59:40 +0000 (22:59 +0100)]
Fix deprecated-copy warnings
It's long been a guideline (and IIRC a Weff-c++ warning) that either all, or
none, of the copy methods should be defined, but this became a standard warning
in GCC9. Presumably to account for a later language change though I'm not sure
which.
I don't remember why the ChanMapping copy constructor can't just be a simple
copy (it's just a map of POD), but figure it's safer to just copy what that
does.
David Robillard [Mon, 9 Dec 2019 21:58:40 +0000 (22:58 +0100)]
Use labs() for long instead of abs()
David Robillard [Mon, 9 Dec 2019 21:58:08 +0000 (22:58 +0100)]
Fix catch of polymorphic type by value
David Robillard [Mon, 9 Dec 2019 21:56:14 +0000 (22:56 +0100)]
Remove unused variable
David Robillard [Mon, 9 Dec 2019 21:50:37 +0000 (22:50 +0100)]
Fix incorrect parameter type
This takes a bool.
Robin Gareus [Mon, 9 Dec 2019 17:23:17 +0000 (18:23 +0100)]
Fix automation alignment for latent plugins
This also solves bi-stable automation for plugins where latency
can change due to automation. e.g.
cycle 1: run (t): automation (t) = on: -> increase latency
cycle 2: run (t-latency): automation (t-latency) = off -> decrease latency
repeat.
Ben Loftis [Mon, 9 Dec 2019 13:49:16 +0000 (07:49 -0600)]
When a marker is selected, change the marker color in addition to the line color.
Paul Davis [Mon, 9 Dec 2019 05:37:07 +0000 (22:37 -0700)]
fix error when continuing to refill audio playback buffers after a buffer switch
The file_sample[AUDIO] member was not updated to reflect the last-read sample in the
switched-to buffer.
Also move several methods and members from DiskIO to DiskReader where they belong.
Robin Gareus [Mon, 9 Dec 2019 00:10:50 +0000 (01:10 +0100)]
Fix two compiler warnings
Paul Davis [Mon, 9 Dec 2019 00:01:05 +0000 (17:01 -0700)]
more debug output
Paul Davis [Mon, 9 Dec 2019 00:00:30 +0000 (17:00 -0700)]
avoid a locate-to-loop-start from cancelling looping
Paul Davis [Mon, 9 Dec 2019 00:00:08 +0000 (17:00 -0700)]
correct logic errors related to roll-after-locate in TransportFSM
This might have broken some other subtle behavior, but testing hasn't shown it thus far
Paul Davis [Sun, 8 Dec 2019 23:56:11 +0000 (16:56 -0700)]
fix missing SessionEvent when **all** tracks need a buffer overwrite
Robin Gareus [Sun, 8 Dec 2019 23:07:33 +0000 (00:07 +0100)]
Better, more consistent fix for
d0dcca109
Robin Gareus [Sun, 8 Dec 2019 22:52:48 +0000 (23:52 +0100)]
Fix Pan automation when using "Touch"
Pan->touching was left uninitialized, and usually non-zero.
So pan automation was assumed to be currently touched,
and hence never interpolated.
Daniel Appelt [Sun, 8 Dec 2019 16:40:38 +0000 (17:40 +0100)]
Update lua script to current playlist API
John Emmas [Sun, 8 Dec 2019 15:04:02 +0000 (15:04 +0000)]
MSVC project changes needed to support the new 'mp3 import' stuff
John Emmas [Sun, 8 Dec 2019 15:01:59 +0000 (15:01 +0000)]
Minor changes needed to make the 'mp3 import' sources build with MSVC
(MSVC project changes to follow...)
Robin Gareus [Sun, 8 Dec 2019 14:21:30 +0000 (15:21 +0100)]
Add support for LV2 state:freePath feature
This fixes a memory-leak issue for Windows builds.
see also https://github.com/drobilla/lilv/issues/14
Robin Gareus [Sun, 8 Dec 2019 14:20:26 +0000 (15:20 +0100)]
NO-OP: whitespace
Paul Davis [Sat, 7 Dec 2019 17:30:27 +0000 (10:30 -0700)]
fix behavior when pressing l to loop (not in loop-is-mode) and the required stop-during locate cancels looping
Paul Davis [Sat, 7 Dec 2019 17:28:56 +0000 (10:28 -0700)]
"revert" back to previous loop rect in editor color
Paul Davis [Fri, 6 Dec 2019 21:21:40 +0000 (14:21 -0700)]
functional double buffering when using DiskReader::overwrite_existing_buffers
Paul Davis [Thu, 5 Dec 2019 22:34:51 +0000 (15:34 -0700)]
a few parameter changes, and flesh out code to switch rbufs in DiskReader
Paul Davis [Thu, 5 Dec 2019 22:01:41 +0000 (15:01 -0700)]
initial conversion to double buffering inside DiskReader
Second buffer is not used (or allocated) yet.
Robin Gareus [Sat, 7 Dec 2019 14:46:20 +0000 (15:46 +0100)]
Fix 64bit OSX/MacOS builds
Robin Gareus [Sat, 7 Dec 2019 14:38:09 +0000 (15:38 +0100)]
Do not allow to embed ogg/vorbis files, require import
Robin Gareus [Sat, 7 Dec 2019 14:09:20 +0000 (15:09 +0100)]
Remove #ifdef'ed format-specific error-log messages
With inclusion of Mp3FileSource, this would get tricky.
On MacOS, the SndFileSource's sf_error_str message is never displayed,
anyway, also calling methods all handle failed-constructor.
So error-log is less important.
Robin Gareus [Sat, 7 Dec 2019 10:39:09 +0000 (11:39 +0100)]
Flatten nested try/catch clauses
This also consistently throws a failed_constructor() when instantiating
a CoreAudioSource fails, regardless of the actual exception
Robin Gareus [Sat, 7 Dec 2019 10:32:07 +0000 (11:32 +0100)]
Remove unused API, reduce sndfile/coreaudio specialization
Robin Gareus [Sat, 7 Dec 2019 00:13:38 +0000 (01:13 +0100)]
Fix nested comments
Robin Gareus [Fri, 6 Dec 2019 23:46:33 +0000 (00:46 +0100)]
Add tsan option to trace data-races
Robin Gareus [Fri, 6 Dec 2019 22:13:20 +0000 (23:13 +0100)]
Speed up seeking in mp3s
Robin Gareus [Fri, 6 Dec 2019 20:53:03 +0000 (21:53 +0100)]
Fix issues with VBR mp3s, detect duration by decoding
Robin Gareus [Fri, 6 Dec 2019 20:28:48 +0000 (21:28 +0100)]
Clear TransportAbort flag after stop
This fixes an issue with unresponsive transport controls after
an abort (e.g. post-export).
Robin Gareus [Fri, 6 Dec 2019 19:22:00 +0000 (20:22 +0100)]
Fix Windows build
Robin Gareus [Fri, 6 Dec 2019 17:30:53 +0000 (18:30 +0100)]
Mark .mp2 and .mp3 as valid file-extensions
Robin Gareus [Fri, 6 Dec 2019 17:11:19 +0000 (18:11 +0100)]
UI limitations for mp3 import
Robin Gareus [Fri, 6 Dec 2019 17:18:33 +0000 (18:18 +0100)]
Implement mp3 import, using minimp3
Robin Gareus [Fri, 6 Dec 2019 17:08:38 +0000 (18:08 +0100)]
Add "seekable" SoundFile info (in prep for mp3 import)
Robin Gareus [Fri, 6 Dec 2019 17:06:13 +0000 (18:06 +0100)]
Flatten nested try/catch clauses
This also consistently throws a failed_constructor() when instantiating
SoundFile fails, regardless of the actual exception
Robin Gareus [Thu, 5 Dec 2019 22:40:29 +0000 (23:40 +0100)]
VKeybd: Set default MIDI port flags
Robin Gareus [Thu, 5 Dec 2019 22:33:27 +0000 (23:33 +0100)]
Undo habits of a Serif font lover
Robin Gareus [Thu, 5 Dec 2019 21:12:49 +0000 (22:12 +0100)]
VKeybd: grab and ignore some keys
With default QWERTY and QWERTZ layout some keys that are easily
accidentally pressed. Those triggered editor actions,
(e.g. "a" (audition), or "1" (edit-tool)) and are now ignored.
Paul Davis [Thu, 5 Dec 2019 20:12:58 +0000 (13:12 -0700)]
remove mistakenly left in session event enum
Paul Davis [Thu, 5 Dec 2019 20:00:24 +0000 (13:00 -0700)]
changes to use overwrite-buffers when loop is disabled or loop range changed
Robin Gareus [Thu, 5 Dec 2019 17:23:49 +0000 (18:23 +0100)]
Fix for-loop condition (comma has no effect)
Robin Gareus [Thu, 5 Dec 2019 15:43:20 +0000 (16:43 +0100)]
Fix well-known control LPF/HPF order.