Commit c76c33fb authored by Juan Linietsky's avatar Juan Linietsky Committed by Hein-Pieter van Braam-Stewart
Browse files

Added generator audio stream, and spectrum analyzer audio effect

Made AudioFrame and Vector2 equivalent for casting.
Added ability to obtain the playback object from stream players.
Added ability to obtain effect instance from audio server.

(cherry picked from commit e3376474)
parent 5e02d6d9
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@
#ifndef AUDIOFRAME_H
#define AUDIOFRAME_H

#include "core/math/vector2.h"
#include "core/typedefs.h"

static inline float undenormalise(volatile float f) {
@@ -128,6 +129,14 @@ struct AudioFrame {
		return *this;
	}

	_ALWAYS_INLINE_ operator Vector2() const {
		return Vector2(l, r);
	}

	_ALWAYS_INLINE_ AudioFrame(const Vector2 &p_v2) {
		l = p_v2.x;
		r = p_v2.y;
	}
	_ALWAYS_INLINE_ AudioFrame() {}
};

+6 −0
Original line number Diff line number Diff line
@@ -473,6 +473,10 @@ bool AudioStreamPlayer2D::get_stream_paused() const {
	return stream_paused;
}

Ref<AudioStreamPlayback> AudioStreamPlayer2D::get_stream_playback() {
	return stream_playback;
}

void AudioStreamPlayer2D::_bind_methods() {

	ClassDB::bind_method(D_METHOD("set_stream", "stream"), &AudioStreamPlayer2D::set_stream);
@@ -512,6 +516,8 @@ void AudioStreamPlayer2D::_bind_methods() {
	ClassDB::bind_method(D_METHOD("set_stream_paused", "pause"), &AudioStreamPlayer2D::set_stream_paused);
	ClassDB::bind_method(D_METHOD("get_stream_paused"), &AudioStreamPlayer2D::get_stream_paused);

	ClassDB::bind_method(D_METHOD("get_stream_playback"), &AudioStreamPlayer2D::get_stream_playback);

	ClassDB::bind_method(D_METHOD("_bus_layout_changed"), &AudioStreamPlayer2D::_bus_layout_changed);

	ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "stream", PROPERTY_HINT_RESOURCE_TYPE, "AudioStream"), "set_stream", "get_stream");
+2 −0
Original line number Diff line number Diff line
@@ -130,6 +130,8 @@ public:
	void set_stream_paused(bool p_pause);
	bool get_stream_paused() const;

	Ref<AudioStreamPlayback> get_stream_playback();

	AudioStreamPlayer2D();
	~AudioStreamPlayer2D();
};
+6 −0
Original line number Diff line number Diff line
@@ -887,6 +887,10 @@ bool AudioStreamPlayer3D::get_stream_paused() const {
	return stream_paused;
}

Ref<AudioStreamPlayback> AudioStreamPlayer3D::get_stream_playback() {
	return stream_playback;
}

void AudioStreamPlayer3D::_bind_methods() {

	ClassDB::bind_method(D_METHOD("set_stream", "stream"), &AudioStreamPlayer3D::set_stream);
@@ -953,6 +957,8 @@ void AudioStreamPlayer3D::_bind_methods() {
	ClassDB::bind_method(D_METHOD("set_stream_paused", "pause"), &AudioStreamPlayer3D::set_stream_paused);
	ClassDB::bind_method(D_METHOD("get_stream_paused"), &AudioStreamPlayer3D::get_stream_paused);

	ClassDB::bind_method(D_METHOD("get_stream_playback"), &AudioStreamPlayer3D::get_stream_playback);

	ClassDB::bind_method(D_METHOD("_bus_layout_changed"), &AudioStreamPlayer3D::_bus_layout_changed);

	ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "stream", PROPERTY_HINT_RESOURCE_TYPE, "AudioStream"), "set_stream", "get_stream");
+2 −0
Original line number Diff line number Diff line
@@ -206,6 +206,8 @@ public:
	void set_stream_paused(bool p_pause);
	bool get_stream_paused() const;

	Ref<AudioStreamPlayback> get_stream_playback();

	AudioStreamPlayer3D();
	~AudioStreamPlayer3D();
};
Loading