Commit graph

835 commits

Author SHA1 Message Date
Ben Loftis
93e68a5a00 MIDI Draw: provide a menu for Channel and Velocity 2021-11-18 07:35:13 -06:00
Ben Loftis
2a6da0113f MIDI Draw: Provide a menu to explicitly select note-length
ToDo: 3,5,7's?  keyboard shortcuts?
2021-11-18 07:35:13 -06:00
Paul Davis
2d9eb6ec81 Fix error in drawing length of ghost MIDI notes in note drawing mode 2021-11-04 18:25:45 -06:00
Paul Davis
754230921d there is no Properties::position any more (GUI)
Position is a part of a length property (a duple specifying
"duration AT position", and there is no distinct property
for just the position itself
2021-09-25 16:49:51 -06:00
Paul Davis
dcd3766c33 fix semi-replicated code (post rebase conflict resolution) 2021-08-13 12:51:36 -06:00
Paul Davis
cedf875a42 fix timeline types 2021-08-13 12:51:36 -06:00
Paul Davis
fb66695081 fix (and improve) drawing of "ghost note" drawn while mouse pointer moves in MidiRegionView in draw mode 2021-08-13 12:51:35 -06:00
Paul Davis
1868c4cac5 fix drawing percussive notes in MidiRegionView following nutempo SNAFU with relative time calc. 2021-08-13 12:51:35 -06:00
Paul Davis
831c085b2e remove MidiRegionView::snap_sample_to_grid_underneath() and replace with calls directly into Editor snap method 2021-08-13 12:51:35 -06:00
Paul Davis
37eea1da29 fix brace style 2021-08-13 12:51:35 -06:00
Paul Davis
48ac681b03 fix note-resizing-at-front, change variable names 2021-08-13 12:51:34 -06:00
Paul Davis
21e6f1cf50 (mostly) fix note drag creation drawing 2021-08-13 12:51:34 -06:00
Paul Davis
f328fdc56a adapt to DoubleableBeats and so forth (gui edition) 2021-08-13 12:51:32 -06:00
Paul Davis
dee71c0a97 mostly fix region- and note-create drags 2021-08-13 12:51:32 -06:00
Paul Davis
313d957eaf MidiRegionView: restore functioning (?) of snap_sample_to_grid_underneath() 2021-08-13 12:51:31 -06:00
Paul Davis
9412130c01 use cleaned up Temporal ::quarters*_at* API (GUI edition) 2021-08-13 12:51:31 -06:00
Paul Davis
cce695d33a changes required by fixing ambiguities in timepos_t/timecnt_t API (GUI edition) 2021-08-13 12:51:31 -06:00
Paul Davis
18d64f0402 change all Region::nt_*() methods to names without the nt_ prefix (GUI version) 2021-08-13 12:51:30 -06:00
Paul Davis
3c00fab75e remove/hide Session::tempo_map() and use TempoMap::use() instead (thread local shared ptr) (GUI edition) 2021-08-13 12:51:30 -06:00
Paul Davis
7ef11dc698 continued work on using new tempo map API (before switch to RCU) 2021-08-13 12:51:30 -06:00
Paul Davis
2a08e4bdaa continued work on timeline types conversion. in theory, just editor_ops.cc remains 2021-08-13 12:51:29 -06:00
Paul Davis
5b2a435e02 getting editor_drag.cc to compile 2021-08-13 12:51:29 -06:00
Paul Davis
9d69fa3820 another day or two's work on timeline type conversion 2021-08-13 12:51:29 -06:00
Paul Davis
7433bc27e0 intermediate, unfinished snapshot of ongoing timeline types work on GTK GUI 2021-08-13 12:51:29 -06:00
Paul Davis
0a469527f1 updated Temporal::Beats ... GUI edition 2021-08-13 12:51:28 -06:00
Paul Davis
f2e2cce343 fix an unfortunate "side-effect" of the frame->sample renaming 2021-08-13 12:51:27 -06:00
Robin Gareus
1c0bef3f85
Remove redundant checks
update_ghost_note() can only be called with a valid, non-null
_ghost_note. Explicit checks trigger clang static analyzer to
report false positives, since _ghost_note is unconditionally
used in this method as well.
2021-06-29 01:53:56 +02:00
Paul Davis
c46410a1b0 MIDI region extend-selection should select all after start of selection, not all after end of selection 2021-06-08 08:31:41 -06:00
Paul Davis
11cb981e30 add extend_selection() to MIDI region bindings; expose invert-selection also 2021-06-08 07:40:54 -06:00
Robin Gareus
f4f9d76e53
Option to how x-run markers in regions 2021-02-14 16:22:35 +01:00
Paul Davis
7cf435a876 deselect everything when the first MIDI note is selected
See comments in code for more information
2021-01-18 16:07:20 -07:00
Paul Davis
6bd12a4e83 clearing note selection in internal edit mode also deselects regions 2021-01-18 16:07:20 -07:00
Paul Davis
a307cc602c remove duplicate initialization of PBD::DEBUG::Selection 2021-01-14 11:25:29 -07:00
Paul Davis
20bdc394f4 remove debug output unintentionally committed in 14318dd34 2021-01-03 18:17:14 -07:00
Paul Davis
14318dd342 use larger font for bars on BBT ruler 2021-01-03 16:50:18 -07:00
Robin Gareus
8c2a460b7d
NO-OP: prefer RAII unwind 2020-08-09 22:08:00 +02:00
Robin Gareus
4ad1c19166
Special case MIDI note selection auditioning - #8358
This adds a few exceptions to the general preference
"Sound MIDI notes as they are being selected in the editor".

* Select all no longer plays _all_ notes.
* Remain silent when selection is inverted or a range is selected.
* Play no sound when a saved selection is restored on session load.
2020-08-09 20:37:56 +02:00
Paul Davis
eecb498a70 restore apparent thinko that removed the effect of "editable region" transparency for MIDI regions 2020-05-16 08:29:37 -06:00
Paul Davis
2f12815565 MIDI: when drawing notes, leave selection containing only the just added note
This matches other DAWs and allows easy editing of just the last note, rather then all
notes added since doing something else
2020-05-14 00:03:42 -06:00
Paul Davis
2e2ca85131 remove debug output 2020-05-06 09:53:55 -06:00
Paul Davis
f546b38f42 when creating new notes via MidiRegionView::create_note_at(), add note to selection 2020-05-05 18:00:41 -06:00
Paul Davis
f6496524a4 fix thinko in MidiRegionView::add_to_selection()
The existing code isn't wrong, but inefficient. If the selection is empty,
then this is necessarily the first note, and cannot be present in the
selection. So, don't search the std::set<> and then insert, just insert.
2020-05-04 18:48:17 -06:00
Paul Davis
11ec81f4c2 more improvements in visual representation of selected MIDI notes during (and not during) internal editing 2020-05-01 22:28:21 -06:00
Paul Davis
8556560eca change design of MidiRegionView::add_to_selection() so that the rubber-band select works again
Adding the first note trigged Editor::set_selected_midi_region_view() which cleared
the (newly added to) selection
2020-05-01 22:27:50 -06:00
Paul Davis
044be53616 attempt to properly manage MIDI note display of selected status
Whether to display the selected outline depends on BOTH whether the note is
selected, and whether we are in an internal editing mode.
2020-05-01 17:39:13 -06:00
Paul Davis
0b7d0ebfd6 remove debug output 2020-04-17 10:47:01 -06:00
Paul Davis
ca9e54100a more sane design for MidiRegionView::nudge_notes()
Use nudge clock if snap/grid is disabled; use grid (and grid/4 if "fine" adjustment is chosen)
2020-04-16 21:39:38 -06:00
Paul Davis
8545250936 MidiRegionView no longer handles any keypresses or alters editor "note selection"
1. Alt is still handled to change drag behavior
2. Selection doesn't store notes unless they are part of the cut buffer, which means we should not
be altering the note selection in the editor's selection object most of the time.
2020-04-16 17:48:12 -06:00
Robin Gareus
4e005540c6
Update PatchChange when instrument/midnam changes 2020-04-04 01:48:30 +02:00
Robin Gareus
8d28115ec7
Update MIDNAM handling in GUI
* Always use InstrumentInfo for lookups.
  Remove name lookups that directly used gui_property()
* Use set/get_gui_property() only to save/restore state,
  push custom selection to InstrumentInfo.
* Only store custom selection, use unset for "default"
  default = plugin-provided (if available) otherwise general-midi
2020-04-01 16:33:40 +02:00