Try godot effects buses
This commit is contained in:
parent
6f0f6fa1a2
commit
b1cd7b9d7e
|
@ -1,8 +1,100 @@
|
||||||
[gd_resource type="AudioBusLayout" load_steps=2 format=2]
|
[gd_resource type="AudioBusLayout" load_steps=4 format=2]
|
||||||
|
|
||||||
[sub_resource type="AudioEffectCompressor" id=1]
|
[sub_resource type="AudioEffectCompressor" id=3]
|
||||||
resource_name = "Compressor"
|
resource_name = "Compressor"
|
||||||
|
|
||||||
|
[sub_resource type="AudioEffectPanner" id=1]
|
||||||
|
resource_name = "Panner"
|
||||||
|
|
||||||
|
[sub_resource type="AudioEffectDelay" id=2]
|
||||||
|
resource_name = "Delay"
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
bus/0/effect/0/effect = SubResource( 1 )
|
bus/0/effect/0/effect = SubResource( 3 )
|
||||||
bus/0/effect/0/enabled = true
|
bus/0/effect/0/enabled = true
|
||||||
|
bus/1/name = "BGM"
|
||||||
|
bus/1/solo = false
|
||||||
|
bus/1/mute = false
|
||||||
|
bus/1/bypass_fx = false
|
||||||
|
bus/1/volume_db = 0.0
|
||||||
|
bus/1/send = "Master"
|
||||||
|
bus/2/name = "BGM0"
|
||||||
|
bus/2/solo = false
|
||||||
|
bus/2/mute = false
|
||||||
|
bus/2/bypass_fx = false
|
||||||
|
bus/2/volume_db = 0.0
|
||||||
|
bus/2/send = "BGM"
|
||||||
|
bus/2/effect/0/effect = SubResource( 1 )
|
||||||
|
bus/2/effect/0/enabled = true
|
||||||
|
bus/2/effect/1/effect = SubResource( 2 )
|
||||||
|
bus/2/effect/1/enabled = true
|
||||||
|
bus/3/name = "BGM1"
|
||||||
|
bus/3/solo = false
|
||||||
|
bus/3/mute = false
|
||||||
|
bus/3/bypass_fx = false
|
||||||
|
bus/3/volume_db = 0.0
|
||||||
|
bus/3/send = "BGM"
|
||||||
|
bus/3/effect/0/effect = SubResource( 1 )
|
||||||
|
bus/3/effect/0/enabled = true
|
||||||
|
bus/3/effect/1/effect = SubResource( 2 )
|
||||||
|
bus/3/effect/1/enabled = true
|
||||||
|
bus/4/name = "BGM2"
|
||||||
|
bus/4/solo = false
|
||||||
|
bus/4/mute = false
|
||||||
|
bus/4/bypass_fx = false
|
||||||
|
bus/4/volume_db = 0.0
|
||||||
|
bus/4/send = "BGM"
|
||||||
|
bus/4/effect/0/effect = SubResource( 1 )
|
||||||
|
bus/4/effect/0/enabled = true
|
||||||
|
bus/4/effect/1/effect = SubResource( 2 )
|
||||||
|
bus/4/effect/1/enabled = true
|
||||||
|
bus/5/name = "BGM3"
|
||||||
|
bus/5/solo = false
|
||||||
|
bus/5/mute = false
|
||||||
|
bus/5/bypass_fx = false
|
||||||
|
bus/5/volume_db = 0.0
|
||||||
|
bus/5/send = "BGM"
|
||||||
|
bus/5/effect/0/effect = SubResource( 1 )
|
||||||
|
bus/5/effect/0/enabled = true
|
||||||
|
bus/5/effect/1/effect = SubResource( 2 )
|
||||||
|
bus/5/effect/1/enabled = true
|
||||||
|
bus/6/name = "BGM4"
|
||||||
|
bus/6/solo = false
|
||||||
|
bus/6/mute = false
|
||||||
|
bus/6/bypass_fx = false
|
||||||
|
bus/6/volume_db = 0.0
|
||||||
|
bus/6/send = "BGM"
|
||||||
|
bus/6/effect/0/effect = SubResource( 1 )
|
||||||
|
bus/6/effect/0/enabled = true
|
||||||
|
bus/6/effect/1/effect = SubResource( 2 )
|
||||||
|
bus/6/effect/1/enabled = true
|
||||||
|
bus/7/name = "BGM5"
|
||||||
|
bus/7/solo = false
|
||||||
|
bus/7/mute = false
|
||||||
|
bus/7/bypass_fx = false
|
||||||
|
bus/7/volume_db = 0.0
|
||||||
|
bus/7/send = "BGM"
|
||||||
|
bus/7/effect/0/effect = SubResource( 1 )
|
||||||
|
bus/7/effect/0/enabled = true
|
||||||
|
bus/7/effect/1/effect = SubResource( 2 )
|
||||||
|
bus/7/effect/1/enabled = true
|
||||||
|
bus/8/name = "BGM6"
|
||||||
|
bus/8/solo = false
|
||||||
|
bus/8/mute = false
|
||||||
|
bus/8/bypass_fx = false
|
||||||
|
bus/8/volume_db = 0.0
|
||||||
|
bus/8/send = "BGM"
|
||||||
|
bus/8/effect/0/effect = SubResource( 1 )
|
||||||
|
bus/8/effect/0/enabled = true
|
||||||
|
bus/8/effect/1/effect = SubResource( 2 )
|
||||||
|
bus/8/effect/1/enabled = true
|
||||||
|
bus/9/name = "BGM7"
|
||||||
|
bus/9/solo = false
|
||||||
|
bus/9/mute = false
|
||||||
|
bus/9/bypass_fx = false
|
||||||
|
bus/9/volume_db = 0.0
|
||||||
|
bus/9/send = "BGM"
|
||||||
|
bus/9/effect/0/effect = SubResource( 1 )
|
||||||
|
bus/9/effect/0/enabled = true
|
||||||
|
bus/9/effect/1/effect = SubResource( 2 )
|
||||||
|
bus/9/effect/1/enabled = true
|
||||||
|
|
|
@ -35,7 +35,7 @@ HTML5="*res://scripts/managers/HTML5.gd"
|
||||||
|
|
||||||
[debug]
|
[debug]
|
||||||
|
|
||||||
settings/fps/force_fps=60
|
settings/fps/force_fps=120
|
||||||
gdscript/warnings/unused_variable=false
|
gdscript/warnings/unused_variable=false
|
||||||
gdscript/warnings/integer_division=false
|
gdscript/warnings/integer_division=false
|
||||||
|
|
||||||
|
|
|
@ -54,6 +54,7 @@ func _init(tracks: Array, instrument_map: Dictionary):
|
||||||
for i in num_tracks:
|
for i in num_tracks:
|
||||||
self.players.append(AudioStreamPlayer.new())
|
self.players.append(AudioStreamPlayer.new())
|
||||||
add_child(self.players[-1])
|
add_child(self.players[-1])
|
||||||
|
self.players[-1].bus = 'BGM%d' % i
|
||||||
self.channel_pointer.append(0)
|
self.channel_pointer.append(0)
|
||||||
self.channel_instrument_idx.append(0)
|
self.channel_instrument_idx.append(0)
|
||||||
self.channel_next_pulse.append(0)
|
self.channel_next_pulse.append(0)
|
||||||
|
@ -83,6 +84,13 @@ func _init(tracks: Array, instrument_map: Dictionary):
|
||||||
self.channel_pitchmod_on.append(0)
|
self.channel_pitchmod_on.append(0)
|
||||||
self.channel_echo_on.append(0)
|
self.channel_echo_on.append(0)
|
||||||
self.channel_echo_volume.append(0)
|
self.channel_echo_volume.append(0)
|
||||||
|
var panner: AudioEffectPanner = AudioServer.get_bus_effect(i+2, 0)
|
||||||
|
panner.set_pan(0.0)
|
||||||
|
var delay: AudioEffectDelay = AudioServer.get_bus_effect(i+2, 1)
|
||||||
|
delay.set_dry(1.0)
|
||||||
|
delay.set_tap1_active(false)
|
||||||
|
delay.set_tap2_active(false)
|
||||||
|
delay.set_feedback_active(false)
|
||||||
|
|
||||||
func play_channel(channel: int, time_offset: float = 0.0) -> int:
|
func play_channel(channel: int, time_offset: float = 0.0) -> int:
|
||||||
# Executes the track events until it hits a note/rest, in which case it returns the pulse count to the next action, or the end of the events, in which case it returns -1
|
# Executes the track events until it hits a note/rest, in which case it returns the pulse count to the next action, or the end of the events, in which case it returns -1
|
||||||
|
@ -117,9 +125,11 @@ func play_channel(channel: int, time_offset: float = 0.0) -> int:
|
||||||
self.channel_velocity[channel] = event[2]
|
self.channel_velocity[channel] = event[2]
|
||||||
EventType.PAN: # TODO: implement slides
|
EventType.PAN: # TODO: implement slides
|
||||||
self.channel_pan[channel] = event[1]
|
self.channel_pan[channel] = event[1]
|
||||||
|
AudioServer.get_bus_effect(channel+2, 0).set_pan(1.0 - event[1]/127.0)
|
||||||
EventType.PAN_SLIDE: # TODO: implement slides
|
EventType.PAN_SLIDE: # TODO: implement slides
|
||||||
var slide_duration: int = event[1]
|
var slide_duration: int = event[1]
|
||||||
self.channel_pan[channel] = event[2]
|
self.channel_pan[channel] = event[2]
|
||||||
|
AudioServer.get_bus_effect(channel+2, 0).set_pan(1.0 - event[2]/127.0)
|
||||||
EventType.PITCH_SLIDE: # TODO: implement slides
|
EventType.PITCH_SLIDE: # TODO: implement slides
|
||||||
var slide_duration: int = event[1]
|
var slide_duration: int = event[1]
|
||||||
var target_pitch: int = event[2] # Signed
|
var target_pitch: int = event[2] # Signed
|
||||||
|
|
Loading…
Reference in New Issue