Paul Davis
ff988eec37
fix one of 3 editing context refactoring warnings
2025-07-11 13:27:55 -06:00
Paul Davis
24343ba7f9
provide proxy APIs for MidiView "show_source" and use it in pianoroll
2025-07-04 12:22:55 -06:00
Paul Davis
5f9f754946
NO-OP: remove debug output
2025-06-24 18:04:37 -06:00
Paul Davis
28eaf90790
if in internal editing mouse mode, MidiRegionView is merely outlined, not filled, with selectionc olor
2025-06-13 17:20:09 -06:00
Paul Davis
7e75162840
allow MIDI note range (vertical) zoom to work with no selected notes if velocity-scroll is disabled
2025-04-29 10:50:16 -06:00
Paul Davis
d68472115f
in MidiViews, primary-scroll is always left unhandled so that horizontal zoom works everywhere
2025-04-29 10:49:34 -06:00
Paul Davis
3cc3b867dc
NO-OP: add a comment about requiring a region to be selected for MIDI scrolling
2025-04-29 10:47:51 -06:00
Paul Davis
8d7b4f7991
fixes so that cursor changes inside a MidiRegionView work as intended
...
They already worked in the PianorollMidiView, because that hands off enter/leave events
to the parent EditingContext (a Pianoroll). But MidiRegionView and Editor were
not interacting in the same way, so leaving a note object would not cause the Editor
to do the right thing with the cursor.
2025-04-25 11:28:45 -06:00
Paul Davis
a3213de634
NO-OP: remove double semicolon
2025-04-24 12:07:19 -06:00
Paul Davis
1f4ddcd53f
fix inheritance design error in MidiRegionView/MidiView
...
trim_front_(starting|ending) must be in a class derived from RegionView,
which MidiView is not.
This ensures that Carl's original design for this (with these two methods
called at the start and end of a front-trim drag) is still operational, and we
do not end up with MIDI regions that have a negative start value.
2025-04-08 15:50:30 -06:00
Paul Davis
c509de6814
work on fixing/improving MIDI region/track scrolling behavior
2025-03-14 13:24:49 -06:00
Paul Davis
68ca768bc4
dbl-click on MIDI region shows combined properties/pianoroll editor
2025-02-08 12:22:48 -07:00
Robin Gareus
000c25edcc
Update gtkmm -> ytkmm header location (omnibus commit)
2025-02-01 15:25:14 +01: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
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
98c9c03e9f
remove all trace of cursor stacks; canvas cursor is always "just set"
2024-12-08 12:13:41 -07:00
Paul Davis
8064353a82
fix/remove on the current #warnings arising from the pianorule refactor
2024-11-23 09:06:38 -07:00
Paul Davis
61f1466f50
use virtual methods to get MidiRegionView to do ::set_model() correctly
2024-11-05 13:27:22 -07:00
Robin Gareus
74c4ca3e52
Reduce reliance on boost - the hard part
...
the rest from `tools/convert_boost.sh`.
* replace boost::function, boost::bind with std::function and std::bind.
This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
Paul Davis
b8fb779fa7
allow dragging in MIDI automation line in cue editor
...
Note: once this is cleaned up and checked with respect to snap and more,
the same should be done for MidiRegionView
2024-10-17 07:44:32 -06:00
Paul Davis
54fdf90cc2
lots of detailed fixes to get lollipops in tracks working again, post re-factor
2024-10-17 07:44:31 -06:00
Paul Davis
7899829a5e
note range for midi * views API cleanup
2024-10-17 07:44:30 -06:00
Paul Davis
9dbdf0eb43
share code between MidiRegioNView and MidiView
2024-10-17 07:44:29 -06:00
Paul Davis
10b48d2cc4
lock in some major steps for the midi cue/pianoroll editor
2024-10-17 07:44:29 -06:00
Paul Davis
549defc068
more work on fixing pianorule recomposition of objects
2024-10-17 07:44:29 -06:00
Paul Davis
3700f191cd
fix some region-view level selection issues
2024-10-17 07:44:29 -06:00
Paul Davis
a8895e50c7
Fix behavior of midi region when height changes
...
MidiView cares about the previous height, so call that first, before
RegionView::set_height() sets the member that controls height()
2024-10-17 07:44:29 -06:00
Paul Davis
5a55f04b16
fix group used as parent for a Midi(Region)View
...
this fixed the nesting of the _note_group and thus notes are drawn
in the correct place.
2024-10-17 07:44:29 -06:00
Paul Davis
33298a0ba0
get region-create drags working and no crashes (nut also no note) for note-drags
2024-10-17 07:44:29 -06:00
Paul Davis
27e9e19aac
initial refactoring of MidiRegionView IS-A MidiView
2024-10-17 07:44:29 -06:00
Paul Davis
e3be2c781f
constification of EditingContext/{Public}Editor time+snap methods
2024-10-17 07:44:29 -06:00
Paul Davis
9e5211e9b1
move 2 relative time methods from RegionView to EditingContext
2024-10-17 07:44:29 -06:00
Paul Davis
9d7a87083a
removed unused MidiRegionView argument from SysEx (visual) constructor
2024-10-17 07:44:29 -06:00
Paul Davis
204d4237f8
further steps towards MidiRegionView outside the Editor
2024-10-17 07:44:29 -06:00
Paul Davis
3341184f8c
clean up minor mess after manual rebasing
2024-10-17 07:44:29 -06:00
Paul Davis
dee8e920e6
editing refactoring, the drag part
2024-10-17 07:44:29 -06:00
Paul Davis
089a9521d5
steps to an ecology of editing
2024-10-17 07:44:29 -06:00
Robin Gareus
4fa4fdf498
Remove patch change GUI Flag when MIDI model changes
...
Previously patch changes were only removed when the
removal was initiated by the GUI.
2024-09-09 00:16:33 +02:00
Robin Gareus
3766b22e06
Add GUI support to remove SysEx Events
2024-09-08 23:59:56 +02:00
Robin Gareus
f693c0406a
When drawing a note, only play it once
...
Previously two identical Note on events were sent:
* Select newly created note -> note-on event
* Play newly created note -> note-on event
2024-05-20 19:42:29 +02:00
Robin Gareus
5d175786e8
Remove debug messages, cleanup output (1/2)
2024-05-08 00:56:43 +02:00
Robin Gareus
4b6e372ce7
Fix deleting the same point multiple times ( #9689 )
...
When iterating over automation tracks, previously it was
possible that the same point was added multiple times to
the selection.
2024-04-15 00:39:20 +02:00
Paul Davis
253dcb312b
make note joining code a bit cleaner and preserve note velocities
2023-11-24 09:29:31 -07:00
Paul Davis
d6beba67dc
note joining should occur per-channel
2023-11-24 08:32:28 -07:00
Paul Davis
f95e94bc29
note tupling tweaks, and note join added
...
bindings moved to s/S and j, no need to use split-by-grid first
split-by-grid still needs work for non-grid aligned notes
2023-11-23 22:42:04 -07:00
Paul Davis
b92b2389fd
make note-tupling work on multiple notes
2023-11-22 19:37:46 -07:00
Paul Davis
c3d14b1169
basic note-tupling functionality implemented
2023-11-21 17:07:42 -07:00
Paul Davis
3792bf86e4
MidiRegionView: stubs for new methods
2023-11-21 17:07:42 -07:00
Paul Davis
0f170ec87b
MidiRegionView: initialize new members
2023-11-21 17:07:42 -07:00