13
0
Commit Graph

27416 Commits

Author SHA1 Message Date
430e51065c
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.
2019-03-22 14:12:30 +01:00
e398656940
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.
2019-03-22 14:09:03 +01:00
5372f9182d
NO-OP: reduce scope 2019-03-22 14:06:51 +01:00
391cb44dc6
Add ultra-insane CBR 320kbit mp3 quality 2019-03-21 21:58:08 +01:00
fb74b9e015 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
2019-03-20 21:16:57 -07:00
02684009eb safety fix, in case non-Route stripable is selected 2019-03-20 20:50:29 -07:00
df90dbd7bb sort track selection into presentation order before duplicating.
This ensures that new tracks appear in the correct order (#7549)
2019-03-20 20:42:02 -07:00
2c7b632824 fix Session::new_route_from_template() to use playlist IDs and not names. This also fixes #7674 2019-03-20 20:09:17 -07:00
851388e0b4 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
2019-03-20 20:02:07 -07:00
acbd12c885 fix all surfaces' available action menus
Note: this replicated code is ridiculous
2019-03-20 14:23:23 -07:00
cf2fa0ae84 fix Mackie available action menu 2019-03-20 13:05:35 -07:00
51df70b405 ActionManager::get_all_actions() no longer includes <Actions> in the paths it returns, part 3 (GUI) 2019-03-20 11:15:47 -07:00
94d859e30d ActionManager::get_all_actions() no longer includes <Actions> in the paths it returns, part 2 (surface support) 2019-03-20 11:15:34 -07:00
df29e57cb4 ActionManager::get_all_actions() no longer includes <Actions> in the paths it returns, part 1 2019-03-20 11:15:22 -07:00
ed97a290db make ::ardour_action_name() private to Bindings, because nothing else uses it and it semi-exposes the <Actions> nonsense 2019-03-20 11:12:06 -07:00
fd3b8f79af do not create a (throwaway) playlist during track creation 2019-03-19 15:43:06 -07:00
50604d83de
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.
2019-03-19 22:05:06 +01:00
c2e0fe8b3f
Add some more playlist Lua bindings 2019-03-19 22:05:06 +01:00
21e2b353c1 Add an exception handler for access_action() used by control surfaces and Lua. 2019-03-19 11:52:19 -05:00
957393c435 Compiler fix for 201110. 2019-03-19 11:24:26 -05:00
4667ca962b Mixer/show-editor is now Common/show-editor 2019-03-19 10:42:05 -05:00
21110444c1 use a new unhandled (thus far) exception rather than ::abort() when an action is undefined 2019-03-19 08:29:30 -07:00
a3986f703d reorder #include directives 2019-03-18 22:58:24 -07:00
842faa5b6e
Add example script to list Playlists 2019-03-19 05:32:12 +01:00
1172ff4948
Add Lua bindings for SessionPlaylists 2019-03-19 05:27:34 +01:00
1f7db60389
Add convenience methods (mainly for scripting) 2019-03-19 05:27:30 +01:00
c09c7bab52
Update GUI, use Session::playlists() getter (2/2) 2019-03-19 05:14:40 +01:00
cf11e11fc5
Remove global Session::playlists variable, use getter method (1/2)
Global variables that can written by anyone are to be avoided.
This also simplifies exposing SessionPlaylists as Lua bindings.
2019-03-19 05:14:00 +01:00
ab79165893
Fix Playlist refcount when deleting track
Both Disk-reader and Disk-writer use the same playlist.
ARDOUR::Track::use_playlist() sets it for both Disk-IO processors,
so it needs to be released by both on destruction.
2019-03-19 03:08:06 +01:00
7054b2ffc7 switch remaining use of Common/ToggleMixerList to Mixer/ToggleMixerList 2019-03-18 10:58:02 -07:00
7d71729237 compute correct size for working buffers used by compound regions during disk refills 2019-03-18 07:39:23 -07:00
b53d80a7d4 make PlaybackBuffer<T>'s power-of-two size computation available to others 2019-03-18 07:39:23 -07:00
4706201425
NO-OP: Use API to set/test state-of-the-state 2019-03-18 15:36:58 +01:00
bd9d848058 remove debug output 2019-03-17 22:22:09 -07:00
09fd380948
Avoid calling rt-methods from non-rt context
Since upcoming state-machine transitions are done in rt-context
via ARDOUR::Session::process_event () they should all in rt-context.

set_session() is called from the UI thread (and the process-lock wasn't
even taken)
2019-03-18 06:15:12 +01:00
e545e66911
Temporary change to make auto-return work with broken transport-logic
Revert this once transport state machine waits for de-click!

This causes audible-clicks on stop, but prevents audible artifacts
on LocateRoll with the current transport-control-logic.
2019-03-17 18:38:07 +01:00
66103be9f2
Speed up session deletion
No need to reconfigure routes due to removal of monitor or aux
send/return. The processors will be removed with the route.
2019-03-17 17:35:10 +01:00
3fa3437c38
Remove unneeded calls to configure_processors during session-load
Those are superseded by b890cf73ad, which is done after
all IOChanges have been processed.
2019-03-17 17:32:06 +01:00
b890cf73ad
Prepare to configure procs only once - fix missing panners
During session load, all earlier configure_processors() calls
were useless and not taking I/O into account! The Delivery ::pan_out()
needs _output I/O ports in order to correctly report the correct
port-count!

This worked in earlier versions because Config->map_parameters()
triggered [two] processor re-configs via ::listen_position_changed().
That behavior was changed in 1af123465c
2019-03-17 17:19:02 +01:00
b14fdbb516
NO-OP: prefer to use API to check session-state 2019-03-17 17:04:45 +01:00
2f09f72b3d
Amend 883ee9c2, setup required invisible processor
This fixes a potential silent master-bus when re-loading a session
("mains_out" may be skipped).
2019-03-15 15:54:07 +01:00
cec5ea102f
Allow to load presets via double-click 2019-03-15 15:29:36 +01:00
7655999889
Add example script to save instrument plugins on save 2019-03-15 01:38:49 +01:00
12fd048358
On selection, move/scroll VCA into view 2019-03-14 01:29:10 +01:00
41e0255b97
Unused skeleton of the transport state-machine
Simple test/example code. Eventually this is to replace
Session::process_event() and Session::realtime_*() methods
are to become transition actions.
2019-03-14 01:11:10 +01:00
871bd6e0f3
NO-OP: re-order code, collect realtime transport actions 2019-03-13 16:26:17 +01:00
57d3514946 Another fix for region-equivalency pref. 2019-03-12 12:28:39 -05:00
1ab383d43e Change region-equivalence enum to accommodate new mode. 2019-03-12 12:21:25 -05:00
706f56cc52
Snap to VCA strips in the mixer when scrolling 2019-03-12 17:04:13 +01:00
e8284def1f
Fix marker context-menu (bug missed in 12a415f07) 2019-03-12 15:45:32 +01:00