TracktionEngine
|
Represents a set of selected MIDI notes. More...
#include <tracktion_SelectedMidiEvents.h>
Public Member Functions | |
SelectedMidiEvents (MidiClip &) | |
SelectedMidiEvents (juce::Array< MidiClip * >) | |
~SelectedMidiEvents () override | |
Edit & | getEdit () |
MidiClip * | clipForEvent (MidiNote *) const |
MidiClip * | clipForEvent (MidiSysexEvent *) const |
MidiClip * | clipForEvent (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) |
![]() | |
Selectable () | |
virtual | ~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 () |
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 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. | |
![]() | |
WeakRef::Master | masterReference |
Additional Inherited Members | |
![]() | |
using | WeakRef = juce::WeakReference< Selectable > |
Represents a set of selected MIDI notes.
This will broadcast a change message when the events that are selected are changed.
tracktion::engine::SelectedMidiEvents::SelectedMidiEvents | ( | MidiClip & | ) |
tracktion::engine::SelectedMidiEvents::SelectedMidiEvents | ( | juce::Array< MidiClip * > | ) |
|
override |
Edit & tracktion::engine::SelectedMidiEvents::getEdit | ( | ) |
MidiClip * tracktion::engine::SelectedMidiEvents::clipForEvent | ( | MidiSysexEvent * | ) | const |
MidiClip * tracktion::engine::SelectedMidiEvents::clipForEvent | ( | MidiControllerEvent * | ) | const |
void tracktion::engine::SelectedMidiEvents::addSelectedEvent | ( | MidiNote * | , |
bool | addToCurrent | ||
) |
void tracktion::engine::SelectedMidiEvents::addSelectedEvent | ( | MidiSysexEvent * | , |
bool | addToCurrent | ||
) |
void tracktion::engine::SelectedMidiEvents::addSelectedEvent | ( | MidiControllerEvent * | , |
bool | addToCurrent | ||
) |
void tracktion::engine::SelectedMidiEvents::removeSelectedEvent | ( | MidiNote * | ) |
void tracktion::engine::SelectedMidiEvents::removeSelectedEvent | ( | MidiSysexEvent * | ) |
void tracktion::engine::SelectedMidiEvents::removeSelectedEvent | ( | MidiControllerEvent * | ) |
void tracktion::engine::SelectedMidiEvents::setSelected | ( | SelectionManager & | , |
const juce::Array< MidiNote * > & | , | ||
bool | addToSelection, | ||
bool | allowMixedSelection = false |
||
) |
void tracktion::engine::SelectedMidiEvents::setSelected | ( | SelectionManager & | , |
const juce::Array< MidiSysexEvent * > & | , | ||
bool | addToSelection, | ||
bool | allowMixedSelection = false |
||
) |
void tracktion::engine::SelectedMidiEvents::setSelected | ( | SelectionManager & | , |
const juce::Array< MidiControllerEvent * > & | , | ||
bool | addToSelection, | ||
bool | allowMixedSelection = false |
||
) |
bool tracktion::engine::SelectedMidiEvents::isSelected | ( | const MidiNote * | ) | const |
bool tracktion::engine::SelectedMidiEvents::isSelected | ( | const MidiSysexEvent * | ) | const |
bool tracktion::engine::SelectedMidiEvents::isSelected | ( | const MidiControllerEvent * | ) | const |
int tracktion::engine::SelectedMidiEvents::getNumSelected | ( | ) | const |
Referenced by anythingSelected().
bool tracktion::engine::SelectedMidiEvents::anythingSelected | ( | ) | const |
References getNumSelected().
|
noexcept |
|
noexcept |
|
noexcept |
void tracktion::engine::SelectedMidiEvents::moveEvents | ( | TimeDuration | deltaStart, |
TimeDuration | deltaLength, | ||
int | deltaNote | ||
) |
void tracktion::engine::SelectedMidiEvents::setNoteLengths | ( | BeatDuration | newLength | ) |
void tracktion::engine::SelectedMidiEvents::setVelocities | ( | int | newVelocity | ) |
void tracktion::engine::SelectedMidiEvents::changeColour | ( | uint8_t | newColour | ) |
void tracktion::engine::SelectedMidiEvents::nudge | ( | TimecodeSnapType | , |
int | leftRight, | ||
int | upDown | ||
) |
TimeRange tracktion::engine::SelectedMidiEvents::getSelectedRange | ( | ) | const |
|
overridevirtual |
Subclasses must return a description of what they are.
Implements tracktion::engine::Selectable.
|
overridevirtual |
Can be overridden to tell this object that it has just been selected or deselected.
Reimplemented from tracktion::engine::Selectable.
const juce::Array< MidiClip * > & tracktion::engine::SelectedMidiEvents::getClips | ( | ) |
void tracktion::engine::SelectedMidiEvents::setClips | ( | juce::Array< MidiClip * > | clips | ) |
|
static |
Moves all controller data in 'clips' between edit times.
Optionally moves the data making a copy at the original location
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.