Commit graph

76 commits

Author SHA1 Message Date
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
Paul Davis
8064353a82 fix/remove on the current #warnings arising from the pianorule refactor 2024-11-23 09:06:38 -07:00
Paul Davis
d5cc1b5efc initial steps to trigger start/end point display and editing 2024-11-22 09:33:38 -07:00
Paul Davis
48ed5be776 skeleton for clip start/end editing 2024-11-12 18:54:41 -07:00
Paul Davis
a1dd7ae4c3 remove unused member variable
this was a solution to a problem eventually solved a different way
2024-11-11 22:06:05 -07:00
Paul Davis
96ef4d20f2 when recording MIDI, create active_notes on demand
Since the signal handler for "data recorded" is in the GUI thread, we can do
whatever we want there, including memory allocation
2024-11-09 09:20:25 -07:00
Paul Davis
61f1466f50 use virtual methods to get MidiRegionView to do ::set_model() correctly 2024-11-05 13:27:22 -07:00
Paul Davis
56c99a43d2 remove any existing data display from a MidiView when ::begin_write() happens 2024-11-01 17:45:00 -06:00
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