diff options
Diffstat (limited to 'scene/2d/audio_stream_player_2d.cpp')
| -rw-r--r-- | scene/2d/audio_stream_player_2d.cpp | 35 | 
1 files changed, 14 insertions, 21 deletions
diff --git a/scene/2d/audio_stream_player_2d.cpp b/scene/2d/audio_stream_player_2d.cpp index faefd85968..73f583111b 100644 --- a/scene/2d/audio_stream_player_2d.cpp +++ b/scene/2d/audio_stream_player_2d.cpp @@ -37,7 +37,7 @@  void AudioStreamPlayer2D::_mix_audio() {  	if (!stream_playback.is_valid() || !active || -			(stream_paused && !stream_fade_out)) { +			(stream_paused && !stream_paused_fade_out)) {  		return;  	} @@ -50,7 +50,7 @@ void AudioStreamPlayer2D::_mix_audio() {  	AudioFrame *buffer = mix_buffer.ptrw();  	int buffer_size = mix_buffer.size(); -	if (stream_fade_out) { +	if (stream_paused_fade_out) {  		// Short fadeout ramp  		buffer_size = MIN(buffer_size, 128);  	} @@ -84,10 +84,10 @@ void AudioStreamPlayer2D::_mix_audio() {  		}  		//mix! -		AudioFrame target_volume = stream_fade_out ? AudioFrame(0.f, 0.f) : current.vol; -		AudioFrame vol_prev = stream_fade_in ? AudioFrame(0.f, 0.f) : prev_outputs[i].vol; +		AudioFrame target_volume = stream_paused_fade_out ? AudioFrame(0.f, 0.f) : current.vol; +		AudioFrame vol_prev = stream_paused_fade_in ? AudioFrame(0.f, 0.f) : prev_outputs[i].vol;  		AudioFrame vol_inc = (target_volume - vol_prev) / float(buffer_size); -		AudioFrame vol = stream_fade_in ? AudioFrame(0.f, 0.f) : current.vol; +		AudioFrame vol = stream_paused_fade_in ? AudioFrame(0.f, 0.f) : current.vol;  		int cc = AudioServer::get_singleton()->get_channel_count(); @@ -139,15 +139,9 @@ void AudioStreamPlayer2D::_mix_audio() {  		active = false;  	} -	if (stream_stop) { -		active = false; -		set_physics_process_internal(false); -		setplay = -1; -	} -  	output_ready = false; -	stream_fade_in = false; -	stream_fade_out = false; +	stream_paused_fade_in = false; +	stream_paused_fade_out = false;  }  void AudioStreamPlayer2D::_notification(int p_what) { @@ -329,7 +323,6 @@ void AudioStreamPlayer2D::play(float p_from_pos) {  	}  	if (stream_playback.is_valid()) { -		stream_stop = false;  		active = true;  		setplay = p_from_pos;  		output_ready = false; @@ -347,8 +340,9 @@ void AudioStreamPlayer2D::seek(float p_seconds) {  void AudioStreamPlayer2D::stop() {  	if (stream_playback.is_valid()) { -		stream_stop = true; -		stream_fade_out = true; +		active = false; +		set_physics_process_internal(false); +		setplay = -1;  	}  } @@ -463,8 +457,8 @@ void AudioStreamPlayer2D::set_stream_paused(bool p_pause) {  	if (p_pause != stream_paused) {  		stream_paused = p_pause; -		stream_fade_in = p_pause ? false : true; -		stream_fade_out = p_pause ? true : false; +		stream_paused_fade_in = p_pause ? false : true; +		stream_paused_fade_out = p_pause ? true : false;  	}  } @@ -549,9 +543,8 @@ AudioStreamPlayer2D::AudioStreamPlayer2D() {  	output_ready = false;  	area_mask = 1;  	stream_paused = false; -	stream_fade_in = false; -	stream_fade_out = false; -	stream_stop = false; +	stream_paused_fade_in = false; +	stream_paused_fade_out = false;  	AudioServer::get_singleton()->connect("bus_layout_changed", this, "_bus_layout_changed");  }  |