tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications

« « « Anklang Documentation
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
tracktion::engine::SelectedMidiEvents Class Reference

Represents a set of selected MIDI notes. More...

#include "tracktion_SelectedMidiEvents.h"

Inheritance diagram for tracktion::engine::SelectedMidiEvents:
tracktion::engine::Selectable juce::ChangeBroadcaster

Public Member Functions

 SelectedMidiEvents (MidiClip &)
 
 SelectedMidiEvents (juce::Array< MidiClip * >)
 
EditgetEdit ()
 
MidiClipclipForEvent (MidiNote *) const
 
MidiClipclipForEvent (MidiSysexEvent *) const
 
MidiClipclipForEvent (MidiControllerEvent *) const
 
void addSelectedEvent (MidiNote *, bool addToCurrent)
 
void addSelectedEvent (MidiSysexEvent *, bool addToCurrent)
 
void addSelectedEvent (MidiControllerEvent *, bool addToCurrent)
 
void removeSelectedEvent (MidiNote *)
 
void removeSelectedEvent (MidiSysexEvent *)
 
void removeSelectedEvent (MidiControllerEvent *)
 
void setSelected (SelectionManager &, const juce::Array< MidiNote * > &, bool addToSelection, bool allowMixedSelection=false)
 
void setSelected (SelectionManager &, const juce::Array< MidiSysexEvent * > &, bool addToSelection, bool allowMixedSelection=false)
 
void setSelected (SelectionManager &, const juce::Array< MidiControllerEvent * > &, bool addToSelection, bool allowMixedSelection=false)
 
bool isSelected (const MidiNote *) const
 
bool isSelected (const MidiSysexEvent *) const
 
bool isSelected (const MidiControllerEvent *) const
 
int getNumSelected () const
 
bool anythingSelected () const
 
const juce::Array< MidiNote * > & getSelectedNotes () const noexcept
 
const juce::Array< MidiSysexEvent * > & getSelectedSysexes () const noexcept
 
const juce::Array< MidiControllerEvent * > & getSelectedControllers () const noexcept
 
void moveEvents (TimeDuration deltaStart, TimeDuration deltaLength, int deltaNote)
 
void setNoteLengths (BeatDuration newLength)
 
void setVelocities (int newVelocity)
 
void changeColour (uint8_t newColour)
 
void nudge (TimecodeSnapType, int leftRight, int upDown)
 
TimeRange getSelectedRange () const
 
juce::String getSelectableDescription () override
 Subclasses must return a description of what they are.
 
void selectionStatusChanged (bool isNowSelected) override
 Can be overridden to tell this object that it has just been selected or deselected.
 
const juce::Array< MidiClip * > & getClips ()
 
void setClips (juce::Array< MidiClip * > clips)
 
- Public Member Functions inherited from tracktion::engine::Selectable
virtual void changed ()
 This should be called to send a change notification to any SelectableListeners that are registered with this object.
 
virtual void selectableAboutToBeDeleted ()
 Called just before the selectable is about to be deleted so any subclasses should still be valid at this point.
 
void addListener (SelectableListener *)
 
void removeListener (SelectableListener *)
 
void addSelectableListener (SelectableListener *)
 
void removeSelectableListener (SelectableListener *)
 
void cancelAnyPendingUpdates ()
 If changed() has been called, this will cancel any pending async change notificaions.
 
void deselect ()
 
void propertiesChanged ()
 
void notifyListenersOfDeletion ()
 
WeakRef getWeakRef ()
 
- Public Member Functions inherited from juce::ChangeBroadcaster
void addChangeListener (ChangeListener *listener)
 
void removeChangeListener (ChangeListener *listener)
 
void removeAllChangeListeners ()
 
void sendChangeMessage ()
 
void sendSynchronousChangeMessage ()
 
void dispatchPendingMessages ()
 

Static Public Member Functions

static void moveControllerData (const juce::Array< MidiClip * > &clips, const juce::Array< MidiControllerEvent * > *onlyTheseEvents, BeatDuration deltaBeats, TimePosition startTime, TimePosition endTime, bool makeCopy)
 Moves all controller data in 'clips' between edit times.
 
- Static Public Member Functions inherited from tracktion::engine::Selectable
static void initialise ()
 
static bool isSelectableValid (const Selectable *) noexcept
 checks whether this object has been deleted.
 

Public Attributes

std::function< bool()> shouldLockControllerToNotes
 Host should set this callback to specify if it wants MIDI CC locked to MIDI notes when nudging.
 
- Public Attributes inherited from tracktion::engine::Selectable
WeakRef::Master masterReference
 

Additional Inherited Members

