Commit graph

41728 commits

Author SHA1 Message Date
Franke Burgarino
d30a0b2bfb Additional waf tweaks for MSYS 2025-11-20 13:54:25 -06:00
Franke Burgarino
94fc3aae47 Fix LD_LIBRARY_PATH for MSYS
Windows doesn't have LD_LIBRARY_PATH, PATH must be used instead. Allows
ardev to be used with Windows/MSYS.
2025-11-20 13:53:05 -06:00
Franke Burgarino
bb6171bbb2 glib version checks for MSYS 2025-11-20 13:38:18 -06:00
Franke Burgarino
839d9dab07 Tweak optimization for Windows MSYS builds
Too many symbols to do completely unoptimized builds on Windows, so -Og
is necessary.
2025-11-20 12:46:00 -06:00
Robin Gareus
3f6c79b009
Keep Quantize Dialog on top of EditingContext's parent 2025-11-20 17:09:53 +01:00
Robin Gareus
768a6da017
Add EditingContext transient-parent
This is in preparation to allow EditNoteDialog, QuantizeDialog
etc to be on top of the Pianroll or Editor in question.
2025-11-20 16:51:23 +01:00
Robin Gareus
f5d1792510
Allow to deselect in draw and internal-edit mode
By default "Escape" in those modes triggers binding for
`EditorAutomation/end-edit within Editor`. This is intentional
when editing automation. Yet when not editing, Esc should deselect.
2025-11-19 23:13:26 +01:00
Paul Davis
1e430325d0 CueEditor: fix a corner case when displaying a ridiculously short region
If there are less samples to show than there are pixels to show it, samples per pixel would
be zero. Limit it to spp = 1
2025-11-19 11:08:18 -07:00
Paul Davis
8cb3f79e0f pianoroll automation height is now 1/3 of the available, not 1/2 2025-11-19 10:11:57 -07:00
Paul Davis
54d3bf9071 MidiView: avoid calling ::model_changed() if there is no model
The method asserts (_model). We prefer the logic in the caller (at least for now)
2025-11-19 10:07:34 -07:00
Robin Gareus
db364a6db1
Cleanup Cue toolbar layout and spacing 2025-11-19 06:09:16 +01:00
Paul Davis
838109cddf expose default window position in prefs editor under Appearance 2025-11-18 17:22:36 -07:00
Paul Davis
bd21f968d9 reword preferences item label 2025-11-18 17:22:21 -07:00
Robin Gareus
c665608350
Fix I/O thread calculation on single core systems 2025-11-18 23:45:41 +01:00
Robin Gareus
42785a03df
RTA scrollbar: fix off-by-one
After zooming in to show a span of 24dB, scrolling or dragging
upwards did not work.
2025-11-18 22:40:08 +01:00
Paul Davis
2b65a6dbe0 gtkmm2ext: use default window position in gtkmm2ext 2025-11-18 13:33:58 -07:00
Paul Davis
92bbc7e9bc move UIConfigurationBase from libs/widgets to libs/gtkmm2ext (GUI side) 2025-11-18 13:08:59 -07:00
Paul Davis
9d25f83e21 move UIConfigurationBase from libs/widgets to libs/gtkmm2ext 2025-11-18 13:08:45 -07:00
Paul Davis
e0d25220a6 use default window position everywhere we can and should in gtk2_ardour
This is still a no-op, because the default value is WIN_POS_MOUSE
and it is not exposed on the UI at this point.
2025-11-18 11:30:58 -07:00
Paul Davis
f70b59f349 make libs/widgets use/provide default window positon
We cannot extend this to gtkmm2ext base classes yet, because there a 1-way
dependency between libs/widgets and libs/gtkmm2ext. May have to move
UIConfigurationBase into gtkmm2ext to allow that
2025-11-18 11:30:09 -07:00
Paul Davis
76c33f4680 add new UIConfiguration variable for default window position 2025-11-18 10:58:28 -07:00
Robin Gareus
d3e1dc0b7f
Fix typo 2025-11-18 18:57:51 +01:00
Robin Gareus
1c3cc95b3b
Fix optimized bilds 2025-11-18 18:30:09 +01:00
Paul Davis
8ffb54e431 Primary-a in internal edit mode selects all notes 2025-11-18 09:03:05 -07:00
Paul Davis
7bb25b0e65 larger default size for pianoroll windows 2025-11-18 08:55:16 -07:00
Robin Gareus
a56b4e5aeb
Fix testing for session files
The clause that was added in b65fe35f67 to allow passing
FQN including .ardour suffix on the comandline.

