Commit graph

41602 commits

Author SHA1 Message Date
Paul Davis
5310745312 input connection change on a midi track - forget last seen MIDI note 2025-11-06 09:23:23 -07:00
Paul Davis
78d146acfe if capslock is engaged, note brushing uses the last seen incoming note number, if any 2025-11-06 09:19:20 -07:00
Paul Davis
690b571b7b allow specifying the note to use for brushing when the drag starts 2025-11-06 09:19:20 -07:00
Paul Davis
e994a5665d add CapsLock modifier to Gtkmm2ext::Keyboard 2025-11-06 09:19:20 -07:00
Paul Davis
47eeb6dd98 make Route::input_change_handler() virtual and use it in MidiTrack to notice incoming notes 2025-11-06 09:19:20 -07:00
EZ4Stephen
40ba396278
Changes to --also-include and --also-libdir
--also-libdir wasn't working as intended for MSVC, so I changed that. Also changed --also-include to look similar.
2025-11-06 17:03:33 +01:00
Paul Davis
41d91e7527 prevent crash in MIDI triggers when transport op is invoked on an inactive track 2025-11-05 18:35:41 -07:00
Robin Gareus
4a00630e07
Re-order preferences to match application bar layout 2025-11-06 01:09:10 +01:00
Paul Davis
2a2cdb587d improve/fix text associated with default sample lib location 2025-11-05 09:56:30 -07:00
Paul Davis
9f4d2a8680 add label to default session dir chooser button for clarity 2025-11-05 09:56:30 -07:00
Robin Gareus
939c133fc8
Remove box around Route propertie scrollwindow 2025-11-05 01:41:09 +01:00
Robin Gareus
e116cfa33a
Use fixed Editor bottom pane height
This is based on the current audio region editor height for
a stereo region (362px @ 100%).
2025-11-05 01:40:24 +01:00
Robin Gareus
1153c19cb5
Reduce Region editor height requirement
.. in preparation for fixed height bottom pane
2025-11-05 01:39:09 +01:00
Robin Gareus
5e587f64ef
Update editor/mixer when hiding displayed track 2025-11-04 20:09:43 +01:00
Robin Gareus
682abd883c
Deselect route when hiding it
The mixer allows to modify selected stripables via keyboard
shortcuts (e.g. arrow up/down to modify gain) regardless of
whether the stripable is hidden.

This lead to accidental gain changes after hiding a strip.
2025-11-04 20:01:08 +01:00
Robin Gareus
b783b3264c
Allow to remove hidden stripables from selection 2025-11-04 19:59:07 +01:00
Robin Gareus
8efc12c66a
Update file-utils include, add windows.h for CreateHardLinkA 2025-11-04 16:54:27 +01:00
Robin Gareus
a458a302d1
Don't use Session::get_info_from_path for AAF/archive (like v8)
This still has an issue that the engine dialog may show up
before inflating the session, and known sample-rate; but
Ardour 9 can handle this.
2025-11-04 00:28:33 +01:00
Franke Burgarino
6211ba8260 MCU: fix send toggle display in sends subview
The sends subview now shows "off" when a mixbus send enable control is
toggled from the GUI. Additionally, any disabled mixbus sends will
now properly show "off" after instantiating the sends subview and calling
SendsSubview::setup_vpot().

This currently only affects Mixbus since Route::send_enable_controllable is not
actually exposed in Ardour.
2025-11-03 17:00:22 -06:00
Paul Davis
98ca940fc2 connect to the correct signal from a Gtk::FileChooserButton 2025-11-03 13:06:56 -07:00
Paul Davis
ccd1d2bc5b Revert "GtkFileChooserButton should emit a signal when a file is selected from the combobox"
This reverts commit 1c19b6cfd9.

GtkFileChooserButton emits selection-changed when the combobox is used to select a file/dir.
2025-11-03 13:01:21 -07:00
Paul Davis
095b672b99 add a page to the new user wizard for the default clip path 2025-11-03 12:28:13 -07:00
Paul Davis
357956bd99 factor out the platform-specific default clip library path 2025-11-03 12:28:13 -07:00
Paul Davis
e2e9ad173b pianoroll header: clean up left over use of evy as ev->y
This dated to when it was thought that we needed a transform for the event
y coordinate, which was incorrect.
2025-11-03 12:28:13 -07:00
Paul Davis
1c19b6cfd9 GtkFileChooserButton should emit a signal when a file is selected from the combobox 2025-11-03 12:28:13 -07:00
Robin Gareus
cecac3d895
Legalize template names, allow to copy across machines
Templates can be exported/imported and hence need universal
legal paths
2025-11-03 20:04:15 +01:00
Robin Gareus
20d901e3b3
Append suffix before legalizing path
This is because windows does not allow trailing space or dot.
So once we use legalize_for_universal_path() it may strip
valid char "New Session.." + ".ardour"
2025-11-03 20:04:13 +01:00
Robin Gareus
228be635ee
Use legalize_for_universal_path for sources and presets
We can only use `legalize_for_universal_path` for base-name
paths relative to the Ardour session folder.

