ソフト開発の動機
以前より「PoserFM」という3D CGアプリケーションのデータ管理専用ファイルマネージャを作成していたのですが、このアプリケーションはもともとデータ管理が目的だったので、ファイルマネージャというよりは、効率よくファイル操作・選択を行えるように、ファイルマネージャ風のインタフェースを取り入れたソフトでした。ところが利用しているうちに、ただのファイルマネージャとしても使用するようになっていました。そうなってくると、メニューなどに組み込まれているデータ管理コマンドなどは邪魔で、余計な機能を取り除いたシンプルなファイルマネージャがほしくなりました。そこで作成したのがこの「MPFileManager」です。
開発中に苦労した点
「MPFileManager」の開発には、以前作成したファイルマネージャのソースコードを再利用することも考えたのですが、単純にいらない機能を削っていくのでは、無駄な部分や効率の悪い部分が残り、バグの要因にもなりかねないと思って、新規に作り直しました。その際、不具合が発生しにくいよう、プログラム本体はシンプルなものにし、高度な機能はプラグインという形で外部プログラムにまかせる設計にしました。
そこで悩んだのが、プラグインの実行方法とプラグインから「MPFileManager」の機能を呼び出すためのAPIの仕様です。実行についてはリボンインタフェースの採用で、統一感のあるシームレスな操作ができるようになったと思います。APIの方は現時点で必要と思われる機能は搭載しているつもりですが、まだまだ試行錯誤の状態です。今後、改良を加えていく必要があるでしょう。
ユーザにお勧めする使い方
「MPFileManager」本体はシンプルなファイルマネージャにすぎませんが、自分にとって必要な機能をプラグインとして追加していけば、非常に使い勝手のいいアプリケーションとなります。プログラミングの経験のある方はぜひプラグインを作成して、自分にとって使いやすいファイルマネージャに仕上げていってください。そしてできれば、作成したプラグインをみんなで共有できるように公開していただけるとありがたいです。
今後の予定
現在、上記の3D CGデータ管理ソフトの次期バージョンをこの「MPFileManager」をベースに作成中です。本体は「MPFileManager」そのままですので、プラグインも共通に利用できます。「MPFileManager」利用の一例として参考になるかもしれません。
新しいプラグインも考えています。特にIronPythonプラグインを改良して、スクリプトだけで高度な機能拡張を行えるようにしたいと思っています。これによりプラグイン開発のハードルも少しは低くなるのではないでしょうか。また、仕事の合間などにちょっとした息抜きになるゲームを、プラグインとして提供するのもおもしろそうです。ゲーム中に上司が来ても、タブ切り替えですばやく隠せるので、k意外に需要があるかもしれませんね。
(Mjollnir)