ardour
|
#include <midi_region_view.h>
Classes | |
struct | NoteResizeData |
Public Types | |
enum | MouseState { None, Pressed, SelectTouchDragging, SelectRectDragging, SelectVerticalDragging, AddDragging } |
typedef Evoral::Note < Evoral::Beats > | NoteType |
typedef Evoral::Sequence < Evoral::Beats >::Notes | Notes |
typedef std::set< NoteBase * > | Selection |
Public Types inherited from TimeAxisViewItem | |
enum | Visibility { ShowFrame = 0x1, ShowNameHighlight = 0x2, ShowNameText = 0x4, ShowHandles = 0x8, HideFrameLeft = 0x10, HideFrameRight = 0x20, HideFrameTB = 0x40, FullWidthNameHighlight = 0x80 } |
Protected Member Functions | |
void | region_resized (const PBD::PropertyChange &) |
void | set_flags (XMLNode *) |
void | store_flags () |
void | reset_width_dependent_items (double pixel_width) |
void | parameter_changed (std::string const &p) |
Protected Member Functions inherited from RegionView | |
RegionView (ArdourCanvas::Container *, TimeAxisView &, boost::shared_ptr< ARDOUR::Region >, double samples_per_pixel, uint32_t basic_color, bool recording, TimeAxisViewItem::Visibility) | |
bool | canvas_group_event (GdkEvent *) |
virtual void | region_muted () |
void | region_locked () |
void | region_opacity () |
virtual void | region_renamed () |
void | region_sync_changed () |
std::string | make_name () const |
void | lock_toggle () |
virtual void | set_colors () |
virtual void | set_sync_mark_color () |
Protected Member Functions inherited from TimeAxisViewItem | |
TimeAxisViewItem (const std::string &, ArdourCanvas::Item &, TimeAxisView &, double, uint32_t fill_color, framepos_t, framecnt_t, bool recording=false, bool automation=false, Visibility v=Visibility(0)) | |
TimeAxisViewItem (const TimeAxisViewItem &) | |
void | init (ArdourCanvas::Item *, double, uint32_t, framepos_t, framepos_t, Visibility, bool, bool) |
virtual void | set_frame_color () |
virtual void | set_frame_gradient () |
void | set_trim_handle_colors () |
bool | frame_handle_crossing (GdkEvent *, ArdourCanvas::Rectangle *) |
Private Types | |
typedef std::list< NoteBase * > | Events |
typedef std::vector < boost::shared_ptr < PatchChange > > | PatchChanges |
typedef std::vector < boost::shared_ptr< SysEx > > | SysExes |
Static Private Attributes | |
static PBD::Signal1< void, MidiRegionView * > | SelectionCleared |
Friends | |
class | MidiRubberbandSelectDrag |
class | MidiVerticalSelectDrag |
class | EditNoteDialog |
Additional Inherited Members | |
Static Public Member Functions inherited from TimeAxisViewItem | |
static void | set_constant_heights () |
Public Attributes inherited from TimeAxisViewItem | |
sigc::signal< void, std::string, void * > | ItemRemoved |
sigc::signal< void, std::string, std::string, void * > | NameChanged |
sigc::signal< void, framepos_t, void * > | PositionChanged |
sigc::signal< void, bool, void * > | PositionLockChanged |
sigc::signal< void, framecnt_t, void * > | DurationChanged |
sigc::signal< void, framecnt_t, void * > | MaxDurationChanged |
sigc::signal< void, framecnt_t, void * > | MinDurationChanged |
Static Public Attributes inherited from RegionView | |
static PBD::Signal1< void, RegionView * > | RegionViewGoingAway |
Static Public Attributes inherited from TimeAxisViewItem | |
static Pango::FontDescription | NAME_FONT |
static const double | NAME_X_OFFSET = 15.0 |
static const double | GRAB_HANDLE_TOP = 0.0 |
static const double | GRAB_HANDLE_WIDTH = 10.0 |
static int | NAME_HEIGHT |
static double | NAME_Y_OFFSET |
static double | NAME_HIGHLIGHT_SIZE |
static double | NAME_HIGHLIGHT_THRESH |
Static Protected Member Functions inherited from RegionView | |
static gint | _lock_toggle (ArdourCanvas::Item *, GdkEvent *, void *) |
Static Protected Member Functions inherited from TimeAxisViewItem | |
static gint | idle_remove_this_item (TimeAxisViewItem *, void *) |
Protected Attributes inherited from RegionView | |
boost::shared_ptr< ARDOUR::Region > | _region |
ArdourCanvas::Polygon * | sync_mark |
polgyon for sync position More... | |
ArdourCanvas::Line * | sync_line |
polgyon for sync position More... | |
RegionEditor * | editor |
std::vector< ControlPoint * > | control_points |
double | current_visible_sync_position |
bool | valid |
see StreamView::redisplay_diskstream() More... | |
bool | _enable_display |
see StreamView::redisplay_diskstream() More... | |
double | _pixel_width |
bool | in_destructor |
bool | wait_for_data |
std::vector< GhostRegion * > | ghosts |
std::list < ArdourCanvas::Rectangle * > | _coverage_frames |
std::list < ArdourCanvas::Rectangle * > | _silent_frames |
std::list < ArdourCanvas::Rectangle * > | _silent_threshold_frames |
ArdourCanvas::Text * | _silence_text |
Protected Attributes inherited from TimeAxisViewItem | |
TimeAxisView & | trackview |
bool | position_locked |
framepos_t | frame_position |
framecnt_t | item_duration |
framecnt_t | max_item_duration |
framecnt_t | min_item_duration |
bool | max_duration_active |
bool | min_duration_active |
double | samples_per_pixel |
bool | _sensitive |
std::string | item_name |
bool | name_connected |
bool | show_vestigial |
uint32_t | fill_color |
uint32_t | last_item_width |
int | name_text_width |
bool | wide_enough_for_name |
bool | high_enough_for_name |
ArdourCanvas::Container * | group |
ArdourCanvas::Rectangle * | vestigial_frame |
ArdourCanvas::Rectangle * | frame |
ArdourCanvas::Rectangle * | selection_frame |
ArdourCanvas::Text * | name_text |
ArdourCanvas::Rectangle * | name_highlight |
ArdourCanvas::Rectangle * | frame_handle_start |
`frame' (fade) handle for the start of the item, or 0 More... | |
ArdourCanvas::Rectangle * | frame_handle_end |
`frame' (fade) handle for the end of the item, or 0 More... | |
double | _height |
Visibility | visibility |
std::string | fill_color_name |
bool | _recregion |
bool | _automation |
true if this is an automation region view More... | |
bool | _dragging |
Protected Attributes inherited from Selectable | |
bool | _selected |
Definition at line 65 of file midi_region_view.h.
|
private |
Definition at line 397 of file midi_region_view.h.
Definition at line 69 of file midi_region_view.h.
Definition at line 68 of file midi_region_view.h.
|
private |
Definition at line 398 of file midi_region_view.h.
typedef std::set<NoteBase*> MidiRegionView::Selection |
Definition at line 300 of file midi_region_view.h.
|
private |
Definition at line 399 of file midi_region_view.h.
Enumerator | |
---|---|
None | |
Pressed | |
SelectTouchDragging | |
SelectRectDragging | |
SelectVerticalDragging | |
AddDragging |
Definition at line 235 of file midi_region_view.h.
MidiRegionView::MidiRegionView | ( | ArdourCanvas::Container * | parent, |
RouteTimeAxisView & | tv, | ||
boost::shared_ptr< ARDOUR::MidiRegion > | r, | ||
double | samples_per_pixel, | ||
uint32_t | basic_color | ||
) |
Definition at line 97 of file midi_region_view.cc.
MidiRegionView::MidiRegionView | ( | ArdourCanvas::Container * | parent, |
RouteTimeAxisView & | tv, | ||
boost::shared_ptr< ARDOUR::MidiRegion > | r, | ||
double | samples_per_pixel, | ||
uint32_t | basic_color, | ||
bool | recording, | ||
TimeAxisViewItem::Visibility | visibility | ||
) |
Definition at line 142 of file midi_region_view.cc.
MidiRegionView::MidiRegionView | ( | const MidiRegionView & | other | ) |
Definition at line 199 of file midi_region_view.cc.
MidiRegionView::MidiRegionView | ( | const MidiRegionView & | other, |
boost::shared_ptr< ARDOUR::MidiRegion > | region | ||
) |
Definition at line 231 of file midi_region_view.cc.
MidiRegionView::~MidiRegionView | ( | ) |
Definition at line 1377 of file midi_region_view.cc.
void MidiRegionView::abort_command | ( | ) |
Definition at line 1092 of file midi_region_view.cc.
void MidiRegionView::abort_resizing | ( | ) |
Definition at line 2878 of file midi_region_view.cc.
Evoral::Beats MidiRegionView::absolute_frames_to_source_beats | ( | framepos_t | frames | ) | const |
Convert a timestamp in absolute frames to beats measured from source start
Definition at line 2666 of file midi_region_view.cc.
void MidiRegionView::add_canvas_patch_change | ( | ARDOUR::MidiModel::PatchChangePtr | patch, |
const std::string & | displaytext, | ||
bool | |||
) |
Add a new patch change flag to the canvas.
patch | the patch change to add |
the | text to display in the flag |
active_channel | true to display the flag as on an active channel, false to grey it out for an inactive channel. |
Definition at line 1907 of file midi_region_view.cc.
|
virtual |
Implements RegionView.
Definition at line 1526 of file midi_region_view.cc.
NoteBase * MidiRegionView::add_note | ( | const boost::shared_ptr< NoteType > | note, |
bool | visible | ||
) |
Add a MIDI note to the view (with length).
If in sustained mode, notes with length 0 will be considered active notes, and resolve_note should be called when the corresponding note off event arrives, to properly display the note.
Definition at line 1803 of file midi_region_view.cc.
void MidiRegionView::add_patch_change | ( | framecnt_t | , |
Evoral::PatchChange< Evoral::Beats > const & | |||
) |
Add a patch change to the region.
t | Time in frames relative to region position |
patch | Patch to add; time and channel are ignored (time is converted from t, and channel comes from MidiTimeAxisView::get_channel_for_add()) |
Definition at line 2035 of file midi_region_view.cc.
|
private |
Definition at line 2494 of file midi_region_view.cc.
void MidiRegionView::apply_diff | ( | bool | as_subcommand = false | ) |
Definition at line 1053 of file midi_region_view.cc.
void MidiRegionView::apply_note_range | ( | uint8_t | min, |
uint8_t | max, | ||
bool | force = false |
||
) |
Apply the current note range from the stream view by repositioning/hiding notes as necessary
Definition at line 1472 of file midi_region_view.cc.
void MidiRegionView::begin_resizing | ( | bool | at_front | ) |
Begin resizing of some notes. Called by CanvasMidiNote when resizing starts.
at_front | which end of the note (true == note on, false == note off) |
Definition at line 2689 of file midi_region_view.cc.
void MidiRegionView::begin_write | ( | ) |
Begin tracking note state for successive calls to add_event
Definition at line 1558 of file midi_region_view.cc.
|
private |
Definition at line 487 of file midi_region_view.cc.
|
private |
Definition at line 515 of file midi_region_view.cc.
|
privatevirtual |
Reimplemented from TimeAxisViewItem.
Definition at line 349 of file midi_region_view.cc.
void MidiRegionView::change_channel | ( | uint8_t | channel | ) |
Change the channel of the selection.
channel | - the channel number of the new channel, zero-based |
Definition at line 3253 of file midi_region_view.cc.
|
private |
Definition at line 2993 of file midi_region_view.cc.
|
private |
Definition at line 3037 of file midi_region_view.cc.
void MidiRegionView::change_note_lengths | ( | bool | fine, |
bool | shorter, | ||
Evoral::Beats | beats, | ||
bool | start, | ||
bool | end | ||
) |
Definition at line 3149 of file midi_region_view.cc.
|
private |
Definition at line 2906 of file midi_region_view.cc.
|
private |
Definition at line 3015 of file midi_region_view.cc.
|
private |
Definition at line 2889 of file midi_region_view.cc.
void MidiRegionView::change_patch_change | ( | PatchChange & | old_patch, |
const MIDI::Name::PatchPrimaryKey & | new_patch | ||
) |
Change old_patch to new_patch.
old_patch | the canvas patch change which is to be altered |
new_patch | new patch |
Definition at line 1977 of file midi_region_view.cc.
void MidiRegionView::change_patch_change | ( | ARDOUR::MidiModel::PatchChangePtr | , |
Evoral::PatchChange< Evoral::Beats > const & | |||
) |
void MidiRegionView::change_velocities | ( | bool | up, |
bool | fine, | ||
bool | allow_smush, | ||
bool | all_together | ||
) |
Definition at line 3043 of file midi_region_view.cc.
void MidiRegionView::channel_edit | ( | ) |
Definition at line 836 of file midi_region_view.cc.
|
inline |
Definition at line 310 of file midi_region_view.h.
|
private |
Definition at line 965 of file midi_region_view.cc.
|
inlineprivate |
Definition at line 353 of file midi_region_view.h.
|
inline |
Definition at line 323 of file midi_region_view.h.
|
private |
Definition at line 2136 of file midi_region_view.cc.
|
virtual |
Reimplemented from RegionView.
Definition at line 3764 of file midi_region_view.cc.
|
inline |
Definition at line 107 of file midi_region_view.h.
void MidiRegionView::commit_resizing | ( | NoteBase * | primary, |
bool | at_front, | ||
double | delta_x, | ||
bool | relative | ||
) |
Finish resizing notes when the user releases the mouse button. Parameters the same as for update_resizing().
Definition at line 2811 of file midi_region_view.cc.
|
private |
Definition at line 340 of file midi_region_view.cc.
|
private |
Definition at line 3685 of file midi_region_view.cc.
void MidiRegionView::create_note_at | ( | framepos_t | t, |
double | y, | ||
Evoral::Beats | length, | ||
bool | snap_t | ||
) |
Add a note to the model, and the view, at a canvas (click) coordinate.
t | time in frames relative to the position of the region |
y | vertical position in pixels |
length | duration of the note in beats |
snap_t | true to snap t to the grid, otherwise false. |
Definition at line 923 of file midi_region_view.cc.
void MidiRegionView::cut_copy_clear | ( | Editing::CutCopyOp | op | ) |
Definition at line 3392 of file midi_region_view.cc.
|
private |
Called when a diskstream on our track has received some data. Update the view, if applicable.
w | Source that the data will end up in. |
Definition at line 3835 of file midi_region_view.cc.
void MidiRegionView::delete_note | ( | boost::shared_ptr< NoteType > | n | ) |
Definition at line 2126 of file midi_region_view.cc.
void MidiRegionView::delete_patch_change | ( | PatchChange * | pc | ) |
Definition at line 2071 of file midi_region_view.cc.
void MidiRegionView::delete_selection | ( | ) |
Definition at line 2106 of file midi_region_view.cc.
void MidiRegionView::delete_sysex | ( | SysEx * | ) |
Definition at line 3937 of file midi_region_view.cc.
void MidiRegionView::display_model | ( | boost::shared_ptr< ARDOUR::MidiModel > | model | ) |
Definition at line 987 of file midi_region_view.cc.
void MidiRegionView::display_patch_changes | ( | ) |
Displays all patch change events in the region as flags on the canvas.
Definition at line 1264 of file midi_region_view.cc.
|
private |
active_channel | true to display patch changes fully, false to display them `greyed-out' (as on an inactive channel) |
Definition at line 1278 of file midi_region_view.cc.
void MidiRegionView::display_sysexes | ( | ) |
Displays all system exclusive events in the region as flags on the canvas.
Definition at line 1292 of file midi_region_view.cc.
|
private |
Definition at line 3721 of file midi_region_view.cc.
void MidiRegionView::edit_patch_change | ( | PatchChange * | pc | ) |
Definition at line 3917 of file midi_region_view.cc.
|
virtual |
Reimplemented from RegionView.
Definition at line 3776 of file midi_region_view.cc.
void MidiRegionView::end_write | ( | ) |
Destroy note state for add_event
Definition at line 1573 of file midi_region_view.cc.
|
private |
Definition at line 444 of file midi_region_view.cc.
|
private |
Definition at line 409 of file midi_region_view.cc.
void MidiRegionView::extend_active_notes | ( | ) |
Extend active notes to rightmost edge of region (if length is changed)
Definition at line 1610 of file midi_region_view.cc.
|
private |
Definition at line 1100 of file midi_region_view.cc.
This version finds any canvas note matching the supplied note.
Definition at line 1121 of file midi_region_view.cc.
|
private |
Definition at line 4053 of file midi_region_view.cc.
double MidiRegionView::get_end_position_pixels | ( | ) |
Get the region end position in pixels relative to session.
Definition at line 2648 of file midi_region_view.cc.
|
private |
Definition at line 1135 of file midi_region_view.cc.
|
virtual |
Reimplemented from TimeAxisViewItem.
Definition at line 3351 of file midi_region_view.cc.
|
private |
Get grid type as beats, or default to 1 if not snapped to beats.
Definition at line 4068 of file midi_region_view.cc.
void MidiRegionView::get_patch_key_at | ( | Evoral::Beats | time, |
uint8_t | channel, | ||
MIDI::Name::PatchPrimaryKey & | key | ||
) | const |
Look up the given time and channel in the 'automation' and set keys accordingly.
time | the time of the patch change event |
channel | the MIDI channel of the event a reference to an instance of MIDI::Name::PatchPrimaryKey whose fields will will be set according to the result of the lookup |
Definition at line 1955 of file midi_region_view.cc.
double MidiRegionView::get_position_pixels | ( | ) |
Get the region position in pixels relative to session.
Definition at line 2641 of file midi_region_view.cc.
|
private |
Definition at line 4060 of file midi_region_view.cc.
|
private |
Definition at line 3989 of file midi_region_view.cc.
void MidiRegionView::goto_next_note | ( | bool | add_to_selection | ) |
Definition at line 3554 of file midi_region_view.cc.
void MidiRegionView::goto_previous_note | ( | bool | add_to_selection | ) |
Definition at line 3591 of file midi_region_view.cc.
void MidiRegionView::hide_step_edit_cursor | ( | ) |
Definition at line 3814 of file midi_region_view.cc.
|
virtual |
Reimplemented from RegionView.
Definition at line 263 of file midi_region_view.cc.
InstrumentInfo & MidiRegionView::instrument_info | ( | ) | const |
Definition at line 327 of file midi_region_view.cc.
|
private |
Definition at line 3386 of file midi_region_view.cc.
void MidiRegionView::invert_selection | ( | void | ) |
Definition at line 2215 of file midi_region_view.cc.
|
private |
Definition at line 724 of file midi_region_view.cc.
|
private |
Definition at line 826 of file midi_region_view.cc.
|
private |
Definition at line 467 of file midi_region_view.cc.
|
private |
Definition at line 418 of file midi_region_view.cc.
|
private |
Definition at line 2096 of file midi_region_view.cc.
|
private |
Definition at line 3727 of file midi_region_view.cc.
|
private |
Definition at line 3366 of file midi_region_view.cc.
const boost::shared_ptr< ARDOUR::MidiRegion > MidiRegionView::midi_region | ( | ) | const |
Definition at line 334 of file midi_region_view.cc.
|
inline |
Definition at line 98 of file midi_region_view.h.
|
inline |
Definition at line 95 of file midi_region_view.h.
|
private |
Definition at line 610 of file midi_region_view.cc.
|
private |
Definition at line 427 of file midi_region_view.cc.
|
inline |
Definition at line 244 of file midi_region_view.h.
void MidiRegionView::move_patch_change | ( | PatchChange & | pc, |
Evoral::Beats | t | ||
) |
Definition at line 2058 of file midi_region_view.cc.
void MidiRegionView::move_selection | ( | double | dx, |
double | dy, | ||
double | cumulative_dy | ||
) |
Definition at line 2515 of file midi_region_view.cc.
void MidiRegionView::move_step_edit_cursor | ( | Evoral::Beats | pos | ) |
Definition at line 3802 of file midi_region_view.cc.
|
private |
void MidiRegionView::note_deselected | ( | NoteBase * | ev | ) |
Definition at line 2394 of file midi_region_view.cc.
void MidiRegionView::note_diff_add_change | ( | NoteBase * | ev, |
ARDOUR::MidiModel::NoteDiffCommand::Property | property, | ||
uint8_t | val | ||
) |
Definition at line 1033 of file midi_region_view.cc.
void MidiRegionView::note_diff_add_change | ( | NoteBase * | ev, |
ARDOUR::MidiModel::NoteDiffCommand::Property | property, | ||
Evoral::Beats | val | ||
) |
Definition at line 1043 of file midi_region_view.cc.
void MidiRegionView::note_diff_add_note | ( | const boost::shared_ptr< NoteType > | note, |
bool | selected, | ||
bool | show_velocity = false |
||
) |
Definition at line 1011 of file midi_region_view.cc.
void MidiRegionView::note_diff_remove_note | ( | NoteBase * | ev | ) |
Definition at line 1025 of file midi_region_view.cc.
void MidiRegionView::note_dropped | ( | NoteBase * | ev, |
ARDOUR::frameoffset_t | dt, | ||
int8_t | d_note | ||
) |
Definition at line 2558 of file midi_region_view.cc.
void MidiRegionView::note_entered | ( | NoteBase * | ev | ) |
Definition at line 3265 of file midi_region_view.cc.
bool MidiRegionView::note_in_region_range | ( | const boost::shared_ptr< NoteType > | note, |
bool & | visible | ||
) | const |
Return true iff the note is within the extent of the region.
visible | will be set to true if the note is within the visible note range, false otherwise. |
Definition at line 1675 of file midi_region_view.cc.
void MidiRegionView::note_left | ( | NoteBase * | ev | ) |
Definition at line 3279 of file midi_region_view.cc.
void MidiRegionView::note_mouse_position | ( | float | xfraction, |
float | yfraction, | ||
bool | can_set_cursor = true |
||
) |
Definition at line 3332 of file midi_region_view.cc.
void MidiRegionView::note_selected | ( | NoteBase * | ev, |
bool | add, | ||
bool | extend = false |
||
) |
Definition at line 2341 of file midi_region_view.cc.
void MidiRegionView::nudge_notes | ( | bool | forward, |
bool | fine | ||
) |
Definition at line 3183 of file midi_region_view.cc.
|
protected |
Definition at line 190 of file midi_region_view.cc.
bool MidiRegionView::paste | ( | framepos_t | pos, |
const ::Selection & | selection, | ||
PasteContext & | ctx | ||
) |
This method handles undo
Definition at line 3450 of file midi_region_view.cc.
void MidiRegionView::paste_internal | ( | framepos_t | pos, |
unsigned | paste_count, | ||
float | times, | ||
const MidiCutBuffer & | mcb | ||
) |
This method handles undo
Definition at line 3478 of file midi_region_view.cc.
MIDI::Name::PatchPrimaryKey MidiRegionView::patch_change_to_patch_key | ( | ARDOUR::MidiModel::PatchChangePtr | ) |
Convert a given PatchChange into a PatchPrimaryKey
Definition at line 1942 of file midi_region_view.cc.
void MidiRegionView::patch_entered | ( | PatchChange * | p | ) |
Definition at line 3291 of file midi_region_view.cc.
void MidiRegionView::patch_left | ( | PatchChange * | ) |
Definition at line 3303 of file midi_region_view.cc.
|
private |
Play the NoteOn event of the given note immediately and schedule the playback of the corresponding NoteOff event.
Definition at line 1625 of file midi_region_view.cc.
void MidiRegionView::redisplay_model | ( | ) |
Definition at line 1149 of file midi_region_view.cc.
|
inline |
Convert a timestamp in beats into absolute frames
Definition at line 266 of file midi_region_view.h.
framepos_t MidiRegionView::region_beats_to_region_frames | ( | Evoral::Beats | beats | ) | const |
Convert a timestamp in beats into frames (both relative to region position)
Definition at line 2677 of file midi_region_view.cc.
Evoral::Beats MidiRegionView::region_frames_to_region_beats | ( | framepos_t | frames | ) | const |
Convert a timestamp in frames to beats (both relative to region position)
Definition at line 2683 of file midi_region_view.cc.
|
inline |
Definition at line 281 of file midi_region_view.h.
|
protectedvirtual |
Reimplemented from RegionView.
Definition at line 1405 of file midi_region_view.cc.
|
private |
Definition at line 2471 of file midi_region_view.cc.
|
private |
Definition at line 3704 of file midi_region_view.cc.
|
protectedvirtual |
Reimplemented from RegionView.
Definition at line 1424 of file midi_region_view.cc.
void MidiRegionView::resolve_note | ( | uint8_t | note, |
Evoral::Beats | end_time | ||
) |
Resolve an active MIDI note (while recording).
Definition at line 1585 of file midi_region_view.cc.
|
private |
Definition at line 693 of file midi_region_view.cc.
void MidiRegionView::select_all_notes | ( | ) |
Definition at line 2192 of file midi_region_view.cc.
void MidiRegionView::select_matching_notes | ( | uint8_t | notenum, |
uint16_t | channel_mask, | ||
bool | add, | ||
bool | extend | ||
) |
Definition at line 2245 of file midi_region_view.cc.
void MidiRegionView::select_notes | ( | std::list< boost::shared_ptr< NoteType > > | notes | ) |
Used for selection undo/redo. The requested notes most likely won't exist in the view until the next model redisplay.
Definition at line 2230 of file midi_region_view.cc.
void MidiRegionView::select_range | ( | framepos_t | start, |
framepos_t | end | ||
) |
Definition at line 2202 of file midi_region_view.cc.
|
inline |
Definition at line 301 of file midi_region_view.h.
|
private |
Definition at line 3433 of file midi_region_view.cc.
void MidiRegionView::selection_as_notelist | ( | Notes & | selected, |
bool | allow_all_if_none_selected = false |
||
) |
Definition at line 3628 of file midi_region_view.cc.
|
private |
Called when the selection has been cleared in any MidiRegionView.
rv | MidiRegionView that the selection was cleared in. |
Definition at line 4042 of file midi_region_view.cc.
|
inline |
Definition at line 197 of file midi_region_view.h.
|
inline |
Definition at line 309 of file midi_region_view.h.
|
protected |
|
virtual |
Set the height of this item.
h | new height |
Reimplemented from RegionView.
Definition at line 1445 of file midi_region_view.cc.
void MidiRegionView::set_step_edit_cursor_width | ( | Evoral::Beats | beats | ) |
Definition at line 3822 of file midi_region_view.cc.
void MidiRegionView::show_list_editor | ( | ) |
Definition at line 908 of file midi_region_view.cc.
void MidiRegionView::show_step_edit_cursor | ( | Evoral::Beats | pos | ) |
Definition at line 3785 of file midi_region_view.cc.
|
private |
|
private |
Definition at line 3950 of file midi_region_view.cc.
|
private |
Definition at line 3711 of file midi_region_view.cc.
|
private |
p | A session framepos. |
grid_frames | Filled in with the number of frames that a grid interval is at p. |
Definition at line 4020 of file midi_region_view.cc.
framepos_t MidiRegionView::snap_pixel_to_sample | ( | double | x | ) |
Snap a region relative pixel coordinate to frame units.
x | a pixel coordinate relative to region start |
x | Pixel relative to the region position. |
Definition at line 2625 of file midi_region_view.cc.
double MidiRegionView::snap_to_pixel | ( | double | x | ) |
Snap a region relative pixel coordinate to pixel units.
x | a pixel coordinate relative to region start |
x | Pixel relative to the region position. |
Definition at line 2635 of file midi_region_view.cc.
framepos_t MidiRegionView::source_beats_to_absolute_frames | ( | Evoral::Beats | beats | ) | const |
Convert a timestamp in beats measured from source start into absolute frames
Definition at line 2655 of file midi_region_view.cc.
|
inline |
Convert a timestamp in beats measured from source start into region-relative frames
Definition at line 275 of file midi_region_view.h.
|
inline |
Definition at line 285 of file midi_region_view.h.
void MidiRegionView::start_note_diff_command | ( | std::string | name = "midi edit" | ) |
Definition at line 1002 of file midi_region_view.cc.
|
private |
Definition at line 1652 of file midi_region_view.cc.
|
private |
Definition at line 1645 of file midi_region_view.cc.
void MidiRegionView::step_add_note | ( | uint8_t | channel, |
uint8_t | number, | ||
uint8_t | velocity, | ||
Evoral::Beats | pos, | ||
Evoral::Beats | len | ||
) |
Definition at line 1864 of file midi_region_view.cc.
void MidiRegionView::step_patch | ( | PatchChange & | patch, |
bool | bank, | ||
int | delta | ||
) |
Change a patch to the next or previous bank/program.
bank | If true, step bank, otherwise, step program. |
delta | Amount to adjust number. |
Definition at line 2084 of file midi_region_view.cc.
void MidiRegionView::step_sustain | ( | Evoral::Beats | beats | ) |
Definition at line 1896 of file midi_region_view.cc.
|
protected |
void MidiRegionView::sysex_entered | ( | SysEx * | p | ) |
Definition at line 3312 of file midi_region_view.cc.
void MidiRegionView::sysex_left | ( | SysEx * | p | ) |
Definition at line 3323 of file midi_region_view.cc.
|
private |
Definition at line 3541 of file midi_region_view.cc.
void MidiRegionView::toggle_matching_notes | ( | uint8_t | notenum, |
uint16_t | channel_mask | ||
) |
Definition at line 2318 of file midi_region_view.cc.
void MidiRegionView::transpose | ( | bool | up, |
bool | fine, | ||
bool | allow_smush | ||
) |
Definition at line 3104 of file midi_region_view.cc.
|
virtual |
Called when a start trim has finished
Reimplemented from RegionView.
Definition at line 3904 of file midi_region_view.cc.
|
virtual |
Called when a front trim is about to begin
Reimplemented from RegionView.
Definition at line 3893 of file midi_region_view.cc.
|
private |
Definition at line 2921 of file midi_region_view.cc.
void MidiRegionView::unique_select | ( | NoteBase * | ev | ) |
Definition at line 2169 of file midi_region_view.cc.
|
private |
Definition at line 2400 of file midi_region_view.cc.
|
private |
Definition at line 3649 of file midi_region_view.cc.
|
private |
Definition at line 1763 of file midi_region_view.cc.
|
private |
Definition at line 1691 of file midi_region_view.cc.
void MidiRegionView::update_resizing | ( | NoteBase * | primary, |
bool | at_front, | ||
double | delta_x, | ||
bool | relative | ||
) |
Update resizing notes while user drags.
primary | `primary' note for the drag; ie the one that is used as the reference in non-relative mode. |
at_front | which end of the note (true == note on, false == note off) |
delta_x | change in mouse position since the start of the drag |
relative | true if relative resizing is taking place, false if absolute resizing. This only makes a difference when multiple notes are being resized; in relative mode, each note's length is changed by the amount of the drag. In non-relative mode, all selected notes are set to have the same start or end point as the primary note. |
Definition at line 2738 of file midi_region_view.cc.
|
private |
Update a canvas note's size from its model note.
ev | Canvas note to update. |
update_ghost_regions | true to update the note in any ghost regions that we have, otherwise false. |
Definition at line 1707 of file midi_region_view.cc.
|
private |
Definition at line 2448 of file midi_region_view.cc.
void MidiRegionView::velocity_edit | ( | ) |
Definition at line 872 of file midi_region_view.cc.
|
friend |
Definition at line 355 of file midi_region_view.h.
|
friend |
Definition at line 339 of file midi_region_view.h.
|
friend |
Definition at line 340 of file midi_region_view.h.
|
private |
Definition at line 408 of file midi_region_view.h.
|
private |
Definition at line 370 of file midi_region_view.h.
|
private |
Definition at line 417 of file midi_region_view.h.
|
private |
this handles the case when the "external" world wants us to clear our internal selections
Definition at line 352 of file midi_region_view.h.
|
private |
Definition at line 395 of file midi_region_view.h.
|
private |
Definition at line 394 of file midi_region_view.h.
|
private |
Definition at line 502 of file midi_region_view.h.
|
private |
Definition at line 405 of file midi_region_view.h.
|
private |
Definition at line 411 of file midi_region_view.h.
|
private |
Definition at line 501 of file midi_region_view.h.
|
private |
Definition at line 372 of file midi_region_view.h.
|
private |
Definition at line 497 of file midi_region_view.h.
|
private |
Definition at line 499 of file midi_region_view.h.
|
private |
Definition at line 500 of file midi_region_view.h.
|
private |
Definition at line 412 of file midi_region_view.h.
|
private |
Definition at line 413 of file midi_region_view.h.
|
private |
Definition at line 462 of file midi_region_view.h.
|
private |
New notes (created in the current command) which should be selected when they appear after the command is applied.
Definition at line 437 of file midi_region_view.h.
|
private |
New notes (created in the current command) which should have visible velocity when they appear after the command is applied.
Definition at line 444 of file midi_region_view.h.
|
private |
Definition at line 404 of file midi_region_view.h.
|
private |
Definition at line 504 of file midi_region_view.h.
|
private |
Definition at line 508 of file midi_region_view.h.
|
private |
Definition at line 424 of file midi_region_view.h.
|
private |
Definition at line 463 of file midi_region_view.h.
|
private |
Definition at line 410 of file midi_region_view.h.
|
private |
Definition at line 409 of file midi_region_view.h.
|
private |
Definition at line 453 of file midi_region_view.h.
|
private |
Definition at line 406 of file midi_region_view.h.
|
private |
Notes that should be selected when the model is redisplayed.
Definition at line 440 of file midi_region_view.h.
|
private |
Definition at line 510 of file midi_region_view.h.
|
private |
Definition at line 425 of file midi_region_view.h.
|
private |
Definition at line 401 of file midi_region_view.h.
|
private |
Definition at line 446 of file midi_region_view.h.
|
private |
Currently selected NoteBase objects
Definition at line 428 of file midi_region_view.h.
|
private |
Definition at line 347 of file midi_region_view.h.
|
private |
Definition at line 430 of file midi_region_view.h.
|
private |
Definition at line 402 of file midi_region_view.h.
|
private |
Definition at line 414 of file midi_region_view.h.
|
private |
Definition at line 416 of file midi_region_view.h.
|
private |
Definition at line 415 of file midi_region_view.h.
|
private |
Definition at line 407 of file midi_region_view.h.
|
private |
A group used to temporarily reparent _note_group to during start trims, so that the notes don't move with the parent region view.
Definition at line 422 of file midi_region_view.h.
|
private |
connection used to connect to model's ContentChanged signal
Definition at line 449 of file midi_region_view.h.
|
private |
Definition at line 465 of file midi_region_view.h.
|
staticprivate |
Emitted when the selection has been cleared in one MidiRegionView, with the expectation that others will clear their selections in sympathy.
Definition at line 346 of file midi_region_view.h.
|
private |
Definition at line 469 of file midi_region_view.h.