Upgrade to OPENRNDR 0.4 snapshot

This commit is contained in:
Edwin Jakobs
2021-06-22 11:08:07 +02:00
parent 579ddf9bb5
commit 9435907ef9
339 changed files with 460 additions and 497 deletions

View File

@@ -0,0 +1,29 @@
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)
}
}
}

View File

@@ -0,0 +1,56 @@
import mu.KotlinLogging
import org.openrndr.color.ColorRGBa
import org.openrndr.extra.osc.OSC
import java.awt.Color
import kotlin.reflect.KProperty
private val logger = KotlinLogging.logger {}
open class ChataigneOSC(
val osc: OSC
) {
inner class DoubleChannel(key: String) {
private var currentDouble = 0.0
init {
osc.listen(key) {
currentDouble = (it[0] as Float).toDouble()
}
}
operator fun getValue(thisRef: Any?, property: KProperty<*>): Double {
return currentDouble
}
}
inner class ColorChannel(key: String) {
private var currentColor = ColorRGBa.BLACK
init {
osc.listen(key) {
val red = it[0] as Float
val green = it[1] as Float
val blue = it[2] as Float
val alpha = it[3] as Float
currentColor = ColorRGBa(red.toDouble(), green.toDouble(), blue.toDouble(), alpha.toDouble())
}
}
operator fun getValue(thisRef: Any?, property: KProperty<*>): ColorRGBa {
return currentColor
}
}
fun update(seconds: Double) {
osc.send("/setTime", seconds.toFloat())
}
init {
logger.info {
"setup Chataigne with OSC ${osc.address} in:${osc.portIn} out:${osc.portOut}"
}
}
}