ちょっと前にmixiで、mixiミュージックという新しいサービスが始まりました。
自分が普段聴いている音楽の情報を公開し、それを通じて好きなアーティストの情報を共有1したり、交流を広げたりしましょうというものです。2
mixiのページに新しく2つのリンクが追加され、左の画像の丸いリンクをクリックすると、mixi参加者全員の統計が表示され、左の画像のリンクの方をクリックすると、現在開いている人3が聴いた曲のデータを見ることができます。
僕はRubyを勉強しようと一生懸命なのに、コイツが僕を誘惑するんだ!
のコピペ。
自分で作ったサウンドプレイヤー。
たしか高校くらいの時から作り始めて、今でも愛用してるし、拡張し続けてるソフト。
Wyvernという同種のソフトの影響を強く受けており、リストの扱いやすさに力を入れている。
僕がオブジェクト指向を覚える切っ掛けとなったのは、このソフトを作っているときで、関数よりももっと大きい単位で構造化がしたくなったからだ。
もともとVB6で書いてたのだが、オブジェクト指向がし難いことからC#に移植。現在はC# 2.0で書いている。
音楽の再生にはvbmp3.dllを使っているが、いずれWMP SDKを使うかDirectShowを使うか等して、扱えるファイルの種類を増やしたい。
Win32APIのCreateFileとReadFile/WriteFileが引数が多くて面倒くさいので、C#のFileStreamっぽくラッパーして簡単に使えるようにしようと思ったんですけど、これがなかなかC#のようには上手くいきませんでした。:'(
さて、前回書いた問題ですが、悩みました……。
Skype A2A1を使ったリバーシのサンプルが公開されたそうなので、中身を覗いてみました。
というので期待してみたのですが、全部英語でちょっと凹む。^^;
けど前に解析したソースよりかは、だいぶ見やすかったです。
早速リバーシ部分を切り取って、自前のデータを流そうとしてみたのですが、Socketを扱おうとしてどんどん煩雑になっていくソースコードに挫折。
そこで、時代はやっぱC#だよなってことで、C#に移植してみることにしました。2
そしてなんとかだいたいの移植に成功したのですが、肝心のSkypeとの通信が上手くいかない。
SkypeAPIを使うときに最初に送るCREATE APPLICATIONメッセージは受理されてるみたいなのですが、その後のメッセージが失敗続き。
メッセージの送信は結果しか見えないので、デバッグには苦労しそうです。
Regnessem1のウィンドウがSamurize2の表示を隠していて不便だったので、Regnessemのコンタクトリストの内容をSamurizeで表示出来るように、コンタクトリストの内容をテキストファイルに吐き出すプラグイン3を作ってみました。
コンタクトリストのメンバーを、状態別にPluginsフォルダの中のlist_to_fileというフォルダに、プロトコル別でテキストファイル4で出力します。
設定できる項目は何もありません。5
RegnessemもSamurizeも使い慣れてる人は、使ってみればすぐ分かると思います。
初めて作ったDLLファイルですが、テンプレートがあったので意外と簡単に出来ました。
気が向いたら今後改良したり、他の何かを作るかもしれません。:p
ちょっぴりバグ修正。
エラー処理のとこを直したのと、newした配列のdeleteに[]付け忘れてました。OTL
予告通り今日は1日SkypeAPIと戦っておりました。
まずは関連ブックマーク。
ここで配布されているSkypeをインストールすると、APIも一緒にインストールされるようです。
日本人開発者向けの日本語のフォーラムです。まだ出来たてなので情報は少ないですが、これからに期待です。
Skype社員である岩田さんのブログです。彼はSkypeの開発者とSkypeAPIを使う側の開発者との橋渡しをしてくれている人です。
ここにSkypeAPIリファレンス(PDF)とサンプルプログラムがあります。今日はこのサンプルと格闘していました。
SkypeAPIの使い方を日本語で丁寧に説明してあるPDFファイルです。SkypeAPIを使おうと思ったらまず一読しましょう。
COM Wrapperを配布されているサイトらしいのですが、今回僕は使っていません。
目が覚めたから日記。1
前回.NETのコントロールでOnPaintメソッドをoverrideして遊んだりしてたけど、いつ呼び出されるのかよく分からない!
前回やった、OnPaintをoverrideしてそこで枠を描画する方法だと、ウィンドウサイズを変更したときに上手く再描画されず汚くなってしまいました。
そこで色々見ていたら・・・