[orx-midi] Update README.md, demos and docstrings

This commit is contained in:
Edwin Jakobs
2023-04-29 09:51:45 +02:00
parent 0dae37c0d5
commit 0353b923e3
8 changed files with 115 additions and 33 deletions

View File

@@ -1,35 +1,39 @@
import org.openrndr.application
import org.openrndr.color.ColorRGBa
import org.openrndr.extra.midi.MidiTransceiver
import org.openrndr.extra.midi.bindMidiControl
import org.openrndr.extra.midi.openMidiDevice
import org.openrndr.extra.parameters.ColorParameter
import org.openrndr.extra.parameters.DoubleParameter
import org.openrndr.math.Vector2
/**
* Demonstration of two-way binding using [bindMidiControl]
*/
fun main() {
application {
program {
val midi = MidiTransceiver.fromDeviceVendor(this,"MIDI2x2 [hw:3,0,0]", "ALSA (http://www.alsa-project.org)")
val midi = openMidiDevice("MIDI2x2 [hw:3,0,0]")
val settings = object {
@DoubleParameter("radius", 0.0, 100.0)
var radius = 0.0
@DoubleParameter("x", -100.0, 100.0)
var x = 0.0
@DoubleParameter("y", -100.0, 100.0)
var y = 0.0
@ColorParameter("fill")
var color = ColorRGBa.WHITE
}
bindMidiControl(settings::radius, midi, 0, 1)
bindMidiControl(settings::x, midi, 0, 2)
bindMidiControl(settings::y, midi, 0, 3)
bindMidiControl(settings::color, midi, 0, 4)
extend {
drawer.fill = settings.color
drawer.fill = settings.color
drawer.circle(drawer.bounds.center + Vector2(settings.x, settings.y), settings.radius)
}
}