Paul Davis
dc8382c0b5
some enforcement of NoInsert KeyEnforcementPolicy
2021-11-18 16:44:16 -07:00
Paul Davis
e8baad9efa
more centralized code for deciding if a note is visible or note based on key
2021-11-18 15:41:59 -07:00
Paul Davis
407936277f
NOOP: whitespace
2021-11-18 11:35:01 -07:00
Paul Davis
bfe52ca668
key enforcement: if NoInsert is in effect, MIDI mouse editing does not insert non-scale notes
2021-11-18 11:34:50 -07:00
Paul Davis
a3a8f355ee
key enforcement: use NoDraw to help decide whether or not to show ghost notes
2021-11-18 11:25:42 -07:00
Paul Davis
eb0c1984de
midi region view: don't show ghost note if it is not in key
2021-11-18 10:36:07 -07:00
Ben Loftis
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
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