import org.openrndr.application import org.openrndr.color.ColorRGBa import org.openrndr.extra.osc.OSC fun main() = application { configure { width = 500 height = 500 } /* Find the Chataigne example project in /resources */ class SceneVariables : ChataigneOSC(OSC(portIn = 9005, portOut = 12001)) { val myRadius: Double by DoubleChannel("/myRadius") val myOpacity: Double by DoubleChannel("/myOpacity") val myColor: ColorRGBa by ColorChannel("/myColor") } program { val animation = SceneVariables() extend { animation.update(seconds) drawer.fill = animation.myColor.opacify(animation.myOpacity) drawer.circle(width/2.0, height/2.0, animation.myRadius * 250) } } }