ガラクタ

CRIR jQuery plugin 公開しました

Productsのページにて。
仕事で急に必要になったけどCakePHP上で上手く動かなくて、しかも本家サイト(Checkbox & Radio Input Replacement)がなくなってる?ってことでサクッと作った。後悔はしていない。←

nnpv010

NicoNamaPictViewer(仮) version 0.2.0

バージョンアップしますた!詳しくはこちら

Perl言語でできてます。今回もWindows版とLinux版バイナリを用意しました。

今回は結構変更点てんこもりです。もともと地味なアプリなんで大したインパクトはないかもしれませんが…w

生主さん向けのアプリです。SCFHのお供にどうぞ!

nnpv010

NicoNamaPictViewer(仮) version 0.1.0

詳しくはこちらから!

今回新たに追加した機能としては

  • スライドショー機能
  • シャッフル機能
  • Web画像取得機能

の3つとなります。

それぞれの機能には順にS、R、Uのショートカットキーが割り当ててあります。

スライドショーとシャッフルは組み合わせて使うことができるので、順番がシャッフルされたスライドショーも行えます。

画像取得機能は、画像が直接指定されたURL(末尾がjpg、png、gifのもの)から画像をダウンロードして表示することができる機能です。正確にはURLというよりもContent-Typeで見てますので、JPEG、GIF、PNG画像でWebから取得できるものは何でも取り込めるはずです。

また、「その他」メニューに「設定」の項目が増えました。こちらでスライドショーの切り替わる秒数を指定できます(1秒~3600秒)。

設定された情報はEXEファイルと同じフォルダにある「nnpv.ini」に保存されます。レジストリは使わないよ!

というわけで、御意見・御要望・バグレポ等ありましたらTwitterメールにてよろしくお願いします。

クロスドメインAJAX

先ほどのエントリでSHOUTcastServerのパッチを公開したわけなんですが、そこでちらっと書いた今後の野望であるところのAjaxについて。
実はAjax化に向けてはちょっと障害があって、例えば「http://hoge.org:8000/」で公開しているSHOUTcastServerと「http://hoge.org/shoutcast.js」のスキン化JSファイルの組み合わせの場合、ドメイン部分(というかポート部分)が異なるので、XMLHttpRequest()で外部データを取ってくることができないんですよね(IEではドメイン部分さえ合っていれば取得できちゃうようだけど)。そこで俗に言う「クロスドメインAjax」という技術を使うことをもくろんでいるわけです。
これにはいくつか手法があるんですが、中でも「JSONP」と呼ばれる技術が主流のようです。
次回バージョンではこの手法を用いてクロスドメインAjaxを実現してみようかと思ってます。

TCPpatch for SHOUTcast Server / win32

やっと公開にこぎつけることができました。
スキン化に向けての第一歩です。
version 1.0.0 (2007/04/21) ダウンロード
下記にREADME.txtの一部を載せときます。が、まぁ詳しくは内容物を確認してくれ!
スキン職人の光臨きぼんぬ!激しくきぼんぬ!

[説明]
「SHOUTcast Server / win32 v1.9.7 または 1.9.8」のWeb画面を外部JavaScript
や外部CSSファイルによってカスタマイズできるようにするパッチです。
Content-TypeのShift_JIS化、favicon設定、ロボット対策機能も付いています。
[同梱物]
・sc_patch.exe: パッチ本体
・sc_patch.ini: パッチ設定ファイル
・README.txt: READMEファイル(このファイルです)
・shoutcast.js: 本パッチ専用スキン化JSファイル
[必要なもの]
「SHOUTcast Server / win32」を公開しているものと同じドメイン名の80番ポート
で、HTTPサーバを動かす必要があります。
例えばあなたが公開しているURLが「http://hogehoge.org:8000/」だとしたら、
「http://hogehoge.org/shoutcast.js」
「http://hogehoge.org/shoutcast.css」
「http://hogehoge.org/shoutcast.ico」
などにアクセスできる環境を用意してください。
本パッチによって、上記ファイルが読み込まれるように設定できます。

