Commit graph

108 commits

Author SHA1 Message Date
Paul Davis
53ffd61dd9 for pianoroll MidiViews, set _visible_channel to the lowest MIDI channel with notes present 2025-03-08 18:27:20 -07:00
Paul Davis
c0ed2fd9f5 fix vanishing notes during drag in a pianoroll 2025-03-08 12:14:17 -07:00
Paul Davis
8f4c10f855 subtle change in event handling for MidiViews
this needs more investigation but we need to return false from
scroll event handling in order for stuff to work. this should
not be the case and this will likely be reverted once the reason
it is required is uncovered
2025-03-06 18:12:40 -07:00
Paul Davis
a94bd4b7c6 rename MidiView::relative_position() to ::view_position_to_model_position() 2025-03-06 18:12:40 -07:00
Paul Davis
6d1c6bc239 slight rearrangement for MidiView::relative_position() 2025-03-06 18:12:40 -07:00
Paul Davis
2cadaafc4f NO-OP: follow style guide and use space in function call 2025-03-06 18:12:39 -07:00
Paul Davis
b9d69d3948 take _visible_channel into account for MidiView when drawing notes 2025-03-06 18:12:39 -07:00
Paul Davis
441cfe4e2d Make MidiView::relative_position() return correctly for _show_source case 2025-03-06 18:12:39 -07:00
Paul Davis
eb75064909 Modify comments and variable names in MidiView::create_note_at()
First argument is a source-relative position, not region-relative.
2025-03-06 18:12:39 -07:00
Paul Davis
67fa5282cb Remove Region::absolute_time_to_region_beats()
This method did not do what its name suggested. Replace it with
::absolute_time_to_source_beats() which already existed and
computed the same result.

