TracktionEngine
Classes | Public Member Functions | Public Attributes | List of all members
tracktion::engine::ProjectManager Class Reference

Classes

struct  TempProject
 

Public Member Functions

 ProjectManager (Engine &)
 
 ~ProjectManager ()
 
void initialise ()
 
Project::Ptr addProjectToList (const juce::File &projectFile, bool shouldSaveList, juce::ValueTree folderToAddTo, int insertIndex=-1)
 
void removeProjectFromList (const juce::File &)
 
void clearProjects ()
 
juce::ValueTree getActiveProjectsFolder ()
 
juce::ValueTree getLibraryProjectsFolder ()
 
Project::Ptr getProjectFrom (const juce::ValueTree &, bool createIfNotFound=true)
 
Project::Ptr getProject (int projectID)
 
Project::Ptr getProject (const juce::File &)
 
juce::ReferenceCountedArray< ProjectgetAllProjects ()
 
juce::ReferenceCountedArray< ProjectgetAllProjects (const juce::ValueTree &folder)
 
void unpackArchiveAndAddToList (const juce::File &archiveFile, juce::ValueTree folder)
 
ProjectItem::Ptr getProjectItem (ProjectItemID)
 tries to find the project that contains an id, and open it as a ProjectItem. More...
 
ProjectItem::Ptr getProjectItem (const Edit &)
 
Project::Ptr getProject (const Edit &)
 Tries to find the project that contains this edit (but may return nullptr!) More...
 
juce::File findSourceFile (ProjectItemID)
 tries to find the media file used by a particular object. More...
 
void saveAllProjects ()
 
juce::StringArray getRecentProjects (bool printableFormat)
 
void addFileToRecentProjectsList (const juce::File &)
 
juce::ValueTree findFolderContaining (const Project &) const
 
juce::ValueTree findFolderContaining (int projectId) const
 
juce::ValueTree getFolderItemFor (const Project &) const
 
int getFolderIndexFor (const Project &) const
 
void createNewProjectFolder (juce::ValueTree parent, const juce::String &name)
 
void deleteProjectFolder (juce::ValueTree folder)
 
void updateProjectFile (Project &p, const juce::File &)
 
Project::Ptr createNewProject (const juce::File &projectFile)
 
Project::Ptr createNewProject (const juce::File &projectFile, juce::ValueTree folderToAddTo)
 
Project::Ptr createNewProjectInteractively (const juce::String &suggestedName, const juce::File &lastPath, juce::ValueTree folderToAddTo)
 
Project::Ptr createNewProjectFromTemplate (const juce::String &suggestedName, const juce::File &lastPath, const juce::File &templateArchiveFile, juce::ValueTree folderToAddTo)
 
Project::Ptr findProjectWithId (const juce::ValueTree &folder, int pid)
 
Project::Ptr findProjectWithFile (const juce::ValueTree &folder, const juce::File &)
 
void loadList ()
 
void saveList ()
 

Public Attributes

Engineengine
 
juce::ValueTree folders
 

Constructor & Destructor Documentation

◆ ProjectManager()

tracktion::engine::ProjectManager::ProjectManager ( Engine )

◆ ~ProjectManager()

tracktion::engine::ProjectManager::~ProjectManager ( )

Member Function Documentation

◆ initialise()

void tracktion::engine::ProjectManager::initialise ( )

◆ addProjectToList()

Project::Ptr tracktion::engine::ProjectManager::addProjectToList ( const juce::File &  projectFile,
bool  shouldSaveList,
juce::ValueTree  folderToAddTo,
int  insertIndex = -1 
)

◆ removeProjectFromList()

void tracktion::engine::ProjectManager::removeProjectFromList ( const juce::File &  )

◆ clearProjects()

void tracktion::engine::ProjectManager::clearProjects ( )

◆ getActiveProjectsFolder()

juce::ValueTree tracktion::engine::ProjectManager::getActiveProjectsFolder ( )

◆ getLibraryProjectsFolder()

juce::ValueTree tracktion::engine::ProjectManager::getLibraryProjectsFolder ( )

◆ getProjectFrom()

Project::Ptr tracktion::engine::ProjectManager::getProjectFrom ( const juce::ValueTree &  ,
bool  createIfNotFound = true 
)

◆ getProject() [1/3]

Project::Ptr tracktion::engine::ProjectManager::getProject ( int  projectID)

