Commit Graph

31989 Commits

Author SHA1 Message Date
Robin Gareus
40e4a5a20d Lua Session windows stdio
Allow stdio, but do not open cmd.exe terminal when started.
This allows for scripted sessions.
2021-06-09 02:43:31 +02:00
Robin Gareus
0e570d15ae Amend 3a7ea6b, do not kill child after 10 sec w/o output
This fixes video-timeline issues (harvid has no output), as well
as ALSA device reservation and xjadeo (when idle).
2021-06-08 23:23:31 +02:00
Ben Loftis
cc104d3fd3 Playlist UI tweaks: bugfix: mapover_groupd_routes should include the basis route (but only once) 2021-06-08 12:43:26 -05:00
Robin Gareus
445d5a75d0 NO-OP: use reference instead of iterator 2021-06-08 19:26:40 +02:00
Robin Gareus
23e3b6f6a8 Amend previous commit (remove debug instrumentation) 2021-06-08 16:49:55 +02:00
Robin Gareus
e8130c1f1b Optimize input-metering
Rely on previously collected I/O port-list, skip expensive call
to get_physical_inputs() and rely on RCU port list alone.
Also skip port_is_mine() test in optimized builds.
2021-06-08 16:43:26 +02:00
Paul Davis
b75a37abdb fix arguemnts to transport call in shared control surface code for transport_play() 2021-06-08 08:32:19 -06:00
Paul Davis
c46410a1b0 MIDI region extend-selection should select all after start of selection, not all after end of selection 2021-06-08 08:31:41 -06:00
Paul Davis
11cb981e30 add extend_selection() to MIDI region bindings; expose invert-selection also 2021-06-08 07:40:54 -06:00
Ben Loftis
f4d4dddbeb Paste Mode: overwrite-paste, naive implementation using rec-mode (for testing) 2021-06-08 08:33:48 -05:00
Ben Loftis
7cc92d8f27 Playlist UI tweaks: add global playlist buttons to Rec page (tentative, for testing) 2021-06-08 08:33:48 -05:00
Ben Loftis
e63dc0eb29 Playlist UI tweaks: move pgroup_id out of the menu text, and into a column of the playlist selector 2021-06-08 08:33:48 -05:00
Ben Loftis
1c9bb9ab41 Playlist UI tweaks: refactor PlaylistSelector (life-cycle, code-cleanup)
* You can now show a selector for each track, rather than one global dialog
* Removed the 'cancel' button: it was too easy to unintentionally revert your selection
* Correctly sort and name new playlists when they are added or renamed from the P menu
* Fix problem where list contents disappeared when changing desktops (on_unmap_event)
2021-06-08 08:33:48 -05:00
Ben Loftis
285101d88c Cruft removal: behavior of Region List no longer needs these functions (gtk part) 2021-06-08 08:33:48 -05:00
Ben Loftis
c2fb85e37e Cruft removal: behavior of Region List has changed; these functions are deprecated (libardour) 2021-06-08 08:33:48 -05:00
Ben Loftis
1665d0e1bc Playlist UI tweaks: add Actions and menu items for global plist functions 2021-06-08 08:33:48 -05:00
Ben Loftis
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
Ben Loftis
cf999ecaa9 Playlist UI tweaks: clarify purpose of get_region{view}s_corresponding_to 2021-06-08 08:33:48 -05:00
Robin Gareus
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
Robin Gareus
bed992d55f Minimize false sharing of MPMC queue variables 2021-06-07 23:40:29 +02:00
Robin Gareus
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
Robin Gareus
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
Paul Davis
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
Paul Davis
66264eb68f use existing API for key forwarding 2021-06-06 08:11:13 -06:00
Paul Davis
b03c8e7849 add key forwarding to playlist selector dialog 2021-06-06 08:06:11 -06:00
Paul Davis
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
Robin Gareus
ecb992de64 Remove custom generic plugin UIs (a-eq) 2/2 2021-06-04 01:43:29 +02:00
Robin Gareus
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
Robin Gareus
bc4ef3ff3d Update weakjack, alternative macOS libjack paths
see also https://github.com/x42/weakjack/pull/13
2021-06-02 17:42:01 +02:00
Ben Loftis
6e72232636 Playlist UI tweaks: revert to generic Gtk terms on dialog 2021-06-01 17:55:09 -05:00
Ben Loftis
6cf1083cb6 Playlist UI tweaks: add function playlists_for_pgroup() (libardour) 2021-06-01 17:55:09 -05:00
Ben Loftis
70529c0b56 Playlist UI tweaks: renaming a plist should apply to all plists created in that group 2021-06-01 17:55:09 -05:00
Robin Gareus
60dbf3bcec Consistent label for ACE plugin installer
see also 82764a6da7
2021-06-01 21:09:12 +02:00
Robin Gareus
82764a6da7 Clarify installer question (XT and ACE) 2021-06-01 19:40:52 +02:00
Robin Gareus
63629c0a91 NO-OP: whitespace 2021-06-01 19:40:21 +02:00
Ben Loftis
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
Ben Loftis
0e86e3337c Playlist UI tweaks: relax requirement that playlists names must be unique (libardour part) 2021-06-01 09:39:50 -05:00
Ben Loftis
25786ac130 Playlist UI tweaks: change sort order to use pgroup when one is available 2021-06-01 09:39:50 -05:00
Ben Loftis
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
Ben Loftis
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
Ben Loftis
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
Ben Loftis
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
Ben Loftis
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
Ben Loftis
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
Ben Loftis
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
Ben Loftis
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
David Robillard
cc60b3b8d5 Fix use of uninitialized variable (Wsometimes-uninitialized) 2021-05-30 20:17:45 -04:00
David Robillard
71a414b4b0 Remove unused function (Wunused-function) 2021-05-30 20:09:35 -04:00
David Robillard
8d471e6761 Remove extraneous parentheses (Wparentheses-equality) 2021-05-30 20:09:35 -04:00