TracktionEngine
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
tracktion::engine::EditItemID Struct Reference

ID for objects of type EditElement - e.g. More...

Public Types

using IDMap = std::map< EditItemID, EditItemID >
 

Public Member Functions

 EditItemID ()=default
 
 EditItemID (const EditItemID &)=default
 
EditItemIDoperator= (const EditItemID &)=default
 
bool isValid () const noexcept
 
bool isInvalid () const noexcept
 
void writeID (juce::ValueTree &, juce::UndoManager *) const
 
void setProperty (juce::ValueTree &, const juce::Identifier &, juce::UndoManager *) const
 
void setXML (juce::XmlElement &, const juce::Identifier &attributeName) const
 
void setXML (juce::XmlElement &, const char *attributeName) const
 
 operator juce::var () const
 
juce::var toVar () const
 
juce::String toString () const
 
uint64_t getRawID () const noexcept
 
bool operator== (EditItemID other) const noexcept
 
bool operator!= (EditItemID other) const noexcept
 
bool operator< (EditItemID other) const noexcept
 

Static Public Member Functions

static EditItemID fromID (const juce::ValueTree &)
 
static EditItemID readOrCreateNewID (Edit &, const juce::ValueTree &)
 
static EditItemID fromVar (const juce::var &)
 
static EditItemID fromString (const juce::String &)
 
static EditItemID fromProperty (const juce::ValueTree &, const juce::Identifier &)
 
static EditItemID fromXML (const juce::XmlElement &, const char *attributeName)
 
static EditItemID fromXML (const juce::XmlElement &, const juce::Identifier &)
 
static EditItemID findFirstIDNotIn (const std::vector< EditItemID > &existingIDsSorted, uint64_t startFrom=1001)
 
static EditItemID fromRawID (uint64_t)
 
static juce::Array< EditItemIDparseStringList (const juce::String &list)
 
static juce::String listToString (const juce::Array< EditItemID > &list)
 
static std::vector< EditItemIDfindAllIDs (const juce::XmlElement &)
 
static std::vector< EditItemIDfindAllIDs (const juce::ValueTree &)
 
static void remapIDs (juce::XmlElement &, std::function< EditItemID()> createNewID, IDMap *remappedIDs=nullptr)
 
static void remapIDs (juce::XmlElement &, Edit &, IDMap *remappedIDs=nullptr)
 
static void remapIDs (juce::ValueTree &, juce::UndoManager *, std::function< EditItemID()> createNewID, IDMap *remappedIDs=nullptr)
 
static void remapIDs (juce::ValueTree &, juce::UndoManager *, Edit &, IDMap *remappedIDs=nullptr)
 

Static Public Attributes

static std::function< void(juce::ValueTree &, const juce::Identifier &, const std::map< juce::String, EditItemID > &, juce::UndoManager *)> applyNewIDsToExternalValueTree
 Callback that can be set in order to update any reassigned IDs in ValueTree client code. More...
 
static std::function< void(juce::XmlElement &, const juce::String &, const std::map< juce::String, EditItemID > &)> applyNewIDsToExternalXML
 Callback that can be set in order to update any reassigned IDs in XML client code. More...
 

Detailed Description

ID for objects of type EditElement - e.g.

clips, tracks, plguins, etc

Member Typedef Documentation

◆ IDMap

Constructor & Destructor Documentation

◆ EditItemID() [1/2]

tracktion::engine::EditItemID::EditItemID ( )
default

◆ EditItemID() [2/2]

tracktion::engine::EditItemID::EditItemID ( const EditItemID )
default

Member Function Documentation

◆ operator=()

EditItemID& tracktion::engine::EditItemID::operator= ( const EditItemID )
default

◆ isValid()

bool tracktion::engine::EditItemID::isValid ( ) const
noexcept

◆ isInvalid()

bool tracktion::engine::EditItemID::isInvalid ( ) const
noexcept

◆ fromID()

static EditItemID tracktion::engine::EditItemID::fromID ( const juce::ValueTree &  )
static

◆ readOrCreateNewID()

static EditItemID tracktion::engine::EditItemID::readOrCreateNewID ( Edit ,
const juce::ValueTree &   
)
static

◆ writeID()

void tracktion::engine::EditItemID::writeID ( juce::ValueTree &  ,
juce::UndoManager *   
) const

◆ fromVar()

static EditItemID tracktion::engine::EditItemID::fromVar ( const juce::var &  )
static

