We’re just starting porting from the Celemony-provided JUCE_ARA to Juce 7.0.5, and we’re seeing some issues that I’m not sure how to address.
First off, it looks like instead of deriving from ARADocumentController, we need to derive our class from the new ARADocumentControllerSpecialisation, correct? I’ve done that, but now get a number of errors related to that change.
For one, the specialization seems to be missing some callbacks we implemented using the Celemony-provided code, so our overrides have nothing to override any more. Among these are:
updateMusicalContextContent
doDestroyMusicalContext
Others say that the non-virtual (why???) function marked as override hides a virtual function. These include:
doCreateMusicalContext
doCreateAudioSource
doCreateAudioModification
doCreatePlaybackRegion
as well as the listener callback:
willUpdatePlaybackRegionProperties
Others complain that the return type is not covariant with the return type of the function it overrides. These functions return ARA::Plugin:: objects but the specialization class apparently returns juce:: variants? These ones are:
doCreatePlaybackRenderer
doCreateEditorRenderer
doCreateEditorView
In addition, we get an error in ARAPlug.h, on this code:
**template** <**typename** DocumentController_t = DocumentController>
DocumentController_t* getDocumentController () **const** **noexcept** { **return** **static_cast**<DocumentController_t*> (**this**->_audioModification->getAudioSource ()->getDocumentController ()); }
It says that our derived class is not related to DocumentController any more. Not sure what to do here. We had to change to using the specialization class as the base class. So what are we supposed to do to fix this?
