# HG changeset patch # User Robert McIntyre # Date 1340574438 18000 # Node ID 8d3177d19d5f243b7f08cad3c4e068a7173b31f8 # Parent 945c7b500433099e250ff69963ab4417b78df7c8 added full recording function. diff -r 945c7b500433 -r 8d3177d19d5f .hgignore --- a/.hgignore Sun Jun 24 14:57:15 2012 -0500 +++ b/.hgignore Sun Jun 24 16:47:18 2012 -0500 @@ -17,3 +17,4 @@ java/.ant-targets-build.xml html/* java/lib/* +render/* \ No newline at end of file diff -r 945c7b500433 -r 8d3177d19d5f clojure/com/aurellem/run/final_cut.clj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/clojure/com/aurellem/run/final_cut.clj Sun Jun 24 16:47:18 2012 -0500 @@ -0,0 +1,53 @@ +(ns com.aurellem.run.final-cut + (:use (com.aurellem.gb saves gb-driver util constants + items vbm characters money + rlm-assembly)) + (:use (com.aurellem.run util sound music title save-corruption + bootstrap-0 bootstrap-1 + ram-display + )) + (:require clojure.string) + (:import [com.aurellem.gb.gb_driver SaveState]) + (:import java.awt.image.BufferedImage) + (:import java.io.File) + (:import com.aurellem.gb.WaveWriter)) + + +(def render-dir (File. user-home "proj/vba-clojure/render")) + +(defn render-files! + ([^File target-dir initial-state moves] + (let [ram-map-dir (File. target-dir "ram-map") + frames-dir (File. target-dir "frames") + audio-file (File. target-dir "audio.wav") + _ (.mkdirs ram-map-dir) + _ (.mkdirs frames-dir) + wave-writer (WaveWriter. audio-file) + moves (vec moves)] + (set-state! initial-state) + (dorun + (map + (fn [index] + (run-moves @current-state (vector (moves index))) + + ;; record audio + (.process wave-writer (sound-bytes) + gb-sound-format) + + ;; write screenshot + (write-png! + @current-state + (File. frames-dir (format "%07d.png" index))) + + ;; write ram-image + (write-ram-image! + @current-state + (File. ram-map-dir (format "%07d.png" index)))) + (range (count moves)))) + (.cleanup wave-writer))) + ([initial-state moves] + (render-files! render-dir initial-state moves)) + ([moves] + (render-files! (root) moves))) + + diff -r 945c7b500433 -r 8d3177d19d5f clojure/com/aurellem/run/sound.clj --- a/clojure/com/aurellem/run/sound.clj Sun Jun 24 14:57:15 2012 -0500 +++ b/clojure/com/aurellem/run/sound.clj Sun Jun 24 16:47:18 2012 -0500 @@ -8,7 +8,6 @@ (:import [com.aurellem.gb.gb_driver SaveState]) (:import java.awt.image.BufferedImage) (:import java.io.File) - (:import com.aurellem.gb.WaveWriter)) (defn sound-test []