Commit Graph

736 Commits

Author SHA1 Message Date
252ae56a08 MIDI Draw: change behavior regarding MIDI Channel of new notes
When adding a note, use these criteria to choose the channel number:
* if the user has explicitly specified a note in the pulldown, use that
* if the user has AUTO selected and we are in a region, choose the nearest note's channel (consistent with velocity behavior)
* as a fallback, query the track for its channel-filter (old behavior)
2021-11-18 08:23:08 -06:00
93e68a5a00 MIDI Draw: provide a menu for Channel and Velocity 2021-11-18 07:35:13 -06:00
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
2d9eb6ec81 Fix error in drawing length of ghost MIDI notes in note drawing mode 2021-11-04 18:25:45 -06:00
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
dcd3766c33 fix semi-replicated code (post rebase conflict resolution) 2021-08-13 12:51:36 -06:00
cedf875a42 fix timeline types 2021-08-13 12:51:36 -06:00
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
1868c4cac5 fix drawing percussive notes in MidiRegionView following nutempo SNAFU with relative time calc. 2021-08-13 12:51:35 -06:00
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
37eea1da29 fix brace style 2021-08-13 12:51:35 -06:00
48ac681b03 fix note-resizing-at-front, change variable names 2021-08-13 12:51:34 -06:00
21e6f1cf50 (mostly) fix note drag creation drawing 2021-08-13 12:51:34 -06:00
f328fdc56a adapt to DoubleableBeats and so forth (gui edition) 2021-08-13 12:51:32 -06:00
dee71c0a97 mostly fix region- and note-create drags 2021-08-13 12:51:32 -06:00
313d957eaf MidiRegionView: restore functioning (?) of snap_sample_to_grid_underneath() 2021-08-13 12:51:31 -06:00
9412130c01 use cleaned up Temporal ::quarters*_at* API (GUI edition) 2021-08-13 12:51:31 -06:00
cce695d33a changes required by fixing ambiguities in timepos_t/timecnt_t API (GUI edition) 2021-08-13 12:51:31 -06:00
18d64f0402 change all Region::nt_*() methods to names without the nt_ prefix (GUI version) 2021-08-13 12:51:30 -06:00
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
7ef11dc698 continued work on using new tempo map API (before switch to RCU) 2021-08-13 12:51:30 -06:00
2a08e4bdaa continued work on timeline types conversion. in theory, just editor_ops.cc remains 2021-08-13 12:51:29 -06:00
5b2a435e02 getting editor_drag.cc to compile 2021-08-13 12:51:29 -06:00
9d69fa3820 another day or two's work on timeline type conversion 2021-08-13 12:51:29 -06:00
7433bc27e0 intermediate, unfinished snapshot of ongoing timeline types work on GTK GUI 2021-08-13 12:51:29 -06:00
0a469527f1 updated Temporal::Beats ... GUI edition 2021-08-13 12:51:28 -06:00
f2e2cce343 fix an unfortunate "side-effect" of the frame->sample renaming 2021-08-13 12:51:27 -06:00
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
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
11cb981e30 add extend_selection() to MIDI region bindings; expose invert-selection also 2021-06-08 07:40:54 -06:00
f4f9d76e53
Option to how x-run markers in regions 2021-02-14 16:22:35 +01:00
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
6bd12a4e83 clearing note selection in internal edit mode also deselects regions 2021-01-18 16:07:20 -07:00
a307cc602c remove duplicate initialization of PBD::DEBUG::Selection 2021-01-14 11:25:29 -07:00
20bdc394f4 remove debug output unintentionally committed in 14318dd34 2021-01-03 18:17:14 -07:00
14318dd342 use larger font for bars on BBT ruler 2021-01-03 16:50:18 -07:00
8c2a460b7d
NO-OP: prefer RAII unwind 2020-08-09 22:08:00 +02:00
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
eecb498a70 restore apparent thinko that removed the effect of "editable region" transparency for MIDI regions 2020-05-16 08:29:37 -06:00
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
2e2ca85131 remove debug output 2020-05-06 09:53:55 -06:00
f546b38f42 when creating new notes via MidiRegionView::create_note_at(), add note to selection 2020-05-05 18:00:41 -06:00
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
11ec81f4c2 more improvements in visual representation of selected MIDI notes during (and not during) internal editing 2020-05-01 22:28:21 -06:00
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
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
0b7d0ebfd6 remove debug output 2020-04-17 10:47:01 -06:00
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
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
4e005540c6
Update PatchChange when instrument/midnam changes 2020-04-04 01:48:30 +02:00