- Public Types inherited from tracktion::engine::Selectable
using WeakRef = juce::WeakReference< Selectable >
 

Detailed Description

Represents a set of selected MIDI notes.

This will broadcast a change message when the events that are selected are changed.

Definition at line 17 of file tracktion_SelectedMidiEvents.h.

Constructor & Destructor Documentation

◆ SelectedMidiEvents() [1/2]

tracktion::engine::SelectedMidiEvents::SelectedMidiEvents ( MidiClip m)

Definition at line 14 of file tracktion_SelectedMidiEvents.cpp.

◆ SelectedMidiEvents() [2/2]

tracktion::engine::SelectedMidiEvents::SelectedMidiEvents ( juce::Array< MidiClip * >  m)

Definition at line 18 of file tracktion_SelectedMidiEvents.cpp.

◆ ~SelectedMidiEvents()

tracktion::engine::SelectedMidiEvents::~SelectedMidiEvents ( )
override

Definition at line 30 of file tracktion_SelectedMidiEvents.cpp.

Member Function Documentation

◆ addSelectedEvent() [1/3]

void tracktion::engine::SelectedMidiEvents::addSelectedEvent ( MidiControllerEvent controller,
bool  addToCurrent 
)

Definition at line 136 of file tracktion_SelectedMidiEvents.cpp.

◆ addSelectedEvent() [2/3]

void tracktion::engine::SelectedMidiEvents::addSelectedEvent ( MidiNote note,
bool  addToCurrent 
)

Definition at line 75 of file tracktion_SelectedMidiEvents.cpp.

◆ addSelectedEvent() [3/3]

void tracktion::engine::SelectedMidiEvents::addSelectedEvent ( MidiSysexEvent sysex,
bool  addToCurrent 
)

Definition at line 107 of file tracktion_SelectedMidiEvents.cpp.

◆ anythingSelected()

bool tracktion::engine::SelectedMidiEvents::anythingSelected ( ) const

Definition at line 47 of file tracktion_SelectedMidiEvents.h.

◆ changeColour()

void tracktion::engine::SelectedMidiEvents::changeColour ( uint8_t  newColour)

Definition at line 443 of file tracktion_SelectedMidiEvents.cpp.

◆ clipForEvent() [1/3]

MidiClip * tracktion::engine::SelectedMidiEvents::clipForEvent ( MidiControllerEvent controller) const

Definition at line 63 of file tracktion_SelectedMidiEvents.cpp.

◆ clipForEvent() [2/3]

MidiClip * tracktion::engine::SelectedMidiEvents::clipForEvent ( MidiNote note) const

Definition at line 41 of file tracktion_SelectedMidiEvents.cpp.

◆ clipForEvent() [3/3]

MidiClip * tracktion::engine::SelectedMidiEvents::clipForEvent ( MidiSysexEvent sysex) const

Definition at line 52 of file tracktion_SelectedMidiEvents.cpp.

◆ getClips()

const juce::Array< MidiClip * > & tracktion::engine::SelectedMidiEvents::getClips ( )

Definition at line 67 of file tracktion_SelectedMidiEvents.h.

◆ getEdit()

Edit & tracktion::engine::SelectedMidiEvents::getEdit ( )

Definition at line 35 of file tracktion_SelectedMidiEvents.cpp.

◆ getNumSelected()

int tracktion::engine::SelectedMidiEvents::getNumSelected ( ) const

Definition at line 46 of file tracktion_SelectedMidiEvents.h.

◆ getSelectableDescription()

juce::String tracktion::engine::SelectedMidiEvents::getSelectableDescription ( )
overridevirtual

Subclasses must return a description of what they are.

Implements tracktion::engine::Selectable.

Definition at line 334 of file tracktion_SelectedMidiEvents.cpp.

◆ getSelectedControllers()

const juce::Array< MidiControllerEvent * > & tracktion::engine::SelectedMidiEvents::getSelectedControllers ( ) const
noexcept

Definition at line 51 of file tracktion_SelectedMidiEvents.h.

◆ getSelectedNotes()

const juce::Array< MidiNote * > & tracktion::engine::SelectedMidiEvents::getSelectedNotes ( ) const
noexcept

Definition at line 49 of file tracktion_SelectedMidiEvents.h.

◆ getSelectedRange()

TimeRange tracktion::engine::SelectedMidiEvents::getSelectedRange ( ) const

Definition at line 499 of file tracktion_SelectedMidiEvents.cpp.

◆ getSelectedSysexes()

const juce::Array< MidiSysexEvent * > & tracktion::engine::SelectedMidiEvents::getSelectedSysexes ( ) const
noexcept

Definition at line 50 of file tracktion_SelectedMidiEvents.h.

