13
0
Commit Graph

549 Commits

Author SHA1 Message Date
27ccb1c9d3
Be explicit about resizable Pane vs fixed size Attachment 2024-11-16 19:38:59 +01:00
0b933127e9
Use new Tabbable API 2024-11-15 04:40:39 +01:00
19fc6e831b
Fix missing calls to SessionHandlePtr::session_going_away()
Explicit calls to set_session(0) will disconnect the
callback to session_going_away(). So don't do that.
2024-11-10 23:27:36 +01:00
983236f348
implement focus_on_clock for each tabbable 2024-11-10 23:27:35 +01:00
8f183e26ee
Use tabbable visibility functions on all pages 2024-11-10 23:27:35 +01:00
4b1e09f810
Pack Pages using Tabbable constructs 2024-11-10 23:27:35 +01:00
1b18c3e76c
Use Transport Bar in top-level pages 2024-11-10 23:27:34 +01:00
b2e4dd91b9
Update Tabbable c'tor to allow member as top-level widget
Derived classes cannot use `Tabbable (_content_vbox,..)`
`_content_vbox` is a member of Tabbable (which has not
yet been initialized) at the point of construction.

This breaks internal API, hence the omnibus commit
2024-11-10 23:27:34 +01:00
74c4ca3e52
Reduce reliance on boost - the hard part
the rest from `tools/convert_boost.sh`.

* replace boost::function, boost::bind with std::function and std::bind.

This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
ff95d81612
Reduce reliance on boost - the easy part
* boost::unordered_map -> std::unordered_map
* BOOST_STATIC_ASSERT/static_assert
* BOOST_FOREACH -> for
* boost::tuple -> std::tuple/g
* boost::math::isnormal -> std::isnormal
* boost::container::set -> std::set
* boost::none -> std::nullopt
* boost::optional -> std::optional
2024-10-19 03:41:16 +02:00
902ecef797
Fix typo 2024-10-08 12:50:19 +02:00
8ab7c05382
Fix fan-out of instruments with illegal path-chars in their port-name
e.g. EZDrummer "1/2" (or generic "L/R"). While those names
are perfectly fine for Ports, tracks (file) names cannot include
those chars.

