Robin Gareus [Mon, 8 Apr 2019 22:27:05 +0000 (00:27 +0200)]
Another round of whitespace fixes
Robin Gareus [Mon, 8 Apr 2019 20:56:50 +0000 (22:56 +0200)]
Robin Gareus [Mon, 8 Apr 2019 20:24:10 +0000 (22:24 +0200)]
Fix Timecode fps
Robin Gareus [Mon, 8 Apr 2019 20:14:09 +0000 (22:14 +0200)]
Clarify API name (I/O-selector frame)
Robin Gareus [Mon, 8 Apr 2019 19:40:33 +0000 (21:40 +0200)]
Revert more "frame/sample" replacements
- Coverage concerns rectangles (frames, not sample)
- frame-handles are rectangles
- layout container boxes are frames
- inline display boxes are display_frame
Robin Gareus [Mon, 8 Apr 2019 19:37:02 +0000 (21:37 +0200)]
NO-OP: whitespace, alignment
Robin Gareus [Mon, 8 Apr 2019 19:36:27 +0000 (21:36 +0200)]
Remove hardcoded project-name from Actions
Robin Gareus [Mon, 8 Apr 2019 18:59:23 +0000 (20:59 +0200)]
Remove cruft (commented code)
Robin Gareus [Mon, 8 Apr 2019 17:53:33 +0000 (19:53 +0200)]
NO-OP: whitespace, indent
Robin Gareus [Mon, 8 Apr 2019 18:25:05 +0000 (20:25 +0200)]
Yet another "Rect frame" (not a sample)
Robin Gareus [Mon, 8 Apr 2019 18:00:02 +0000 (20:00 +0200)]
Frame as in "picture frame", not sample
Robin Gareus [Mon, 8 Apr 2019 17:36:22 +0000 (19:36 +0200)]
NO-OP: more libardour whitespace tweaks
Robin Gareus [Mon, 8 Apr 2019 16:32:09 +0000 (18:32 +0200)]
Undo yet more frame/sample replacements
Robin Gareus [Mon, 8 Apr 2019 16:29:04 +0000 (18:29 +0200)]
NO-OP: whitespace, comments
Robin Gareus [Mon, 8 Apr 2019 14:12:19 +0000 (16:12 +0200)]
Cleaup meter-tap: reduce nesting and remove code-dup
Robin Gareus [Mon, 8 Apr 2019 14:11:38 +0000 (16:11 +0200)]
Fix OMFtool; sample_rate vs frame_rate
Robin Gareus [Mon, 8 Apr 2019 13:01:26 +0000 (15:01 +0200)]
Remove duplicate patchfiles
The previous commit also unified the naming schama to prefer underscores.
Robin Gareus [Mon, 8 Apr 2019 12:48:26 +0000 (14:48 +0200)]
Import MIDNAM collection from Harrison Mixbus
Kudos to Nik and Ben at Harrisonconsoles. You Rock!
Robin Gareus [Mon, 8 Apr 2019 12:44:22 +0000 (14:44 +0200)]
NO-OP name change: CD-frames (not samples)
Robin Gareus [Mon, 8 Apr 2019 03:16:33 +0000 (05:16 +0200)]
NO-OP: whitespace
Fix space-alignment, mostly due to "frame" -> "sample" changes.
Robin Gareus [Mon, 8 Apr 2019 02:03:21 +0000 (04:03 +0200)]
Undo incorrect sample/frame replacements in clearlooks
Robin Gareus [Mon, 8 Apr 2019 01:46:02 +0000 (03:46 +0200)]
Undo more incorrect sample/frame replacements
Robin Gareus [Mon, 8 Apr 2019 01:45:12 +0000 (03:45 +0200)]
NO-OP: whitespace
Robin Gareus [Mon, 8 Apr 2019 00:05:36 +0000 (02:05 +0200)]
Indicate automation-latch as "touch" on the CC121
Without a dedicated "Latch" control, this does at least consistently
indicate "Touch", rather than show some arbitrary LED state.
Robin Gareus [Sun, 7 Apr 2019 23:56:52 +0000 (01:56 +0200)]
NO-OP: whitespace
Robin Gareus [Sun, 7 Apr 2019 22:35:00 +0000 (00:35 +0200)]
NO-OP: whitespace & revert samples -> [stack]frames
Robin Gareus [Sun, 7 Apr 2019 22:29:13 +0000 (00:29 +0200)]
NO-OP: indent
Robin Gareus [Sun, 7 Apr 2019 22:22:13 +0000 (00:22 +0200)]
Add missing semicolon (Mixbus)
Robin Gareus [Sun, 7 Apr 2019 22:18:08 +0000 (00:18 +0200)]
Revert some incorrect frames -> samples replacements
Mirko Kunze [Sun, 7 Apr 2019 20:48:56 +0000 (22:48 +0200)]
fix copypaste bug
Robin Gareus [Sun, 7 Apr 2019 17:51:08 +0000 (19:51 +0200)]
Enable midi-to-audio bounce when processing w/synth
Robin Gareus [Sun, 7 Apr 2019 17:18:28 +0000 (19:18 +0200)]
Prepare midi-export for midi-to-audio bouncing.
* shift event time into process cycle before calling processors
* reset note-trackers when exporting, don't allow any pending
events into the queue
Robin Gareus [Sun, 7 Apr 2019 17:36:35 +0000 (19:36 +0200)]
Fix bounce-process: skip all processors before disk-reader
Robin Gareus [Sun, 7 Apr 2019 17:35:45 +0000 (19:35 +0200)]
Bounce process always uses speed 1.0
Robin Gareus [Sun, 7 Apr 2019 17:34:37 +0000 (19:34 +0200)]
NO-OP/Optimize Bounce: Lookup data-type only once
This is to prepare for midi-to-audio bounce: allow to change the
data-type to be used as output.
Robin Gareus [Sun, 7 Apr 2019 17:30:23 +0000 (19:30 +0200)]
Verify Freeze/Export/Bounce polarity invert buffers
When using bounce w/process, the initial bufferset can [wrongly] be
buffers.set_count (track.max_processor_streams())
Since the polarity-processor is first in the chain, iterations
over all buffer that don't have a matching _current_gain[]
or _control[] leads to memory-corruption or segfault.
Robin Gareus [Sun, 7 Apr 2019 16:51:50 +0000 (18:51 +0200)]
Cleanup "Clean-up", hide dialog before starting cleanup
Robin Gareus [Wed, 3 Apr 2019 01:35:40 +0000 (03:35 +0200)]
Backport a Mixbus special-case for plugin-tags
Robin Gareus [Wed, 3 Apr 2019 01:35:13 +0000 (03:35 +0200)]
Fix OSC crash when there's no master bus
Robin Gareus [Tue, 2 Apr 2019 13:35:57 +0000 (15:35 +0200)]
Fix MIDI Aftertouch (import, record and play) in the backend
Robin Gareus [Mon, 1 Apr 2019 23:51:36 +0000 (01:51 +0200)]
Downgrade LADSPA scan errors to warnings
There's nothing that a casual user can about failure to scan
LADSPA plugins. So just inform the user.
It's not an error to worry about.
Robin Gareus [Mon, 1 Apr 2019 20:30:16 +0000 (22:30 +0200)]
Indicate automation-latch as "touch" on the FP1
The FP1 does not have a dedicated "Latch" control, but this does
at least consistently indicate that Touch, rather than show some
arbitrary LED state.
Robin Gareus [Mon, 1 Apr 2019 20:28:07 +0000 (22:28 +0200)]
Expose Latch automation mode to MCUs
Robin Gareus [Sun, 31 Mar 2019 20:25:40 +0000 (22:25 +0200)]
Clarify documentation
Robin Gareus [Sun, 31 Mar 2019 20:25:29 +0000 (22:25 +0200)]
Remove a hack of using flags to emit a signal-change from the GUI
The GUI should not be calling `manager.PluginListChanged();`
It's up to the plugin-manager to emit relevant signals.
This fixes an issue when adding/removing plugin-favorites using the
mixer's sidebar or via remote-control/surfaces or script.
Robin Gareus [Sun, 31 Mar 2019 14:08:35 +0000 (16:08 +0200)]
NO-OP: Whitespace
Robin Gareus [Sat, 30 Mar 2019 00:19:47 +0000 (01:19 +0100)]
AutomationRangeDrag tweaks for stacked layer view
Use y-pos and height of given TAV *layer* where the drag was initiated.
Robin Gareus [Sat, 30 Mar 2019 00:15:17 +0000 (01:15 +0100)]
Remove unused variable
Robin Gareus [Fri, 29 Mar 2019 23:14:26 +0000 (00:14 +0100)]
cont'd AutomationRangeDrag update
Properly adding guard-points for all lanes, not just the first found
for each range.
Robin Gareus [Fri, 29 Mar 2019 14:57:07 +0000 (15:57 +0100)]
cont'd AutomationRangeDrag updates -- safety commit
This is work in progress towards fixing stacked region's region-gain
and multiple discontinuous regions spanning multiple tracks.
AutomationRangeDrag::setup() still does not collect all AutomationLine
points for certain overlap scenarios. There's more to come...
Robin Gareus [Fri, 29 Mar 2019 13:53:07 +0000 (14:53 +0100)]
Fix Mixbus special case
Robin Gareus [Fri, 29 Mar 2019 13:52:25 +0000 (14:52 +0100)]
Fix action-name
Robin Gareus [Fri, 29 Mar 2019 13:33:31 +0000 (14:33 +0100)]
NO-OP: remove unused variable
John Emmas [Thu, 28 Mar 2019 11:39:30 +0000 (11:39 +0000)]
Add a missing namespace qualifier
(is needed now, following commit #
94271ee862)
Robin Gareus [Thu, 28 Mar 2019 02:01:53 +0000 (03:01 +0100)]
Fix route-templates with external sends
Robin Gareus [Thu, 28 Mar 2019 00:51:50 +0000 (01:51 +0100)]
Don't allow to cut/copy inserts via Drag/Drop
It was already verboten via ctrl-x/c/v since copying inserts using
the same I/O makes no sense, nor does moving them.
Robin Gareus [Wed, 27 Mar 2019 22:24:58 +0000 (23:24 +0100)]
Re-layout ctrl surface enable button: align left
Since the Preferences window can be rather wide, and the table expands,
a button on the left is preferred.
Robin Gareus [Wed, 27 Mar 2019 22:23:33 +0000 (23:23 +0100)]
Implement multi-region AutomationRange drag/drop
David Robillard [Tue, 19 Feb 2019 19:14:41 +0000 (20:14 +0100)]
Cleanup: Remove unnecessary using namespace declarations
David Robillard [Tue, 19 Feb 2019 19:12:42 +0000 (20:12 +0100)]
Cleanup: Fix inconsistent TransformDialog code style
Robin Gareus [Tue, 26 Mar 2019 21:25:20 +0000 (22:25 +0100)]
NO-OP: add comment for cross-reference
Robin Gareus [Tue, 26 Mar 2019 21:12:48 +0000 (22:12 +0100)]
Remove extra quotes from meta-data
Arguments are passed as argp[] array to execve() and don't need to be
enclosed by quotes.
Robin Gareus [Tue, 26 Mar 2019 20:05:52 +0000 (21:05 +0100)]
Credit where credit is due.
Robin Gareus [Tue, 26 Mar 2019 17:18:49 +0000 (18:18 +0100)]
Add a note to self
Robin Gareus [Tue, 26 Mar 2019 14:35:36 +0000 (15:35 +0100)]
Fix mingw compile (declare int64_t and int32_t)
Robin Gareus [Mon, 25 Mar 2019 16:05:19 +0000 (17:05 +0100)]
Do not create automation when shifting (insert/remove time)
This fixes a bug when shift() creates automation for parameters that
can not have any automation (hidden parameters, Mixbus PRE).
The GUI (RTAV) aborts() when it finds an automation lane for
a hidden parameter.
This also cleans up shift() operations in general. Empty automation
lanes should be left alone, no guard-point at zero should be added.
Robin Gareus [Sat, 23 Mar 2019 16:35:26 +0000 (17:35 +0100)]
NO-OP: whitespac
Robin Gareus [Sat, 23 Mar 2019 16:20:28 +0000 (17:20 +0100)]
NO-OP: whitespace
Robin Gareus [Sat, 23 Mar 2019 15:32:48 +0000 (16:32 +0100)]
Fix generic-midi controllable race-condition
Continued work after
e9b36f2bea. Prefer a shared_ptr<>.
MIDIControllable::write_feedback() runs in realtime context, directly
from the main process-thread. Synchronizing weak-pointers and deletion
across threads does not work reliably. Retaining a shared_ptr<> for
controllables that are in use can solve this.
Robin Gareus [Sat, 23 Mar 2019 15:14:15 +0000 (16:14 +0100)]
Clean up MonitorProcessorControls
As opposed to regular AutomationControls these PBD:::Controllables
are not SessionObjects and don't emit a signal when the session
goes away.
Robin Gareus [Sat, 23 Mar 2019 14:52:36 +0000 (15:52 +0100)]
Clean out session-global controllables
This isn't strictly speaking needed, there are only a handful of
users (most notably generic-midi ctrl surface, and Selection)
Robin Gareus [Sat, 23 Mar 2019 13:32:00 +0000 (14:32 +0100)]
Remove static Destroyed(*), prefer StatefulDestructable API
This also add a debug-dump method to show remaining registered
Controllables.
Robin Gareus [Sat, 23 Mar 2019 13:28:12 +0000 (14:28 +0100)]
Remove chicken/egg d'tor
Session::Controllables is a shared_ptr<> list. As long
as the session exists the Controllables will be around. Destroyed(*)
can only be called after the session is destroyed and releases the
shared_ptr<>
NB. this code had a nice hack to construct a "shared_from_this"
workaround. For future reference:
struct null_deleter { void operator()(void const *) const {} };
boost::shared_ptr<Controllable>(c, null_deleter())
Robin Gareus [Sat, 23 Mar 2019 02:11:54 +0000 (03:11 +0100)]
Re-add global lookup for generic-midi ctrl state
Robin Gareus [Sat, 23 Mar 2019 02:10:49 +0000 (03:10 +0100)]
Re-add Controllable registry
To facilitate a central registry with weak/shared pointer lookup,
enable_shared_from_this<ARDOUR::AutomationControl>
was migrated to
enable_shared_from_this<PBD::Controllable>
The main (and only) user is generic-midi surface's state interface :(
Robin Gareus [Sat, 23 Mar 2019 01:09:39 +0000 (02:09 +0100)]
Update GenericMidiControlProtocol to use shared/weak Controllable pointers
This fixes a race-condition when a controllable is deleted
while sending feedback to the device.
Previously there was a race-condition MIDIControllable::write_feedback()
triggered from rt-thread, processed in Surface-thread and deleting
a route or processor.
This is a first step, currently state-restore is not fully functional
session->controllable_by_id() does not cover all Controllables.
Robin Gareus [Sat, 23 Mar 2019 00:45:29 +0000 (01:45 +0100)]
Use weak-pointer for Controllable learning
Robin Gareus [Sat, 23 Mar 2019 00:37:28 +0000 (01:37 +0100)]
Remove c-pointer Controllable* registry
Robin Gareus [Sat, 23 Mar 2019 00:32:31 +0000 (01:32 +0100)]
Prepare PBD::Controllable API cleanup (remove only registry user)
Robin Gareus [Sat, 23 Mar 2019 00:28:23 +0000 (01:28 +0100)]
Remove unusued API Create/Delete Binding
Robin Gareus [Fri, 22 Mar 2019 13:12:30 +0000 (14:12 +0100)]
Update cAutomationControl values when copying state
This fixes a bug that can result in inconsistent session-state when
copying plugin state from one plugin to another (via drag/drop
ProcessorBox::object_drop, LINK).
The underlying plugin state and settings are copied, port _shadow_data
is updated, and ::get_parameter() shows the correct new value.
However the Controllable was not updated. On Session save/restore
the value may have be lost or was inconsistently restored.
Robin Gareus [Fri, 22 Mar 2019 13:09:03 +0000 (14:09 +0100)]
Prevent crashes when copying LV2 plugin state
LV2 plugin state-loading is generally safe to perform concurrently
with running the plugin (as per LV2 spec). However concurrent run()
is not.
Robin Gareus [Fri, 22 Mar 2019 13:06:51 +0000 (14:06 +0100)]
NO-OP: reduce scope
Robin Gareus [Thu, 21 Mar 2019 20:58:08 +0000 (21:58 +0100)]
Add ultra-insane CBR 320kbit mp3 quality
Paul Davis [Thu, 21 Mar 2019 04:16:57 +0000 (21:16 -0700)]
working but still confusing fix for ensuring that playlist shared-with data is correct when duplicating tracks.
Confusing because orig_track_id is still being switched to the
NEW track, and shared_with refers to the OLD one
Paul Davis [Thu, 21 Mar 2019 03:50:29 +0000 (20:50 -0700)]
safety fix, in case non-Route stripable is selected
Paul Davis [Thu, 21 Mar 2019 03:42:02 +0000 (20:42 -0700)]
sort track selection into presentation order before duplicating.
This ensures that new tracks appear in the correct order (#7549)
Paul Davis [Thu, 21 Mar 2019 03:09:17 +0000 (20:09 -0700)]
fix Session::new_route_from_template() to use playlist IDs and not names. This also fixes #7674
Paul Davis [Thu, 21 Mar 2019 03:02:07 +0000 (20:02 -0700)]
remove "rename_playlist" argument from Route::set_name_in_state().
We no longer find playlists by name when constructing tracks, so
the name of the playlist is not relevant
Paul Davis [Wed, 20 Mar 2019 21:23:23 +0000 (14:23 -0700)]
fix all surfaces' available action menus
Note: this replicated code is ridiculous
Paul Davis [Wed, 20 Mar 2019 20:05:35 +0000 (13:05 -0700)]
fix Mackie available action menu
Paul Davis [Wed, 20 Mar 2019 18:15:47 +0000 (11:15 -0700)]
ActionManager::get_all_actions() no longer includes <Actions> in the paths it returns, part 3 (GUI)
Paul Davis [Wed, 20 Mar 2019 18:15:34 +0000 (11:15 -0700)]
ActionManager::get_all_actions() no longer includes <Actions> in the paths it returns, part 2 (surface support)
Paul Davis [Wed, 20 Mar 2019 18:15:22 +0000 (11:15 -0700)]
ActionManager::get_all_actions() no longer includes <Actions> in the paths it returns, part 1
Paul Davis [Wed, 20 Mar 2019 18:12:06 +0000 (11:12 -0700)]
make ::ardour_action_name() private to Bindings, because nothing else uses it and it semi-exposes the <Actions> nonsense
Paul Davis [Tue, 19 Mar 2019 22:42:54 +0000 (15:42 -0700)]
do not create a (throwaway) playlist during track creation
Robin Gareus [Tue, 19 Mar 2019 20:56:13 +0000 (21:56 +0100)]
Fix incorrectly saved un-used playlists
This addresses issues with session-cleanup and region-cleanup in
some sessions.
The root-cause why some unused playlists were saved in the session XML
under <Playlists> and not <UnusedPlaylists> is not known.
Early 6.0-pre did incorrect reference counting, but also older sessions
had this issue. Perhaps due to ambiguities of matching playlists
by name in 5.x or session-format changes 3.x .. 5.x.
Robin Gareus [Tue, 19 Mar 2019 20:50:43 +0000 (21:50 +0100)]
Add some more playlist Lua bindings
Ben Loftis [Tue, 19 Mar 2019 16:52:19 +0000 (11:52 -0500)]
Add an exception handler for access_action() used by control surfaces and Lua.
Ben Loftis [Tue, 19 Mar 2019 16:23:45 +0000 (11:23 -0500)]
Compiler fix for 201110.