diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2018-01-30 13:43:34 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-30 13:43:34 +0100 |
commit | ed6bf28014dfd5c012bf60953b9450f93d0dbad8 (patch) | |
tree | b095dcdf0cd1de2fd7d497e65e229524664b9603 /servers/audio/audio_stream.cpp | |
parent | 5b580fb69b3160e9e080994e4a34ffd3cceb3ff5 (diff) | |
parent | 8a9f1c2a5d7364016b9c67dc158557607f6de4bd (diff) | |
download | redot-engine-ed6bf28014dfd5c012bf60953b9450f93d0dbad8.tar.gz |
Merge pull request #15980 from mrcdk/audio_stream_get_length
Expose audio streams get_length()
Diffstat (limited to 'servers/audio/audio_stream.cpp')
-rw-r--r-- | servers/audio/audio_stream.cpp | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/servers/audio/audio_stream.cpp b/servers/audio/audio_stream.cpp index 369dfac042..b207c5f4db 100644 --- a/servers/audio/audio_stream.cpp +++ b/servers/audio/audio_stream.cpp @@ -91,6 +91,13 @@ void AudioStreamPlaybackResampled::mix(AudioFrame *p_buffer, float p_rate_scale, } //////////////////////////////// +void AudioStream::_bind_methods() { + + ClassDB::bind_method(D_METHOD("get_length"), &AudioStream::get_length); +} + +//////////////////////////////// + void AudioStreamRandomPitch::set_audio_stream(const Ref<AudioStream> &p_audio_stream) { audio_stream = p_audio_stream; @@ -136,6 +143,14 @@ String AudioStreamRandomPitch::get_stream_name() const { return "RandomPitch"; } +float AudioStreamRandomPitch::get_length() const { + if (audio_stream.is_valid()) { + return audio_stream->get_length(); + } + + return 0; +} + void AudioStreamRandomPitch::_bind_methods() { ClassDB::bind_method(D_METHOD("set_audio_stream", "stream"), &AudioStreamRandomPitch::set_audio_stream); @@ -209,14 +224,6 @@ void AudioStreamPlaybackRandomPitch::mix(AudioFrame *p_buffer, float p_rate_scal } } -float AudioStreamPlaybackRandomPitch::get_length() const { - if (playing.is_valid()) { - return playing->get_length(); - } - - return 0; -} - AudioStreamPlaybackRandomPitch::~AudioStreamPlaybackRandomPitch() { random_pitch->playbacks.erase(this); } |