The full absolute path can contain locally legal chars,
which legalize_for_universal_path would replace, so we need
to be careful.

We should also use `legalize_for_universal_path` for the
snapshot name (and name used in interchange), but that may break
sessions.
2025-11-03 20:04:07 +01:00
Robin Gareus
33f1681c76
Fix scrommer handle drags
Previously this could get stuck at max zoom level
when note_height was >= max_note_height
2025-11-03 00:26:13 +01:00
Paul Davis
f12c328b63 avoid unintended note highlighting in MIDI pianoroll header 2025-11-02 14:24:52 -07:00
Paul Davis
876ed98dbe move MIDNAM related widgets into their own window
Currently, the device mode selector never seems to show up, but this may have
been a pre-existing error, since the code that controls this has not changed.
2025-11-01 18:51:35 -06:00
Paul Davis
32b2bf9a13 dragging notes past the end of a MIDI region extends it to cover them 2025-11-01 15:47:54 -06:00
Paul Davis
1743317acd remove stacktrace call 2025-11-01 08:40:24 -06:00
Paul Davis
ddf5c3c8b6 rename HitBrushDrag to NoteBrushDrag 2025-10-31 16:00:07 -06:00
Paul Davis
a30540c3c0 brush notes: secondary modifier changes to every-other-stride point 2025-10-31 15:56:15 -06:00
Paul Davis
bdf7cc7590 some fixes (maybe, probably) for undo/redo mgmt associated with note drags 2025-10-31 14:27:45 -06:00
Paul Davis
ea8d0d1a57 do the note brushing thing with 1/128th notes in percussive mode 2025-10-31 13:45:48 -06:00
Paul Davis
ebf16b7ece allow creator of a HitBrushDrag to specify a note length 2025-10-31 13:35:58 -06:00
Paul Davis
3ed581d639 add missing variable name change 2025-10-31 13:29:45 -06:00
Paul Davis
88bf459a61 add HitBrushDrag, to allow brushing notes on the grid 2025-10-31 13:24:35 -06:00
Paul Davis
dcb482e74d MidiView: adjust API to use when brushing multiple notes 2025-10-31 13:24:35 -06:00
Paul Davis
deafaa904f editor: add actions, methods and menu items to control global quantization 2025-10-31 13:24:35 -06:00
Paul Davis
34bede65aa editing contexts: remove unusued method parameter from get_grid_music_divisions() 2025-10-31 13:24:35 -06:00
Paul Davis
637f22508b Evoral::Sequence: tweak DEBUG_TRACE messages during note removal 2025-10-31 13:24:35 -06:00
Robin Gareus
db44a58a54
Fix key-bindings after editing automation 2025-10-30 17:59:34 +01:00
Paul Davis
b53eb649af cue editors: fix connecting to timer for playhead updates 2025-10-29 18:12:07 -06:00
Gian Fontanilla
768e2b5644
Add program changes for empty user patches. 2025-10-29 20:10:07 +01:00
Robin Gareus
c5e0b21049
Fix use of StaffPad in case Soundtouch is present 2025-10-28 23:25:42 +01:00
Robin Gareus
4b1d2b7ac8
Fix crash at start when rulers-follow-grid is enabled
When creating the editor, default modes are set, this toggles
mouse-modes, in `Editor::mouse_mode_chosen` which in turn calls
EditingContext::grid_type_chosen.

With rulers-follow-grid enabled this can call
`Editor::toggle_ruler_visibility`. Since `_session` is NULL
during editor's c-tor this caused a crash in
`Editor::store_ruler_visibility`.
2025-10-28 19:29:01 +01:00
Paul Davis
391fe97693 triggerbox: if clip recording would start immediately, delay by slot.quantization() 2025-10-27 19:42:23 -06:00