高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

今回の成果物

今回は、m3uComeと、NAntExecuter、cb.exeというものを作りました。
まあ、m3uComeについては前々から何度か言及していたので、今更あまり言うこともありませんが、m3uファイルに記述されたファイルを一つのフォルダにコピーするというものです。
NAntExecuterのほうは、.NET製のメイクツールである、NAntGUIフロントエンドのようなもの。ファイルを指定するとターゲットが列挙されて、その中から実行したいターゲットを選択、実行させられる というものです。フォーム下部のボタンから、ファイルをテキストエディタで開いたり、ファイルのあるフォルダを開くことができるというおまけ付き。
cb.exeは、Delphi製のコンソールアプリケーション。他のコンソールコマンド等の補佐ツールで、標準出力をクリップボードに貼り付けるものです。>echo abc | cb とやれば、abcという文字列がクリップボードに入る。パスの通ったディレクトリにおいて使うといいです。
今回上2作品は、ともにVisualStudio.NET2005、.NET Framework2.0で作成してみました。まあ、m3uComeのほうは途中まで.NET Framework1.1で作成していたのですが…。まあ、VisualC#.NET 2005 Express Editionも無償永続化したことですし、これも「出費無しで扱える開発環境」として考えていいかな…と言うことで、これに乗り換えることにしました。
そういえば、今年からうちの学校も、VisualStudio.NET2005を導入したそうですし、参考までにソースを見るのもいいかもしれませんね、C#ですが、言語の壁など気にしないで、このソースコードを読んで、レベルアップしてくれる人がいることを願います…といっても、これはたいした機能使ってないですけどね。


とりあえず二つについて軽く言及したいと思います。

m3uCome

前述の通り、このソフトはm3uファイル内のすべてのファイルを、指定したディレクトリに一括コピーするソフトです。一応それぞれのファイルサイズを表示、拡張子ごと、すべてのファイルの合計ファイルサイズを表示できたり、曲名をクリックして、メニューを選択すれば、試聴ができるというおまけ付き。
まあ、このソフトだけでプレイリストを作ると言うことはあまりないかもしれませんので、ちょっと試聴機能を使う機会は少ないかもしれませんが…。ファイルサイズ合計など、PDAなどのファイルサイズが限られたデバイスにコピーするためにファイルを集める為に、便利なんじゃないかと思います。
Windows Media Playerには一応「デバイスの同期」という機能があり、ファイルリストをデバイスにコピーする(PDAの他、コンパクトフラッシュなどにもコピー可能)という機能があるのですが、これはコピーする場所を指定できず、PDAなら「メインメモリのルートディレクトリ直下に」おいてしまうという今ひとつ使えないものでした。それに変わって作られたのが、このソフトです。
このソフト自体には、実際にPDAなどのデバイスにファイルを配置する機能はありません。PDAの場合は、MobSyncなどを使ってフォルダごとコピーすることになります。まあ、その辺がちょこっと面倒かもしれませんが、コピー場所を指定できるという利点があります*1。さらにオプションで、コピーしたファイルのリストをm3uとして作成してくれるので、GSPlayerを使っている場合なら、再生リストも同時に更新できますね。
単機能なソフトではありますが、結構便利だと思っています。とりあえず、わたしは毎回使っています。

NAntExecuter

途中スペルで何回か悩んだ*2ソフトですが、辞書で引くとどっちでもいいらしいので、とりあえずこっちにしてみました。上でふれたとおりのNAntのフロントエンドです。
SharpDevelopのオプションよりNAntというものを知り、次に困ったのは、ここからでは「defaultとcleanターゲットしか呼び出せない」ということでした。Eclipseではたしかすべて選べたはずなのに。
ということで思い立ったのがこのソフトです。まあ、処理としてもXMLのtargetノードを見て列挙すればいいだけなので、簡単にできますしね。
まあ、本当にフロントエンドなだけなので、これ以上何も書きようがありませんが…。まあ、NAntとの連携がうまくいかない もしくは、NAntとの連係機能がない開発環境を使っている人は、役に立つと思います。拡張子buildと関連づければエクスプローラ上からも操作できるので、NAntを使える機会が増えるかもしれませんね。


なお、VisualStudio.NET 2005では、ファイルパスにこのソフトのパスを、引数に"$(SolutionDir)"とでも書いてやれば、外部ツールとして使用することができます(起動直後、ソリューションのあるディレクトリを基準としてダイアログが開くので、そこでビルドファイルを選択できる)。

総評、反省など

この週末は両ソフトの制作や送信準備に時間を取ってしまったので、他のことが全くできませんでした。自分の能力を過信して、ちょっと無理にスケジュールを詰め込むのはわたしの悪い癖ですね、「家での開発は趣味のプログラミングなんだから」といって力を抜くのは嫌ですが、あくまで楽しんでやってるプログラミング、無理なペースで進めてもおもしろくないし、せっかくの休みなんだからもっといろんな事をしないといけませんものね。よし、今度の休み、お昼の数時間はプログラミング以外のことで時間を使うようにしようっと。
先日、会社の先輩に「きれいなソースだねえ」といわれたので、この調子でいこうと思います。まあ、EclipseVisualStudio.NETもソースの自動整形機能があるので、汚く書きようがないんですが…(^^ゞ
そうそう、これらのファイルについては、ひとまずYahooブリーフケースにおいておきたいと思います。ベクターも更新頻度を上げたので、近く公開されることでしょう

アップロードファイル

[http
//proxy.f2.ymdb.yahoofs.jp/bc/1f87098f/bc/shared/developments/CSharp/m3uCome.zip?bcXK8SEBGxXsZjE6:title=m3uCome]:修正の必要ができるか、ベクター公開までは保持
[http
//proxy.f2.ymdb.yahoofs.jp/bc/1f87098f/bc/shared/developments/CSharp/NAntExecuter.zip?bcXK8SEBI.CWZG.p:title=NAntExecuter]:とりあえずベクター公開までは保持予定
[http
//proxy.f2.ymdb.yahoofs.jp/bc/1f87098f/bc/shared/developments/Delphi/cb.zip?bcXK8SEBdaHPl81D:title=cb.exe]:とりあえず公開予定はないので、しばらくは保持予定

*1:わたしは、内蔵ストレージにコピーするようにしています

*2:Executerか、Executorか