芸術の存在意義「展」No.18、出品作品基本システム

2014年12月14日2014年, Key, グループ展, ブログjQuery, Linux, PC, PHP, Thinkpad, 作品制作

芸術の存在意義「展」No.18、出品作品基本システム。

PC:IBM Thinkpad T42
OS:Linux(ubuntu)
プリンタ:NEC PC-PR406m(パラレル接続)

なんでこんなレトロなマシンを使うかというと、、、
単純にお金をかけたくないということもありますが(ちなみにPC本体はヤフオクでHDD無しメモリ1.5GB 4000円!)、今回のシステムではこの程度のスペックで十分なのです。
しかもPC-PR406mは熱転写プリンタなので感熱ロール紙を使えばインク補充が不要です。このプリンタはパラレル接続なので、やはり古いPCでないと使えません。
さて動作は「C,D,E,F,G,A,B,1,2,3,4,0」の各キーを押すと、それぞれに対応した音階、「C,D,E,­F,G,A,B,C#,Eb,F#,G#,Bb」が1行ずつ印字されます。
通常プリンタは用紙のサイズで排紙されてしまうため、「1行」で止める工夫が必要になります。まずプリンター側の用紙サイズ検知センサーをテープで塞ぎ、無駄に排紙できないようにします。これでロール紙が使えるようになります。
その後OS側で色々試しますが、どうしてもA4サイズで排紙してしまいます、、、
色々試した結果、「generic text-only printer」ドライバに排紙処理を行わない設定があったので解決。
プログラムはかなり単純ですが、
ユーザーインターフェース:HTML+Javascript(JQuery)+CSS
データ処理:PHP
印字処理:CUPS+LPRコマンド
と様々な言語と機能を使用しています。
当初、入力途中でも10秒おきに印刷されてしまうので、扱いにくかったのですが、入力終了­後、一定時間経過後に印刷されるようにプログラムを少し改良しました。
キー入力が無くなり4~5秒後に印字するようにしてみました。
それともう一点、音階とは無関係のキーが押されても無視されます。