◆ getProject() [2/3]

Project::Ptr tracktion::engine::ProjectManager::getProject ( const juce::File &  )

◆ getAllProjects() [1/2]

juce::ReferenceCountedArray<Project> tracktion::engine::ProjectManager::getAllProjects ( )

◆ getAllProjects() [2/2]

juce::ReferenceCountedArray<Project> tracktion::engine::ProjectManager::getAllProjects ( const juce::ValueTree &  folder)

◆ unpackArchiveAndAddToList()

void tracktion::engine::ProjectManager::unpackArchiveAndAddToList ( const juce::File &  archiveFile,
juce::ValueTree  folder 
)

◆ getProjectItem() [1/2]

ProjectItem::Ptr tracktion::engine::ProjectManager::getProjectItem ( ProjectItemID  )

tries to find the project that contains an id, and open it as a ProjectItem.

Referenced by tracktion::engine::ReferencedMaterialList::add(), and tracktion::engine::ReferencedMaterialList::getReassignedFileName().

◆ getProjectItem() [2/2]

ProjectItem::Ptr tracktion::engine::ProjectManager::getProjectItem ( const Edit )

◆ getProject() [3/3]

Project::Ptr tracktion::engine::ProjectManager::getProject ( const Edit )

Tries to find the project that contains this edit (but may return nullptr!)

◆ findSourceFile()

juce::File tracktion::engine::ProjectManager::findSourceFile ( ProjectItemID  )

tries to find the media file used by a particular object.

◆ saveAllProjects()

void tracktion::engine::ProjectManager::saveAllProjects ( )

◆ getRecentProjects()

juce::StringArray tracktion::engine::ProjectManager::getRecentProjects ( bool  printableFormat)

◆ addFileToRecentProjectsList()

void tracktion::engine::ProjectManager::addFileToRecentProjectsList ( const juce::File &  )

◆ findFolderContaining() [1/2]

juce::ValueTree tracktion::engine::ProjectManager::findFolderContaining ( const Project ) const

◆ findFolderContaining() [2/2]

juce::ValueTree tracktion::engine::ProjectManager::findFolderContaining ( int  projectId) const

◆ getFolderItemFor()

juce::ValueTree tracktion::engine::ProjectManager::getFolderItemFor ( const Project ) const

◆ getFolderIndexFor()

int tracktion::engine::ProjectManager::getFolderIndexFor ( const Project ) const

◆ createNewProjectFolder()

void tracktion::engine::ProjectManager::createNewProjectFolder ( juce::ValueTree  parent,
const juce::String &  name 
)

◆ deleteProjectFolder()

void tracktion::engine::ProjectManager::deleteProjectFolder ( juce::ValueTree  folder)

◆ updateProjectFile()

void tracktion::engine::ProjectManager::updateProjectFile ( Project p,
const juce::File &   
)

◆ createNewProject() [1/2]

Project::Ptr tracktion::engine::ProjectManager::createNewProject ( const juce::File &  projectFile)

◆ createNewProject() [2/2]

Project::Ptr tracktion::engine::ProjectManager::createNewProject ( const juce::File &  projectFile,
juce::ValueTree  folderToAddTo 
)

◆ createNewProjectInteractively()

Project::Ptr tracktion::engine::ProjectManager::createNewProjectInteractively ( const juce::String &  suggestedName,
const juce::File &  lastPath,
juce::ValueTree  folderToAddTo 
)

◆ createNewProjectFromTemplate()

Project::Ptr tracktion::engine::ProjectManager::createNewProjectFromTemplate ( const juce::String &  suggestedName,
const juce::File &  lastPath,
const juce::File &  templateArchiveFile,
juce::ValueTree  folderToAddTo 
)

◆ findProjectWithId()

Project::Ptr tracktion::engine::ProjectManager::findProjectWithId ( const juce::ValueTree &  folder,
int  pid 
)

◆ findProjectWithFile()

Project::Ptr tracktion::engine::ProjectManager::findProjectWithFile ( const juce::ValueTree &  folder,
const juce::File &   
)

◆ loadList()

void tracktion::engine::ProjectManager::loadList ( )

◆ saveList()

void tracktion::engine::ProjectManager::saveList ( )

Member Data Documentation

◆ engine

Engine& tracktion::engine::ProjectManager::engine

◆ folders

juce::ValueTree tracktion::engine::ProjectManager::folders

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