Commit graph

42035 commits

Author SHA1 Message Date
Robin Gareus
bc6c02e4ea
Fix bashism in 21533227e7 2026-01-22 20:48:17 +01:00
Paul Davis
2766be0846 SMF import: fix behavior when splitting by track & channel 2026-01-22 11:19:36 -07:00
Paul Davis
eafae122ee add missing method to triggerbox 2026-01-22 08:37:24 -07:00
Robin Gareus
21533227e7
Update VBM and LiveTrax packaging, exclude MIDNAM 2026-01-22 00:37:07 +01:00
Paul Davis
d54c8e7fb0 modify 823b088a4 so that the logic to handle scene-switching doesn't touch other cases 2026-01-21 16:34:12 -07:00
Robin Gareus
84428bab62
Fix SNAFU, setting active dropdown item 2026-01-21 23:28:13 +01:00
Todd Naugle
192a976cf9
Fix dll path when running from source with msys
For ardev to work on windows (msys) the enviroment variable for the
DLL path needs to be used.

Without this, ardour fails to find the VST(3) scanner programs.
2026-01-21 21:30:28 +01:00
Paul Davis
823b088a45 triggerbox: when switching between triggers explicitly, don't allow retrigger()
If the currently playing trigger has follow action set to Again, when it stops the previous code state
would cause use to simply retrigger it, causing a lot of things to break. Now, in ::begin_switch() we
set _explicitly_stopped to true, so that ::when_stopped_in_run() can do the right thing and simply
shutdown the trigger completely
2026-01-21 11:15:30 -07:00
Paul Davis
af760070cb triggerbox: add DEBUG_TRACE message to top of ::when_stopped_during_run() 2026-01-21 11:15:30 -07:00
Paul Davis
6fc76e0970 code rearrangement to follow "early return" code style principle 2026-01-21 11:15:30 -07:00
Robin Gareus
01a92de5f8
Remove unused defunct API 2026-01-20 23:30:25 +01:00
Robin Gareus
ec850d9582
Fix loading existing session from running instance 2026-01-20 23:26:32 +01:00
Robin Gareus
3813793ff1
Fix inflating sessions from running instance
When inflating a session from a running instance, not using the
startup FSM, loading the inflated session failed.

set_provided_session() calling
  existing_session_chooser.set_current_folder()
failed (despite the folder existing).
2026-01-20 23:25:02 +01:00
Robin Gareus
bac1d69e56
Properly escape session-loading errors
Previously only the error message was escaped, and some dialogs
were not configured for escaped text.
2026-01-20 21:52:00 +01:00
Paul Davis
5240e3af32 delete route comment editor in RouteUI rather than a delete this lambda
Also, no need to reset the stripable's color picker - the destructors for both color pickers
and comment editors do this themselves
2026-01-20 10:32:08 -07:00
Paul Davis
ed984ec3b2 delete stripable color picker in RouteUI rather than a delete this lambda 2026-01-20 10:22:42 -07:00
Paul Davis
f331a0f940 refactor color dialog code to separate generic from stripable-related 2026-01-20 10:09:46 -07:00
Paul Davis
420c383fd0 route group dialog uses ArdourColorButton (again, sort of) 2026-01-20 09:51:21 -07:00
Paul Davis
01a1829451 PaletteDialog -> ArdourColorDialog; add back ArdourColorButton
This time, the class heirarchy is cleaner: ArdourColorDialog and ArdourColorButton have
nothing to with Stripables
2026-01-20 09:51:00 -07:00
Paul Davis
169e81773c trigger UI uses the palette-bearing ArdourColorDialog 2026-01-20 08:39:59 -07:00
Paul Davis
4aeba817b9 introduce ArdourColorDialog, a Gtk::ColorSelectionDialog with a palette 2026-01-20 08:39:27 -07:00
Paul Davis
e6bf82f37f remove unnecessary #include 2026-01-19 22:00:35 -07:00
Paul Davis
236a9bf73b just delete RouteCommentEditor directly, not via an idle callback
Using an idle callback delays desctruction for too long, and the dangling reference
to a stripable causes havoc
2026-01-19 22:00:04 -07:00
Paul Davis
3f17381d49 just delete StripableColorPicker directly, not via an idle callback
Using an idle callback delays desctruction for too long, and the dangling reference
to a Stripable causes havoc
2026-01-19 21:56:33 -07:00
Paul Davis
72940988d9 remove unnecessary forward declaration 2026-01-19 20:23:30 -07:00
Paul Davis
57ea5acfa0 stripable color picking: stripable has handle to its color picker dialog
This involves multiple interlinked changes:

1. Redesigning StripableColorDialog to:
     a) require a std::shared_ptr<Stripable> at construction
     b) simplify the rest of its API down to just ::popup (Gdk::Window* parent)

