godot-artnet/scripts/dmx_color.gd

42 lines
1 KiB
GDScript

extends Node2D
@export var artnet:Node
@export_range(0,255,1) var master = 255
@export_range(0,1,0.01) var q = 1.0
@export_range(1,512,1) var channel_offset=1
var colormix=[
[1.0,0,0], #red
[0,1.0,0], #green
[0,0,1.0], #blue
[1.0,1.0,1.0], #white
[1.0,0.8,0], #amber
]
var colorchannels=[3,4,5,6,7] #same order as colormix
var values=[]
func _ready() -> void:
values.resize(colorchannels.size())
func _process(delta: float) -> void:
var rgb=[modulate.r,modulate.g,modulate.b]
#TODO, color mix
values.fill(0.0)
artnet.setDMXChannel(channel_offset-1+1,master) #master dimmer
artnet.setDMXChannel(channel_offset-1+2,0) #strobo
artnet.setDMXChannel(channel_offset-1+8,0) #macros
artnet.setDMXChannel(channel_offset-1+3,modulate.r*255) #red
artnet.setDMXChannel(channel_offset-1+4,modulate.g*255) #green
artnet.setDMXChannel(channel_offset-1+5,modulate.b*255) #blue
artnet.setDMXChannel(channel_offset-1+6,modulate.b*255) #white
artnet.setDMXChannel(channel_offset-1+7,modulate.b*255) #amber