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

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

#include <tracktion_SelectedMidiEvents.h>

Inheritance diagram for engine::SelectedMidiEvents:

Public Member Functions

 SelectedMidiEvents (MidiClip &)
 
 SelectedMidiEvents (juce::Array< MidiClip * >)
 
 ~SelectedMidiEvents () override
 
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 engine::Selectable
 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 Public Member Functions inherited from 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 engine::Selectable
WeakRef::Master masterReference
 

Additional Inherited Members

- Public Types inherited from 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.

Constructor & Destructor Documentation

◆ SelectedMidiEvents() [1/2]

engine::SelectedMidiEvents::SelectedMidiEvents ( MidiClip )

◆ SelectedMidiEvents() [2/2]

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

◆ ~SelectedMidiEvents()

engine::SelectedMidiEvents::~SelectedMidiEvents ( )
override

Member Function Documentation

◆ getEdit()

Edit & engine::SelectedMidiEvents::getEdit ( )

◆ clipForEvent() [1/3]

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

◆ clipForEvent() [2/3]

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

◆ clipForEvent() [3/3]

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

◆ addSelectedEvent() [1/3]

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

◆ addSelectedEvent() [2/3]

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

◆ addSelectedEvent() [3/3]

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

◆ removeSelectedEvent() [1/3]

void engine::SelectedMidiEvents::removeSelectedEvent ( MidiNote )

◆ removeSelectedEvent() [2/3]

void engine::SelectedMidiEvents::removeSelectedEvent ( MidiSysexEvent )

◆ removeSelectedEvent() [3/3]

void engine::SelectedMidiEvents::removeSelectedEvent ( MidiControllerEvent )

◆ setSelected() [1/3]

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

◆ setSelected() [2/3]

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

◆ setSelected() [3/3]

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

◆ isSelected() [1/3]

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

◆ isSelected() [2/3]

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

◆ isSelected() [3/3]

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

◆ getNumSelected()

int engine::SelectedMidiEvents::getNumSelected ( ) const

◆ anythingSelected()

bool engine::SelectedMidiEvents::anythingSelected ( ) const

◆ getSelectedNotes()

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

◆ getSelectedSysexes()

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

◆ getSelectedControllers()

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

◆ moveEvents()

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

◆ setNoteLengths()

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

◆ setVelocities()

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

◆ changeColour()

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

◆ nudge()

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

◆ getSelectedRange()

TimeRange engine::SelectedMidiEvents::getSelectedRange ( ) const

◆ getSelectableDescription()

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

Subclasses must return a description of what they are.

Implements engine::Selectable.

◆ selectionStatusChanged()

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

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

Reimplemented from engine::Selectable.

◆ getClips()

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

◆ setClips()

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

◆ moveControllerData()

static void 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

Member Data Documentation

◆ shouldLockControllerToNotes

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

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


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