SocketReaderPatch とは (What is SocketReaderPatch ?)
Mac OSX の Quartz Composer で、Socketから文字列を読み込んで後段に渡すGeneratorパッチです。
A Coustom Quartz Composer Patch that recieves strings from TCP Socket.
ダウンロード (Download)
- Plugin File : SocketReaderPatch.plugin
- Source (Xcode Project) : SocketReaderPatch
インストール (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, .