bmp2mus

Copyright(c) 2009-2011 PT2K <webmaster@pt2k.xii.jp>
http://pt2k.xii.jp


目次

  1. はじめに
  2. ライセンス
  3. 動作環境
  4. インストール
  5. 使い方
  6. コマンドラインオプション
  7. バグ
  8. アンインストール
  9. コンパイル

はじめに

ビットマップ画像から、Muse の譜面モニタに絵を表示させるデータを作成するコンバータです。

拙作 MusPaint と目的は一緒ですが、Muse 4.6 以降の *COLR コマンド、Muse 5.2 以降の全音域譜面モニタと、Muse 5.9 以降の y コマンドに対応しています。
その代わり、お絵描き機能はついていません。


ライセンス

GNU General Public License version 2(GPL2)のフリーソフトウェアです。
添付の COPYING を参照して下さい。


動作環境

動作確認 OS:Windows (XP, Me, 98), Linux (Gentoo i686)
Special thanks: メルゴンさん、浅川さん、MIZ さん、楠本さん


インストール

Windows

bmp2mus の Windows 用のバイナリをダウンロードして解凍します。
bmp2mus.exebmp2mus.manifestpo/ ディレクトリを、その階層構造は保ったまま、適当なディレクトリにコピーして下さい。
ただし、実行ファイル以外は、なくても動作に支障はありません。

文字列を日本語化したい場合は、環境変数に、
LC_ALL=ja
LC_MESSAGES=ja
LANG=ja
のいずれかを指定して下さい。
この順番でサーチして、最初に見つかった変数の値が採用されます。
Windows XP での環境変数の設定は、コントロールパネル - (パフォーマンスとメンテナンス) - システム - 詳細設定 - 環境変数、でできます。

Linux

残念ながら現時点では Linux 他の UNIX 向けのバイナリパッケージは配布していません。
コンパイルの項を参考にコンパイルして下さい。


使い方

画像の準備

bmp2mus が扱うことができるのは、高さが 75 ピクセル以下、色数が 17色または 16色以下の、ビットマップ(.bmp)です。
それ以上の大きさの画像や、ビットマップ以外の形式の画像の場合は、適宜、縮小・減色・変換を行って下さい。

17色の画像の場合には、どれか 1色を透過色にする必要があります。

17色への減色は、GIMPWindows 版)なら、画像 - モード - インデックス - 最適パレットを生成、でできます。

もっとも簡単な使い方

ビットマップファイルを、bmp2mus.exe またはそれへのショートカットにドラッグ&ドロップします。
ビットマップと同じディレクトリに、拡張子を .mus に変えたデータファイルが生成されます。
注意:既存ファイルはデフォルトでは警告なしに上書きされます(-V 参照)。

各パラメータは、コマンドラインオプションで示されているデフォルト値が使われます。

ウィザードを使う

ファイルを与えないで bmp2mus を起動すると、GUI のウィザードが立ち上がります。
各パラメータの意味などは、コマンドラインオプションを参照して下さい。

コマンドラインで使う

シェル(Windows では コマンドプロンプト等)から、引数にファイルを与えて起動すると、コマンドとして動作します(上記の「もっとも簡単な使い方」も、実はこのモードです)。
重たい GUI がないので、高速に動作します。
各パラメータの設定については、コマンドラインオプションを参照して下さい。

Windows では、ショートカットのプロパィを編集して、bmp2mus のデフォルト動作を変更することもできます。


コマンドラインオプション

各オプションにはショートオプションとロングオプションがあり、どちらも同じ動作をします。
bmp2mus -l i150 foo.bmp
bmp2mus -li150 foo.bmp
bmp2mus --note-length=i150 foo.bmp
bmp2mus --note-length i150 foo.bmp
bmp2mus --note-l=i150 foo.bmp
bmp2mus --note-l i150 foo.bmp
は、すべて同じです。

