pub type HostCallback_GetTransportState = Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u8, *mut u8, *mut f64, *mut u8, *mut f64, *mut f64) -> i32>;AudioUnitProperties only.Expand description
Retrieve information about the time line’s (or transport) state of the host.
If the host app has set this callback, then the audio unit can use this to obtain information about the transport state of the host’s time line. The audio unit can call this callback only from within the audio unit render call (otherwise the host is unable to provide information accurately to the audio unit as the information obtained is relate to the current AudioUnitRender call. If the host cannot provide the requested information, it will return kAudioUnitErr_CannotDoInCurrentContext.
The AudioUnit can provide NULL for any of the requested parameters (except for inHostUserData) if it is not interested in that particular piece of information
Parameter inHostUserData: Must be provided by the audio unit when it makes this call. It is the client data provided by the host when it set the HostCallbacks property
Parameter outIsPlaying: Returns true if the host’s transport is currently playing, false if stopped
Parameter outTransportStateChanged: Returns true if there was a change to the state of, or discontinuities in, the host’s transport (generally since the callback was last called). Can indicate such state changes as start/top, time moves (jump from one time line to another).
Parameter outCurrentSampleInTimeLine: Returns the current sample count in the time line of the host’s transport time.
Parameter outIsCycling: Returns true if the host’s transport is currently cycling or looping
Parameter outCycleStartBeat: If cycling is true, the start beat of the cycle or loop point in the host’s transport
Parameter outCycleEndBeat: If cycling is true, the end beat of the cycle or loop point in the host’s transport
See also Apple’s documentation
Aliased Type§
pub enum HostCallback_GetTransportState {
None,
Some(unsafe extern "C-unwind" fn(*mut c_void, *mut u8, *mut u8, *mut f64, *mut u8, *mut f64, *mut f64) -> i32),
}