2008-03-01から1ヶ月間の記事一覧

Unit - Winamp と CD プレイヤーの共存

MzScheme の FFI 機能を利用して、REPL 上で動く CD プレイヤーを作ることにしました。Meadow の例 でコマンドの作り方は分かっていたので簡単です。ただ、前回作った Winamp プレイヤーと play や stop などのコマンド名が被りそうなのが少々問題でした。も…

FFI: 外部ライブラリ関数の呼び出し

MzScheme では (MzScheme に限りませんが)、外部ライブラリの API 関数を呼び出す FFI (Foreign Function Interface) という仕組みが提供されています。今回は、zip ファイルを解凍するプログラムと、Winamp を REPL で制御する例をご紹介します。 UNZIP dll…

Progress Char

よくプログラムの作業中、ユーザーを待たせる間に、回転するカーソルが表示されることがありますよね?それを作ってみました。 (define (progress) (define chars '(#\| #\/ #\- #\\)) (define (loop l) (if (null? l) (loop chars) (begin (ticker (car l))…

Scheme でつくるプロキシ・サーバー

私は Winamp という mp3 プレイヤーを愛用しています。特に、ウェブ上の mp3 ファイルをストリーミングのようにイン・メモリーで再生できるのが便利で (キャッシュファイルを作りません)、ポッドキャストなどはダウンロードせず直接 URL を入力して聴くこと…