From a2901aec3ab63d3edeffbd587f166eaf56a5f728 Mon Sep 17 00:00:00 2001 From: Holly Date: Thu, 24 Apr 2025 21:27:10 +0100 Subject: [PATCH] convert to addon --- addons/godot-sstv/godot-sstv.gd | 12 ++++++ addons/godot-sstv/godot-sstv.gd.uid | 1 + addons/godot-sstv/plugin.cfg | 7 ++++ {src => addons/godot-sstv/src}/Encoder.gd | 0 {src => addons/godot-sstv/src}/Encoder.gd.uid | 0 {src => addons/godot-sstv/src}/Martin1.gd | 0 {src => addons/godot-sstv/src}/Martin1.gd.uid | 0 {src => addons/godot-sstv/src}/RobotBW8.gd | 0 .../godot-sstv/src}/RobotBW8.gd.uid | 0 .../godot-sstv/tests}/checker.png | Bin .../godot-sstv/tests}/checker.png.import | 6 +-- .../godot-sstv/tests/node_3d.gd | 18 ++++----- .../godot-sstv/tests/node_3d.gd.uid | 0 .../godot-sstv/tests/node_3d.tscn | 2 +- {tests => addons/godot-sstv/tests}/spiral.png | Bin .../godot-sstv/tests}/spiral.png.import | 6 +-- .../godot-sstv/tests}/testtest.png | Bin .../godot-sstv/tests}/testtest.png.import | 6 +-- .../godot-sstv/tests}/testtest2.png | Bin .../godot-sstv/tests}/testtest2.png.import | 6 +-- .../godot-sstv/tests}/testtest3.png | Bin .../godot-sstv/tests}/testtest3.png.import | 6 +-- icon.svg | 1 - icon.svg.import | 37 ------------------ project.godot | 5 ++- 25 files changed, 49 insertions(+), 64 deletions(-) create mode 100644 addons/godot-sstv/godot-sstv.gd create mode 100644 addons/godot-sstv/godot-sstv.gd.uid create mode 100644 addons/godot-sstv/plugin.cfg rename {src => addons/godot-sstv/src}/Encoder.gd (100%) rename {src => addons/godot-sstv/src}/Encoder.gd.uid (100%) rename {src => addons/godot-sstv/src}/Martin1.gd (100%) rename {src => addons/godot-sstv/src}/Martin1.gd.uid (100%) rename {src => addons/godot-sstv/src}/RobotBW8.gd (100%) rename {src => addons/godot-sstv/src}/RobotBW8.gd.uid (100%) rename {tests => addons/godot-sstv/tests}/checker.png (100%) rename {tests => addons/godot-sstv/tests}/checker.png.import (71%) rename node_3d.gd => addons/godot-sstv/tests/node_3d.gd (63%) rename node_3d.gd.uid => addons/godot-sstv/tests/node_3d.gd.uid (100%) rename node_3d.tscn => addons/godot-sstv/tests/node_3d.tscn (97%) rename {tests => addons/godot-sstv/tests}/spiral.png (100%) rename {tests => addons/godot-sstv/tests}/spiral.png.import (71%) rename {tests => addons/godot-sstv/tests}/testtest.png (100%) rename {tests => addons/godot-sstv/tests}/testtest.png.import (71%) rename {tests => addons/godot-sstv/tests}/testtest2.png (100%) rename {tests => addons/godot-sstv/tests}/testtest2.png.import (70%) rename {tests => addons/godot-sstv/tests}/testtest3.png (100%) rename {tests => addons/godot-sstv/tests}/testtest3.png.import (70%) delete mode 100644 icon.svg delete mode 100644 icon.svg.import diff --git a/addons/godot-sstv/godot-sstv.gd b/addons/godot-sstv/godot-sstv.gd new file mode 100644 index 0000000..aa1b8e0 --- /dev/null +++ b/addons/godot-sstv/godot-sstv.gd @@ -0,0 +1,12 @@ +@tool +extends EditorPlugin + + +func _enter_tree() -> void: + # Initialization of the plugin goes here. + pass + + +func _exit_tree() -> void: + # Clean-up of the plugin goes here. + pass diff --git a/addons/godot-sstv/godot-sstv.gd.uid b/addons/godot-sstv/godot-sstv.gd.uid new file mode 100644 index 0000000..02bbbd9 --- /dev/null +++ b/addons/godot-sstv/godot-sstv.gd.uid @@ -0,0 +1 @@ +uid://xinsvbtaafwk diff --git a/addons/godot-sstv/plugin.cfg b/addons/godot-sstv/plugin.cfg new file mode 100644 index 0000000..f972e4e --- /dev/null +++ b/addons/godot-sstv/plugin.cfg @@ -0,0 +1,7 @@ +[plugin] + +name="Godot SSTV" +description="A plugin that allows you to generate SSTV in your project." +author="tgpholly" +version="0.1.0" +script="godot-sstv.gd" diff --git a/src/Encoder.gd b/addons/godot-sstv/src/Encoder.gd similarity index 100% rename from src/Encoder.gd rename to addons/godot-sstv/src/Encoder.gd diff --git a/src/Encoder.gd.uid b/addons/godot-sstv/src/Encoder.gd.uid similarity index 100% rename from src/Encoder.gd.uid rename to addons/godot-sstv/src/Encoder.gd.uid diff --git a/src/Martin1.gd b/addons/godot-sstv/src/Martin1.gd similarity index 100% rename from src/Martin1.gd rename to addons/godot-sstv/src/Martin1.gd diff --git a/src/Martin1.gd.uid b/addons/godot-sstv/src/Martin1.gd.uid similarity index 100% rename from src/Martin1.gd.uid rename to addons/godot-sstv/src/Martin1.gd.uid diff --git a/src/RobotBW8.gd b/addons/godot-sstv/src/RobotBW8.gd similarity index 100% rename from src/RobotBW8.gd rename to addons/godot-sstv/src/RobotBW8.gd diff --git a/src/RobotBW8.gd.uid b/addons/godot-sstv/src/RobotBW8.gd.uid similarity index 100% rename from src/RobotBW8.gd.uid rename to addons/godot-sstv/src/RobotBW8.gd.uid diff --git a/tests/checker.png b/addons/godot-sstv/tests/checker.png similarity index 100% rename from tests/checker.png rename to addons/godot-sstv/tests/checker.png diff --git a/tests/checker.png.import b/addons/godot-sstv/tests/checker.png.import similarity index 71% rename from tests/checker.png.import rename to addons/godot-sstv/tests/checker.png.import index 87ca134..abf8c55 100644 --- a/tests/checker.png.import +++ b/addons/godot-sstv/tests/checker.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://doprjuugw7ga7" -path="res://.godot/imported/checker.png-92fa9be0ae7ebdef80a2df49e06c564e.ctex" +path="res://.godot/imported/checker.png-61e4037b29eb0c32a72983d949d6df28.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://tests/checker.png" -dest_files=["res://.godot/imported/checker.png-92fa9be0ae7ebdef80a2df49e06c564e.ctex"] +source_file="res://addons/godot-sstv/tests/checker.png" +dest_files=["res://.godot/imported/checker.png-61e4037b29eb0c32a72983d949d6df28.ctex"] [params] diff --git a/node_3d.gd b/addons/godot-sstv/tests/node_3d.gd similarity index 63% rename from node_3d.gd rename to addons/godot-sstv/tests/node_3d.gd index edd0cae..6c3c55b 100644 --- a/node_3d.gd +++ b/addons/godot-sstv/tests/node_3d.gd @@ -1,8 +1,8 @@ extends Node3D func encode_sstv(): - #var encoder = Martin1.new() - var encoder = RobotBW8.new() + var encoder = Martin1.new() + #var encoder = RobotBW8.new() var cameraImage = get_viewport().get_texture().get_image() #var cameraImage = load("res://tests/checker.png").get_image() #var cameraImage = load("res://tests/spiral.png").get_image() @@ -10,15 +10,15 @@ func encode_sstv(): #var cameraImage = load("res://tests/testtest2.png").get_image() #var cameraImage = load("res://tests/testtest3.png").get_image() var audioBuffer = encoder.EncodeSSTV(cameraImage, false) - encoder.SaveAsWav("res://../sstv.wav") + #encoder.SaveAsWav("res://../sstv.wav") # Spew that audio yo. - #$AudioStreamPlayer.stream.mix_rate = SSTVEncoder.SAMPLE_RATE - #$AudioStreamPlayer.stream.buffer_length = 120 - #$AudioStreamPlayer.play() - #var player = $AudioStreamPlayer.get_stream_playback() - #for i in range(0, audioBuffer.size()): - #player.push_frame(Vector2(audioBuffer[i], audioBuffer[i])) + $AudioStreamPlayer.stream.mix_rate = SSTVEncoder.SAMPLE_RATE + $AudioStreamPlayer.stream.buffer_length = 120 + $AudioStreamPlayer.play() + var player = $AudioStreamPlayer.get_stream_playback() + for i in range(0, audioBuffer.size()): + player.push_frame(Vector2(audioBuffer[i], audioBuffer[i])) # a lil hacky delay so sdfgi can settle lol. var startTimer = 0 diff --git a/node_3d.gd.uid b/addons/godot-sstv/tests/node_3d.gd.uid similarity index 100% rename from node_3d.gd.uid rename to addons/godot-sstv/tests/node_3d.gd.uid diff --git a/node_3d.tscn b/addons/godot-sstv/tests/node_3d.tscn similarity index 97% rename from node_3d.tscn rename to addons/godot-sstv/tests/node_3d.tscn index 8aabbae..67c3e80 100644 --- a/node_3d.tscn +++ b/addons/godot-sstv/tests/node_3d.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=8 format=3 uid="uid://dt230shblncgx"] -[ext_resource type="Script" uid="uid://bx4xg8k3m1wos" path="res://node_3d.gd" id="1_a202f"] +[ext_resource type="Script" uid="uid://bx4xg8k3m1wos" path="res://addons/godot-sstv/tests/node_3d.gd" id="1_a202f"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_a202f"] diff --git a/tests/spiral.png b/addons/godot-sstv/tests/spiral.png similarity index 100% rename from tests/spiral.png rename to addons/godot-sstv/tests/spiral.png diff --git a/tests/spiral.png.import b/addons/godot-sstv/tests/spiral.png.import similarity index 71% rename from tests/spiral.png.import rename to addons/godot-sstv/tests/spiral.png.import index 9504a8d..91193c2 100644 --- a/tests/spiral.png.import +++ b/addons/godot-sstv/tests/spiral.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://c7ayqic8e3l60" -path="res://.godot/imported/spiral.png-22b5746c0fb32849d6990602fdefbcc8.ctex" +path="res://.godot/imported/spiral.png-517cd1ba00a0fd1b4b06a3657d7aa467.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://tests/spiral.png" -dest_files=["res://.godot/imported/spiral.png-22b5746c0fb32849d6990602fdefbcc8.ctex"] +source_file="res://addons/godot-sstv/tests/spiral.png" +dest_files=["res://.godot/imported/spiral.png-517cd1ba00a0fd1b4b06a3657d7aa467.ctex"] [params] diff --git a/tests/testtest.png b/addons/godot-sstv/tests/testtest.png similarity index 100% rename from tests/testtest.png rename to addons/godot-sstv/tests/testtest.png diff --git a/tests/testtest.png.import b/addons/godot-sstv/tests/testtest.png.import similarity index 71% rename from tests/testtest.png.import rename to addons/godot-sstv/tests/testtest.png.import index 9b3f71a..f6b3510 100644 --- a/tests/testtest.png.import +++ b/addons/godot-sstv/tests/testtest.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://b44c511u6oile" -path="res://.godot/imported/testtest.png-5867611cf1f138e6707d303cad402dab.ctex" +path="res://.godot/imported/testtest.png-53e8a4b15b30c59462dbaaacad53b832.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://tests/testtest.png" -dest_files=["res://.godot/imported/testtest.png-5867611cf1f138e6707d303cad402dab.ctex"] +source_file="res://addons/godot-sstv/tests/testtest.png" +dest_files=["res://.godot/imported/testtest.png-53e8a4b15b30c59462dbaaacad53b832.ctex"] [params] diff --git a/tests/testtest2.png b/addons/godot-sstv/tests/testtest2.png similarity index 100% rename from tests/testtest2.png rename to addons/godot-sstv/tests/testtest2.png diff --git a/tests/testtest2.png.import b/addons/godot-sstv/tests/testtest2.png.import similarity index 70% rename from tests/testtest2.png.import rename to addons/godot-sstv/tests/testtest2.png.import index 33b599a..615d16a 100644 --- a/tests/testtest2.png.import +++ b/addons/godot-sstv/tests/testtest2.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://t5rtcbk8u7yo" -path="res://.godot/imported/testtest2.png-e9060202f6a513b94a63dcc46f5ebdaf.ctex" +path="res://.godot/imported/testtest2.png-602ec7d716183786be501e15fe0a5979.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://tests/testtest2.png" -dest_files=["res://.godot/imported/testtest2.png-e9060202f6a513b94a63dcc46f5ebdaf.ctex"] +source_file="res://addons/godot-sstv/tests/testtest2.png" +dest_files=["res://.godot/imported/testtest2.png-602ec7d716183786be501e15fe0a5979.ctex"] [params] diff --git a/tests/testtest3.png b/addons/godot-sstv/tests/testtest3.png similarity index 100% rename from tests/testtest3.png rename to addons/godot-sstv/tests/testtest3.png diff --git a/tests/testtest3.png.import b/addons/godot-sstv/tests/testtest3.png.import similarity index 70% rename from tests/testtest3.png.import rename to addons/godot-sstv/tests/testtest3.png.import index 0a23f37..3787a64 100644 --- a/tests/testtest3.png.import +++ b/addons/godot-sstv/tests/testtest3.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://cqyo3c1lqmrf5" -path="res://.godot/imported/testtest3.png-5bfd47758621c96c5da213ca5fc277aa.ctex" +path="res://.godot/imported/testtest3.png-d35b5c59a1d9fa6f638ef1743c65ce4b.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://tests/testtest3.png" -dest_files=["res://.godot/imported/testtest3.png-5bfd47758621c96c5da213ca5fc277aa.ctex"] +source_file="res://addons/godot-sstv/tests/testtest3.png" +dest_files=["res://.godot/imported/testtest3.png-d35b5c59a1d9fa6f638ef1743c65ce4b.ctex"] [params] diff --git a/icon.svg b/icon.svg deleted file mode 100644 index 9d8b7fa..0000000 --- a/icon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icon.svg.import b/icon.svg.import deleted file mode 100644 index 3329385..0000000 --- a/icon.svg.import +++ /dev/null @@ -1,37 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://ditahryq1qbup" -path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://icon.svg" -dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 -svg/scale=1.0 -editor/scale_with_editor_scale=false -editor/convert_colors_with_editor_theme=false diff --git a/project.godot b/project.godot index 241f5fa..14f0461 100644 --- a/project.godot +++ b/project.godot @@ -13,4 +13,7 @@ config_version=5 config/name="SSTV" run/main_scene="uid://dt230shblncgx" config/features=PackedStringArray("4.4", "Forward Plus") -config/icon="res://icon.svg" + +[editor_plugins] + +enabled=PackedStringArray("res://addons/godot-sstv/plugin.cfg")