Commit graph

18168 commits

Author SHA1 Message Date
Robin Gareus
238728ffc1
Dissolve the Common Ardour Widows club :) 2025-06-13 21:50:18 +02:00
Robin Gareus
3b3ce7e3ea
Expose RTA in main and context menu 2025-06-13 17:37:34 +02:00
Robin Gareus
86a0bfdeab
Use consistent label for MIDI channel (main toolbar and pianoroll) 2025-06-13 17:16:59 +02:00
Robin Gareus
fcae7c7bb5
Transfer slot_prop_box to selection_properties_box 2025-06-12 22:46:14 +02:00
Robin Gareus
4c5284737d
Use action to toggle follow playhead 2025-06-12 22:19:14 +02:00
Robin Gareus
666a32499c
Move the follow_edits from toolbar to editor context bar 2025-06-12 22:11:33 +02:00
Ben Loftis
be0d79089b
A 'new' user should initialize the NSD to 'New', in Mixbus 2025-06-12 21:35:35 +02:00
Paul Davis
27796ddefb use new follow playhead icon 2025-06-12 12:52:13 -06:00
Paul Davis
08da5255fe tweak EditingContext APIs to get context menus in pianoroll working sensibly
There is now a separate context menu for note-context clicks and "region" context clicks.
Something similar may be desirable for timeline editing too
2025-06-12 12:09:11 -06:00
Ben Loftis
abdae636eb
Group tabs should match the size of a generic ArdourButton 2025-06-12 18:05:14 +02:00
Ben Loftis
dc7c594a93
EventBoxen must be EventBoxExt or they bleed on mac/GL 2025-06-12 17:45:32 +02:00
Robin Gareus
4c03ecbd85
Handle edge case (optional toolbar meter)
in derivative projects it can happen that the meter is never
packaged in the custom toolbar. In Ardour this can happen
for sessions without master bus.
2025-06-12 17:45:09 +02:00
Paul Davis
15079176ac get note display working in pianoroll PRH (needs set_visible_channel()) 2025-06-11 11:54:33 -06:00
Robin Gareus
c71e0781c9
Allow the session range to be themed 2025-06-10 21:18:36 +02:00
Paul Davis
5208fdce2c the continuing saga of MIDI note line geometry and the scroomer 2025-06-10 12:28:33 -06:00
Paul Davis
f240898201 for find-and-display-stripable, ignore case and do inline completion & selection 2025-06-10 12:28:33 -06:00
Robin Gareus
877f603d92
Make execstack optional, and check clang's variant with space
see also ec5b06e63d
and https://discourse.ardour.org/t/fyi-ardour-9-doesnt-build-on-linux-using-clang/111896
2025-06-10 16:13:44 +02:00
Robin Gareus
949585f746
Fix comment-editor editing, allow to insert text
Previously any edit jumped to the end of the text.
2025-06-10 00:49:47 +02:00
Paul Davis
eefe584070 another round of fixing for note-to-y and y-to-note and note line setup 2025-06-09 09:29:52 -06:00
Paul Davis
658e8ad6bd put find-n-display in top level track menu 2025-06-08 09:41:44 -06:00
Paul Davis
5ad9c5a73b use match-anywhere for find-and-display-track 2025-06-08 09:14:33 -06:00
Paul Davis
ac922f1683 remove cruft from initial addition of find-and-display 2025-06-07 23:04:06 -06:00
Paul Davis
4867ed49da add find-and-display-stripable, bound to Primary-Tertiary-l by default 2025-06-07 21:10:30 -06:00
Paul Davis
9aa049dae5 announce the region created by dragging in a MIDI time axis view 2025-06-06 10:23:06 -06:00
Paul Davis
5e83fc95b4 Pianoroll: drop region reference when session goes away 2025-06-04 21:41:01 -06:00
Paul Davis
08f77136b9 small class rearrangement for ViewBackground and derived classes related to geometry management 2025-06-04 20:43:18 -06:00
Paul Davis
80a34fc3ec stop crash from adding a note in a region also shown in an invisible pianoroll
if the height of the pianoroll has not been set, we can't do the math
for the note range display.
2025-06-04 20:41:29 -06:00
Paul Davis
baa855d3a0 fix an error with piano roll header display for a new track 2025-06-04 20:41:03 -06:00
Paul Davis
5aabe18063 sort-of NO-OP - use nullptr in Editor initialization expressions 2025-06-04 16:59:45 -06:00
Paul Davis
134907b9b1 fixups for pianoroll header/midi view background key/note positions 2025-06-04 14:11:40 -06:00
Paul Davis
03bd3da740 fix initialization order 2025-06-04 14:11:40 -06:00
Paul Davis
06593d1a79 pianoroll note labelling: pixel pushing, crash prevent, theme utilization for fonts 2025-06-03 23:17:53 -06:00
Paul Davis
024dedc446 pianoroll: clarify and resolve some issues caused by confusion over what type the _view member has 2025-06-03 12:14:21 -06:00
Paul Davis
e23fdd5b8c horrific hack to deal with pianoroll header (widget) single pixel misalignment currently not understood 2025-06-03 11:34:21 -06:00
Paul Davis
362672ac34 single pixel line, in themed "black" color, to divide B/C and E/F on piano roll header 2025-06-03 11:33:48 -06:00
Paul Davis
68c4fbe65a for the dark colored theme (the default) make pianoroll dividing lines less bright 2025-06-02 19:54:11 -06:00
Paul Davis
48dde40b4f share piano roll header across both GTK widget and Canvas item implementations
This also uses the new API exposed by MidiViewBackground so that the header simply re-uses
the same exact position & height values computed by the background for its note lines.