◆ fromString()

static EditItemID tracktion::engine::EditItemID::fromString ( const juce::String &  )
static

◆ fromProperty()

static EditItemID tracktion::engine::EditItemID::fromProperty ( const juce::ValueTree &  ,
const juce::Identifier &   
)
static

◆ fromXML() [1/2]

static EditItemID tracktion::engine::EditItemID::fromXML ( const juce::XmlElement &  ,
const char *  attributeName 
)
static

◆ fromXML() [2/2]

static EditItemID tracktion::engine::EditItemID::fromXML ( const juce::XmlElement &  ,
const juce::Identifier &   
)
static

◆ findFirstIDNotIn()

static EditItemID tracktion::engine::EditItemID::findFirstIDNotIn ( const std::vector< EditItemID > &  existingIDsSorted,
uint64_t  startFrom = 1001 
)
static

◆ setProperty()

void tracktion::engine::EditItemID::setProperty ( juce::ValueTree &  ,
const juce::Identifier &  ,
juce::UndoManager *   
) const

◆ setXML() [1/2]

void tracktion::engine::EditItemID::setXML ( juce::XmlElement &  ,
const juce::Identifier &  attributeName 
) const

◆ setXML() [2/2]

void tracktion::engine::EditItemID::setXML ( juce::XmlElement &  ,
const char *  attributeName 
) const

◆ operator juce::var()

tracktion::engine::EditItemID::operator juce::var ( ) const

References toVar().

◆ toVar()

juce::var tracktion::engine::EditItemID::toVar ( ) const

Referenced by operator juce::var().

◆ toString()

juce::String tracktion::engine::EditItemID::toString ( ) const

◆ getRawID()

uint64_t tracktion::engine::EditItemID::getRawID ( ) const
noexcept

◆ fromRawID()

static EditItemID tracktion::engine::EditItemID::fromRawID ( uint64_t  )
static

◆ operator==()

bool tracktion::engine::EditItemID::operator== ( EditItemID  other) const
noexcept

◆ operator!=()

bool tracktion::engine::EditItemID::operator!= ( EditItemID  other) const
noexcept

◆ operator<()

bool tracktion::engine::EditItemID::operator< ( EditItemID  other) const
noexcept

◆ parseStringList()

static juce::Array<EditItemID> tracktion::engine::EditItemID::parseStringList ( const juce::String &  list)
static

◆ listToString()

static juce::String tracktion::engine::EditItemID::listToString ( const juce::Array< EditItemID > &  list)
static

◆ findAllIDs() [1/2]

static std::vector<EditItemID> tracktion::engine::EditItemID::findAllIDs ( const juce::XmlElement &  )
static

◆ findAllIDs() [2/2]

static std::vector<EditItemID> tracktion::engine::EditItemID::findAllIDs ( const juce::ValueTree &  )
static

◆ remapIDs() [1/4]

static void tracktion::engine::EditItemID::remapIDs ( juce::XmlElement &  ,
std::function< EditItemID()>  createNewID,
IDMap remappedIDs = nullptr 
)
static

◆ remapIDs() [2/4]

static void tracktion::engine::EditItemID::remapIDs ( juce::XmlElement &  ,
Edit ,
IDMap remappedIDs = nullptr 
)
static

◆ remapIDs() [3/4]

static void tracktion::engine::EditItemID::remapIDs ( juce::ValueTree &  ,
juce::UndoManager *  ,
std::function< EditItemID()>  createNewID,
IDMap remappedIDs = nullptr 
)
static

◆ remapIDs() [4/4]

static void tracktion::engine::EditItemID::remapIDs ( juce::ValueTree &  ,
juce::UndoManager *  ,
Edit ,
IDMap remappedIDs = nullptr 
)
static

Member Data Documentation

◆ applyNewIDsToExternalValueTree

std::function<void (juce::ValueTree&, const juce::Identifier& , const std::map<juce::String, EditItemID>&, juce::UndoManager*)> tracktion::engine::EditItemID::applyNewIDsToExternalValueTree
static

Callback that can be set in order to update any reassigned IDs in ValueTree client code.

◆ applyNewIDsToExternalXML

std::function<void (juce::XmlElement&, const juce::String& , const std::map<juce::String, EditItemID>&)> tracktion::engine::EditItemID::applyNewIDsToExternalXML
static

Callback that can be set in order to update any reassigned IDs in XML client code.


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