Commit graph

14605 commits

Author SHA1 Message Date
Nikolaus Gullotta
e4542f7d1e Merge branch 'master' into mixer-snapshots 2019-03-22 09:29:30 -05:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
5372f9182d
NO-OP: reduce scope 2019-03-22 14:06:51 +01:00
Robin Gareus
391cb44dc6
Add ultra-insane CBR 320kbit mp3 quality 2019-03-21 21:58:08 +01:00
Nikolaus Gullotta
0714a46d20 Merge branch 'master' into mixer-snapshots 2019-03-21 10:27:37 -05:00
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
acbd12c885 fix all surfaces' available action menus
Note: this replicated code is ridiculous
2019-03-20 14:23:23 -07:00
Paul Davis
cf2fa0ae84 fix Mackie available action menu 2019-03-20 13:05:35 -07:00
Paul Davis
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
Paul Davis
df29e57cb4 ActionManager::get_all_actions() no longer includes <Actions> in the paths it returns, part 1 2019-03-20 11:15:22 -07:00
Paul Davis
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
Nikolaus Gullotta
7f859c77cf Merge branch 'master' into mixer-snapshots 2019-03-20 10:17:21 -05:00
Paul Davis
fd3b8f79af do not create a (throwaway) playlist during track creation 2019-03-19 15:43:06 -07:00
Robin Gareus
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
Robin Gareus
c2e0fe8b3f
Add some more playlist Lua bindings 2019-03-19 22:05:06 +01:00
Nikolaus Gullotta
8722fe1898 add reversible command to route state changes 2019-03-19 15:45:26 -05:00
Nikolaus Gullotta
af9a93ef25 remove some un-needed headers 2019-03-19 13:02:07 -05:00
Nikolaus Gullotta
7a01db729f major overhaul and bugfixing 2019-03-19 12:46:56 -05:00
Ben Loftis
957393c435 Compiler fix for 201110. 2019-03-19 11:24:26 -05:00
Ben Loftis
4667ca962b Mixer/show-editor is now Common/show-editor 2019-03-19 10:42:05 -05:00
Paul Davis
21110444c1 use a new unhandled (thus far) exception rather than ::abort() when an action is undefined 2019-03-19 08:29:30 -07:00
Nikolaus Gullotta
205ec4483a Merge branch 'master' into mixer-snapshots 2019-03-19 09:25:51 -05:00
Paul Davis
a3986f703d reorder #include directives 2019-03-18 22:58:24 -07:00
Robin Gareus
1172ff4948
Add Lua bindings for SessionPlaylists 2019-03-19 05:27:34 +01:00
Robin Gareus
1f7db60389
Add convenience methods (mainly for scripting) 2019-03-19 05:27:30 +01:00
Robin Gareus
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
Robin Gareus
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
Paul Davis
7054b2ffc7 switch remaining use of Common/ToggleMixerList to Mixer/ToggleMixerList 2019-03-18 10:58:02 -07:00
Nikolaus Gullotta
28b0765466 Merge branch 'master' into mixer-snapshots 2019-03-18 10:35:11 -05:00
Paul Davis
7d71729237 compute correct size for working buffers used by compound regions during disk refills 2019-03-18 07:39:23 -07:00
Paul Davis
b53d80a7d4 make PlaybackBuffer<T>'s power-of-two size computation available to others 2019-03-18 07:39:23 -07:00
Robin Gareus
4706201425
NO-OP: Use API to set/test state-of-the-state 2019-03-18 15:36:58 +01:00
Paul Davis
bd9d848058 remove debug output 2019-03-17 22:22:09 -07:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
b14fdbb516
NO-OP: prefer to use API to check session-state 2019-03-17 17:04:45 +01:00
Nikolaus Gullotta
2055b32f10 add read and write functions to class 2019-03-15 15:19:39 -05:00
Robin Gareus
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
Nikolaus Gullotta
91869213e1 Merge branch 'master' into mixer-snapshots 2019-03-14 09:23:06 -05:00
Robin Gareus
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
Robin Gareus
871bd6e0f3
NO-OP: re-order code, collect realtime transport actions 2019-03-13 16:26:17 +01:00
Nikolaus Gullotta
95836825fb Merge branch 'master' into mixer-snapshots 2019-03-13 09:39:21 -05:00
Ben Loftis
1ab383d43e Change region-equivalence enum to accommodate new mode. 2019-03-12 12:21:25 -05:00
Nikolaus Gullotta
70833bb8f8 Merge branch 'master' into mixer-snapshots 2019-03-12 11:38:20 -05:00