summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_region_view.cc
AgeCommit message (Collapse)Author
2018-08-09Ignore scroll-wheel while dragging notes.Robin Gareus
Previously, dragging a MIDI note and scrolling with scroll wheel (to change velocity) made the note jump back to location before drag.
2018-07-27new_grid: The Return of the snap_to_X functions.Ben Loftis
We no longer assume that Snap always uses the visible ruler lines. If you want to snap to the grid, and ignore the users zoom scale, use SnapPref::SnapToGrid_Unscaled This fixes 2 (known) oversights: "snap region(s) to grid" and "regions whose start are left of the canvas edge".
2018-07-05remove more unused MIDI note colorsPaul Davis
2018-07-03make use-note-color-for-velocity much much more efficientPaul Davis
(by not invoking the global color change signal)
2018-07-03call Note::set_velocity() at an appropriate timePaul Davis
2018-02-17Fix a few warningsBen Loftis
2018-02-09new_grid: Rewrite of Snap and Grid. (squashed commit)Ben Loftis
Separate Snap from Grid. Lots of naming changes. Multiple simultaneous snap options allowed. Grid is one of the possible Snap options. Grid uses the same data as the rulers. Replace complicated tempo_lines with simple grid_lines. The Grid is zoom-scale-sensitive along with the rulers. If you are zoomed out, grid becomes coarser.
2018-02-09new_grid: MidiRegionView::motion should propagate thru RegionView, so ↵Ben Loftis
snapped_cursor is updated. This probably fixes other bugs as well.
2018-02-09new_snap: Snapped Cursor ( squashed commit )Ben Loftis
Snapped Cursor is a line that follows the edit point, and indicates where the operation will occur. This replaces and extends the line that appears with the Cut tool. New associated preferences: snap_threshold and show_snap_cursor.
2017-09-24fix header order and space alignmentPaul Davis
2017-09-24convert codebase to use Temporal for various time typesPaul Davis
2017-09-19fix unintentionally edited color/theme name from f2s editPaul Davis
2017-09-18globally change all use of "frame" to refer to audio into "sample".Paul Davis
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode and video in order to keep the legible
2017-09-18changes required to operate with the Evoral::Beats ticktime commitPaul Davis
2017-07-22Call Editor::abort_reversible_command() in MidiRegionView::abort_command()nick_m
Fixes broken undo stack if no changes occurred. Edit note dialog is currently the only user.
2017-05-14Fix compiler warning of unused variable.André Nusser
2017-03-29When adding a PC, use the channel given in the dialog.Robin Gareus
2017-03-06more linked midi region trim drag fixes.nick_m
- freeze the correct playlists on fiorst move. - only update the start offset of linked regions once the drag has finished.
2017-03-05rework percussive hit spraying.nick_m
- the spray is limited to the first entered note. - all new notes are selected (requires a selection change to MRV::create_note_at()
2017-03-04offset linked regions to compensate for negative start after trim drag.nick_m
- should fix 7105
2017-02-24also fix flying percussive hits while copy-dragging.nick_m
2017-02-24hotfix for flying percussive hits while dragging.nick_m
- Hit::position still may not be set correctly, but this patch eliminates the error for now.
2017-02-07update note length when dragging notes (over tempo change)nick_m
2017-02-05remove overzealous bounds check when dropping notes.nick_m
2017-02-05midi note drags are music-based.nick_m
- wysiwyg (during drag) when dragging more than one note across a tempo change. - introduces a muscal equivalent of snap_delta (only used for note drags atm) - split earliest note in selection into a separate function - MRV::copy_selection() returns the equivalent _primary note to avoid offset hell. - RV::snap_frame_to_frame returns a MusicFrame - prevent note drag moving before region start.
2017-02-04If 'MidiRegionView::find_canvas_sys_ex()' fails, make it return a ↵John Emmas
boost::shared_ptr<> (rather than returning an int)
2017-02-04clean up patch change/sysex headers.nick_m
2017-02-04set sysex height & position on redisplay.nick_m
2017-02-04improve sysex data display.nick_m
- don't add a new SysEx canvas item every time we zoom or drag. - speed up redisplay generally using PatchChange-like method for finding items (find_canvas_sys_ex() in boost::unordered_map).
2017-02-04rework snapnick_m
snap now fills in a struct (MusicFrame) which contins a snapped frame along with a music divisor. this gives useful information wrt magnetic snap which may or may not have rounded to an exact musical position. region position may now be set musically (using quarter notes for now). this patch fixes several problems in the current code: - dragging a list of music-locked regions now maintains correct musical offsets within the list. - splitting regions using magnetic snap works correctly (#7192) - cut drag should now work correctly with magnetic snap. - musical length of split midi regions is no longer frame based.
2017-01-30speed up midi ghost region updatenick_m
- as MRV removes invalid notes from the GR, we can simply update all events after checking vertical visibility.
2017-01-27MidiRegionView::redisplay_model() - code cleanupnick_m
2017-01-24MIDI note copy needs to adjust pitch of new notes before adding themPaul Davis
2017-01-23implement copy-drag for MIDI notes.Paul Davis
Probably some corner cases to be fixed, but pretty functional and largely modelled on existing code (paste, drag, step add note etc.)
2017-01-20Leave some notes about memory-leaksRobin Gareus
2017-01-04note display performance.nick_m
use boost::unordered_map as a note store for ghost & midi region views. as per otiginal method, only notes within regoin bounds are stored.
2016-12-30fix bug where hidden ghostregions were updated.nick_m
2016-12-29Fix updates of region-colorRobin Gareus
2016-12-30minor MidiRegionView::redisplay_model() cleanupnick_m
2016-12-30retain note selection for invalidated notes.nick_m
2016-12-29more note performance work (dereference less).nick_m
2016-12-29revert 7805217b5 (make note mode change work again).nick_m
2016-12-29improve the performance of MidiRegionView::find_canvas_patch_change().nick_m
- also fixes patch changes appearing outside region bounds when copied/trimmed.
2016-12-29don't clear note items in MidiRegionView::display_model().nick_m
- redisplay_model() does this for us.
2016-12-24speed up load/quit for sessions containing ~25k events.nick_m
- MGR uses a _note_group to hold events. - MRV & MGR delete canvas notes directly from their note group. - sysex is untested (it uses MRV note group).
2016-12-23hide ghost events appropriately (e.g. after split).nick_m
2016-12-23only update GhostEvents on visible trackviews.nick_m
- this requires that MidiGhostRegion::update_contents_height() also controls visibility.
2016-12-23midi scrooming performance updates.nick_m
- MGR visibility is handled by update_note/hit() MRV unconditionally updates MGR events - remove MidiGhostRegion::update_range() - rename set_contents_height -> update_contents_height
2016-12-21fix various midi display bugs introduced by 9038be49d8.nick_m
2016-12-20improve midi zoom/scroom performance with lots of notes.nick_m
- mostly due to searching a multiset rather than a list of canvas events.