diff --git a/audio/default_bus_layout.tres b/audio/default_bus_layout.tres new file mode 100644 index 0000000..a71e4b1 --- /dev/null +++ b/audio/default_bus_layout.tres @@ -0,0 +1,15 @@ +[gd_resource type="AudioBusLayout" format=3 uid="uid://b6dwkmkyb0axk"] + +[resource] +bus/1/name = &"Music" +bus/1/solo = true +bus/1/mute = false +bus/1/bypass_fx = false +bus/1/volume_db = -15.1981 +bus/1/send = &"Master" +bus/2/name = &"SFX" +bus/2/solo = false +bus/2/mute = false +bus/2/bypass_fx = false +bus/2/volume_db = 0.0 +bus/2/send = &"Master" diff --git a/default_bus_layout.tres b/default_bus_layout.tres new file mode 100644 index 0000000..487f492 --- /dev/null +++ b/default_bus_layout.tres @@ -0,0 +1,15 @@ +[gd_resource type="AudioBusLayout" format=3 uid="uid://cfuxi1e3ut1w2"] + +[resource] +bus/1/name = &"Music" +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 = &"SFX" +bus/2/solo = false +bus/2/mute = false +bus/2/bypass_fx = false +bus/2/volume_db = 0.0 +bus/2/send = &"Master" diff --git a/scenes/Babushka_scene_farm_outside_2d.tscn b/scenes/Babushka_scene_farm_outside_2d.tscn index 5920198..88c7ed5 100644 --- a/scenes/Babushka_scene_farm_outside_2d.tscn +++ b/scenes/Babushka_scene_farm_outside_2d.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=78 format=3 uid="uid://gigb28qk8t12"] +[gd_scene load_steps=79 format=3 uid="uid://gigb28qk8t12"] [ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/characters/Player2D.tscn" id="1_7wfwe"] [ext_resource type="Texture2D" uid="uid://8sr11ex30n0m" path="res://art/mockups/Kenney_Backgrounds/Samples/uncolored_hills.png" id="2_7b2ri"] @@ -44,6 +44,7 @@ [ext_resource type="AudioStream" uid="uid://fsiypqhql67w" path="res://audio/sfx/Farming/SFX_GettingWater_01.wav" id="39_di1ed"] [ext_resource type="AudioStream" uid="uid://foyw26hq1qp5" path="res://audio/sfx/Farming/SFX_GettingWater_02.wav" id="40_ceriq"] [ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer.cs" id="40_w3jkj"] +[ext_resource type="Script" uid="uid://clxb3n668oud3" path="res://scripts/CSharp/Common/Audio/AudioDebugger.cs" id="42_1nkjm"] [ext_resource type="AudioStream" uid="uid://vcftvrpi6c7k" path="res://audio/sfx/Farming/SFX_Harke_03_Solo.wav" id="42_wtw65"] [ext_resource type="AudioStream" uid="uid://bxh5m04vdo0sr" path="res://audio/sfx/Farming/SFX_Harke_04_Solo.wav" id="43_1nkjm"] [ext_resource type="AudioStream" uid="uid://dapsknn486aee" path="res://audio/sfx/Farming/SFX_WateringPlants_01.wav" id="45_lbk0f"] @@ -159,9 +160,8 @@ size = Vector2(7340, 1192) [sub_resource type="AudioStreamPlaylist" id="AudioStreamPlaylist_ceriq"] loop = false -stream_count = 2 +stream_count = 1 stream_0 = ExtResource("37_di1ed") -stream_1 = ExtResource("37_8ey8m") [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_ceriq"] streams_count = 2 @@ -1032,13 +1032,24 @@ offset_bottom = 30.2285 [node name="Audio" type="Node" parent="."] -[node name="Background Music" type="AudioStreamPlayer2D" parent="Audio"] +[node name="Background Music Ramp up" type="AudioStreamPlayer2D" parent="Audio"] position = Vector2(4002, 2030) stream = SubResource("AudioStreamPlaylist_ceriq") -volume_db = -15.0 autoplay = true max_distance = 1e+06 +bus = &"Music" +area_mask = 33 playback_type = 1 +script = ExtResource("42_1nkjm") + +[node name="Background Music loop" type="AudioStreamPlayer2D" parent="Audio"] +position = Vector2(4002, 2030) +stream = ExtResource("37_8ey8m") +max_distance = 1e+06 +bus = &"Music" +area_mask = 33 +playback_type = 1 +script = ExtResource("42_1nkjm") [node name="SFX" type="Node" parent="Audio"] @@ -1069,6 +1080,7 @@ script = ExtResource("40_w3jkj") [connection signal="FieldCreated" from="YSorted/Farm visuals/FieldParent" to="Audio/SFX/Farming SFX" method="PlayOneShot"] [connection signal="mouse_entered" from="YSorted/Farm visuals/FieldParent/Area2D" to="YSorted/Farm visuals/FieldParent" method="MouseEnteredAllowedArea"] [connection signal="mouse_exited" from="YSorted/Farm visuals/FieldParent/Area2D" to="YSorted/Farm visuals/FieldParent" method="MouseExitedAllowedArea"] +[connection signal="finished" from="Audio/Background Music Ramp up" to="Audio/Background Music loop" method="PlayFromOffset"] [editable path="YSorted/Vesna"] [editable path="YSorted/BrĂ¼nnen/InteractionArea"] diff --git a/scripts/CSharp/Common/Audio/AudioDebugger.cs b/scripts/CSharp/Common/Audio/AudioDebugger.cs new file mode 100644 index 0000000..76e8bd7 --- /dev/null +++ b/scripts/CSharp/Common/Audio/AudioDebugger.cs @@ -0,0 +1,15 @@ +using Godot; +using System; + +/// +/// Takes the current contents of a AudioStreamPlayer and offers visualization and control. +/// +public partial class AudioDebugger : AudioStreamPlayer2D +{ + [Export] private float _offset_in_seconds_to_play = 0; + + public void PlayFromOffset() + { + Play(_offset_in_seconds_to_play); + } +} diff --git a/scripts/CSharp/Common/Audio/AudioDebugger.cs.uid b/scripts/CSharp/Common/Audio/AudioDebugger.cs.uid new file mode 100644 index 0000000..9a47557 --- /dev/null +++ b/scripts/CSharp/Common/Audio/AudioDebugger.cs.uid @@ -0,0 +1 @@ +uid://clxb3n668oud3