Daily Archive for June 16th, 2007

SocketReaderPatch 0.1

SocketReaderPatch

Mac OSX の Quartz Composer で、Socketから文字列を読み込んで後段に渡すGeneratorパッチ

を書きました。

晴れた土曜の勢いで書いたのでなにかとバグがあるかもしれませんが、プロトタイプを出すことがたいせつなので公開します。フィードバックいただけるとたいへん喜びます。

2007.06/16 20:34 追記

英語の説明文も追加。QuartzComposer CustomPatch Xcode template 配布サイトに感謝のコメントを残しておいた。

2007.06/16 22:50 追記

ScreenCast を追加しました。

ScreenCastには、 Making Free Screencasts on OS X を参考にして、vnc2swfを使いました。マウスカーソルはでないのだけど、フリーでScreenCastがつくれるのは著しく便利です。

swf → mpeg4 には、QuickTime Proをつかって。なぜかH.264ではエンコードできなかったのでMPEG-4。

SocketReaderPatch

SocketReaderPatch

SocketReaderPatch とは (What is SocketReaderPatch ?)

Mac OSX の Quartz Composer で、Socketから文字列を読み込んで後段に渡すGeneratorパッチです。


A Coustom Quartz Composer Patch that recieves strings from TCP Socket.

ダウンロード (Download)

インストール (Install)

/Library/Graphics/Patch に、SocketReaderPatch.plugin をコピーしてください。


Copy SocketReaderPatch.plugin into /Library/Graphics/Patch .

つかいかた (How to use)

QuartzComposerにて、左側の Patch Library から SocketReader を探します。 Search in Libraries に「Socket」などと入力すると絞り込まれるはず。

あとは、SocketReaderを右側に放り込んで、いろいろと遊びます。 デフォルトでは、ポート番号 12345 でSocketのlistenをしています。適当なクライアントを書いて、UTF-8な文字列をSocketに叩き込めば、QuartzComposerに文字列が入力されます。


Open QuartzComposer, find SocketReader from the Patch Library list (type “Socket” in Search in Libraries field to search it) .

Then drag SocketReader into right pane, and play it. SocketReader listens port number 12345 in default. Make some client application and write UTF-8 strings into the socket, and Quartz Composer will show that strings.

例 (Example)

つかってみたシンプルな例

ScreenCast !

注意 (Note)

  • ざっくりつくったので、2つ以上のSocketをつなごうとするとおかしな挙動をしたりします。
  • ポート番号を変えたい場合には、SocketReaderPatch.m の port_ の値を変えればOKです。

  • Very buggy. If two or more sockets are connected, CPU usage will be so high.
  • To change the port number, edit port_ variable in SocketReaderPatch.m.

参考 (Reference)

QuartzComposerのカスタムパッチ作成には、fdiv.net:Xcode Template for Custom Quartz Composer Patches のXcodeテンプレートを用いました。

CocoaでのSocketプログラミングには、O’Reilly Network::mac devcenter::Networking in Cocoa を大いに参考にしました。


I used Quartz Composer Custom Patch Xcode template from fdiv.net:Xcode Template for Custom Quartz Composer Patches. (Thanks!)

In order to play with socket in Cocoa, O’Reilly Network::mac devcenter::Networking in Cocoa was pretty helpful.

動機 (Motivation)

Ruby会議2007 で IRC をしていて、ふとQuartzComposerでIRCのログをかっこよく流せたらおもしろいんじゃない? と思いついたのがきっかけです。 あと、QuartzComposerには、RSSを受信するくらいしか動的にテキストを流し込む方法がなさそうだったので、なんとかしてみようと。


I came up to an idea that IRC messages flow beautifully by using QuartzComposer, in RubyKaigi2007 . To push dynamic text into QuartzComposer, it seemed to be only RSS feed out there.

ライセンス (License)

上記のXcodeテンプレートが CC : Attribution-NonCommercial-ShareAlike だったので、それに従います。


CC : Attribution-NonCommercial-ShareAlike, because above Xcode template claims that license.

連絡 (Contact)

バグやその他の連絡は、こちらまで。


Any feedbacks are welcome, mail me.

ThinkPad Reserve

ThinkPad Reserve Edition

牛革で包まれていて、特別な保障がついてる、選ばれたひとにしか買うことのできないスペシャルThinkPadなのだとか。

その昔、ThinkPad X24 を使っていたのですがあの無骨感がよかった。ガワが固い、キーボードもかっちり、という。あとPC-UNIXをインストールしやすい、とか。

しかしなんでまた皮にくるんだんだろう。かっこいいのかかっこよくないんだか、実物みてみないとわかんないな。