aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/phenax/extensions
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/phenax/extensions')
-rw-r--r--src/main/kotlin/phenax/extensions/CameraManager.kt4
-rw-r--r--src/main/kotlin/phenax/extensions/HeadlessRecording.kt53
2 files changed, 2 insertions, 55 deletions
diff --git a/src/main/kotlin/phenax/extensions/CameraManager.kt b/src/main/kotlin/phenax/extensions/CameraManager.kt
index 5112332..1f03493 100644
--- a/src/main/kotlin/phenax/extensions/CameraManager.kt
+++ b/src/main/kotlin/phenax/extensions/CameraManager.kt
@@ -35,7 +35,7 @@ class CameraManager(public var cameraPosition: Vector3, public var cameraRotatio
}
override fun setup(program: Program) {
- if (recordingEnabled || screenshotEnabled) return
+ if (captureEnabled) return
cameraQuaternion = Quaternion.fromAngles(cameraRotation.x, cameraRotation.y, cameraRotation.z)
@@ -99,7 +99,7 @@ class CameraManager(public var cameraPosition: Vector3, public var cameraRotatio
override fun beforeDraw(drawer: Drawer, program: Program) {}
override fun afterDraw(drawer: Drawer, program: Program) {
- if (recordingEnabled || screenshotEnabled) return
+ if (captureEnabled) return
drawer.fontMap = font
drawer.fill = ColorRGBa.WHITE
diff --git a/src/main/kotlin/phenax/extensions/HeadlessRecording.kt b/src/main/kotlin/phenax/extensions/HeadlessRecording.kt
deleted file mode 100644
index 78cde2c..0000000
--- a/src/main/kotlin/phenax/extensions/HeadlessRecording.kt
+++ /dev/null
@@ -1,53 +0,0 @@
-package phenax.extensions
-
-import org.openrndr.*
-import org.openrndr.draw.*
-import org.openrndr.ffmpeg.VideoWriter
-import phenax.utils.recordDuration
-
-class HeadlessRecorder : Extension {
- override var enabled: Boolean = true
-
- var videoTarget: RenderTarget? = null
- var videoWriter: VideoWriter? = null
- var maxFrameCount: Int? = null
-
- override fun setup(program: Program) {
- val width = program.application.configuration.width
- val height = program.application.configuration.height
- program.width = width
- program.height = height
- videoWriter =
- VideoWriter().apply {
- frameRate = 60
- size(width, height)
- output("video/${program.name}.mp4")
- start()
- }
- videoTarget =
- renderTarget(width, height) {
- colorBuffer()
- depthBuffer()
- }
- maxFrameCount = recordDuration()
- program.clock = { program.frameCount / (videoWriter?.frameRate?.toDouble() ?: 0.0) }
- }
-
- override fun beforeDraw(drawer: Drawer, program: Program) {
- videoTarget?.bind()
- program.backgroundColor?.let { drawer.clear(it) }
- }
-
- override fun afterDraw(drawer: Drawer, program: Program) {
- val target = videoTarget ?: return
- val writer = videoWriter ?: return
-
- target.unbind()
- writer.frame(target.colorBuffer(0))
-
- if (program.frameCount >= (maxFrameCount ?: 60 * 10)) {
- writer.stop()
- program.application.exit()
- }
- }
-}