13
0
Commit Graph

32026 Commits

Author SHA1 Message Date
285101d88c Cruft removal: behavior of Region List no longer needs these functions (gtk part) 2021-06-08 08:33:48 -05:00
c2fb85e37e Cruft removal: behavior of Region List has changed; these functions are deprecated (libardour) 2021-06-08 08:33:48 -05:00
1665d0e1bc Playlist UI tweaks: add Actions and menu items for global plist functions 2021-06-08 08:33:48 -05:00
a8395718bc Playlist UI tweaks: rationalize playlist functions in Editor::
* new global playlist functions for {all | rec-armed | selected} tracks.
* new API passes (bool copy) arg instead of separate functions for copy_X.
* consistently use mapover_X functions to consolidate code
* update Lua bindings to match
2021-06-08 08:33:48 -05:00
cf999ecaa9 Playlist UI tweaks: clarify purpose of get_region{view}s_corresponding_to 2021-06-08 08:33:48 -05:00
b0db646029
Refactor input port monitoring
* avoid memory allocation (remove std:set<>&)
* skip nested loop using port-names as IDs

However this adds a bit of extra cost in case input ports are
monitored: get_port_by_name() and get_buffer()
2021-06-08 14:34:57 +02:00
bed992d55f
Minimize false sharing of MPMC queue variables 2021-06-07 23:40:29 +02:00
5cec55da2e
Micro-optimization: std::atomic<> vs glib
glib atomic operations include a complete act as a full
compiler and (where appropriate) hardware memory barrier.

std::atomic<> allows dedicated acquire and release barrier
semantics which are not available with glib.
2021-06-07 20:44:29 +02:00
1eb6b82b9f
Prevent L1 cache line evicion in MPMC queue
This reduces cache coherence overhead of the queue
2021-06-07 16:05:42 +02:00
4484b60b13 Revert "extend API of ARDOUR_UI_UTILS::emulate_key_event() to allow it to pass modifiers too"
No need to extend/change this API, since relay_key_press() can already take a window argument.

This reverts commit 2e0fa8943a.
2021-06-06 08:11:26 -06:00
66264eb68f use existing API for key forwarding 2021-06-06 08:11:13 -06:00
b03c8e7849 add key forwarding to playlist selector dialog 2021-06-06 08:06:11 -06:00
2e0fa8943a extend API of ARDOUR_UI_UTILS::emulate_key_event() to allow it to pass modifiers too 2021-06-06 08:05:59 -06:00
ecb992de64
Remove custom generic plugin UIs (a-eq) 2/2 2021-06-04 01:43:29 +02:00
032aceff28
Remove custom generic plugin UIs (a-eq) 1/2
Mostly a failed experiment, that also does not play well with
themes. Superseded by Harrison's ACE-EQ GUI.
2021-06-04 01:43:01 +02:00
bc4ef3ff3d
Update weakjack, alternative macOS libjack paths
see also https://github.com/x42/weakjack/pull/13
2021-06-02 17:42:01 +02:00
6e72232636 Playlist UI tweaks: revert to generic Gtk terms on dialog 2021-06-01 17:55:09 -05:00
6cf1083cb6 Playlist UI tweaks: add function playlists_for_pgroup() (libardour) 2021-06-01 17:55:09 -05:00
70529c0b56 Playlist UI tweaks: renaming a plist should apply to all plists created in that group 2021-06-01 17:55:09 -05:00
60dbf3bcec
Consistent label for ACE plugin installer
see also 82764a6da7
2021-06-01 21:09:12 +02:00
82764a6da7
Clarify installer question (XT and ACE) 2021-06-01 19:40:52 +02:00
63629c0a91
NO-OP: whitespace 2021-06-01 19:40:21 +02:00
b339d083a8 Playlist UI tweaks: relax requirement that playlists have a discrete name, and use pgroup for organization instead 2021-06-01 11:59:13 -05:00
0e86e3337c Playlist UI tweaks: relax requirement that playlists names must be unique (libardour part) 2021-06-01 09:39:50 -05:00
25786ac130 Playlist UI tweaks: change sort order to use pgroup when one is available 2021-06-01 09:39:50 -05:00
932b07b7b0 Playlist UI tweaks: assign a pgroup when a playist is first recorded to
* this solves the problem where the first 'take' was not grouped because
 the user has not explicitly created a take for the group yet