Since fan-out looks up routes by name this failed to properly
connect stereo pinouts since 4a14f2fed5, 5b746b186.
2024-09-17 22:16:28 +02:00
Mark Knoop
b00e099d02
Fix action labels for gain inc/dec #9719 2024-06-05 20:03:36 +02:00
4f59b1ddf5
show/hide group-tab spacer above VCA pane 2024-05-06 23:47:10 +02:00
jean-emmanuel
4e44f44e71
mixer: use ardour widgets instead of native gtk's for plugin list dropdown and search clear button 2024-05-03 21:19:48 +02:00
ed98ff97b2
Fix adding new route in front (#9651)
When adding a new route using "Front", its presentation info
order is set to 1, after the master-bus which has PI order 0.
(see Session::ensure_route_presentation_info_gap).

Mixer_UI::add_stripables, looks up the insert iterator:
"after the route with order 0", but since the master bus is
not in mixer's track-model, the insert-iterator is left "at end".

A later call to `sync_presentation_info_from_treeview` then updated
the new track's order key to be at the end.
2024-03-02 14:55:58 +01:00
e94e7b6dc7
Vapor: keep session config and UI action in sync 2024-02-23 17:04:25 +01:00
jean-emmanuel
c28080d44c
ui: mixer: remove duplicate handler that causes a bug where the "Add Track" dialog pops up upon double clickin anywhere on a vca strip 2024-02-15 14:58:54 +01:00
0e824cce0b
Fix gtk-critical message when monitor section is not present 2024-01-28 21:59:14 +01:00
d01bb73548
Mixer: place surround-monitor after master (and before monitor section) 2024-01-15 22:40:35 +01:00
2a928dae19
Vapor: Simple Export GUI 2024-01-06 20:28:42 +01:00
7228144d6e
Vapor: GUI support to add Surround Bus 2024-01-06 20:27:03 +01:00
9cc966120c
Consolidate internal bus checks (2/2) 2024-01-06 20:21:54 +01:00
a5ac6e097e switch no-strobe from cmdline to UI config preference 2023-11-10 15:50:44 -07:00
9c5600ad87 no strobe for mixer ui meters 2023-11-10 10:56:03 -07:00
c162aa7aca
Consistently use context-menu button action
This fixes an issue where brining up a menu can directly activate an
action in the menu. Notably on macOS.

Nathan reports that this may also address #9515

Note: mac touchpads are not affected since right-click there is
effectively a "press and hold".
2023-10-31 20:16:23 +01:00
e9585ad530 objects don't have a time domain, they have a time domain provider (GUI) 2023-08-02 15:22:52 -06:00
e430b54554 class name change to clearly disambiguate Evoral::ControlList (a list of time/value pairs) from lists of Controls in libardour (GUI edition) 2023-08-02 15:22:52 -06:00
78e023fcc2 deselecting a grouped track no longer deselects the entire group
I believe this to be more useful behavior than the previous state of affairs
2023-07-28 17:13:29 -06:00
295dbd8e1e
Make RCU reader return a const pointer (omnibus commit) 2023-04-08 00:15:37 +02:00
b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
a4d9fb4935
Fix saving favorite plugin order
This broke in 7942897d93. Clearing the list triggered
favorite_plugins_deleted() for each plugin. This resulted
in an empty list being saved to disk.
2022-12-27 16:53:01 +01:00
d808315e2a
Offer dedicated alternatives for Delete/Backspace
This follows Processor Box:
 <Binding key="Delete" action="ProcessorMenu/delete"/>
 <Binding key="BackSpace" action="ProcessorMenu/backspace"/>
2022-12-02 19:50:39 +01:00
9153521f4a
Do not highlight momentarily recalled scenes
Since momentary override is a singleton, it needs to remain
GUI only, and not a session API available to any UI.

The middle-clicked button is rendered as pressed. So it is
already obvious and the Changed() signal that is emitted
when temporarily restoring a scene can simply be ignored.
2022-11-10 21:03:00 +01:00
235d51a723
Revert "MixerScenes: implement 'undo' function for mixer scene recalls (libardour)"
This reverts commit a40c8d8e9a.
This reverts commit 01c7e14c6e.
This reverts commit 162a8c00b3.
2022-11-10 20:54:12 +01:00
01c7e14c6e MixerScenes: highlight momentarily recalled scenes by using libardour 'undo'
* also moves 'momentary' into libardour so it can be accessed by other UIs
2022-11-10 09:13:56 -06:00
70251c758d MixerScenes: show last-selected scene (gui part) 2022-11-08 17:30:07 -06:00
64dc16a460
GUI for partial mixer scene restore 2022-10-18 00:08:36 +02:00
1b23021303
Replace AutomationControlSet with ControllableSet (2/2) 2022-10-18 00:08:35 +02:00
f6630ad31c Fix tooltip for mixer scenes 2022-07-29 11:13:24 -05:00
baeb5cbafd
Consistent mixer-scene query dialog (use Yes/No question) 2022-07-07 17:07:46 +02:00
6631273356
Fix inverted mixer-scene-clear Cancel/OK dialog response 2022-07-07 16:49:36 +02:00
1965e90c24 tooltips: enumerate the various modifiers for mute, solo, scenes
TODO: monitor buttons, maybe more
2022-06-17 11:07:58 -05:00
a92af7768d modifiers: implement is_momentary_push_event for momentary buttons (gtk2 part) 2022-06-17 11:07:58 -05:00
5d10fd84eb
Reduce mixer redraws, and fix scrolling to newly added tracks
PresentationInfo::Change (Properties::selected) is emitted and
handled before Mixer_UI::add_routes() is called. At that point
in time the MixerStrip(s) to be selected may not exist.
Visual selection state was lost.

Furthermore move_stripable_into_view() calling translate_coordinates()
only works after GTK has completed the resize operation.
This lead to the mixer scrolling back to the left edge when creating
new tracks.

Also each selection change caused all tracks to be re-packed.
Now redisplay_track_list() is only called if visibility or order
changes. This signficanly improves performance with large sessions.
2022-06-15 02:41:45 +02:00
4296be2c70
Ignore double-middle-click when restoring scenes
Previously rapid middle-clicks could result in creating
a temporary mixer_scene while one is already in use.
2022-06-09 02:25:55 +02:00
e5c19994c9 mixer scenes: reminder for mac trackpad users: Ctrl+Alt is a middle-click 2022-06-07 16:35:14 -05:00
10bbcd167d Mixer Scenes: scene buttons should look 'pushed in' when clicked
* trigger the actual recall on button_release
2022-06-02 13:53:45 -05:00
eb0e9616f0
Implement temporary mixer scene restore, clean up code 2022-06-02 19:07:28 +02:00
9ef9277d47
Clear mixer scene buttons when closing session 2022-06-02 00:52:25 +02:00