今日
午前中.やはりEmacsでのProcessing環境構築.
結局processing-emacsの中身を変えて使う事に.
午後,3年生の課題発表.
夜,環境構築続き.
Linuxに関しては通常の.emacsに書く設定のみで実行可能.
(ここではprocessing-1.2-1でjavaを含んでいるパッケージを利用)
上記のサイトから落とせるprocessing-mode.elのを読み込み,.emacsを以下のようにする.
(autoload 'processing-mode "processing-mode" "Processing mode" t) (add-to-list 'auto-mode-alist '("\\.pde$" . processing-mode)) (setq processing-location "~/processing-1.2.1/")
ただし,配布している1.2.1のパッケージの実行ファイルでは,preferences.txtの場所指定は出来ないので,processingの中に入ってる/lib/preferences.txtを,libディレクトリごと,スケッチディレクトリの中に突っ込む必要がある.
OSXの場合,/Applications/以下にProcessing.appが配置されるので,processing-mode.elのパス指定部を以下のように編集する.
;(concat (file-name-as-directory processing-location) ; "java/bin/java -classpath \"" (concat "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Commands/java -classpath \"" (apply 'make-java-classpath (mapcar (lambda (x) (expand-file-name (concat processing-location x))) '( ;"java/lib/rt.jar" ;"java/lib/tools.jar" ;"lib/antlr.jar" "lib/core.jar" "Java/antlr.jar" "Java/core.jar" ;"lib/ecj.jar" "lib/jna.jar" "Java/ecj.jar" "Java/jna.jar" "Java/quaqua.jar" ;"lib/pde.jar"))) "Java/pde.jar"))) "\" processing.app.Commander" " --sketch=\"" (expand-file-name sketch-dir) "\" --output=\"" (expand-file-name output-dir) ;; Remove this comment when Processing implements the --preferences=??? command-line option. ;;"\" --preferences=\"" (expand-file-name "~/.processing/preferences.txt") "\" --" cmd (if (string= cmd "export-application") (concat " --platform=" (if platform platform (processing-platform))))))
Linuxと同様に,lib/preferences.txtをlibディレクトリごとスケッチディレクトリの中に突っ込んでおく.
また.emacsは以下のように.
(autoload 'processing-mode "processing-mode" "Processing mode" t) (add-to-list 'auto-mode-alist '("\\.pde$" . processing-mode)) (setq processing-location "/Applications/Processing.app/Contents/Resources/")
しかし残念ながら,CarbonEmacsではjavaが実行時にerror=13, Permission deniedを吐いてしまい,実行は不可能だった.
実行のキーバインドはC-c C-rで,この時にcompileメッセージが出てくるので,これをそのままターミナルに貼付けたら実行可能.OSXのjavaとCarbonEmacsの問題なんだろうな多分.
AppleScriptから無理矢理Processing IDEを呼び出す方法でも同じエラーだったし.
とりあえずLinuxでは普通に出来たし,OSXでもEmacsで編集,ターミナルでそのまま実行が可能になったので,ここで諦める.