29 #ifndef EVENT_STREAM_H 30 #define EVENT_STREAM_H 33 #include "servers/audio_server.h" 39 class InternalEventStream :
public AudioServer::EventStream {
41 AudioMixer *_get_mixer(){
return get_mixer(); }
43 virtual void update(uint64_t p_usec) {
45 playback->_update(get_mixer(),p_usec);
49 virtual ~InternalEventStream() {}
53 InternalEventStream estream;
61 virtual AudioMixer* _get_mixer() {
return estream._get_mixer(); }
62 virtual Error _play()=0;
63 virtual bool _update(AudioMixer* p_mixer, uint64_t p_usec)=0;
64 virtual void _stop()=0;
69 virtual bool is_playing()
const;
71 virtual void set_paused(
bool p_paused)=0;
72 virtual bool is_paused()
const=0;
74 virtual void set_loop(
bool p_loop)=0;
75 virtual bool is_loop_enabled()
const=0;
77 virtual int get_loop_count()
const=0;
79 virtual float get_pos()
const=0;
80 virtual void seek_pos(
float p_time)=0;
82 virtual void set_volume(
float p_vol)=0;
83 virtual float get_volume()
const=0;
85 virtual void set_pitch_scale(
float p_pitch_scale)=0;
86 virtual float get_pitch_scale()
const=0;
88 virtual void set_tempo_scale(
float p_tempo_scale)=0;
89 virtual float get_tempo_scale()
const=0;
91 virtual void set_channel_volume(
int p_channel,
float p_volume)=0;
92 virtual float get_channel_volume(
int p_channel)
const=0;
94 virtual float get_last_note_time(
int p_channel)
const=0;
109 virtual String get_stream_name()
const=0;
110 virtual float get_length()
const=0;
111 virtual int get_channel_count()
const=0;
118 #endif // EVENT_STREAM_H
Definition: reference.h:40
Definition: event_stream.h:100
Definition: resource.h:89
Definition: event_stream.h:35