TracktionEngine
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
engine::Selectable Class Referenceabstract

Base class for things that can be selected, and whose properties can appear in the properties panel. More...

#include <tracktion_Selectable.h>

Inheritance diagram for engine::Selectable:

Classes

class  Listener
 

Public Types

using WeakRef = juce::WeakReference< Selectable >
 

Public Member Functions

 Selectable ()
 
virtual ~Selectable ()
 
virtual juce::String getSelectableDescription ()=0
 Subclasses must return a description of what they are.
 
virtual void selectionStatusChanged (bool isNowSelected)
 Can be overridden to tell this object that it has just been selected or deselected.
 
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 initialise ()
 
static bool isSelectableValid (const Selectable *) noexcept
 checks whether this object has been deleted.
 

Public Attributes

WeakRef::Master masterReference
 

Detailed Description

Base class for things that can be selected, and whose properties can appear in the properties panel.

Member Typedef Documentation

◆ WeakRef

using engine::Selectable::WeakRef = juce::WeakReference<Selectable>

Constructor & Destructor Documentation

◆ Selectable()

engine::Selectable::Selectable ( )

◆ ~Selectable()

virtual engine::Selectable::~Selectable ( )
virtual

Member Function Documentation

◆ initialise()

static void engine::Selectable::initialise ( )
static

◆ getSelectableDescription()

virtual juce::String engine::Selectable::getSelectableDescription ( )
pure virtual

Subclasses must return a description of what they are.

Implemented in engine::ControlSurface, engine::SelectedMidiEvents, engine::BreakpointOscillatorModifier, engine::EnvelopeFollowerModifier, engine::LFOModifier, engine::MIDITrackerModifier, engine::RandomModifier, engine::StepModifier, engine::AutomatableParameter, engine::AutomationCurveModifier, engine::ArrangerClip, engine::ChordClip, engine::StepVolumeEffect, engine::NormaliseEffect, engine::MakeMonoEffect, engine::CollectionClip, engine::ContainerClip, engine::EditClip, engine::MarkerClip, engine::MidiClip, engine::StepClip::Channel, engine::StepClip::PatternInstance, engine::StepClip, engine::WaveAudioClip, engine::Edit, engine::PitchSetting, engine::Scene, engine::TempoSequence, engine::TempoSetting, engine::TimeSigSetting, engine::ArrangerTrack, engine::AudioTrack, engine::AutomationTrack, engine::ChordTrack, engine::ClipSlot, engine::FolderTrack, engine::MarkerTrack, engine::MasterTrack, engine::TempoTrack, engine::TrackCompManager::TrackComp, engine::InputDeviceInstance::Destination, engine::AirWindowsPlugin, engine::ChorusPlugin, engine::CompressorPlugin, engine::DelayPlugin, engine::EqualiserPlugin, engine::FourOscPlugin, engine::ImpulseResponsePlugin, engine::LatencyPlugin, engine::LowPassPlugin, engine::MidiModifierPlugin, engine::MidiPatchBayPlugin, engine::PatchBayPlugin, engine::PhaserPlugin, engine::PitchShiftPlugin, engine::ReverbPlugin, engine::SamplerPlugin, engine::ToneGeneratorPlugin, engine::ExternalPlugin, engine::AuxReturnPlugin, engine::AuxSendPlugin, engine::ChannelMapperPlugin, engine::FreezePointPlugin, engine::InsertPlugin, engine::LevelMeterPlugin, engine::RackInstance, engine::RackType, engine::TextPlugin, engine::VCAPlugin, engine::VolumeAndPanPlugin, engine::Project, and engine::ProjectItem.

◆ selectionStatusChanged()

virtual void engine::Selectable::selectionStatusChanged ( bool  isNowSelected)
virtual

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

Reimplemented in engine::SelectedMidiEvents, engine::AudioClipBase, engine::ProjectItem, and engine::CurveEditorPoint.

◆ changed()

virtual void engine::Selectable::changed ( )
virtual

This should be called to send a change notification to any SelectableListeners that are registered with this object.

Reimplemented in engine::AudioClipBase, engine::Clip, engine::EditClip, and engine::Plugin.

◆ selectableAboutToBeDeleted()

virtual void engine::Selectable::selectableAboutToBeDeleted ( )
virtual

Called just before the selectable is about to be deleted so any subclasses should still be valid at this point.

Reimplemented in engine::Modifier, engine::ExternalPlugin, and engine::Plugin.

◆ addListener()

void engine::Selectable::addListener ( SelectableListener )

◆ removeListener()

void engine::Selectable::removeListener ( SelectableListener )

◆ addSelectableListener()

void engine::Selectable::addSelectableListener ( SelectableListener )

◆ removeSelectableListener()

void engine::Selectable::removeSelectableListener ( SelectableListener )

◆ isSelectableValid()

static bool engine::Selectable::isSelectableValid ( const Selectable )
staticnoexcept

checks whether this object has been deleted.

This is pretty reliable, and can be called with a null pointer, but isn't 100% perfect, as it can provide a false-positive when an object is deleted, and another one later created that happens to have the same memory address.

◆ cancelAnyPendingUpdates()

void engine::Selectable::cancelAnyPendingUpdates ( )

If changed() has been called, this will cancel any pending async change notificaions.

◆ deselect()

void engine::Selectable::deselect ( )

◆ propertiesChanged()

void engine::Selectable::propertiesChanged ( )

◆ notifyListenersOfDeletion()

void engine::Selectable::notifyListenersOfDeletion ( )

◆ getWeakRef()

WeakRef engine::Selectable::getWeakRef ( )

Member Data Documentation

◆ masterReference

WeakRef::Master engine::Selectable::masterReference

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