#[repr(C, packed(1))]pub struct ARAContentAccessControllerInterface {
pub structSize: ARASize,
pub isMusicalContextContentAvailable: Option<unsafe extern "C" fn(controllerHostRef: ARAContentAccessControllerHostRef, musicalContextHostRef: ARAMusicalContextHostRef, contentType: ARAContentType) -> ARABool>,
pub getMusicalContextContentGrade: Option<unsafe extern "C" fn(controllerHostRef: ARAContentAccessControllerHostRef, musicalContextHostRef: ARAMusicalContextHostRef, contentType: ARAContentType) -> ARAContentGrade>,
pub createMusicalContextContentReader: Option<unsafe extern "C" fn(controllerHostRef: ARAContentAccessControllerHostRef, musicalContextHostRef: ARAMusicalContextHostRef, contentType: ARAContentType, range: *const ARAContentTimeRange) -> ARAContentReaderHostRef>,
pub isAudioSourceContentAvailable: Option<unsafe extern "C" fn(controllerHostRef: ARAContentAccessControllerHostRef, audioSourceHostRef: ARAAudioSourceHostRef, contentType: ARAContentType) -> ARABool>,
pub getAudioSourceContentGrade: Option<unsafe extern "C" fn(controllerHostRef: ARAContentAccessControllerHostRef, audioSourceHostRef: ARAAudioSourceHostRef, contentType: ARAContentType) -> ARAContentGrade>,
pub createAudioSourceContentReader: Option<unsafe extern "C" fn(controllerHostRef: ARAContentAccessControllerHostRef, audioSourceHostRef: ARAAudioSourceHostRef, contentType: ARAContentType, range: *const ARAContentTimeRange) -> ARAContentReaderHostRef>,
pub getContentReaderEventCount: Option<unsafe extern "C" fn(controllerHostRef: ARAContentAccessControllerHostRef, contentReaderHostRef: ARAContentReaderHostRef) -> ARAInt32>,
pub getContentReaderDataForEvent: Option<unsafe extern "C" fn(controllerHostRef: ARAContentAccessControllerHostRef, contentReaderHostRef: ARAContentReaderHostRef, eventIndex: ARAInt32) -> *const c_void>,
pub destroyContentReader: Option<unsafe extern "C" fn(controllerHostRef: ARAContentAccessControllerHostRef, contentReaderHostRef: ARAContentReaderHostRef)>,
}Expand description
! Host interface: content access controller. ! As with all host interfaces, the function pointers in this struct must remain valid until ! all document controllers on the plug-in side that use it have been destroyed.
Fields§
§structSize: ARASize! @see_Versioned_Structs_
isMusicalContextContentAvailable: Option<unsafe extern "C" fn(controllerHostRef: ARAContentAccessControllerHostRef, musicalContextHostRef: ARAMusicalContextHostRef, contentType: ARAContentType) -> ARABool>! Query whether the given content type is currently available for the given musical context.
getMusicalContextContentGrade: Option<unsafe extern "C" fn(controllerHostRef: ARAContentAccessControllerHostRef, musicalContextHostRef: ARAMusicalContextHostRef, contentType: ARAContentType) -> ARAContentGrade>! Query the current quality of the information provided for the given musical context and content type.
createMusicalContextContentReader: Option<unsafe extern "C" fn(controllerHostRef: ARAContentAccessControllerHostRef, musicalContextHostRef: ARAMusicalContextHostRef, contentType: ARAContentType, range: *const ARAContentTimeRange) -> ARAContentReaderHostRef>! Create a content reader for the given musical context and content type. ! This should only be called after availability has been confirmed using isMusicalContextContentAvailable(), ! and is mainly used to communicate the song timeline to the plug-in. ! The time range may be NULL, which means that the entire musical context shall be read. ! If a time range is specified, all events that at least partially intersect with the range ! will be read.
isAudioSourceContentAvailable: Option<unsafe extern "C" fn(controllerHostRef: ARAContentAccessControllerHostRef, audioSourceHostRef: ARAAudioSourceHostRef, contentType: ARAContentType) -> ARABool>! Query whether the given content type is currently available for the given audio source.
getAudioSourceContentGrade: Option<unsafe extern "C" fn(controllerHostRef: ARAContentAccessControllerHostRef, audioSourceHostRef: ARAAudioSourceHostRef, contentType: ARAContentType) -> ARAContentGrade>! Query the current quality of the information provided for the given audio source and content type.
createAudioSourceContentReader: Option<unsafe extern "C" fn(controllerHostRef: ARAContentAccessControllerHostRef, audioSourceHostRef: ARAAudioSourceHostRef, contentType: ARAContentType, range: *const ARAContentTimeRange) -> ARAContentReaderHostRef>! Create a content reader for the given audio source and content type. ! This should only be called after availability has been confirmed using isAudioSourceContentAvailable(). ! The host may be able to provide meta-information such as a known tempo or a known set of ! notes used in the material, which may enable the plug-in to speed up or even skip completely ! certain analysis passes (often depending on the content grade of the information). ! The time range may be NULL, which means that the entire audio source shall be read. ! If a time range is specified, all events that at least partially intersect with the range ! will be read.
getContentReaderEventCount: Option<unsafe extern "C" fn(controllerHostRef: ARAContentAccessControllerHostRef, contentReaderHostRef: ARAContentReaderHostRef) -> ARAInt32>! Query how many events the given reader exposes.
getContentReaderDataForEvent: Option<unsafe extern "C" fn(controllerHostRef: ARAContentAccessControllerHostRef, contentReaderHostRef: ARAContentReaderHostRef, eventIndex: ARAInt32) -> *const c_void>! Query data of the given event of the given reader. ! The returned pointer is owned by the host and must remain valid until either ! getContentReaderDataForEvent() is called again or the content reader is destroyed.
destroyContentReader: Option<unsafe extern "C" fn(controllerHostRef: ARAContentAccessControllerHostRef, contentReaderHostRef: ARAContentReaderHostRef)>! Destroy the given content reader.
Trait Implementations§
Source§impl Clone for ARAContentAccessControllerInterface
impl Clone for ARAContentAccessControllerInterface
Source§fn clone(&self) -> ARAContentAccessControllerInterface
fn clone(&self) -> ARAContentAccessControllerInterface
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more