引数を取らないショートオプションはまとめて指定できます。
bmp2mus -T -V -W -li150 foo.bmp
bmp2mus -TVW -li150 foo.bmp
は、どちらでも同じです。

半角ハイフン(-)で始まるファイル名を指定する場合には、ファイル名の前にハイフン 2つを指定します。
bmp2mus -l i150 -TVW -- -foo.bmp

オプションの引数の指定が間違っている場合や、オプションの指定に矛盾がある場合(-wW など)には、エラーにならない限り、デフォルト値が採用されます。

使い方
bmp2mus [options] [bitmapfile]
bitmapfile
ビットマップファイルのパスを指定します。
ファイルが指定されていれば、デフォルトではコマンドモードになります(-W 参照)。
ファイルが指定されていなければ、ウィザードモードになります。
options
-c, --transparent-color=X,Y|RGB
透過色として使う色を指定します。
指定の仕方は 2通りあります。
bmp2mus -c 10,20
は、画像の左上から、横に 11番目、縦に 21番目のピクセルの色を透過色として使用します。
bmp2mus -c 7F90FF
は、16進の RGB で色を指定します。
デフォルトは 0,0、つまり、画像の左上隅のピクセルの色になります。
-h, --help
簡単なヘルプを表示して終了します。
-l, --note-length=STR
音符の長さを指定します。
文字列としてそのままデータに書き出されるので、Muse 文法に従って記述して下さい。
デフォルトは 32 です。
-o, --output-file=NAME
出力先のファイルのパスを指定します。
デフォルトは、ビットマップファイルの拡張子を .mus に変えたものになります。
-O, --top-offset=INT
高さが 74ピクセル以下の画像で、上部の空きを指定します。
高さ 75ピクセルの画像では無視されます。
範囲は 0〜(75 - 画像の高さ)、デフォルトは 0 です。
-p, --tempo=INT
テンポを指定します。
範囲は 1〜999、デフォルトは 125 です。
-s, --stdout
Muse データをファイルではなく標準出力に書き出します。
リダイレクトで既存の Muse データに追加書き込みをする場合に利用できます。
例)bmp2mus foo.bmp >> bar.mus
ウィザードモーでは無視されます
また、Windows では無効です。
-t, --no-use-transparent-color
透過色を使用しないようにします。
16色以下の画像ではこれがデフォルトです
17色の画像では無視されます。
-T, --use-transparent-color
16色以下の画像であっても、強制的に透過色を使用するようにします。
17色の画像では透過色の使用が必須です。
-v, --version
バージョン情報を表示して終了します。
-V, --verbose
デフォルトでは表示されない、エラーに至らない警告レベルのメッセージをすべて表示します。
-w, --no-wizard
ウィザードを使用しないコマンドモードにします。
ビットマップファイルが指定されていない場合には無視されます。
-W, --with-wizard
ビットマップファイルが指定されていても、強制的にウィザードモードにします。
-x, --note-type=0|1|2
音名タイプを指定します。
0、1、2 のいずれかを指定します。
デフォルトは 1 です。

バグ

バグかな? と思うことがありましたら、作者までご一報下さい。


アンインストール

インストールしたファイルを削除します。
設定ファイル等はありません。


コンパイル

コンパイルに必要なソフトウェア

コンパイラのインストール

Free PascalLazarus
参考:lazarus wiki -> Installing Lazarus/ja
Linux で Lazarus をコンパイルする時に "libgdk-pixbuf not found" でコケる場合は、
  1. gdk-pixbuf を使用しないようにする
    make OPT=-dNoGdkPixBufLib
    参考:http://wiki.freepascal.org/Lazarus_Faq/ja
  2. gtk2 でコンパイルする
    make LCL_PLATFORM=gtk2
    参考:http://javivf.alasombra.net/blog/?p=941
でうまくいくかもしれません。

コンパイル

src/bmp2mus.lpi を Lazarus で開いて、Build して下さい。

Happy hacking!


Valid HTML 4.01 Strict Valid CSS 2.1