aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/phenax/extensions/HeadlessScreenshot.kt
blob: 35de05d4eeca353028447c49ee26923d707b8d63 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package phenax.extensions

import org.openrndr.*
import org.openrndr.draw.*
import org.openrndr.extensions.SingleScreenshot
import org.openrndr.ffmpeg.VideoWriter

class HeadlessScreenshot : Extension {
  override var enabled: Boolean = true

  var screenshots: SingleScreenshot? = null
  var videoWriter: VideoWriter? = null
  var maxFrameCount: Int? = null

  override fun setup(program: Program) {
    val scr = SingleScreenshot()
    screenshots = scr
    program.extend(scr) {
      outputFile = "screenshot/${program.name}.png"
    }
  }

  override fun beforeDraw(drawer: Drawer, program: Program) {}

  override fun afterDraw(drawer: Drawer, program: Program) {
    screenshots?.trigger()

    // program.application.exit()
  }
}