Commit Graph

41560 Commits

Author SHA1 Message Date
Robin Gareus
289f7b10d2 Remove cycle based storing timer, prefer TimerRAII
..besides with dummy backend one can measure performance
on instruction level granularity with valgrind.
2025-11-09 16:32:24 +01:00
Robin Gareus
b3bf623c4b Remove unused cycle timer from plugins
These days performance is measured on PluginInsert level
using more elaborate PBD::TimingStats
2025-11-09 16:24:17 +01:00
Robin Gareus
0fd67d36d9 Fix adding C++ class instances to Lua STL containers
This is because Userdata::getClass() doesn't handle
negative stack indexes. It worked fine for Lua built-in types.
2025-11-09 03:48:39 +01:00
Paul Davis
d9af50449d play transposed notes/chords (if requested) 2025-11-07 09:47:39 -07:00
Robin Gareus
9e1e8fd1e0 New set of favorite/star icons from prokoudine 2025-11-07 02:27:10 +01:00
Robin Gareus
767ae0656d Fix Favorite column flicker on plugin-select 2025-11-07 02:19:00 +01:00
Robin Gareus
4d0fa60d47 Use "star" icon to indicate favorite plugin in plugin-selector 2025-11-07 02:12:31 +01:00
Paul Davis
26ada8eb7d hide (and do not create user-chosen MIDI automation buttons from bottom of Pianoroll 2025-11-06 16:48:46 -07:00
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