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

A project backend that represents a folder on disk. More...

#include <tracktion_FolderBasedProject.h>

Inheritance diagram for engine::FolderBasedProject:

Public Member Functions

 FolderBasedProject (Project &owner, const juce::File &folder)
 
 ~FolderBasedProject () override=default
 
bool save () override
 
bool isValid () const override
 
bool isReadOnly () const override
 
ProjectID getProjectID () const override
 
juce::String getName () const override
 
const juce::File & getProjectFile () const noexcept override
 
juce::File getDefaultDirectory () const override
 
juce::File getDirectoryForMedia (ProjectItem::Category) const override
 
void setName (const juce::String &) override
 
void createNewProjectId () override
 
void setNewProjectId (ProjectID) override
 
juce::String getProjectProperty (const juce::String &) const override
 
void setProjectProperty (const juce::String &, const juce::String &) override
 
void refreshProjectPropertiesFromFile () override
 
bool isLibraryProject () const override
 
int getNumProjectItems () override
 
ProjectItemRef getProjectItemRef (int index) override
 
juce::Array< ProjectItemRefgetAllProjectItemRefs () const override
 
ProjectItem::Ptr getProjectItemAt (int index) override
 
juce::Array< ProjectItem::PtrgetAllProjectItems () override
 
int getIndexOf (const ProjectItemRef &) const override
 
ProjectItem::Ptr getProjectItemFor (const ProjectItemRef &) override
 
ProjectItem::Ptr getProjectItemForFile (const juce::File &) override
 
ProjectItem::Ptr createNewItem (const juce::File &, const juce::String &type, const juce::String &name, const juce::String &description, ProjectItem::Category, bool atTopOfList) override
 
bool removeProjectItem (const ProjectItemRef &, bool deleteSourceMaterial) override
 
void moveProjectItem (int from, int to) override
 
ProjectItem::Ptr createNewEdit () override
 
void redirectIDsFromProject (ProjectID oldProjId, ProjectID newProjId) override
 
void mergeArchiveContents (const juce::File &) override
 
void mergeOtherProjectIntoThis (const juce::File &) override
 
void refreshFolderStructure () override
 
void createDefaultFolders () override
 
juce::String getSelectableDescription () const override
 
void changed () override
 
void sourceFileMoved (const juce::File &oldFile, const juce::File &newFile) override
 Updates all edit source references after a file has been moved/renamed.
 
void reload (ReloadMode=ReloadMode::lazy) override
 Clears the cached items so the folder is rescanned on next access.
 
- Public Member Functions inherited from engine::ProjectBase
 ProjectBase (Project &o)
 
virtual ~ProjectBase ()=default
 
virtual bool isTemporary () const
 
virtual void load ()
 
virtual void lockFile ()
 
virtual void unlockFile ()
 

Additional Inherited Members

- Public Types inherited from engine::ProjectBase
enum class  ReloadMode { lazy , immediate }
 Controls when a reload() actually re-reads the backing store. More...
 
- Public Attributes inherited from engine::ProjectBase
Projectowner
 
bool temporary = false
 

Detailed Description

A project backend that represents a folder on disk.

Files in the folder are discovered as ProjectItems.

Constructor & Destructor Documentation

◆ FolderBasedProject()

engine::FolderBasedProject::FolderBasedProject ( Project owner,
const juce::File &  folder 
)

◆ ~FolderBasedProject()

engine::FolderBasedProject::~FolderBasedProject ( )
overridedefault

Member Function Documentation

◆ save()

bool engine::FolderBasedProject::save ( )
overridevirtual

Implements engine::ProjectBase.

◆ isValid()

bool engine::FolderBasedProject::isValid ( ) const
overridevirtual

Implements engine::ProjectBase.

◆ isReadOnly()

bool engine::FolderBasedProject::isReadOnly ( ) const
overridevirtual

Implements engine::ProjectBase.

◆ getProjectID()

ProjectID engine::FolderBasedProject::getProjectID ( ) const
overridevirtual

Implements engine::ProjectBase.

◆ getName()

juce::String engine::FolderBasedProject::getName ( ) const
overridevirtual

Implements engine::ProjectBase.

◆ getProjectFile()

const juce::File & engine::FolderBasedProject::getProjectFile ( ) const
overridevirtualnoexcept

Implements engine::ProjectBase.

◆ getDefaultDirectory()

juce::File engine::FolderBasedProject::getDefaultDirectory ( ) const
overridevirtual

Implements engine::ProjectBase.

◆ getDirectoryForMedia()

juce::File engine::FolderBasedProject::getDirectoryForMedia ( ProjectItem::Category  ) const
overridevirtual

Implements engine::ProjectBase.

◆ setName()

void engine::FolderBasedProject::setName ( const juce::String &  )
overridevirtual

Implements engine::ProjectBase.

◆ createNewProjectId()

void engine::FolderBasedProject::createNewProjectId ( )
overridevirtual

Implements engine::ProjectBase.

◆ setNewProjectId()

void engine::FolderBasedProject::setNewProjectId ( ProjectID  )
overridevirtual

Implements engine::ProjectBase.

◆ getProjectProperty()

juce::String engine::FolderBasedProject::getProjectProperty ( const juce::String &  ) const
overridevirtual

Implements engine::ProjectBase.

◆ setProjectProperty()

void engine::FolderBasedProject::setProjectProperty ( const juce::String &  ,
const juce::String &   
)
overridevirtual

Implements engine::ProjectBase.

◆ refreshProjectPropertiesFromFile()

void engine::FolderBasedProject::refreshProjectPropertiesFromFile ( )
overridevirtual

Implements engine::ProjectBase.

◆ isLibraryProject()

bool engine::FolderBasedProject::isLibraryProject ( ) const
overridevirtual

Implements engine::ProjectBase.

◆ getNumProjectItems()

int engine::FolderBasedProject::getNumProjectItems ( )
overridevirtual

Implements engine::ProjectBase.

◆ getProjectItemRef()

ProjectItemRef engine::FolderBasedProject::getProjectItemRef ( int  index)
overridevirtual

Implements engine::ProjectBase.

◆ getAllProjectItemRefs()

juce::Array< ProjectItemRef > engine::FolderBasedProject::getAllProjectItemRefs ( ) const
overridevirtual

Implements engine::ProjectBase.

◆ getProjectItemAt()

ProjectItem::Ptr engine::FolderBasedProject::getProjectItemAt ( int  index)
overridevirtual

Implements engine::ProjectBase.

◆ getAllProjectItems()

juce::Array< ProjectItem::Ptr > engine::FolderBasedProject::getAllProjectItems ( )
overridevirtual

Implements engine::ProjectBase.

◆ getIndexOf()

int engine::FolderBasedProject::getIndexOf ( const ProjectItemRef ) const
overridevirtual

Implements engine::ProjectBase.

◆ getProjectItemFor()

ProjectItem::Ptr engine::FolderBasedProject::getProjectItemFor ( const ProjectItemRef )
overridevirtual

Implements engine::ProjectBase.

◆ getProjectItemForFile()

ProjectItem::Ptr engine::FolderBasedProject::getProjectItemForFile ( const juce::File &  )
overridevirtual

Implements engine::ProjectBase.

◆ createNewItem()

ProjectItem::Ptr engine::FolderBasedProject::createNewItem ( const juce::File &  ,
const juce::String &  type,
const juce::String &  name,
const juce::String &  description,
ProjectItem::Category  ,
bool  atTopOfList 
)
overridevirtual

Implements engine::ProjectBase.

◆ removeProjectItem()

bool engine::FolderBasedProject::removeProjectItem ( const ProjectItemRef ,
bool  deleteSourceMaterial 
)
overridevirtual

Implements engine::ProjectBase.

◆ moveProjectItem()

void engine::FolderBasedProject::moveProjectItem ( int  from,
int  to 
)
overridevirtual

Implements engine::ProjectBase.

◆ createNewEdit()

ProjectItem::Ptr engine::FolderBasedProject::createNewEdit ( )
overridevirtual

Implements engine::ProjectBase.

◆ redirectIDsFromProject()

void engine::FolderBasedProject::redirectIDsFromProject ( ProjectID  oldProjId,
ProjectID  newProjId 
)
overridevirtual

Implements engine::ProjectBase.

◆ mergeArchiveContents()

void engine::FolderBasedProject::mergeArchiveContents ( const juce::File &  )
overridevirtual

Implements engine::ProjectBase.

◆ mergeOtherProjectIntoThis()

void engine::FolderBasedProject::mergeOtherProjectIntoThis ( const juce::File &  )
overridevirtual

Implements engine::ProjectBase.

◆ refreshFolderStructure()

void engine::FolderBasedProject::refreshFolderStructure ( )
overridevirtual

Implements engine::ProjectBase.

◆ createDefaultFolders()

void engine::FolderBasedProject::createDefaultFolders ( )
overridevirtual

Implements engine::ProjectBase.

◆ getSelectableDescription()

juce::String engine::FolderBasedProject::getSelectableDescription ( ) const
overridevirtual

Implements engine::ProjectBase.

◆ changed()

void engine::FolderBasedProject::changed ( )
overridevirtual

Implements engine::ProjectBase.

◆ sourceFileMoved()

void engine::FolderBasedProject::sourceFileMoved ( const juce::File &  oldFile,
const juce::File &  newFile 
)
overridevirtual

Updates all edit source references after a file has been moved/renamed.

Implements engine::ProjectBase.

◆ reload()

void engine::FolderBasedProject::reload ( ReloadMode  = ReloadMode::lazy)
overridevirtual

Clears the cached items so the folder is rescanned on next access.

Pass ReloadMode::immediate to rescan straight away.

Reimplemented from engine::ProjectBase.


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