設定

「設定」メニューは、以下のオプションを含んでいます: File Edit View Tools Help Toolbar Control Unavailable When Active Display File Name Only Vertical Grid Info Background Color Preview Upon Object Selection Restrict Objects' Movement Onto Grid Show Objects' File Names Use Old Format [01-FF] Right Click To Delete Objects Select Language Select Theme アクティブになった瞬間は操作を無効にするタイトルバーにファイル名のみ表示するレーン情報を縦書きにするレーン背景に色をつけるオブジェ単体選択時にプレビューするオブジェの移動はグリッドにあわせるオブジェにファイル名を表示する#WAV#BMP#BGA の拡張定義を使用しない右クリックでオブジェを削除するSelect LanguageSelect Theme

BMSE の挙動を設定するメニューのグループです。各項目について、有効/無効を左クリックなどで切り替えます。

アクティブになった瞬間は操作を無効にする

有効時 (チェックあり):

他のアプリケーションのウィンドウがアクティブの状態で、BMSE メインパネル上のオブジェクトを「この項目が有効、かつ消去モード」で左クリックした状況を仮定します。

ウィンドウが BMSE に切り替わった瞬間は、メインパネル上の操作を受け付けません。

たとえば消去モードかつ非アクティブの状態でオブジェクトを左クリックしても、オブジェクトは消去されません。BMSE がアクティブになった状態で再度オブジェクトを左クリックすると、オブジェクトは消去されます。

この項目は、メインパネル以外の場所には効果を及ぼしません。

無効時 (チェックなし):

他のアプリケーションのウィンドウがアクティブの状態で、BMSE メインパネル上のオブジェクトを「この項目が無効、かつ消去モード」で左クリックした状況を仮定します。

ウィンドウが BMSE に切り替わった瞬間から、メインパネル上の操作を受け付けます。

たとえば消去モードかつ非アクティブの状態でオブジェクトを左クリックすると、オブジェクトはいきなり消去されます

ワンクリック節約できますが、誤操作のリスクも高まります。(ウィンドウ切り替え時に意図せずオブジェクトをクリックして移動してしまい、そのことに気付かないまま保存してしまう、など)

BMSE の操作に慣れるまではチェックを外さないほうが無難です。

タイトルバーにファイル名のみ表示する

有効時: AppName + FileName

「アプリケーション名 + 開いている譜面のファイル名」を表示します。

無効時: AppName + FullPath

「アプリケーション名 + 開いている譜面のフルパス」を表示します。

レーン情報を縦書きにする

有効時: メインパネルのレーン情報の文字列を縦書きにします。

メインパネル上部がごちゃごちゃしますが、表示幅を狭めている場合、ラベル文字列は見やすくなります。

無効時: メインパネルのレーン情報の文字列を横書きにします。

表示幅が狭いときは視認性が低下するかもしれません。ディスプレイサイズなど、環境や用途に応じて適宜変更してください。

横書きのまま、レーン情報の表示文字列を変更することもできます。

たとえば狭い列にも収まるように、表示文字列を短縮するなど。

レーン背景に色をつける

有効時: レーン背景色を反映します。

メインパネル背景色の上に、各レーンの背景色を重ねて表示します。

各列を区別しやすくなりますが、画面の色数が少ない環境では背景色に干渉縞が発生し見づらくなる場合もあります。

各オブジェクトの色やレーン背景色は、レーン情報の表示文字列と同様に、テーマファイルから自由に変更することができます。

無効時: レーン背景色を無視します。