2021-06-01 09:39:50 -05:00
28aa22e11a Playlist UI tweaks: Add pgroup_id field to playlists, to associate playlists created in the same operation (libardour) 2021-06-01 09:39:50 -05:00
32bf85502f Playlist UI tweaks: annotate grouped playlist actions with '(for group)' rather than the overloaded term 'take' 2021-06-01 09:39:50 -05:00
561aef3736 Playlist UI tweaks: always prompt the user for a new playlist name, not just for grouped playlists 2021-06-01 09:39:50 -05:00
892d641987 Playlist UI tweaks: Add (select, share, copy, steal) operations to the playlist selector (under Advanced... menu)
Use the same sorting for the menu list and playlist_selector items
Implement Copy, Share and Steal playlist actions. Need a RouteTimeAxis for this.
Rename persistent dialog buttons to make it clear you can Revert
2021-06-01 09:39:39 -05:00
Nikolaus Gullotta
a51e51b4f2 Playlist UI tweaks: Update PlaylistSelector (gtk2_ardour part)
Window is now no longer modal
Subscribes to new Track::PlaylistAdded signal
Move RouteUI setting to new dedicated method
Rename show_for to show
Hide PlaylistSelector if DropReference signal is emitted
2021-06-01 09:16:41 -05:00
f6d2229c47 Playlist UI tweaks: Update PlaylistSelector (libardour part)
* Add an option to use a playlist without stealing its ownership. (libardour)
* Tracks emit PlaylistAdded when a new playlist is created either by copying or by creating a new empty pl
2021-06-01 09:15:54 -05:00
7b2854b2fb Prefer storing playlist-IDs for frozen tracks; but if none is provided then search by name
* no version-check should be necessary because when opening an old session,
 playlists can be looked-up by discrete names and will be tracked by ID thereafter
2021-06-01 09:14:07 -05:00
8af5f1df02 Selecting a playlist is not currently an undo-able action. Stop trying to make an undo record for it. 2021-06-01 09:14:07 -05:00
cc60b3b8d5 Fix use of uninitialized variable (Wsometimes-uninitialized) 2021-05-30 20:17:45 -04:00
71a414b4b0 Remove unused function (Wunused-function) 2021-05-30 20:09:35 -04:00
8d471e6761 Remove extraneous parentheses (Wparentheses-equality) 2021-05-30 20:09:35 -04:00
74e21e942e Remove unused variables (Wunused-variable) 2021-05-30 20:09:35 -04:00
1b4aaea92a Remove unused private fields (Wunused-private-field) 2021-05-30 20:09:35 -04:00
c57c230dfc
Fix loading old session w/missing playlist #8727 2021-05-30 18:54:45 +02:00
aae8252341
Fix engine-dialog MIDI Dropdown issue
Sensitivity is managed by EngineControl::update_sensitivity,
prior settings in update_midi_options() were ignored.

This also fixes the layout (MIDI dropdown width) and midi-option
value when changing backends.
2021-05-30 18:54:00 +02:00
adcc5be728 Retain devices when device list changes
EngineControl::device_list_changed calls
list_devices, which clears and refills the
I/O dropdown. This resulted in changed callbacks
EngineControl::input_device_changed which in turn
unsets the device in the backend:
set_input_device_name("").

The I/O devices were reset (use first available).
2021-05-29 17:54:39 +02:00
df0571892f Coreaudio: fix duplicates in device list
This is an edge-case only, some devices may
dis and reconnect with different IDs.
2021-05-29 17:54:39 +02:00
bdb5aec1cc ptimport: Fix crash when imported session has zero audio tracks 2021-05-29 12:54:10 +10:00
51d57a3fb6 Source and Region list: fix disappearing list items (break out of the loop instead of returning, so the list always gets thawed) 2021-05-28 18:51:35 -05:00
537d44e3ae Track selection as a side-effect of a Range selection should obey group->selection property 2021-05-28 18:51:22 -05:00
b17629bddf implement option to move markers during a "remove gaps" operation 2021-05-28 17:43:33 -06:00
3d15b61e37 fix Playlist::remove_gaps() for ExternalOverlap regions; add per-gap callback 2021-05-28 17:43:33 -06:00
c8c506f702 fix bug in Locations::ripple() 2021-05-28 17:43:33 -06:00
9766132a53 libardour: add Locations::ripple() 2021-05-28 17:43:33 -06:00