Merge pull request #33 from reinvdwoerd/master
Added the option to choose a specific server server / application to SyphonClient
This commit is contained in:
@@ -23,6 +23,7 @@ A growing library of assorted data structures, algorithms and utilities.
|
||||
- [`orx-olive`](orx-olive/README.md), extensions that turns OPENRNDR in to a live coding environment
|
||||
- [`orx-osc`](orx-osc/README.md), open sound control interface
|
||||
- [`orx-palette`](orx-palette/README.md), manage color palettes
|
||||
- [`orx-syphon`](orx-syphon/README.md), send frames to- and from OPENRNDR and other applications in real time using Syphon
|
||||
- [`orx-temporal-blur`](orx-temporal-blur/README.md), temporal (motion) blur for video production.
|
||||
# Developer notes
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 662 KiB After Width: | Height: | Size: 743 KiB |
@@ -10,7 +10,7 @@ import org.openrndr.draw.*
|
||||
import org.openrndr.internal.gl3.ColorBufferGL3
|
||||
|
||||
|
||||
class SyphonClient: Extension {
|
||||
class SyphonClient(private val appName: String? = null, private val serverName: String? = null): Extension {
|
||||
override var enabled = true
|
||||
|
||||
private val client = JSyphonClient()
|
||||
@@ -18,7 +18,12 @@ class SyphonClient: Extension {
|
||||
|
||||
override fun setup(program: Program) {
|
||||
buffer = colorBuffer(program.width, program.height)
|
||||
|
||||
client.init()
|
||||
|
||||
// Choosing a different server
|
||||
if (appName != null) client.setApplicationName(appName)
|
||||
if (serverName != null) client.setServerName(serverName)
|
||||
}
|
||||
|
||||
override fun beforeDraw(drawer: Drawer, program: Program) {
|
||||
@@ -43,6 +48,10 @@ class SyphonClient: Extension {
|
||||
rectBuffer.copyTo(buffer)
|
||||
}
|
||||
}
|
||||
|
||||
override fun shutdown(program: Program) {
|
||||
client.stop()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
25
orx-syphon/src/test/kotlin/ClientExampleSpecificServer.kt
Normal file
25
orx-syphon/src/test/kotlin/ClientExampleSpecificServer.kt
Normal file
@@ -0,0 +1,25 @@
|
||||
import org.openrndr.application
|
||||
import org.openrndr.color.ColorRGBa
|
||||
import org.openrndr.extra.syphon.SyphonClient
|
||||
|
||||
/**
|
||||
* This example uses After Effects and OPENRNDR connected via Syphon
|
||||
*/
|
||||
fun main() = application {
|
||||
configure {
|
||||
// The maximum resolution supported by the free
|
||||
// version of AESyphon
|
||||
width = 1024
|
||||
height = 768
|
||||
}
|
||||
|
||||
program {
|
||||
val syphonClient = SyphonClient("Adobe After Effects", "Live Preview")
|
||||
|
||||
extend(syphonClient)
|
||||
extend {
|
||||
drawer.background(ColorRGBa.BLACK)
|
||||
drawer.image(syphonClient.buffer)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
import org.openrndr.application
|
||||
import org.openrndr.color.ColorRGBa
|
||||
import org.openrndr.extra.syphon.SyphonServer
|
||||
import kotlin.math.sin
|
||||
import kotlin.math.*
|
||||
|
||||
|
||||
fun main() = application {
|
||||
@@ -14,8 +14,9 @@ fun main() = application {
|
||||
extend(SyphonServer("Test"))
|
||||
|
||||
extend {
|
||||
drawer.background(ColorRGBa.RED)
|
||||
drawer.circle(width/2.0, height/2.0, sin(seconds) * width / 2.0)
|
||||
drawer.background(ColorRGBa.PINK)
|
||||
drawer.fill = ColorRGBa.WHITE
|
||||
drawer.circle(drawer.bounds.center, abs(cos(seconds)) * height * 0.5)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -28,8 +28,9 @@ fun main() = application {
|
||||
drawer.background(ColorRGBa(sin(seconds), cos(seconds / 2.0), 0.5, 1.0))
|
||||
}
|
||||
|
||||
drawer.background(ColorRGBa.GRAY)
|
||||
drawer.circle(width/2.0, height/2.0, sin(seconds) * width / 2.0)
|
||||
drawer.background(ColorRGBa.PINK)
|
||||
drawer.fill = ColorRGBa.WHITE
|
||||
drawer.circle(drawer.bounds.center, abs(cos(seconds)) * height * 0.5)
|
||||
drawer.image(rt.colorBuffer(0))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user