11namespace tracktion {
inline namespace engine
33 void addSelectedEvent (
MidiNote*,
bool addToCurrent);
36 void removeSelectedEvent (
MidiNote*);
42 bool isSelected (
const MidiNote*)
const;
46 int getNumSelected()
const {
return selectedNotes.size() + selectedSysexes.size() + selectedControllers.size(); }
47 bool anythingSelected()
const {
return getNumSelected() != 0; }
56 void setVelocities (
int newVelocity);
57 void changeColour (
uint8_t newColour);
61 TimeRange getSelectedRange()
const;
91 bool contains (
const MidiNote&)
const noexcept;
The Tracktion Edit class!
Base class for things that can be selected, and whose properties can appear in the properties panel.
Represents a set of selected MIDI notes.
juce::String getSelectableDescription() override
Subclasses must return a description of what they are.
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.
std::function< bool()> shouldLockControllerToNotes
Host should set this callback to specify if it wants MIDI CC locked to MIDI notes when nudging.
void selectionStatusChanged(bool isNowSelected) override
Can be overridden to tell this object that it has just been selected or deselected.
Manages a list of items that are currently selected.
Represents a duration in beats.
Represents a duration in real-life time.
Represents a position in real-life time.