Commit graph

51 commits

Author SHA1 Message Date
Paul Davis
8986768731 fix invisble notes in MidiRegionView after transport stopped-recording
MidiCueView needs an _active_notes array setup when it is assigned a track that is
already rec-enabled, because we can start clip recording without session record-enable
being active.

MidiRegionView does not need this; it uses session rec-enable status to create or delete
_active_notes (also transport stop, sometimes)
2024-10-31 12:22:35 -06:00
Paul Davis
c7192b4cc0 add the concept of a length that is data-independent to MIDI files (GUI) 2024-10-31 12:22:35 -06:00
Paul Davis
e11caf2dea various changes to get MIDI clip recording to display the post-capture region 2024-10-22 14:49:50 -06: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
6c14a6c407 non-crashing version of previous commit 2024-10-18 09:57:43 -06:00
Paul Davis
9f14eea88a avoid memory leak (and GUI object leak) 2024-10-18 09:55:16 -06:00
Paul Davis
70b41d10b1 actally stop doing clip recording visual stuff when disarmed (gui) 2024-10-18 09:50:48 -06:00
Paul Davis
bf2016071d a variety of improvements related to clip recording & editing 2024-10-17 21:47:52 -06:00
Paul Davis
c5c865f589 fix potentially unset variable (thanks clang!) 2024-10-17 15:06:04 -06:00
Paul Davis
2ff90a0557 probably fix an assert() logic error 2024-10-17 11:27:57 -06:00
Paul Davis
c2094085e3 sort of get MIDI notes to extend during clip recording
Also, robustify MidiView against a missing MidiModel member variable
2024-10-17 07:44:33 -06:00
Paul Davis
774f5f49da robustify MidiView against the condition where it has no MidiRegion 2024-10-17 07:44:33 -06:00
Paul Davis
d7e85de7c2 first somewhat version of show-clip-capture MIDI notes as they arrive 2024-10-17 07:44:33 -06:00
Paul Davis
bd0b5495c6 robustify MidiView so that it can be created without a MidiTrack 2024-10-17 07:44:33 -06:00
Paul Davis
35f16f1bb6 preparations for clip data display (MIDI) while recording (GUI edition) 2024-10-17 07:44:33 -06:00
Paul Davis
90c8726c6d wideranging changes to get automation editing working in cue editor 2024-10-17 07:44:31 -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
739d58840f manually reimplement 3766b22e06 from master (sysex deletion)
Things have changed
2024-10-17 07:44:31 -06:00
Paul Davis
fa993ec9f4 various fixes to get lollipops to display (cue editor only so far) 2024-10-17 07:44:31 -06:00
Paul Davis
c232525e94 remove broken out loop iteration 2024-10-17 07:44:31 -06:00
Paul Davis
c4534cc9c4 undo history for MidiCueEditor
redo not operational yet for some unknown reason
2024-10-17 07:44:31 -06:00
Paul Davis
f80395fc2f use MidiModel::ContentsChanged to drive MIDI cue edit swaps (GUI version)
No need for a special method called post-edit
2024-10-17 07:44:31 -06:00
Paul Davis
60830f4ab7 remove debug output 2024-10-17 07:44:30 -06:00
Paul Davis
fcfa4fecb4 more preparation for MIDI cue editing to propagate to the slot (trigger) 2024-10-17 07:44:30 -06:00
Paul Davis
044aec6563 basics of MIDI clip editing notification via model swap 2024-10-17 07:44:30 -06:00
Paul Davis
4bbdbc6d13 fix handling of MIDI draw tool actions and widgets
The actions and draw_xxx values are now "static", and changes in the values are
notified via a static PBD::Signal so that each EditingContext can update the
appearance of its relevant widgets.

Note also wider use of lambdas when creating actions and menu items.
2024-10-17 07:44:30 -06:00
Paul Davis
3224b37702 NO-OP: whitespace 2024-10-17 07:44:30 -06:00
Paul Davis
4724683b5f fix placement of ghost note while in draw mode 2024-10-17 07:44:30 -06:00
Paul Davis
30a7f44c12 fix geometry calculations during NoteCreateDrags.
This also only uses the draw length parameter if no motion
occured during the NoteCreateDrag. Otherwise it uses the length that was
dragged (which is subjected to a threshold).
2024-10-17 07:44:30 -06:00
Paul Davis
e0a5b591f8 correct errors in coordinate math when moving a mote selection
This may be the first of several instances where mixing
timeline-relative positions and global canvas coordinates leads to
problems. Let's hope there are not too many.
2024-10-17 07:44:30 -06:00
Paul Davis
36d0a6e908 fix dangling references to a MidiRegion and MidiTrack in a MidiView 2024-10-17 07:44:30 -06:00
Paul Davis
bef7c48fe9 the state of things in pianorule, committed for travel purposes 2024-10-17 07:44:30 -06:00
Paul Davis
48a6e8dfcf basics of autoscroll for pianoroll (mostly shared with Editor)
More work to do moving/testing pianoroll autoscroll variant back into EditingContext
and sharing it with Editor.
2024-10-17 07:44:30 -06:00
Paul Davis
3fccf2b458 change coordinate system used for rubberband drags in piano roll 2024-10-17 07:44:30 -06:00
Paul Davis
d356cacb2a working and accessible canvas cursor setting 2024-10-17 07:44:30 -06:00
Paul Davis
5acedc036a fix up event handling so that MIDI note drag works in cue editor 2024-10-17 07:44:30 -06:00
Paul Davis
f425a974d6 the continuing co-evolution of Editor,EditingContext & MidiCueEditor 2024-10-17 07:44:30 -06:00
Paul Davis
10244c0360 tempo bar and BBT ruler in MIDI cue editor 2024-10-17 07:44:30 -06:00
Paul Davis
e3205bded0 do something to make MIDI bindings accessible in any EditingContext 2024-10-17 07:44:29 -06:00
Paul Davis
0311bffed8 progrss with rubber band selection and event handling in MIDI cue editor 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
3bd2d39d51 fixes to get redraws when note range changes 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
182a24751b get standalone MidiView to display notes
This also removes an unused TriggerBoxWidget from each regular
MixerStrip.
2024-10-17 07:44:29 -06:00
Paul Davis
db89647676 revert scope change for a local variable 2024-10-17 07:44:29 -06:00
Paul Davis
c39558471f remove current slice usage/members 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
a550b6482f start using the now-compilable MidiView
Nothing yet derives from this, but MIDI display items and drags
do use it.
2024-10-17 07:44:29 -06:00