19#ifdef COREAUDIO_PLUGIN
20#define AUD_BUILD_PLUGIN
31#include <AudioUnit/AudioUnit.h>
32#include <AudioToolbox/CoreAudioClock.h>
43 CAClockRef m_clock_ref;
56 virtual void seek(std::shared_ptr<IHandle> handle,
double time);
#define AUD_NAMESPACE_END
Closes the audaspace namespace aud.
Definition Audaspace.h:119
#define AUD_NAMESPACE_BEGIN
Opens the audaspace namespace aud.
Definition Audaspace.h:116
#define AUD_PLUGIN_API
Used for exporting symbols in the shared library.
Definition Audaspace.h:94
The ISynchronizer interface.
This class is a Synchronizer implementation using a CoreAudio clock.
Definition CoreAudioSynchronizer.h:40
virtual double getPosition(std::shared_ptr< IHandle > handle)
Retrieves the position of the synchronizer.
virtual void seek(std::shared_ptr< IHandle > handle, double time)
Sets the playback position of a handle and the synchronizer to a specific time.
CoreAudioSynchronizer(AudioUnit &audio_unit)
Creates a new CoreAudioSynchronizer.
virtual void stop()
Stops the synchronizer playback.
virtual int isPlaying()
Retrieves whether the synchronizer is playing back.
virtual void play()
Starts the synchronizer playback.
virtual void setSyncCallback(syncFunction function, void *data)
Sets the callback function that is called when a synchronization event happens.
This class enables global synchronization of several audio applications if supported.
Definition ISynchronizer.h:39