◆ isSelected() [1/3]

bool tracktion::engine::SelectedMidiEvents::isSelected ( const MidiControllerEvent event) const

Definition at line 326 of file tracktion_SelectedMidiEvents.cpp.

◆ isSelected() [2/3]

bool tracktion::engine::SelectedMidiEvents::isSelected ( const MidiNote event) const

Definition at line 312 of file tracktion_SelectedMidiEvents.cpp.

◆ isSelected() [3/3]

bool tracktion::engine::SelectedMidiEvents::isSelected ( const MidiSysexEvent event) const

Definition at line 319 of file tracktion_SelectedMidiEvents.cpp.

◆ moveControllerData()

void tracktion::engine::SelectedMidiEvents::moveControllerData ( const juce::Array< MidiClip * > &  clips,
const juce::Array< MidiControllerEvent * > *  onlyTheseEvents,
BeatDuration  deltaBeats,
TimePosition  startTime,
TimePosition  endTime,
bool  makeCopy 
)
static

Moves all controller data in 'clips' between edit times.

Optionally moves the data making a copy at the original location

Definition at line 558 of file tracktion_SelectedMidiEvents.cpp.

◆ moveEvents()

void tracktion::engine::SelectedMidiEvents::moveEvents ( TimeDuration  deltaStart,
TimeDuration  deltaLength,
int  deltaNote 
)

Definition at line 353 of file tracktion_SelectedMidiEvents.cpp.

◆ nudge()

void tracktion::engine::SelectedMidiEvents::nudge ( TimecodeSnapType  snapType,
int  leftRight,
int  upDown 
)

Definition at line 451 of file tracktion_SelectedMidiEvents.cpp.

◆ removeSelectedEvent() [1/3]

void tracktion::engine::SelectedMidiEvents::removeSelectedEvent ( MidiControllerEvent controller)

Definition at line 189 of file tracktion_SelectedMidiEvents.cpp.

◆ removeSelectedEvent() [2/3]

void tracktion::engine::SelectedMidiEvents::removeSelectedEvent ( MidiNote note)

Definition at line 165 of file tracktion_SelectedMidiEvents.cpp.

◆ removeSelectedEvent() [3/3]

void tracktion::engine::SelectedMidiEvents::removeSelectedEvent ( MidiSysexEvent sysex)

Definition at line 177 of file tracktion_SelectedMidiEvents.cpp.

◆ selectionStatusChanged()

void tracktion::engine::SelectedMidiEvents::selectionStatusChanged ( bool  isNowSelected)
overridevirtual

Can be overridden to tell this object that it has just been selected or deselected.

Reimplemented from tracktion::engine::Selectable.

Definition at line 339 of file tracktion_SelectedMidiEvents.cpp.

◆ setClips()

void tracktion::engine::SelectedMidiEvents::setClips ( juce::Array< MidiClip * >  clips)

Definition at line 536 of file tracktion_SelectedMidiEvents.cpp.

◆ setNoteLengths()

void tracktion::engine::SelectedMidiEvents::setNoteLengths ( BeatDuration  newLength)

Definition at line 427 of file tracktion_SelectedMidiEvents.cpp.

◆ setSelected() [1/3]

void tracktion::engine::SelectedMidiEvents::setSelected ( SelectionManager sm,
const juce::Array< MidiControllerEvent * > &  events,
bool  addToSelection,
bool  allowMixedSelection = false 
)

Definition at line 257 of file tracktion_SelectedMidiEvents.cpp.

◆ setSelected() [2/3]

void tracktion::engine::SelectedMidiEvents::setSelected ( SelectionManager sm,
const juce::Array< MidiNote * > &  notes,
bool  addToSelection,
bool  allowMixedSelection = false 
)

Definition at line 201 of file tracktion_SelectedMidiEvents.cpp.

◆ setSelected() [3/3]

void tracktion::engine::SelectedMidiEvents::setSelected ( SelectionManager sm,
const juce::Array< MidiSysexEvent * > &  events,
bool  addToSelection,
bool  allowMixedSelection = false 
)

Definition at line 229 of file tracktion_SelectedMidiEvents.cpp.

◆ setVelocities()

void tracktion::engine::SelectedMidiEvents::setVelocities ( int  newVelocity)

Definition at line 435 of file tracktion_SelectedMidiEvents.cpp.

Member Data Documentation

◆ shouldLockControllerToNotes

std::function<bool()> tracktion::engine::SelectedMidiEvents::shouldLockControllerToNotes

Host should set this callback to specify if it wants MIDI CC locked to MIDI notes when nudging.

Definition at line 80 of file tracktion_SelectedMidiEvents.h.


The documentation for this class was generated from the following files: