Abstract base class for project backends.
More...
#include <tracktion_ProjectBase.h>
|
| | ProjectBase (Project &o) |
| |
| virtual | ~ProjectBase ()=default |
| |
| virtual bool | save ()=0 |
| |
| virtual bool | isValid () const =0 |
| |
| virtual bool | isReadOnly () const =0 |
| |
| virtual bool | isTemporary () const |
| |
| virtual ProjectID | getProjectID () const =0 |
| |
| virtual juce::String | getName () const =0 |
| |
| virtual const juce::File & | getProjectFile () const noexcept=0 |
| |
| virtual juce::File | getDefaultDirectory () const =0 |
| |
| virtual juce::File | getDirectoryForMedia (ProjectItem::Category) const =0 |
| |
| virtual void | setName (const juce::String &)=0 |
| |
| virtual void | createNewProjectId ()=0 |
| |
| virtual void | setNewProjectId (ProjectID)=0 |
| |
| virtual juce::String | getProjectProperty (const juce::String &) const =0 |
| |
| virtual void | setProjectProperty (const juce::String &, const juce::String &)=0 |
| |
| virtual void | refreshProjectPropertiesFromFile ()=0 |
| |
| virtual bool | isLibraryProject () const =0 |
| |
| virtual int | getNumProjectItems ()=0 |
| |
| virtual ProjectItemRef | getProjectItemRef (int index)=0 |
| |
| virtual juce::Array< ProjectItemRef > | getAllProjectItemRefs () const =0 |
| |
| virtual ProjectItem::Ptr | getProjectItemAt (int index)=0 |
| |
| virtual juce::Array< ProjectItem::Ptr > | getAllProjectItems ()=0 |
| |
| virtual int | getIndexOf (const ProjectItemRef &) const =0 |
| |
| virtual ProjectItem::Ptr | getProjectItemFor (const ProjectItemRef &)=0 |
| |
| virtual ProjectItem::Ptr | getProjectItemForFile (const juce::File &)=0 |
| |
| virtual ProjectItem::Ptr | createNewItem (const juce::File &, const juce::String &type, const juce::String &name, const juce::String &description, ProjectItem::Category, bool atTopOfList)=0 |
| |
| virtual bool | removeProjectItem (const ProjectItemRef &, bool deleteSourceMaterial)=0 |
| |
| virtual void | moveProjectItem (int from, int to)=0 |
| |
| virtual ProjectItem::Ptr | createNewEdit ()=0 |
| |
| virtual void | redirectIDsFromProject (ProjectID oldProjId, ProjectID newProjId)=0 |
| |
| virtual void | mergeArchiveContents (const juce::File &)=0 |
| |
| virtual void | mergeOtherProjectIntoThis (const juce::File &)=0 |
| |
| virtual void | refreshFolderStructure ()=0 |
| |
| virtual void | createDefaultFolders ()=0 |
| |
| virtual juce::String | getSelectableDescription () const =0 |
| |
| virtual void | load () |
| |
| virtual void | changed ()=0 |
| |
| virtual void | lockFile () |
| |
| virtual void | unlockFile () |
| |
| virtual void | reload (ReloadMode=ReloadMode::lazy) |
| | Invalidates any cached item list so the next access rescans the backing store.
|
| |
| virtual void | sourceFileMoved (const juce::File &oldFile, const juce::File &newFile)=0 |
| | Updates all edit source references after a file has been moved/renamed.
|
| |
Abstract base class for project backends.
Both FileBasedProject and FolderBasedProject inherit from this. Project delegates to this class via the pimpl pattern.
◆ ReloadMode
Controls when a reload() actually re-reads the backing store.
| Enumerator |
|---|
| lazy | Invalidate any cache; rescan on the next access.
|
| immediate | Invalidate any cache and rescan straight away.
|
◆ ProjectBase()
| engine::ProjectBase::ProjectBase |
( |
Project & |
o | ) |
|
◆ ~ProjectBase()
| virtual engine::ProjectBase::~ProjectBase |
( |
| ) |
|
|
virtualdefault |
◆ save()
| virtual bool engine::ProjectBase::save |
( |
| ) |
|
|
pure virtual |
◆ isValid()
| virtual bool engine::ProjectBase::isValid |
( |
| ) |
const |
|
pure virtual |
◆ isReadOnly()
| virtual bool engine::ProjectBase::isReadOnly |
( |
| ) |
const |
|
pure virtual |
◆ isTemporary()
| virtual bool engine::ProjectBase::isTemporary |
( |
| ) |
const |
|
virtual |
◆ getProjectID()
| virtual ProjectID engine::ProjectBase::getProjectID |
( |
| ) |
const |
|
pure virtual |
◆ getName()
| virtual juce::String engine::ProjectBase::getName |
( |
| ) |
const |
|
pure virtual |
◆ getProjectFile()
| virtual const juce::File & engine::ProjectBase::getProjectFile |
( |
| ) |
const |
|
pure virtualnoexcept |
◆ getDefaultDirectory()
| virtual juce::File engine::ProjectBase::getDefaultDirectory |
( |
| ) |
const |
|
pure virtual |
◆ getDirectoryForMedia()
◆ setName()
| virtual void engine::ProjectBase::setName |
( |
const juce::String & |
| ) |
|
|
pure virtual |
◆ createNewProjectId()
| virtual void engine::ProjectBase::createNewProjectId |
( |
| ) |
|
|
pure virtual |
◆ setNewProjectId()
| virtual void engine::ProjectBase::setNewProjectId |
( |
ProjectID |
| ) |
|
|
pure virtual |
◆ getProjectProperty()
| virtual juce::String engine::ProjectBase::getProjectProperty |
( |
const juce::String & |
| ) |
const |
|
pure virtual |
◆ setProjectProperty()
| virtual void engine::ProjectBase::setProjectProperty |
( |
const juce::String & |
, |
|
|
const juce::String & |
|
|
) |
| |
|
pure virtual |
◆ refreshProjectPropertiesFromFile()
| virtual void engine::ProjectBase::refreshProjectPropertiesFromFile |
( |
| ) |
|
|
pure virtual |
◆ isLibraryProject()
| virtual bool engine::ProjectBase::isLibraryProject |
( |
| ) |
const |
|
pure virtual |
◆ getNumProjectItems()
| virtual int engine::ProjectBase::getNumProjectItems |
( |
| ) |
|
|
pure virtual |
◆ getProjectItemRef()
| virtual ProjectItemRef engine::ProjectBase::getProjectItemRef |
( |
int |
index | ) |
|
|
pure virtual |
◆ getAllProjectItemRefs()
| virtual juce::Array< ProjectItemRef > engine::ProjectBase::getAllProjectItemRefs |
( |
| ) |
const |
|
pure virtual |
◆ getProjectItemAt()
◆ getAllProjectItems()
| virtual juce::Array< ProjectItem::Ptr > engine::ProjectBase::getAllProjectItems |
( |
| ) |
|
|
pure virtual |
◆ getIndexOf()
| virtual int engine::ProjectBase::getIndexOf |
( |
const ProjectItemRef & |
| ) |
const |
|
pure virtual |
◆ getProjectItemFor()
◆ getProjectItemForFile()
| virtual ProjectItem::Ptr engine::ProjectBase::getProjectItemForFile |
( |
const juce::File & |
| ) |
|
|
pure virtual |
◆ createNewItem()
| virtual ProjectItem::Ptr engine::ProjectBase::createNewItem |
( |
const juce::File & |
, |
|
|
const juce::String & |
type, |
|
|
const juce::String & |
name, |
|
|
const juce::String & |
description, |
|
|
ProjectItem::Category |
, |
|
|
bool |
atTopOfList |
|
) |
| |
|
pure virtual |
◆ removeProjectItem()
| virtual bool engine::ProjectBase::removeProjectItem |
( |
const ProjectItemRef & |
, |
|
|
bool |
deleteSourceMaterial |
|
) |
| |
|
pure virtual |
◆ moveProjectItem()
| virtual void engine::ProjectBase::moveProjectItem |
( |
int |
from, |
|
|
int |
to |
|
) |
| |
|
pure virtual |
◆ createNewEdit()
◆ redirectIDsFromProject()
| virtual void engine::ProjectBase::redirectIDsFromProject |
( |
ProjectID |
oldProjId, |
|
|
ProjectID |
newProjId |
|
) |
| |
|
pure virtual |
◆ mergeArchiveContents()
| virtual void engine::ProjectBase::mergeArchiveContents |
( |
const juce::File & |
| ) |
|
|
pure virtual |
◆ mergeOtherProjectIntoThis()
| virtual void engine::ProjectBase::mergeOtherProjectIntoThis |
( |
const juce::File & |
| ) |
|
|
pure virtual |
◆ refreshFolderStructure()
| virtual void engine::ProjectBase::refreshFolderStructure |
( |
| ) |
|
|
pure virtual |
◆ createDefaultFolders()
| virtual void engine::ProjectBase::createDefaultFolders |
( |
| ) |
|
|
pure virtual |
◆ getSelectableDescription()
| virtual juce::String engine::ProjectBase::getSelectableDescription |
( |
| ) |
const |
|
pure virtual |
◆ load()
| virtual void engine::ProjectBase::load |
( |
| ) |
|
|
virtual |
◆ changed()
| virtual void engine::ProjectBase::changed |
( |
| ) |
|
|
pure virtual |
◆ lockFile()
| virtual void engine::ProjectBase::lockFile |
( |
| ) |
|
|
virtual |
◆ unlockFile()
| virtual void engine::ProjectBase::unlockFile |
( |
| ) |
|
|
virtual |
◆ reload()
Invalidates any cached item list so the next access rescans the backing store.
Default is a no-op; folder-based projects override this to clear their cache.
Reimplemented in engine::FolderBasedProject.
◆ sourceFileMoved()
| virtual void engine::ProjectBase::sourceFileMoved |
( |
const juce::File & |
oldFile, |
|
|
const juce::File & |
newFile |
|
) |
| |
|
pure virtual |
◆ owner
| Project& engine::ProjectBase::owner |
◆ temporary
| bool engine::ProjectBase::temporary = false |
The documentation for this class was generated from the following file: