Audio Source. API for audio playback. Open file for streaming or bind to existing Audio Buffer. Supports 3D spatialization.
More...
|
virtual auto | is_bound () const -> bool=0 |
| Check if source is bound to a stream or buffer.
|
|
auto | bind_to (std::nullptr_t)=delete |
|
virtual auto | bind_to (Buffer const *buffer) -> bool=0 |
| Bind to existing buffer. Passed buffer must outlive this instance.
|
|
virtual auto | bind_to (std::shared_ptr< Buffer const > buffer) -> bool=0 |
| Bind to existing buffer and increment its ref-count.
|
|
virtual auto | open_stream (char const *path) -> bool=0 |
| Open file stream and bind to it.
|
|
virtual void | unbind ()=0 |
| Detach buffer or file stream if bound.
|
|
virtual auto | is_playing () const -> bool=0 |
|
virtual void | play ()=0 |
|
virtual void | stop ()=0 |
|
virtual auto | at_end () const -> bool=0 |
| Check if source is at end.
|
|
virtual auto | can_wait_until_ended () const -> bool=0 |
| Check if feasible to block until source is at end.
|
|
virtual void | wait_until_ended ()=0 |
| Block until source is at end. The calling thread is blocked via atomic wait/notify (not spinlocking). Returns immediately if can_wait_until_ended() returns false.
|
|
virtual auto | get_duration () const -> std::chrono::duration< float >=0 |
| Get duration of source.
|
|
virtual auto | get_cursor () const -> std::chrono::duration< float >=0 |
| Get position of playback cursor.
|
|
virtual auto | set_cursor (std::chrono::duration< float > position) -> bool=0 |
| Set position of playback cursor.
|
|
virtual auto | is_spatialized () const -> bool=0 |
| Check if spatialization is enabled.
|
|
virtual auto | set_spatialized (bool spatialized) -> bool=0 |
| Toggle spatialization.
|
|
virtual auto | set_fade_in (std::chrono::duration< float > duration, float gain=-1.0f) -> bool=0 |
| Set fade in parameters.
|
|
virtual auto | set_fade_out (std::chrono::duration< float > duration) -> bool=0 |
| Set fade out parameters. Target gain is implicitly 0.
|
|
virtual auto | is_looping () const -> bool=0 |
|
virtual void | set_looping (bool looping)=0 |
|
virtual auto | get_gain () const -> float=0 |
|
virtual void | set_gain (float gain)=0 |
|
virtual auto | get_position () const -> Vec3f=0 |
|
virtual void | set_position (Vec3f const &pos)=0 |
|
virtual auto | get_pan () const -> float=0 |
|
virtual void | set_pan (float pan)=0 |
|
virtual auto | get_pitch () const -> float=0 |
|
virtual void | set_pitch (float pitch)=0 |
|
| Polymorphic ()=default |
|
virtual | ~Polymorphic ()=default |
|
| Polymorphic (Polymorphic const &)=default |
|
| Polymorphic (Polymorphic &&)=default |
|
auto | operator= (Polymorphic const &) -> Polymorphic &=default |
|
auto | operator= (Polymorphic &&) -> Polymorphic &=default |
|
Audio Source. API for audio playback. Open file for streaming or bind to existing Audio Buffer. Supports 3D spatialization.