メインパネルの背景色を直接表示します。BMSC [http://tixlab.com/software/bmsc.shtml] (外部リンク) の互換スタイルです。

各列の視認性は低下しますが、画面の色数が少ない環境でも、背景色に干渉縞を出さずにメインパネルを描画できます。

メインパネルの背景色 (初期値は黒) もテーマファイルから変更できます。

オブジェ単体選択時にプレビューする

有効時 (音声オブジェクト):

操作モードが 編集モード の状態で、メインパネルの演奏領域および BGM 領域に配置されたオブジェクトを 1 個のみ左クリックしたとき、クリックしたオブジェクトの番号に音声ファイルが定義されていれば、それを再生します。

オブジェクトパネル内 “#WAV” タブの、定義リストの下段にある “停止” ボタンを左クリックすると、再生中の音声を停止します。

メインパネルや定義リストから別のオブジェクトを選択したとき、およびビューワ再生時には、再生中の音声を停止して新しい音声を再生します。

ドラッグによる範囲選択や “検索・削除・置換” などを介したオブジェクト単数選択の場合は、プレビューを行いません。

音声オブジェクト左クリック時は、選択状態を問わずプレビューします。[Ctrl + 左クリック] (追加選択)、[Ctrl + 左ドラッグ] (コピーして移動)、[Shift + 左ドラッグ] (Y 軸固定移動) の際も、音声をプレビューします。

通常は WAV、MP3、MIDI、CDAudio などをプレビューできます。鳴らせる形式は、以下などから確認できるようです。

[Windows 11/10/8.1/8/7/Vista/XP/2000] レジストリキー
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\MCI Extensions
[Windows ME/98/95] C:\WINDOWS\WIN.INI
[mci extensions]
mid=Sequencer
rmi=Sequencer
wav=waveaudio
avi=AVIVideo

[BMS Viewer.SI]
X=66
Y=66
H=256

プレビュー可能な音声の形式は、DirectShow フィルタを導入することによって追加することができます。(DirectShow フィルタのインストール)

有効時 (映像オブジェクト):

操作モードが 編集モード の状態、かつ BMP・BGA プレビューウィンドウを表示している状態で、メインパネルの BMP/LAYER/POOR レーン上に配置されたオブジェクトを 1 個のみ左クリックしたとき、クリックしたオブジェクトの番号に「BMSE でプレビュー可能な形式の画像ファイル」が定義されていれば、それをプレビューします。

音声プレビューと異なり、左クリックした映像オブジェクトが既に選択された状態であれば、プレビューウィンドウの表示は更新されません。

プレビュー可能な画像の形式は、BMP、JPG、GIF、ファイルアイコン (ICO)、メタファイル (WMF 等)、拡張メタファイル (EMF 等) です。

Visual Basic 6.0 がサポートしていない PNG はプレビューできません。

無効時:

メインパネル上のオブジェクト単数選択時にプレビューを行いません。

この場合、定義リストのアイテム選択時のみプレビューを行います。

オブジェの移動はグリッドにあわせる

有効時 (BMSC [http://tixlab.com/software/bmsc.shtml] (外部リンク) 互換の挙動):

オブジェクトを前後に移動させるとき、ドラッグ起点オブジェクトは、現在位置からグリッドライン上に移動します。

定められたリズムライン上にオブジェクトを確実に配置できるのが利点です。リズムを整然と並べたい場合などに役立ちます。

意図せずに配置のリズムを変更してしまうリスクが高まるのが欠点です。普段はチェックを外しておくほうが安全です。

無効時 (GDAC2 [https://www.asahi-net.or.jp/~nm4j-tyn/gdac2/] (外部リンク) 互換の挙動):

オブジェクトを上下に移動させるとき、ドラッグ起点オブジェクトは、現在位置からグリッド間隔単位で移動します。

グリッドラインから外れた位置にあるオブジェクトは、グリッドラインからのズレを保ったまま移動します。

グリッドに乗らないリズムを殺してしまう、などといった致命ミスを防止できます。特別な目的がない限りチェックを外しておくことをお薦めします。

オブジェにファイル名を表示する

有効時:

メインパネル上のオブジェクトに、定義番号ではなく定義内容を表示します。通常はファイル名を、パスの定義ならパス名を、空オブジェクトなら定義番号を表示します。拡張子部分は表示しません。

名前文字列は省略されません。名前が簡潔であるほど見やすくなります。

必要に応じて有効化すると、作業効率が向上します。

たとえば配置済みのオブジェクトを「演奏オブジェクト専用に調整した音」で上書き (書込モード) していくとき、このオプションを利用すると、置き換え時のミスを低減できます。

必要に応じてレーン表示幅も広げると見やすくなります。

  • ファイル名の最後のピリオドから以降を拡張子とみなし、非表示にします。たとえば定義名がピリオドのみの場合 (#WAV01 . など)、メインパネル上の該当オブジェクトは文字列を一切表示しません。
  • 「ピリオドを含まない定義名」は危険です。

    この項目を有効化した状態のとき、「拡張子部分がない定義」がオブジェクトとしてスクリーンに描画されると、その瞬間に BMSE が強制終了します。

無効時:

メインパネル上のオブジェクトに、定義番号のみを表示します。

#WAV#BMP#BGA の拡張定義を使用しない

有効時 (BMSC [http://tixlab.com/software/bmsc.shtml] (外部リンク) 互換):

定義リストを [01-FF] の古いフォーマットで表示します。(サポート状況)

[01-FF] は 16 進数形式です。定義数の最大は 255 行です。定義数が 255 以内に収まる譜面は、古い再生ソフトでもプレイできる可能性があります。16 進数形式の譜面を編集する際は、この項目を有効化すると便利です

開いた譜面の定義番号に [G-Z] (36 進数) が 1 文字でも使われていると、この項目は自動的に無効になります。拡張定義 (36 進数形式の定義) を用いた譜面でこの項目を有効にすると、定義リストの 36 進数部分 (定義番号が [G-Z] の行) はリストから隠されます。

見た目を非表示にしているだけなので、この項目が有効なまま拡張定義譜面を編集して保存しても、非表示部分の内容そのものが消えたり、リストの並び順が狂ったりすることはありません (少なくとも ver1.3.8 では)。

この項目が有効のとき、定義リストの 36 進数部分は存在しないかのように扱われます (番号 [G-Z] に既にアイテムが定義されていたとしても)。

定義リストにファイルをドロップしたとき、[G-Z] の部分は飛ばされます。

定義を移動したとき (上へ・下へ)[G-Z] の範囲は飛ばして順序を入れ替えます。

定義リストカーソル移動操作や、BMPBGA プレビューウィンドウの番号選択 (01/prev/next/FF) なども、[G-Z] は飛ばしてアイテムを選択します。

メインパネル変換ウィザード検索・削除・置換” はこの項目の影響を受けません。プレビュースポイトも行えます。配置済みの 36 進数番号オブジェクトに対してスポイトを行うと、この項目は自動的に無効になります。

前回の譜面編集を終了した時点でこの項目を有効化しており、かつ新しく開いた譜面に拡張定義が使われていない場合、この項目は前回に引き続き有効となります。

  • 古い形式の譜面を開いたとき、この項目が自動的に有効になったりはしません。必要ならそのつど手動で切り替えてください。

  • [01-FF] 形式で譜面を作っても、正常に再生できるとは限りません。サポート状況表における [01-FF] のグループは、拡張 BPM・STOP・ロングノート・OGG のいずれも使用できません。

無効時:

定義リストを [01-ZZ] で表示します (36 進数形式、1295 行)。

右クリックでオブジェを削除する

有効時:

操作モードが 編集モード または 消去モード のとき、メインパネル上に配置されたオブジェクトを右クリックすると、オブジェクトを単体削除します。

操作モードが 書込モード のときは、右クリック時にオブジェクトを削除せず、メインパネルのコンテキストメニューを開きます (BMSE 1.3.8 のバグ)。

配置済みオブジェクト上で [Shift + 右クリック] を行ったとき、削除を行わず、定義番号スポイト機能を実行します。

無効時:

メインパネル上での右クリック時は常にコンテキストメニューを開きます。


Select Language

使用する言語をメニューから選択して切り替えます。lang フォルダ内に言語ファイルを追加して編集することによって、ユーザインタフェースの表示文字列をカスタマイズできます。これにより、BMSE は多言語に柔軟に対応できます。

多言語とまでいかなくても、書体をメイリオに変更するといったこともできます。

BMSE は起動時に lang フォルダ内の *.ini ファイルをすべて読み込み、書式が有効なものをメニューに表示します。フォントの文字セット [https://ja.wikipedia.org/wiki/文字集合] (外部リンク)は自動的に既定値が入力されます (註:例外あり)。

lang フォルダ内に有効な言語ファイルが存在しないとき、この項目は選択できません。その場合 BMSE は既定の言語 (英語) を表示します。

言語ファイルの書式

詳細は *.ini 内の各セクション配下のキーを参考にしてください。

先頭がセミコロン (;) またはシャープ (#) の行はコメント扱いになり、読み込み時に無視されます。元の記述を残したい場合などに利用できます。

コメント開始位置は行頭しか許されません。行の途中に「;」や「#」を挿入した場合、値そのものが「;」や「#」を含む文字列になります (画像)。

本来あるはずのキーが存在しない、もしくは見つからない場合、そのキーの値は自動的に既定値 (英語) となります。

キーの値が空の場合、そのキーの対応部位は機能はしますが、文字列は表示されません。

同名のキーやセクションが重複したとき、2 つ目以降は無視されます。

各キーの値で「&」に続く 1 文字目はアクセスキーとなります。\n(日本語環境では「\n」) は改行コードとなります。これらメタ文字を表示文字列として指定する場合、連続させてエスケープします。たとえば以下のように:

CHK_DELETE_LIST="#WAV && #BMP && #BGA の未使用定義を消去"

これは “#WAV & #BMP & #BGA の未使用定義を消去” と表示されます。

言語ファイルの文字符号化方式は、各言語の既定のシステムロケール [https://learn.microsoft.com/en-us/windows/win32/intl/code-page-identifiers] (外部リンク)に準拠します。日本語用の言語ファイルならコードページ 932、韓国語用の言語ファイルならコードページ 949、ギリシャ語用の言語ファイルなら コードページ 1253 で符号化します。

一般的な韓国語環境の Windows の既定の文字セットは平仮名やカタカナなどを含んでいるため、たとえば韓国語環境用の日本語言語ファイルを書くこともできます。システムロケールが韓国語に設定されている環境でのみ、この例は期待通りに表示されます。

同様に、簡体字中国語環境用の日本語言語ファイルを書くこともできます。システムロケールが簡体字中国語に設定されている環境でのみ、この例は期待通りに表示されます。

言語ファイル内 [Main] セクションの構成キー
Key
lang フォルダ内に存在する *.ini ファイルのうち、Key="BMSE" であるものだけが有効な言語ファイルとして解釈され、言語選択メニューに現れます。
Language
メニューに表示する言語名を指定します。1 文字目はアクセスキーとなります。アクセスキーは英数字なら機能します。
Font
ボタン、タブ、パネル、Undo 情報などのフォントを指定します。拡張命令タブを頻繁に使う場合は、ここにも等幅フォントを指定することを強くおすすめします。
FixedFont
定義リスト、オブジェクト番号、レーン情報などのフォントを指定します。等幅フォントで表示させるのが望ましい部位ですが、プロポーショナルフォントも指定は可能です。
  • パネルやフォームなどの各コントロールはほぼすべて固定サイズのため、指定したフォントや文字数によっては表示が崩れる可能性があります。翻訳やカスタマイズの際はご注意ください。
言語ファイル内 [StatusBar] セクションの値に関する注意点

BMSE は、このセクション配下の値を「文字符号化方式がコードページ 932 であるもの」と決め付けます。システムロケールが日本語でない環境では、ステータスバーは高確率で文字化けします [https://web.archive.org/web/20190210090344/http://warpemp.blogspot.com/2015_03_19_archive.html] (外部リンク)。 (画像左下 [https://3.bp.blogspot.com/-bzKe4SaJnak/VQqYZ2zYzwI/AAAAAAAAMTw/L8zx_HsR53A/s0/0.PNG] (外部リンク))

他言語版の言語ファイルを書く場合、このセクション配下のキーに対する値は半角英数字のみで構成するのが無難です。

Select Theme

使用するテーマ (外観の設定) を選択して切り替えます。テーマファイルを追加して編集することによって、オブジェクトやレーンの色や文字列など、メインパネルの外観を自由に変更できます。これは HTML に対するスタイルシートのようなものです。

BMSE は起動時に theme フォルダ内の *.ini ファイルをすべて読み込み、書式が有効なものをメニューに表示します。あらかじめ 3 種類のテーマが用意されます:

Default
標準的な BMS (5keys/10keys, 7keys/14keys) 用
Default (for oct/fp)
13 個の鍵盤に両側スクラッチとフットペダルを加えた oct/fp 用
Default (for PMS)
カラフルでポップな PMS (9keys) 用

テーマは自動では変更されません。プレイモードとテーマが同期しないのは不便かもしれませんが、7keys 譜面を PMS 用テーマで編集できるような自由度もあります。

theme フォルダ内に有効なテーマファイルが存在しないとき、この項目は選択できません。その場合 BMSE 既定のテーマを表示します (BMS 用 Default とほぼ同じ配色。BPM/STOP レーンの背景色のみ rgb(48,48,48) の灰色)。

テーマファイルの書式は、大雑把にいえば RGB 形式で色コードを指定するだけです。0 から 255 までの 10 進数整数をカンマ区切りで指定します。

[Main]

メインパネル全般の外観を担うセクションです。

Key
Key="BMSE" と指定します。
Name

theme 選択メニューに表示する名前を指定します。1 文字目はアクセスキーとなります。1 文字目が英数字なら、アクセスキーが機能します。

Background

メインパネルの背景色を指定します。レーン背景に色をつける” 無効時はレーン背景色になります。

MeasureNum

小節番号の文字色

MeasureLine

小節線の色

GridMain

グリッドラインの色

GridSub

グリッド補助線の色

VerticalMain

レーングループ/

領域区切り二重線の色

VerticalSub

レーンラインの色

Info

“レーン情報” の文字色

[Lanes]

レーンごとの外観を司るセクションです。

Text

“レーン情報” の文字列

Background

各レーンの背景色を指定します。レーンに色をつける” 有効時はレーン背景色になります。

ObjectLight, ObjectShadow, ObjectColor

オブジェクトの光の色・影の色・基本色を指定します。

[SELECT]

オブジェクト照準時の外観を司るセクションです。

EditFrame

編集モード のオブジェクト選択枠の色

DeleteFrame

消去選択枠

消去モード のオブジェクト選択枠の色

演奏領域の仕様

レーンごと個別に設定ができます。やろうと思えば全レーン色分けも可能。

ロングノートはどのレーンに置いても固定色となります。[ver1.1.0+]

不可視オブジェクトの色は、各レーンの通常オブジェクトの色から自動生成されます。黒との中間色になります。端数は切り捨てます。[ver1.1.0+]

ObjectLight, ObjectShadow, ObjectColor, それぞれについて "0,0,0" と通常色との中間色になります。

テーマファイルの書式

先頭がセミコロン (;) またはシャープ (#) の行はコメントになります。

色コードを指定すべきキーの行頭以外の位置に「;」や「#」を挿入した場合、そのテーマを選択すると BMSE が強制終了します。

本来あるはずのキーが存在しない、もしくは見つからない場合、そのキーの値は自動的に既定値 (BMS 用 Default) となります。

色コードを指定すべきキーに空の値がある場合、そのテーマを選択すると BMSE が強制終了します。他にも言語やテーマが複数選択されたり、BMSE 起動時に設定が初期化されたり、様々な不具合が発生します。

[BPM 変更と STOP]、[BGA/LAYER/POOR]、[BGM 01 ~ 32] はテーマ上ではそれぞれグループ化されて扱われます。「グループの内部において、特定のレーンだけ個別に色を変更する」といったことはできません。

ただし “レーン情報” の文字列のみ、カンマ (,) 区切りで別々の値を指定することができます。(値は空にすることもできます)

同名のキーやセクションが重複したとき、2 つ目以降は無視されます。

チャンネル番号 38394849 の不可視オブジェクトは、ObjectLight (光の色) が通常オブジェクトの光の色と同じになります (黒との中間色になりません)。これは BMSE 1.1.0 からのバグです。

BMS でいう鍵盤 6・7 番は、不可視オブジェクトの上辺と左辺の色がうまく処理されないようです。

演奏レーンのオブジェクトを紫色に変更する例

Background="32,0,32"
ObjectLight="255,0,255"
; InvisibleLight="127,0,127"
; InvisibleWrong="255,0,255"
ObjectShadow="96,0,96"
; InvisibleShadow="48,0,48"
ObjectColor="128,0,128"
; InvisibleColor="64,0,64"