initial commit
This commit is contained in:
commit
08c8f0a8e1
20 changed files with 1744 additions and 0 deletions
21
addons/godot-git-plugin/LICENSE
Normal file
21
addons/godot-git-plugin/LICENSE
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2016-2023 The Godot Engine community
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
1349
addons/godot-git-plugin/THIRDPARTY.md
Normal file
1349
addons/godot-git-plugin/THIRDPARTY.md
Normal file
File diff suppressed because it is too large
Load diff
12
addons/godot-git-plugin/git_plugin.gdextension
Normal file
12
addons/godot-git-plugin/git_plugin.gdextension
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
[configuration]
|
||||||
|
|
||||||
|
entry_symbol = "git_plugin_init"
|
||||||
|
compatibility_minimum = "4.1.0"
|
||||||
|
|
||||||
|
[libraries]
|
||||||
|
|
||||||
|
macos.editor = "macos/libgit_plugin.macos.editor.universal.dylib"
|
||||||
|
windows.editor.x86_64 = "win64/libgit_plugin.windows.editor.x86_64.dll"
|
||||||
|
linux.editor.x86_64 = "linux/libgit_plugin.linux.editor.x86_64.so"
|
||||||
|
linux.editor.arm64 = "linux/libgit_plugin.linux.editor.arm64.so"
|
||||||
|
linux.editor.rv64 = ""
|
||||||
Binary file not shown.
Binary file not shown.
7
addons/godot-git-plugin/plugin.cfg
Normal file
7
addons/godot-git-plugin/plugin.cfg
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
[plugin]
|
||||||
|
|
||||||
|
name="Godot Git Plugin"
|
||||||
|
description="This plugin lets you interact with Git without leaving the Godot editor. More information can be found at https://github.com/godotengine/godot-git-plugin/wiki"
|
||||||
|
author="twaritwaikar"
|
||||||
|
version="v3.1.0"
|
||||||
|
script="godot-git-plugin.gd"
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
art/bark.PNG
Normal file
BIN
art/bark.PNG
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 36 KiB |
34
art/bark.PNG.import
Normal file
34
art/bark.PNG.import
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://f8ibqo4nbqqk"
|
||||||
|
path="res://.godot/imported/bark.PNG-bc14aad94e0c3226ca2eb15dd51470d1.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://art/bark.PNG"
|
||||||
|
dest_files=["res://.godot/imported/bark.PNG-bc14aad94e0c3226ca2eb15dd51470d1.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
|
||||||
BIN
art/turn.PNG
Normal file
BIN
art/turn.PNG
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 155 KiB |
34
art/turn.PNG.import
Normal file
34
art/turn.PNG.import
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://pa6jmogeid3x"
|
||||||
|
path="res://.godot/imported/turn.PNG-530bf963362bb2275b6df0cfd326f879.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://art/turn.PNG"
|
||||||
|
dest_files=["res://.godot/imported/turn.PNG-530bf963362bb2275b6df0cfd326f879.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
|
||||||
62
export_presets.cfg
Normal file
62
export_presets.cfg
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
[preset.0]
|
||||||
|
|
||||||
|
name="Windows Desktop"
|
||||||
|
platform="Windows Desktop"
|
||||||
|
runnable=true
|
||||||
|
dedicated_server=false
|
||||||
|
custom_features=""
|
||||||
|
export_filter="all_resources"
|
||||||
|
include_filter=""
|
||||||
|
exclude_filter=""
|
||||||
|
export_path="./spin_dog.exe"
|
||||||
|
encryption_include_filters=""
|
||||||
|
encryption_exclude_filters=""
|
||||||
|
encrypt_pck=false
|
||||||
|
encrypt_directory=false
|
||||||
|
|
||||||
|
[preset.0.options]
|
||||||
|
|
||||||
|
custom_template/debug=""
|
||||||
|
custom_template/release=""
|
||||||
|
debug/export_console_wrapper=1
|
||||||
|
binary_format/embed_pck=true
|
||||||
|
texture_format/bptc=true
|
||||||
|
texture_format/s3tc=true
|
||||||
|
texture_format/etc=false
|
||||||
|
texture_format/etc2=false
|
||||||
|
binary_format/architecture="x86_64"
|
||||||
|
codesign/enable=false
|
||||||
|
codesign/timestamp=true
|
||||||
|
codesign/timestamp_server_url=""
|
||||||
|
codesign/digest_algorithm=1
|
||||||
|
codesign/description=""
|
||||||
|
codesign/custom_options=PackedStringArray()
|
||||||
|
application/modify_resources=false
|
||||||
|
application/icon=""
|
||||||
|
application/console_wrapper_icon=""
|
||||||
|
application/icon_interpolation=4
|
||||||
|
application/file_version=""
|
||||||
|
application/product_version=""
|
||||||
|
application/company_name=""
|
||||||
|
application/product_name=""
|
||||||
|
application/file_description=""
|
||||||
|
application/copyright=""
|
||||||
|
application/trademarks=""
|
||||||
|
application/export_angle=0
|
||||||
|
ssh_remote_deploy/enabled=false
|
||||||
|
ssh_remote_deploy/host="user@host_ip"
|
||||||
|
ssh_remote_deploy/port="22"
|
||||||
|
ssh_remote_deploy/extra_args_ssh=""
|
||||||
|
ssh_remote_deploy/extra_args_scp=""
|
||||||
|
ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
|
||||||
|
$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
|
||||||
|
$trigger = New-ScheduledTaskTrigger -Once -At 00:00
|
||||||
|
$settings = New-ScheduledTaskSettingsSet
|
||||||
|
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
|
||||||
|
Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
|
||||||
|
Start-ScheduledTask -TaskName godot_remote_debug
|
||||||
|
while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
|
||||||
|
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
|
||||||
|
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
|
||||||
|
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
|
||||||
|
Remove-Item -Recurse -Force '{temp_dir}'"
|
||||||
1
icon.svg
Normal file
1
icon.svg
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
<svg height="128" width="128" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="2" width="124" height="124" rx="14" fill="#363d52" stroke="#212532" stroke-width="4"/><g transform="scale(.101) translate(122 122)"><g fill="#fff"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 813 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H447l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c3 34 55 34 58 0v-86c-3-34-55-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></g></svg>
|
||||||
|
After Width: | Height: | Size: 950 B |
37
icon.svg.import
Normal file
37
icon.svg.import
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://ddx23oisxrlux"
|
||||||
|
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
|
||||||
32
node_2d.gd
Normal file
32
node_2d.gd
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
extends Node2D
|
||||||
|
|
||||||
|
# https://docs.godotengine.org/en/stable/classes/class_inputeventmidi.html
|
||||||
|
# https://docs.godotengine.org/en/stable/classes/class_%40globalscope.html#enum-globalscope-midimessage
|
||||||
|
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
OS.open_midi_inputs()
|
||||||
|
print(OS.get_connected_midi_inputs())
|
||||||
|
|
||||||
|
|
||||||
|
func _unhandled_input(event):
|
||||||
|
if event is InputEventKey:
|
||||||
|
if event.keycode == KEY_ESCAPE:
|
||||||
|
get_tree().quit()
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(_delta):
|
||||||
|
|
||||||
|
# process inputs
|
||||||
|
if Input.is_action_pressed("quit"):
|
||||||
|
# exit the software
|
||||||
|
get_tree().quit()
|
||||||
|
if Input.is_action_pressed("left") or MIDIMessage.MIDI_MESSAGE_CONTROL_CHANGE == 1:
|
||||||
|
# trigger the left controller
|
||||||
|
print("left")
|
||||||
|
if Input.is_action_pressed("right") or MIDIMessage.MIDI_MESSAGE_CONTROL_CHANGE == 1:
|
||||||
|
# trigger the right controller
|
||||||
|
print("right")
|
||||||
|
right_turn
|
||||||
65
node_2d.tscn
Normal file
65
node_2d.tscn
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
[gd_scene load_steps=4 format=3 uid="uid://chynesmvg3dl5"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://pa6jmogeid3x" path="res://art/turn.PNG" id="1_58q2i"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://f8ibqo4nbqqk" path="res://art/bark.PNG" id="3_grsrk"]
|
||||||
|
|
||||||
|
[sub_resource type="GDScript" id="GDScript_grk35"]
|
||||||
|
script/source = "extends Node2D
|
||||||
|
|
||||||
|
# https://docs.godotengine.org/en/stable/classes/class_inputeventmidi.html
|
||||||
|
# https://docs.godotengine.org/en/stable/classes/class_%40globalscope.html#enum-globalscope-midimessage
|
||||||
|
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
OS.open_midi_inputs()
|
||||||
|
print(OS.get_connected_midi_inputs())
|
||||||
|
|
||||||
|
|
||||||
|
func _unhandled_input(event):
|
||||||
|
if event is InputEventKey:
|
||||||
|
if event.keycode == KEY_ESCAPE:
|
||||||
|
get_tree().quit()
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(_delta):
|
||||||
|
|
||||||
|
# process inputs
|
||||||
|
if Input.is_action_pressed(\"quit\"):
|
||||||
|
# exit the software
|
||||||
|
get_tree().quit()
|
||||||
|
if Input.is_action_pressed(\"left\") or MIDIMessage.MIDI_MESSAGE_CONTROL_CHANGE == 1:
|
||||||
|
# trigger the left controller
|
||||||
|
print(\"left\")
|
||||||
|
if Input.is_action_pressed(\"right\") or MIDIMessage.MIDI_MESSAGE_CONTROL_CHANGE == 1:
|
||||||
|
# trigger the right controller
|
||||||
|
print(\"right\")
|
||||||
|
"
|
||||||
|
|
||||||
|
[node name="Node2D" type="Node2D"]
|
||||||
|
script = SubResource("GDScript_grk35")
|
||||||
|
|
||||||
|
[node name="left_turn" type="Sprite2D" parent="."]
|
||||||
|
position = Vector2(270, 284)
|
||||||
|
scale = Vector2(0.22, 0.22)
|
||||||
|
texture = ExtResource("1_58q2i")
|
||||||
|
|
||||||
|
[node name="right_turn" type="Sprite2D" parent="."]
|
||||||
|
position = Vector2(1625, 269)
|
||||||
|
scale = Vector2(0.22, 0.22)
|
||||||
|
texture = ExtResource("1_58q2i")
|
||||||
|
script = SubResource("GDScript_grk35")
|
||||||
|
|
||||||
|
[node name="left_bark" type="Sprite2D" parent="."]
|
||||||
|
position = Vector2(137, 307)
|
||||||
|
rotation = -1.29154
|
||||||
|
scale = Vector2(0.5, 0.5)
|
||||||
|
texture = ExtResource("3_grsrk")
|
||||||
|
|
||||||
|
[node name="right_bark" type="Sprite2D" parent="."]
|
||||||
|
position = Vector2(1688, 342)
|
||||||
|
rotation = 4.43314
|
||||||
|
scale = Vector2(0.5, 0.5)
|
||||||
|
texture = ExtResource("3_grsrk")
|
||||||
|
flip_v = true
|
||||||
64
project.godot
Normal file
64
project.godot
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
; Engine configuration file.
|
||||||
|
; It's best edited using the editor UI and not directly,
|
||||||
|
; since the parameters that go here are not all obvious.
|
||||||
|
;
|
||||||
|
; Format:
|
||||||
|
; [section] ; section goes between []
|
||||||
|
; param=value ; assign values to parameters
|
||||||
|
|
||||||
|
config_version=5
|
||||||
|
|
||||||
|
[application]
|
||||||
|
|
||||||
|
config/name="caneen"
|
||||||
|
config/description="this is a WIP bork to show turntable controls on screen when playing spin rhythm xd on stream"
|
||||||
|
run/main_scene="res://node_2d.tscn"
|
||||||
|
config/features=PackedStringArray("4.2", "GL Compatibility")
|
||||||
|
run/max_fps=30
|
||||||
|
boot_splash/bg_color=Color(1, 0, 0, 1)
|
||||||
|
boot_splash/show_image=false
|
||||||
|
config/icon="res://icon.svg"
|
||||||
|
|
||||||
|
[display]
|
||||||
|
|
||||||
|
window/size/viewport_width=1900
|
||||||
|
window/size/viewport_height=540
|
||||||
|
window/size/resizable=false
|
||||||
|
window/size/no_focus=true
|
||||||
|
|
||||||
|
[editor]
|
||||||
|
|
||||||
|
version_control/plugin_name="GitPlugin"
|
||||||
|
version_control/autoload_on_startup=true
|
||||||
|
|
||||||
|
[importer_defaults]
|
||||||
|
|
||||||
|
animation_library={
|
||||||
|
"animation/fps": 30.0
|
||||||
|
}
|
||||||
|
|
||||||
|
[input]
|
||||||
|
|
||||||
|
left={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194328,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||||
|
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
right={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(99, 15),"global_position":Vector2(103, 56),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null)
|
||||||
|
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
quit={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
[rendering]
|
||||||
|
|
||||||
|
renderer/rendering_method="gl_compatibility"
|
||||||
|
renderer/rendering_method.mobile="gl_compatibility"
|
||||||
|
environment/defaults/default_clear_color=Color(1, 0, 0, 1)
|
||||||
26
test_midi.gd
Normal file
26
test_midi.gd
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
extends Node
|
||||||
|
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
OS.open_midi_inputs()
|
||||||
|
print(OS.get_connected_midi_inputs())
|
||||||
|
|
||||||
|
func _input(input_event):
|
||||||
|
if input_event is InputEventMIDI:
|
||||||
|
_print_midi_info(input_event)
|
||||||
|
|
||||||
|
func _print_midi_info(midi_event: InputEventMIDI):
|
||||||
|
print(midi_event)
|
||||||
|
print("Channel " + str(midi_event.channel))
|
||||||
|
print("Message " + str(midi_event.message))
|
||||||
|
print("Pitch " + str(midi_event.pitch))
|
||||||
|
print("Velocity " + str(midi_event.velocity))
|
||||||
|
print("Instrument " + str(midi_event.instrument))
|
||||||
|
print("Pressure " + str(midi_event.pressure))
|
||||||
|
print("Controller number: " + str(midi_event.controller_number))
|
||||||
|
print("Controller value: " + str(midi_event.controller_value))
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta):
|
||||||
|
pass
|
||||||
Loading…
Add table
Add a link
Reference in a new issue