21 std::function<bool(
const std::string& path,
bool nameChanged)>;
std::function< bool(const std::string &path, bool nameChanged)> ProjectSaveCallback
OnOpenAction
Action the ProjectManager should take after the open hooks were called.
@ Cancel
Open was cancelled by the extension.
OnSaveAction
Action the ProjectManager should take after the save hooks were called.
@ Handled
Save was handled by the extension.
@ Continue
Save was not handled by the extension.
OnCloseAction
Action the ProjectManager should take after the close hooks were called.
@ Veto
Extension vetoed the close.
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Set of hooks for project file I/O.
virtual void OnLoad(AudacityProject &project)=0
This hook is called after the project is loaded.
virtual OnCloseAction OnClose(AudacityProject &project)=0
This hook is called before the project is closed.
virtual bool IsBlockLocked(const AudacityProject &project, int64_t blockId) const =0
This hook is called to check if a block is locked.
virtual void OnUpdateSaved(AudacityProject &project, const ProjectSerializer &serializer)=0
This hook is called after the project blob is saved.
virtual ~ProjectFileIOExtension()
virtual OnOpenAction OnOpen(AudacityProject &project, const std::string &path)=0
This hook is called before the project is opened.
virtual OnSaveAction OnSave(AudacityProject &project, const ProjectSaveCallback &projectSaveCallback)=0
This hook is called before the project is saved.
a class used to (de)serialize the project catalog
ProjectFileIOExtensionRegistry::Extension extension
Extension registry for project file I/O extensions.