As side-effect this prevented loading sessions that were named
after a folder inside the session-bundle. e.g. "plugin" or
"interchage" or "dead" etc.
2025-11-18 04:42:33 +01:00
Paul Davis
3361d073d3 remove debug output 2025-11-17 20:31:05 -07:00
Paul Davis
7f063dab6c fix display and function of EditingContexts' zoom focus selector 2025-11-17 19:33:00 -07:00
Paul Davis
214037192f pianoroll: respond sensibly when a trigger has it's region cleared 2025-11-17 18:49:02 -07:00
Paul Davis
99bc55465d triggerbox: emit appropriate property change when region is cleared in a slot 2025-11-17 18:48:35 -07:00
Paul Davis
06dc00546f fix plural forms 2025-11-17 17:37:04 -07:00
Paul Davis
1b0aeef8be when using cue page pianoroll record length dropdown, show active value 2025-11-17 16:05:03 -07:00
Paul Davis
6dfca90b8e fix illegal MIDI event message during import
This happens when reimporting a MIDI file taken from Ardour, which
has sequencer specific data (namely, note-IDs). In that case
SMF::read_event() returns zero to indicate a meta event that we
should or could be interested in. For import, we are not interested,
hence the ignored_note_id variable
2025-11-17 16:05:03 -07:00
Paul Davis
65332e603b libsmf: speed up ridiculous design of smf_save()
This would realloc a buffer for every event, making it absurdly slow for
large MIDI files (say, 10k events). Use the somewhat standard heuristic
of doubling the requested allocation every time we need to increase the size.

This results in a speedup of 40-100x when saving SMF to disk
2025-11-17 16:05:03 -07:00
Paul Davis
662d1b9e46 NO-OP: fix commented printf of MIDI data 2025-11-17 16:05:03 -07:00
Paul Davis
2c7841777b Evoral: more useful output if there's an illega MIDI event sent to SMF or Sequence 2025-11-17 16:05:03 -07:00
Robin Gareus
30e1567e23
Add ComboBox like active API to ArdourDropdown 2025-11-17 23:57:01 +01:00
Paul Davis
a0302bd7fc MidiView: fix display of out-of-range live (recording) notes
This involves better handling of note range changes, and also a renaming of
member variables to better reflect their function.

It adds _finished_live_notes to hold notes that were recorded live but have
ended, since these also need to be updated as zooming or note range changes
2025-11-17 11:07:18 -07:00
Paul Davis
68c69fb89d MidiViewBackground: make ::maybe_apply_note_range() return bool
Just like ::apply_note_range, to indicate if the range was
actually changed.
2025-11-17 11:07:18 -07:00
Paul Davis
9e9afef527 NO-OP: correct comment description of a value 2025-11-17 11:07:18 -07:00
Aleksandr Prokudin
e01184ada0 Make the PDC option in the application bar items list consistent with the rest 2025-11-17 10:21:44 +01:00
Paul Davis
1e6d75d781 MidiBuffer: make ::write() return an error code if ::insert_event() fails 2025-11-16 14:03:11 -07:00
Paul Davis
6e58f6e2c8 NO-OP: space for function decl 2025-11-16 14:03:11 -07:00
Paul Davis
1fcc09ca84 NO-OP: space for function decl 2025-11-16 14:03:11 -07:00
Paul Davis
493a136d43 MidiBuffer: print an error if ::push_back() fails 2025-11-16 14:03:11 -07:00
Paul Davis
66f18a065e MIDI diskwriter: at least pretend to catch errors when pushing to MidiRingBuffer 2025-11-16 14:03:11 -07:00
Paul Davis
cc3981643a NO_OP: spaces for function call 2025-11-16 14:03:11 -07:00
Paul Davis
8baf7fbab2 NO-OP: comment formatting 2025-11-16 14:03:11 -07:00
Paul Davis
ec9120ab05 NO-OP: change variable name and better alignment 2025-11-16 14:03:11 -07:00
Paul Davis
67a09c19c8 NO-OP: spaces for function calls 2025-11-16 14:03:11 -07:00