Also in a NoteCreateDrag, correctly adjust note start
depending on whether we are viewing the whole source or
just the region. This part may be amended later.
2025-03-06 18:12:39 -07:00
Paul Davis
fcf086986a avoid logical op ambiguity 2025-03-04 14:57:50 -07:00
Paul Davis
b489d466cf commit crash caused by event-sensitive ghost note in MidiView 2025-03-04 12:18:29 -07:00
Paul Davis
06050bb578 several related changes to get visible channel control working in MidiView/Pianoroll 2025-03-04 11:30:48 -07:00
Paul Davis
e34fd3cc3b remove unused methods related to channel changing for MIDI notes 2025-03-04 11:30:48 -07:00
Paul Davis
47e635b689 initial work on displaying non-selected-channel notes in pianoroll 2025-02-28 13:39:45 -07:00
Paul Davis
3928a3a0aa prevent note-range change signals for every added note in a MidiView 2025-02-25 13:12:57 -07:00
Robin Gareus
000c25edcc
Update gtkmm -> ytkmm header location (omnibus commit) 2025-02-01 15:25:14 +01:00
Paul Davis
ee4419003c no ghost note in draw mode in midi view if dragging something 2025-01-27 10:48:19 -07:00
Paul Davis
ab39c26f68 a variety of changes to make timeline-region editing-in-pianoroll to start to work
This also removes the useless "new pianoroll window" menu option and action
2025-01-20 18:05:19 -07:00
Paul Davis
f052c3ae15 some API tweaks, code movement and code implementation to make rbselect for pianoroll automation work 2025-01-19 15:10:35 -07:00
Paul Davis
a7382b9424 provide MidiView methods for use in NoteDrags (fixes note drags to earlier times in pianoroll) 2025-01-19 10:53:52 -07:00
luzpaz
1a18417464
fix typos in gtk2_ardour directory
Found via `codespell -q 3 -S "*.pdf,*.po,./.git,*.tosc,./waf,./share/patchfiles,./libs,./msvc_extra_headers,./share/web_surfaces,*.patch" -L acount,addin,ane,ba,buss,busses,caf,capela,devine,disconnectin,discreet,doubleclick,envolution,filetest,fo,ghandi,homs,hsi,layed,maschine,mis,nd,ontop,pass-thru,removeable,retrn,ro,scrollin,sectionin,seh,siz,sord,sur,te,trough,ue,wth`
2025-01-18 00:55:34 +01:00
Paul Davis
7ec2bc4edd fix rubber band selection coords so that it works in Editor & Pianoroll 2025-01-15 15:09:58 -07:00
Paul Davis
e4beb5c3d9 remove _note_mode property of MidiTimeAxisView and use MidiStreamView's inherited version
Note that for now, this leaves save/restore of the value to the time axis view, and doesn't alter
the fact that the MidiTrack represented by the axis view continues to have its own note mode too
2025-01-15 13:35:07 -07:00
Paul Davis
5cade315fb redraw (pianoroll) MidiView when note mode changes
This also fixes the position of the percussive mode canvas items
2025-01-15 10:34:46 -07:00
Paul Davis
678ebca032 don't always adjust note range in a MidiView after a model change 2025-01-14 16:49:58 -07:00
Paul Davis
e273ec06bb fix note drawing in clip editor by adding MidiView::relative_position() 2025-01-10 10:31:48 -07:00
Paul Davis
c47a3e79e8 fix note resizing mid- and end-drag behavior for clip editors
Clip editors show the entire source contents, which alters the conversion
process needed for dealing with pixel/length/duration values versus the
situation when only showing a region (as on the timeline)
2025-01-09 16:33:43 -07:00
Paul Davis
7c711de178 basics of pianoroll windows 2025-01-08 18:05:11 -07:00
Paul Davis
a4b22d1ac7 remove debug output 2025-01-08 14:26:29 -07:00
Paul Davis
82cdc6e3db remove debug output 2025-01-08 14:26:29 -07:00
Paul Davis
77d2a45475 fix computation of ::covers() for clip start/end handles 2025-01-08 14:26:28 -07:00
Paul Davis
9b22e16bec NO-OP: add lifetime comment 2024-12-29 11:24:16 -07:00
Paul Davis
5157234f2f auto-fication of a loop 2024-12-29 11:24:16 -07:00
Paul Davis
41814519ab auto-fication of a loop 2024-12-29 11:24:16 -07:00
Paul Davis
5a97ce4a0c NO-OP: fix brace indentation 2024-12-29 11:24:16 -07:00
Paul Davis
730cf01ff9 use nullptr instead of NULL 2024-12-29 11:24:16 -07:00
Paul Davis
478d688aac use nullptr instead of NULL 2024-12-29 11:24:16 -07:00
Paul Davis
3248fb8b59 remove unusued variables 2024-12-29 11:24:16 -07:00
Paul Davis
e36b1211b6 fix drawn length of notes in MIDI cue editor 2024-12-29 11:24:16 -07:00
Paul Davis
c98a36be0f switch mouse button and motion handling in MidiView to use Drag formalization
It appears that mouse handling in MidiRegionView (now moved into MidiView)
predated the full Drag formalization. This led to inconsistencies as parts of the Drag
formalization were adopted, including the use of motion events to start a drag (this
is incorrect in the current semantics of a Drag).

This commits removes all/most of the special purpose drag handling machinery in MidiView
and uses Drags instead
2024-12-27 14:13:02 -07:00
Paul Davis
25b830b032 fix event handling/routing from MidiView up to EditingContext
in particular, rename MidiView::canvas_group_event() to
avoid confusion with TimeAxisViewItem::canvas_group_event()
since a MidiRegionView inherits from both these classes.
2024-12-27 14:00:55 -07:00
Paul Davis
c98fc2477a add a new canvas item for cue start/end dragging 2024-12-27 13:44:56 -07:00
Paul Davis
9ad24161c1 add canvas debugging item names 2024-12-12 11:53:15 -07:00
Paul Davis
98c9c03e9f remove all trace of cursor stacks; canvas cursor is always "just set" 2024-12-08 12:13:41 -07:00
Paul Davis
2096ff7876 cue editor end dragging operational 2024-11-26 13:11:17 -07:00
Paul Davis
c90b19a954 add colors for cue editor start boundary and use them 2024-11-26 11:35:30 -07:00
Paul Davis
9243dcf961 draw clip rect correctly after it is reset\n 2024-11-25 18:30:01 -07:00
Paul Davis
465f39e5bf create nonfunctional clip boundary drags when appropriate 2024-11-23 09:06:38 -07:00
Paul Davis
3feaf2046c fix inadvertent partial line deletion 2024-11-23 09:06:38 -07:00