|
TracktionEngine
|
#include <tracktion_ARAWrapperInterfaces.h>
Classes | |
| struct | ScopedEdit |
| class | ScopedEditorView |
| RAII registration of an editor view bound to this document - a clip player's instance or an additional binding like the plugin panel's browser instance - for selection fan-out (see ARAClipPlayer::setViewSelection). More... | |
Public Member Functions | |
| ARADocument (Edit &sourceEdit, ARAInstance *validPluginWrapper, const ARAPlugInExtensionInstance &, const ARADocumentControllerInstance &dc, ARADocumentControllerHostInstance *dchi, ArchivingState *archState) | |
| ~ARADocument () | |
| bool | canEdit (bool dontCheckMusicalContext) const |
| void | beginEditing (bool dontCheckMusicalContext) |
| void | endEditing (bool dontCheckMusicalContext) |
| void | flushStateToValueTree (juce::ValueTree &v) |
| void | beginRestoringState (const juce::ValueTree &state) |
| void | endRestoringState (juce::Array< PersistentIDMappingGroup > groups={}) |
| juce::MemoryBlock | storeObjectsForCopy (ARAAudioSourceRef source, ARAAudioModificationRef modification) |
| Store a partial ARA archive containing just the given audio source and modification. | |
| void | restoreObjectsForPaste (const juce::MemoryBlock &data, const juce::String &archivedSourceID, const juce::String ¤tSourceID, const juce::String &archivedModID, const juce::String ¤tModID, const juce::String &documentArchiveID={}) |
| Restore a partial ARA archive, mapping archived persistent IDs to current ones. | |
| void | willCreatePlaybackRegionOnTrack (Track *track) |
| void | willDestroyPlaybackRegionOnTrack (EditItemID trackID) |
| std::shared_ptr< AudioSourceWrapper > | acquireAudioSource (AudioClipBase &audioClip) |
| void | releaseAudioSource (const juce::String &key) |
| void | visitEditorViews (const std::function< void(const ARAPlugInExtensionInstance &, ExternalPlugin &)> &fn) const |
| Calls the given function for every registered editor view. | |
| void | musicalContextContentChanged () |
| Notifies the plugin that the edit's tempo/key/chord content has changed so the musical context is re-read. | |
Public Attributes | |
| Edit & | edit |
| const ARADocumentControllerInterface * | dci |
| ARADocumentControllerRef | dcRef |
| std::unique_ptr< MusicalContextWrapper > | musicalContext |
| std::map< EditItemID, std::unique_ptr< RegionSequenceWrapper > > | regionSequences |
| std::map< EditItemID, int > | regionSequencePlaybackRegionCount |
| std::map< juce::String, std::shared_ptr< AudioSourceWrapper > > | audioSources |
| std::map< juce::String, int > | audioSourceRefCount |
| std::unique_ptr< juce::MemoryBlock > | lastArchiveState |
| juce::String | lastArchiveDocumentArchiveID |
| ARADocument::ARADocument | ( | Edit & | sourceEdit, |
| ARAInstance * | validPluginWrapper, | ||
| const ARAPlugInExtensionInstance & | , | ||
| const ARADocumentControllerInstance & | dc, | ||
| ARADocumentControllerHostInstance * | dchi, | ||
| ArchivingState * | archState | ||
| ) |
References CRASH_TRACER, and musicalContext.
| ARADocument::~ARADocument | ( | ) |
References audioSourceRefCount, audioSources, CRASH_TRACER, dci, dcRef, musicalContext, and regionSequences.
| bool ARADocument::canEdit | ( | bool | dontCheckMusicalContext | ) | const |
References dci, dcRef, lastArchiveState, and musicalContext.
Referenced by beginEditing(), endEditing(), and MusicalContextWrapper::update().
| void ARADocument::beginEditing | ( | bool | dontCheckMusicalContext | ) |
References canEdit(), dci, and dcRef.
Referenced by beginRestoringState(), and ARADocument::ScopedEdit::ScopedEdit().
| void ARADocument::endEditing | ( | bool | dontCheckMusicalContext | ) |
References canEdit(), dci, and dcRef.
Referenced by ARADocument::ScopedEdit::~ScopedEdit().
| void ARADocument::flushStateToValueTree | ( | juce::ValueTree & | v | ) |
References CRASH_TRACER, dci, and dcRef.
| void ARADocument::beginRestoringState | ( | const juce::ValueTree & | state | ) |
References beginEditing(), CRASH_TRACER, lastArchiveDocumentArchiveID, and lastArchiveState.
| void ARADocument::endRestoringState | ( | juce::Array< PersistentIDMappingGroup > | groups = {} | ) |
| juce::MemoryBlock ARADocument::storeObjectsForCopy | ( | ARAAudioSourceRef | source, |
| ARAAudioModificationRef | modification | ||
| ) |
Store a partial ARA archive containing just the given audio source and modification.
Used by clipboard copy to capture ARA plugin edits (e.g. Melodyne note corrections).
References CRASH_TRACER, dci, dcRef, and T_ARA_DBG.
| void ARADocument::restoreObjectsForPaste | ( | const juce::MemoryBlock & | data, |
| const juce::String & | archivedSourceID, | ||
| const juce::String & | currentSourceID, | ||
| const juce::String & | archivedModID, | ||
| const juce::String & | currentModID, | ||
| const juce::String & | documentArchiveID = {} |
||
| ) |
Restore a partial ARA archive, mapping archived persistent IDs to current ones.
Used by clipboard paste to restore ARA plugin edits into a newly pasted clip.
| void ARADocument::willCreatePlaybackRegionOnTrack | ( | Track * | track | ) |
References regionSequencePlaybackRegionCount, and regionSequences.
Referenced by PlaybackRegionWrapper::PlaybackRegionWrapper(), and PlaybackRegionWrapper::PlaybackRegionWrapper().
| void ARADocument::willDestroyPlaybackRegionOnTrack | ( | EditItemID | trackID | ) |
References regionSequencePlaybackRegionCount, and regionSequences.
Referenced by PlaybackRegionWrapper::~PlaybackRegionWrapper().
| std::shared_ptr< AudioSourceWrapper > ARADocument::acquireAudioSource | ( | AudioClipBase & | audioClip | ) |
References audioSourceRefCount, and audioSources.
Referenced by PlaybackRegionAndSource::PlaybackRegionAndSource().
| void ARADocument::releaseAudioSource | ( | const juce::String & | key | ) |
References audioSourceRefCount, and audioSources.
Referenced by PlaybackRegionAndSource::~PlaybackRegionAndSource().
| void ARADocument::visitEditorViews | ( | const std::function< void(const ARAPlugInExtensionInstance &, ExternalPlugin &)> & | fn | ) | const |
Calls the given function for every registered editor view.
| void ARADocument::musicalContextContentChanged | ( | ) |
Notifies the plugin that the edit's tempo/key/chord content has changed so the musical context is re-read.
Driven at document level (Edit::sendTempoOrPitchSequenceChangedUpdates → ARADocumentHolder) so it also works when no ARA clips exist to forward the change, e.g. a browser/panel-only instance (QA 16550).
References musicalContext.
| Edit& ARADocument::edit |
| const ARADocumentControllerInterface* ARADocument::dci |
Referenced by AudioModificationWrapper::AudioModificationWrapper(), AudioSourceWrapper::AudioSourceWrapper(), beginEditing(), canEdit(), AudioSourceWrapper::enableAccess(), endEditing(), flushStateToValueTree(), MusicalContextWrapper::MusicalContextWrapper(), PlaybackRegionWrapper::PlaybackRegionWrapper(), PlaybackRegionWrapper::PlaybackRegionWrapper(), RegionSequenceWrapper::RegionSequenceWrapper(), storeObjectsForCopy(), MusicalContextWrapper::update(), RegionSequenceWrapper::updateProperties(), PlaybackRegionWrapper::updateRange(), ~ARADocument(), AudioModificationWrapper::~AudioModificationWrapper(), AudioSourceWrapper::~AudioSourceWrapper(), MusicalContextWrapper::~MusicalContextWrapper(), PlaybackRegionWrapper::~PlaybackRegionWrapper(), and RegionSequenceWrapper::~RegionSequenceWrapper().
| ARADocumentControllerRef ARADocument::dcRef |
Referenced by AudioModificationWrapper::AudioModificationWrapper(), AudioSourceWrapper::AudioSourceWrapper(), beginEditing(), canEdit(), AudioSourceWrapper::enableAccess(), endEditing(), flushStateToValueTree(), MusicalContextWrapper::MusicalContextWrapper(), PlaybackRegionWrapper::PlaybackRegionWrapper(), PlaybackRegionWrapper::PlaybackRegionWrapper(), RegionSequenceWrapper::RegionSequenceWrapper(), storeObjectsForCopy(), MusicalContextWrapper::update(), RegionSequenceWrapper::updateProperties(), PlaybackRegionWrapper::updateRange(), ~ARADocument(), AudioModificationWrapper::~AudioModificationWrapper(), AudioSourceWrapper::~AudioSourceWrapper(), MusicalContextWrapper::~MusicalContextWrapper(), PlaybackRegionWrapper::~PlaybackRegionWrapper(), and RegionSequenceWrapper::~RegionSequenceWrapper().
| std::unique_ptr<MusicalContextWrapper> ARADocument::musicalContext |
| std::map<EditItemID, std::unique_ptr<RegionSequenceWrapper> > ARADocument::regionSequences |
| std::map<EditItemID, int> ARADocument::regionSequencePlaybackRegionCount |
Referenced by willCreatePlaybackRegionOnTrack(), and willDestroyPlaybackRegionOnTrack().
| std::map<juce::String, std::shared_ptr<AudioSourceWrapper> > ARADocument::audioSources |
Referenced by acquireAudioSource(), releaseAudioSource(), and ~ARADocument().
| std::map<juce::String, int> ARADocument::audioSourceRefCount |
Referenced by acquireAudioSource(), releaseAudioSource(), and ~ARADocument().
| std::unique_ptr<juce::MemoryBlock> ARADocument::lastArchiveState |
Referenced by beginRestoringState(), and canEdit().
| juce::String ARADocument::lastArchiveDocumentArchiveID |
Referenced by beginRestoringState().