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
Paul Davis
3015e18c18
make count in text more likely to appear as expected
2025-10-27 19:35:41 -06:00
Paul Davis
3762743691
remove debug output
2025-10-27 16:05:48 -06:00
Paul Davis
e6b20df671
if Region::tempo_map() finds no tempo info in the source, use the global map
2025-10-27 16:02:47 -06:00
Paul Davis
ece2b125b1
spacebar during unbounded clip recording does something closer to right
2025-10-27 15:18:19 -06:00
Paul Davis
3b6b1bdd93
triggerbox: change API for finish_recording() and captured() to not require BufferSet
2025-10-27 14:32:54 -06:00
Paul Davis
1400fe012e
clip recording: store tempo and meter for audio files created during clip recording
...
Information taken from the timeline - we assume you're going to play in time with the tempo map.
Future work: no other material in session - determine tempo (and meter? - super hard) from
recorded clip
2025-10-27 11:09:54 -06:00
Paul Davis
6badce2d3a
triggerbox: modify source-building API to include timeline position
2025-10-27 10:52:07 -06:00
Paul Davis
9194d93213
NO-OP: correct comment
2025-10-27 10:51:45 -06:00
Paul Davis
1fa666c090
refactoring of various clip GUI code
...
This better defines when a region/trigger/track is being set and
signals connected/disconnected to/from, along with some more
code sharing between the MIDI (Pianoroll) and audio (AudioClipEditor)
versions of things
2025-10-27 09:27:24 -06:00
Paul Davis
5cdeaf6063
audio clip editor; add support for count-in display
2025-10-27 09:27:24 -06:00
Robin Gareus
d2b1b6f8ed
Fix importing Type-1 SMF
...
* handle files with just one track (no meta-data)
* fix splitting by channel (ignore meta-data only tracks)
* retain per track meta-data
2025-10-26 22:45:32 +01:00
Paul Davis
846f7b281a
track rec-enable does NOT enable triggerbox recording
...
This was leftover from an earlier conception of how clip recording might work
2025-10-26 09:46:21 -06:00
Robin Gareus
49c71cb3ef
Log an error message when ignoring invalid SMF
2025-10-26 15:19:42 +01:00
Robin Gareus
9786e6035f
Fix crash due to concurrent sndfile access
...
Peak files are built int background which can happen concurrently
to estimating tempo. Notably when importing large .flac files
this can cause a crash because libsndfile API does not allow
for concurrent use of the same SNDFILE object.
2025-10-26 15:10:46 +01:00
Robin Gareus
02af9cb3d6
Fix MIDI Source debug dump
2025-10-26 02:15:22 +02:00
Paul Davis
b77d9118b6
trigger UI: respond to captured regions, and select slot on rec-arm
2025-10-25 15:26:48 -06:00
Paul Davis
1ae056bfd8
triggerbox UI: find TriggerEntry from Trigger
2025-10-25 15:26:22 -06:00
Paul Davis
8a66082429
tweak API for TriggerBoxWidget, allow access to TriggerBoxUI member
2025-10-25 15:25:48 -06:00
Paul Davis
7b5030bdf1
add API to retrieve triggerbox widget from trigger strip
2025-10-25 15:17:18 -06:00
Paul Davis
8641e155cf
audio clip editor: set region when trigger is set
2025-10-25 15:16:29 -06:00
Paul Davis
67c45dd44d
audio clip editor: do not short circuit repeated set_trigger() w/same trigger
2025-10-25 15:16:15 -06:00
Paul Davis
9bc1e2ad79
remove debug output
2025-10-25 15:15:20 -06:00
Paul Davis
48ea440f87
triggerbox: emit a signal when a region has been created post-capture
2025-10-25 15:15:02 -06:00
Paul Davis
4c95a82934
removed unused variable
2025-10-25 14:58:56 -06:00