2. dropping ArdourColorButton which was only used in the RouteGroupDialog and
served no real purpose since no Stripable was involved (hence, deriving from
StripableColorDialog was pointless)

3. dropping StripableColorDialog members of both RouteUI and the VCA UI
objects.

4. relying on the already-existing Stripable active_color_picker() API to hold
a reference to the dialog, and using that before creating a new one.

THe dialogs will be deleted in a GUI idle callback when the DropReferences signal
is emitted for the Stripable.
2026-01-19 19:52:29 -07:00
Paul Davis
3a649df6b6 routeUI: redesign RouteCommentEditor and its usage
The previous design is broken by the editor mixer strip. If used to open the
comment editor for multiple routes, it would assign its own RouteCommentEditor
as the comment editor for each route.

This new design follows the model used by plugin UIs, in which the libardour
object (here, a Route) itself has a handle on its editor, and we always
look that up before creating a new one.

The new design requires passing a std::shared_ptr<Route> to the comment editor;
the comment editor itself is deleted (in the GUI thread) when the
DropReferences signal is emitted for the Route.

This design continues to meet the original goal of having only a single comment
editor per Route, but in a more correct way than before, and a way that
parallels the handling of plugin UIs.
2026-01-19 19:52:29 -07:00
Paul Davis
60310c485c route: change API to use RouteCommentEditor rather than ArdourWindow
Personally, I'd as soon use void* for these, but we had a GUI type
before so nothing is lost or gained by using a different GUI type
now.
2026-01-19 19:52:29 -07:00
Paul Davis
0705b2e925 route group dialog: use a Gtk::ColorButton not an ArdourColorButton
The latter is about to be removed from the code.
2026-01-19 19:52:29 -07:00
Paul Davis
7118c7de25 triggerUI: just use a Gtk::ColorSelectionDialog for color choice 2026-01-19 19:52:29 -07:00
Robin Gareus
e9ccefea31
Remove cruft, this was superseded by round_robin_palette_color 2026-01-20 03:13:37 +01:00
Robin Gareus
6d654b5ed3
Fix crash when dragging on an empty arrangement TreeView 2026-01-19 20:31:10 +01:00
Paul Davis
551d527dd0 modify unescaped < and > in new MIDNAM file 2026-01-19 09:32:49 -07:00
Robin Gareus
789cab2bb3
Consolidate RegionFX signal emission 2026-01-19 17:17:33 +01:00
Steffen Klein
37e8bf2545 corrected SE-70 Standard after testing 2026-01-19 09:10:15 -07:00
Steffen Klein
4ee93692ed added MIDNAM files for Boss SE-70
2 files, for Standard presets and Guitar presets.
2026-01-19 09:10:15 -07:00
Robin Gareus
05da36d397
Remove RegionFxChanged 2026-01-19 03:44:29 +01:00
Robin Gareus
02da9cd746
Use region_fx_changed property signal instead of RegionFxChanged 2026-01-19 03:44:29 +01:00
Robin Gareus
5dccad42a2
Prepare to replace Signal RegionFxChanged with Property
Properties::region_fx may not be emitted for add/remove/reorder
cases when no disk-reader overrride is required.
However we need to inform the GUI when such changes happen,
and various UI widgets listen to property changes.
2026-01-19 03:44:28 +01:00
Paul Davis
c6e5521918 cue editor: fixed size for capture duration selector 2026-01-18 13:39:35 -07:00
Paul Davis
89956de588 clip editor: desensitize "play" button when slot is rec-armed 2026-01-18 13:23:51 -07:00
Paul Davis
a471083c52 NO-OP: style guide braces 2026-01-18 13:04:27 -07:00
Paul Davis
d1f8c6ebc5 remove unused rec_length member from CueEditor 2026-01-18 12:52:27 -07:00
Paul Davis
8ad05fe519 update recording length selector/dropdown based on trigger capture duration 2026-01-18 12:52:15 -07:00
Paul Davis
d53fa4bee4 trigger recording length selector now sets trigger capture duration 2026-01-18 12:51:45 -07:00
Paul Davis
551160cb75 do not provide capture duration argument in calls to Trigger::arm()
Just use the trigger's capture duration instead
2026-01-18 12:50:58 -07:00
Paul Davis
627a74ef4a triggerbox: use trigger capture duration if duration not given in call to ::arm() 2026-01-18 12:49:55 -07:00
Paul Davis
412bae4fdd triggerbox: add a capture duration property to all triggers 2026-01-18 11:49:01 -07:00
Paul Davis
757398a209 bring some rationality to the pianoroll (clip) rec-enable button 2026-01-17 19:13:25 -07:00
Paul Davis
ecf9e9e368 remvoe unused variable 2026-01-17 19:13:25 -07:00