PianoRollHeaderBase is the base class with the shared implementation.

PianoRollHeader is the GTK widget derived class.

ArdourCanvas::PianoRollHeader is the canvas item derived class.

Both PianoRollHeader implementations have to implement various methods that gloss
over the differences between drawing and event handling in a GTK widget context
or in a canvas item context
2025-06-02 19:53:34 -06:00
Paul Davis
6b348d7643 some missing double -> int conversions for a Pianoroll background 2025-06-02 19:49:57 -06:00
Paul Davis
16d912c440 sort of no-op: fix canvas debug names of several items in a Pianoroll 2025-06-02 19:49:12 -06:00
Paul Davis
bbc9089264 extend MidiViewBackground API
1. provide access to an EditingContext for use in piano roll headers
2. provide pre-computed note positions and heights for use in
   piano roll headers
2025-06-02 19:47:44 -06:00
Paul Davis
96a88b9dc2 NO-OP: whitespace in function call syntax 2025-06-02 19:46:55 -06:00
Paul Davis
1f18a4defc change MidiViewBackground implementation
1. use a RectSet instead of a LineSet to draw note lines. Cairo provides
different coordinate -> pixel coloration rules for rectangles than for lines,
and it makes more sense in this case to use rectangles rather than fat lines.

2. change ::draw_note_lines() to ::setup_note_lines() since the method
doesn't actually draw anything.
2025-06-02 19:46:25 -06:00
Paul Davis
1ed9876446 Change various positions and dimensions to integer from double
This includes note heights, note positions, contents height
for streamviews, positions of tracks. It makes zero sense to think of these as
having potentially fractional positions.

In addition, fractional note heights and positions lead to numerous
errors drawing MIDI stuff at the pixel level.
2025-06-02 19:28:10 -06:00
Paul Davis
a47a443079 add a canvas item debug name to midi view background's note lines 2025-06-02 18:32:00 -06:00
Paul Davis
10015f570e NOOP: alignment changes 2025-06-02 18:29:36 -06:00
Paul Davis
b6d8f77173 fix bad lifetime mgmt for VerboseCursor class 2025-05-27 08:49:32 -06:00
Paul Davis
958135ff26 adjust help msg text for 21st century 2025-05-24 07:35:13 -06:00
Robin Gareus
6cc175343c
Show actual project name in derivative projects 2025-05-24 12:46:22 +02:00
Paul Davis
49ff88fd75 fix crash when calling toggle-roll with no time selection existing 2025-05-19 16:52:15 -06:00
Robin Gareus
7b6ca334df
Use PBD::CCurl for Ardour GUI HTTP/S requests 2025-05-20 00:03:21 +02:00