summaryrefslogtreecommitdiffstats
path: root/scene/resources/audio_stream_sample.cpp
diff options
context:
space:
mode:
authorreduz <reduzio@gmail.com>2022-07-21 01:00:58 +0200
committerJuan Linietsky <reduzio@gmail.com>2022-07-23 07:31:17 +0200
commitd1ddee225830b28171de031bd1f1918ced21b38f (patch)
tree59fbad7454e47cfc0f746842108d3d6e10b83a40 /scene/resources/audio_stream_sample.cpp
parent976cb7ea9f59813f99e06c4c345c19ff68c2c591 (diff)
downloadredot-engine-d1ddee225830b28171de031bd1f1918ced21b38f.tar.gz
Implement BPM support
Based on #62896, only implements the BPM support part. * Implements BPM support in the AudioStreamOGG/MP3 importers. * Can select BPM/Bar Size and total beats in a song file, as well as edit looping points. * Looping is now BPM aware * Added a special importer UI for configuring this. * Added a special preview showing the audio waveform as well as the playback position in the resource picker. * Renamed `AudioStream::instance` to `instantiate` for correctness.
Diffstat (limited to 'scene/resources/audio_stream_sample.cpp')
-rw-r--r--scene/resources/audio_stream_sample.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/scene/resources/audio_stream_sample.cpp b/scene/resources/audio_stream_sample.cpp
index 30c222bdff..dcd36284d4 100644
--- a/scene/resources/audio_stream_sample.cpp
+++ b/scene/resources/audio_stream_sample.cpp
@@ -406,6 +406,10 @@ int AudioStreamPlaybackSample::mix(AudioFrame *p_buffer, float p_rate_scale, int
return p_frames;
}
+void AudioStreamPlaybackSample::tag_used_streams() {
+ base->tag_used(get_playback_position());
+}
+
AudioStreamPlaybackSample::AudioStreamPlaybackSample() {}
/////////////////////
@@ -599,7 +603,7 @@ Error AudioStreamSample::save_to_wav(const String &p_path) {
return OK;
}
-Ref<AudioStreamPlayback> AudioStreamSample::instance_playback() {
+Ref<AudioStreamPlayback> AudioStreamSample::instantiate_playback() {
Ref<AudioStreamPlaybackSample> sample;
sample.instantiate();
sample->base = Ref<AudioStreamSample>(this);