次回野望としては、このパッチを使っていろいろAJAX化かな。
・管理画面のリスナー一覧のIPを逆引きしたり
・スキン設定ファイルを外部から取ってきたり
・本鯖とリレー(ミラー)鯖にこのパッチが導入されてたら、遅延秒数も自動で取得できたり
・リレー(ミラー)鯖一覧ページを自動的に作成して稼働状況が把握できたり
・Web上に公式ヘルプファイルを設置してAJAXでそれを表示させたり
考え始めるとキリがないYO。想像だけでイッちゃいそうです(*´Д`)

SHOUTcastの例のパッチ

とある人の要望でfavicon.icoに対応しようかと。
ところで、パッチ作成には各バージョンのsc_serv.exeのオリジナルを退避させておいて、
1.Stirling(バイナリエディタ)で書き換え
2.動作確認
3.Kill Server
4.sc_serv.exe.newにリネーム
5.WDiffでパッチ作成
てな工程を経るわけですが。
Kill Serverしてもゾンビプロセスが残ることがある・・・
そうするとまたsc_serv.exe立ち上げたときにちゃんと動いてくれない→動作確認できない(´・ω・`)
しかもそういうときに限ってノートンが道連れで落とされてネットに繋げなくなったり・・・
まじうぜえええええええええええええええええええええ
SHOUTcastのプログラマ逝って良し
っていうかWindowsのソケット周り逝って良し(いや逝ったら困るけど)
やっぱテスト環境として仮想OS必須ですね
しかしVMWareは重いんだよなあ
などとfavicon.icoの要望くれた人とメッセしてたりしてなかったり
とりあえずまた再起動逝ってきます(´・ω・`)

SHOUTcast DNAS 外部JavaScript・CSSファイル読み込み機能追加パッチ+Shift_JIS対応(おまけ)

「SHOUTcast DNAS / win32」のWeb画面を外部JavaScript・CSSファイル
によってカスタマイズできるようにするパッチです。
おまけ機能でContent-TypeのShift_JIS化も付いています。
ダウンロード:
1.9.8_v02: ダウンロード (2007/04/04)
・version 1.9.8用
・metaタグの記述ミスを修正
1.9.7: ダウンロード (2007/04/04)
・version 1.9.7用
・初版リリース
詳しくは同梱のREADME.txtを参照してください><

Winamp Controllerなんだけど

誰か萌え絵描けないかなぁ?
もっとこうファンシーなUIにしたいんだけどなぁ。
そんな人いたら協力してくれないかなぁ。
あと、こんなソフト(って言っても多分Webアプリだけど)作ってくれって要望とかあったら聞かせて欲しいなあ。
実現できるようなら実現するし。

Winamp Controller

同一のWindowsPC上で動作するWebサーバから、Winampを操作するPerl-CGIスクリプトです。
PCのWebブラウザでの操作はもちろん、現行の適当に新しい携帯電話であれば操作可能です。
出力されるHTMLがシンプルなものですので。
なお、認証機構は装備していませんので、勝手に他人に操作されたくない場合は適宜.htaccess等を設定してください。
Perl 5.8、Win32::API必須です。
なお、スクリプト本体のエンコーディングをUTF-8以外に変更してしまうと誤動作のおそれがあります。
また、WebサーバのユーザとWinampのユーザを同一の権限で動作させる必要があります。
要はWebサーバがAdministrator権限で動いててWinampが一般ユーザ権限で動いてると誤動作しますΣ
簡単な説明:
・$WINAMP_PATH:
 Winamp.exeのパスです。
・$PLAYLIST_LOCATION:
 Winamp再起動時に最初に読み込むファイルです。
・$CGI_URL:
 このスクリプト自体のURLです。
・@RELAY_SERVER_NAME_LIST:
 おまけ機能。ネットラジオのタイトルなどが曲名に現れるのを防止します。
 平たく言えば、ここに列挙した文字列が曲名として表示されなくなります。
このスクリプトはPerl Artisticライセンスのもと配布されるものです。
自己責任においてご利用ください。
サポートは気が向かないとしません。w
Ver 1.01(2006/12/20):[ ダウンロード ]