mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-01 08:45:33 +00:00
Music visualizer resource
This commit is contained in:
parent
34ed3bbc9a
commit
e8b884f54b
10 changed files with 82 additions and 19 deletions
12
Resources/Music/No_Reason.tres
Normal file
12
Resources/Music/No_Reason.tres
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
[gd_resource type="Resource" script_class="MusicResource" load_steps=3 format=3 uid="uid://byo74ews118nl"]
|
||||
|
||||
[ext_resource type="AudioStream" uid="uid://di416g5wgx6j0" path="res://Music/Title.mp3" id="1_u5qon"]
|
||||
[ext_resource type="Script" uid="uid://cx63lvsuj1787" path="res://Scripts/Resources/MusicResource.cs" id="1_xdwi3"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_xdwi3")
|
||||
TrackName = "No Reason"
|
||||
AuthorName = "Fenekhu"
|
||||
ShowAuthor = false
|
||||
Track = ExtResource("1_u5qon")
|
||||
metadata/_custom_type_script = "uid://cx63lvsuj1787"
|
||||
12
Resources/Music/No_Restraint.tres
Normal file
12
Resources/Music/No_Restraint.tres
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
[gd_resource type="Resource" script_class="MusicResource" load_steps=3 format=3 uid="uid://b0aryixgv2vkj"]
|
||||
|
||||
[ext_resource type="AudioStream" uid="uid://7fo2dxosnjk4" path="res://Music/Intro.mp3" id="1_d4uiy"]
|
||||
[ext_resource type="Script" uid="uid://cx63lvsuj1787" path="res://Scripts/Resources/MusicResource.cs" id="2_f2m3a"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_f2m3a")
|
||||
TrackName = "No Restraint"
|
||||
AuthorName = "Fenekhu"
|
||||
ShowAuthor = false
|
||||
Track = ExtResource("1_d4uiy")
|
||||
metadata/_custom_type_script = "uid://cx63lvsuj1787"
|
||||
10
Resources/Music/Overtime_Fairy_Dance.tres
Normal file
10
Resources/Music/Overtime_Fairy_Dance.tres
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
[gd_resource type="Resource" script_class="MusicResource" load_steps=2 format=3 uid="uid://b0jpn0kkmciuq"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cx63lvsuj1787" path="res://Scripts/Resources/MusicResource.cs" id="1_ajy4g"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_ajy4g")
|
||||
TrackName = "An Overtime Fairy Dance"
|
||||
AuthorName = "Fenekhu"
|
||||
ShowAuthor = false
|
||||
metadata/_custom_type_script = "uid://cx63lvsuj1787"
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=31 format=3 uid="uid://oaxftu6lytvv"]
|
||||
[gd_scene load_steps=32 format=3 uid="uid://oaxftu6lytvv"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d1cxthcj2fc10" path="res://Scripts/UI/IntroScenePlayer.cs" id="1_jtu71"]
|
||||
[ext_resource type="Texture2D" uid="uid://4skj5ik6qpu4" path="res://Sprites/Briefing/Intro1small.png" id="2_6u3to"]
|
||||
|
|
@ -22,6 +22,7 @@
|
|||
[ext_resource type="Texture2D" uid="uid://xvadkvwajs0t" path="res://Sprites/UI/Crystal.png" id="19_paaiq"]
|
||||
[ext_resource type="PackedScene" uid="uid://b3tyacxxw88lx" path="res://Scenes/Utils/StreamPlayerWithName.tscn" id="20_8r24y"]
|
||||
[ext_resource type="AudioStream" uid="uid://7fo2dxosnjk4" path="res://Music/Intro.mp3" id="21_p86nr"]
|
||||
[ext_resource type="Resource" uid="uid://b0aryixgv2vkj" path="res://Resources/Music/No_Restraint.tres" id="23_vtao2"]
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_k5r5b"]
|
||||
colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 1)
|
||||
|
|
@ -608,4 +609,4 @@ libraries = {
|
|||
}
|
||||
|
||||
[node name="AudioStreamPlayer2D2" parent="." instance=ExtResource("20_8r24y")]
|
||||
TrackName = "Intro"
|
||||
MusicData = ExtResource("23_vtao2")
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=15 format=3 uid="uid://5xajclchk3my"]
|
||||
[gd_scene load_steps=16 format=3 uid="uid://5xajclchk3my"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dql102fvubniv" path="res://Scripts/MainMenu.cs" id="1_702nk"]
|
||||
[ext_resource type="PackedScene" uid="uid://c84shrj84g4t2" path="res://Scenes/HUD/MusicRoom.tscn" id="2_if7li"]
|
||||
|
|
@ -12,6 +12,7 @@
|
|||
[ext_resource type="StyleBox" uid="uid://ctw2hju32l3rg" path="res://Resources/Styles/PixelStyleBoxRed.tres" id="7_rrcx7"]
|
||||
[ext_resource type="PackedScene" uid="uid://b3tyacxxw88lx" path="res://Scenes/Utils/StreamPlayerWithName.tscn" id="8_koqhg"]
|
||||
[ext_resource type="PackedScene" uid="uid://bemu3l6b1e84y" path="res://Scenes/HUD/debug_menu.tscn" id="9_nwlsr"]
|
||||
[ext_resource type="Resource" uid="uid://byo74ews118nl" path="res://Resources/Music/No_Reason.tres" id="13_fh7cp"]
|
||||
|
||||
[sub_resource type="Theme" id="Theme_c7h4d"]
|
||||
|
||||
|
|
@ -149,8 +150,7 @@ text = "Credits"
|
|||
[node name="AudioStreamPlayer2D" parent="." instance=ExtResource("8_koqhg")]
|
||||
stream = ExtResource("4_i6ku4")
|
||||
autoplay = true
|
||||
TrackName = "No Reason"
|
||||
AuthorName = "Fenekhu"
|
||||
MusicData = ExtResource("13_fh7cp")
|
||||
|
||||
[node name="SubMenuContainer" type="PanelContainer" parent="."]
|
||||
visible = false
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=119 format=4 uid="uid://bv451a8wgty4u"]
|
||||
[gd_scene load_steps=120 format=4 uid="uid://bv451a8wgty4u"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_8tmoj"]
|
||||
[ext_resource type="PackedScene" uid="uid://bghghp5ep4w2j" path="res://Scenes/player.tscn" id="2_8mh54"]
|
||||
|
|
@ -81,6 +81,7 @@
|
|||
[ext_resource type="PackedScene" uid="uid://dfat0erkvb513" path="res://Scenes/Actors/Fairy_New.tscn" id="73_s4x1s"]
|
||||
[ext_resource type="PackedScene" uid="uid://c21m7w5ahpsd0" path="res://Scenes/Activable/Shroud.tscn" id="74_oaf68"]
|
||||
[ext_resource type="PackedScene" uid="uid://b3tyacxxw88lx" path="res://Scenes/Utils/StreamPlayerWithName.tscn" id="77_yot54"]
|
||||
[ext_resource type="Resource" uid="uid://b0jpn0kkmciuq" path="res://Resources/Music/Overtime_Fairy_Dance.tres" id="82_ksslq"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_6sau4"]
|
||||
script = ExtResource("7_l32kg")
|
||||
|
|
@ -1174,5 +1175,4 @@ position = Vector2(-1080, -399)
|
|||
[node name="AudioStreamPlayer2D" parent="." instance=ExtResource("77_yot54")]
|
||||
process_mode = 3
|
||||
autoplay = true
|
||||
TrackName = "Level 1"
|
||||
AuthorName = "Nobody"
|
||||
MusicData = ExtResource("82_ksslq")
|
||||
|
|
|
|||
20
Scripts/Resources/MusicResource.cs
Normal file
20
Scripts/Resources/MusicResource.cs
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
using System;
|
||||
using Godot;
|
||||
|
||||
namespace Cirno.Scripts.Resources;
|
||||
|
||||
[GlobalClass]
|
||||
public partial class MusicResource : Resource
|
||||
{
|
||||
[Export]
|
||||
public string TrackName { get; set; }
|
||||
|
||||
[Export]
|
||||
public string AuthorName { get; set; }
|
||||
|
||||
[Export]
|
||||
public bool ShowAuthor { get; set; }
|
||||
|
||||
[Export]
|
||||
public AudioStream Track { get; set; }
|
||||
}
|
||||
1
Scripts/Resources/MusicResource.cs.uid
Normal file
1
Scripts/Resources/MusicResource.cs.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://cx63lvsuj1787
|
||||
|
|
@ -6,23 +6,21 @@ using GTweens.Builders;
|
|||
using GTweens.Easings;
|
||||
using GTweens.Tweens;
|
||||
using GTweensGodot.Extensions;
|
||||
using Cirno.Scripts.Resources;
|
||||
|
||||
public partial class AudioNameVisualizer : AudioStreamPlayer2D
|
||||
{
|
||||
[Export]
|
||||
public string TrackName { get; private set; }
|
||||
|
||||
[Export]
|
||||
public string AuthorName { get; private set; }
|
||||
public MusicResource MusicData { get; private set; }
|
||||
|
||||
[Export] public PackedScene CanvasTemplate;
|
||||
|
||||
|
||||
private MusicVisualizerCanvas _canvasLayer;
|
||||
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
Setup();
|
||||
|
||||
|
||||
if (Autoplay)
|
||||
{
|
||||
ShowName();
|
||||
|
|
@ -31,6 +29,11 @@ public partial class AudioNameVisualizer : AudioStreamPlayer2D
|
|||
|
||||
private void Setup()
|
||||
{
|
||||
if (MusicData?.Track is not null)
|
||||
{
|
||||
this.Stream = MusicData.Track;
|
||||
}
|
||||
|
||||
var existingCanvas = this.GetTree().Root.GetNodeOrNull<CanvasLayer>("AudioCanvas");
|
||||
|
||||
if (existingCanvas is null)
|
||||
|
|
@ -54,7 +57,11 @@ public partial class AudioNameVisualizer : AudioStreamPlayer2D
|
|||
|
||||
public void ShowName()
|
||||
{
|
||||
GD.Print("show name");
|
||||
_canvasLayer.ShowName(TrackName, AuthorName);
|
||||
if (MusicData is null)
|
||||
{
|
||||
GD.PushWarning("Music data was null");
|
||||
return;
|
||||
}
|
||||
_canvasLayer.ShowName(MusicData.TrackName, MusicData.ShowAuthor ? MusicData.AuthorName : null);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ public partial class MusicVisualizerCanvas : CanvasLayer
|
|||
|
||||
private void ResetLabel(string trackName, string authorName)
|
||||
{
|
||||
_nameLabel.Text = $"{trackName} ({authorName})";
|
||||
_nameLabel.Text = string.IsNullOrWhiteSpace(authorName) ? authorName : $"{trackName} ({authorName})";
|
||||
_nameLabel.SetAnchorsAndOffsetsPreset(Control.LayoutPreset.BottomRight, margin: 0);
|
||||
_nameLabel.Modulate = Colors.White;
|
||||
_nameLabel.Hide();
|
||||
|
|
@ -30,7 +30,7 @@ public partial class MusicVisualizerCanvas : CanvasLayer
|
|||
//_tween?.Complete();
|
||||
ResetLabel(trackName, authorName);
|
||||
_nameLabel.Show();
|
||||
|
||||
|
||||
_tween = GTweenSequenceBuilder.New()
|
||||
.Append(_nameLabel.TweenPositionX(_nameLabel.Position.X + 32, 0f)) // Add offset
|
||||
.Join(_nameLabel.TweenModulateAlpha(0, 0f)) // Invisibilify
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue