Merge pull request #33 from reinvdwoerd/master

Added the option to choose a specific server server / application to SyphonClient
This commit is contained in:
Edwin Jakobs
2020-02-26 18:03:11 +01:00
committed by GitHub
6 changed files with 43 additions and 6 deletions

View File

@@ -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

View File

@@ -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()
}
}

View 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)
}
}
}

View File

@@ -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)
}
}
}

View File

@@ -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))
}
}