foobar2000で歌詞表示/Lyric Show Modoki
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WSH Panel Mod や JScript Panel(1.3.0以下) で動作する歌詞表示スクリプトです。
Lyric Show Panel 2, 3 等で満足出来なかったので作成しました。
埋め込み歌詞や外部ファイル歌詞を読み込んで表示します。
・歌詞のスクロール表示、1行/2行表示
・同期歌詞の作成と編集
・クリックした歌詞へシーク
・クリップボードからファイルの作成
・"※繰り返し"等の展開
・オフセット値の反映/1行にまとめられたタイムタグの展開
・背景画像の表示
・簡易プラグイン機能
等々。文字化けもしにくい(はず)です。
更新履歴 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<< Download >> Lyric Show Modoki.zip GitHub
内容
┣importフォルダ
┣Lyric Show Modoki.js
┗README.md (使用しない)
■インストール †
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
※ WSH Panel Mod または JScript Panel をインストールし、そのパネルを配置してください。
※ WSH Panel Mod では Preferences->Tools->WSH Panel Mod の"Safe mode"をオフに。
1. importフォルダ と Lyric Show Modoki.js を foobar2000 のプロファイルフォルダへ置く
(foobar2000 のツールバーの「File」を Shift を押しながらクリックし、
「Browse configuration folder」を選択して出てくるフォルダ)
2. 配置したパネルの設定を開いて"Grab Focus"にチェック。WSH Panel Modでは"Delay Load"にも。
3. スクリプト欄は次のようにして「OK」を押す
4. 以上で埋め込み歌詞は表示される状態です。外部ファイル歌詞を表示したい場合は// ==PREPROCESSOR==
// @name "Lyric Show Modoki"
// @import "%fb2k_profile_path%import\common\lib.js"
// @import "%fb2k_profile_path%Lyric Show Modoki.js"
// ==/PREPROCESSOR==
パネルを右クリック -> 設定の Panel.Path を自分の環境に合わせてください。
スクリプトの更新はファイルを上書きするだけでOKです。
-----
Please look at this image about the installation.
installation.jpg

When you update it, overwrite with the file.
Then, you can set a property to display lyrics in Panel.Path.
Right-click Menu -> Properties -> Panel.Path
About metadata after foobar2000 ver1.3, read comment148.
■foobar2000 ver1.3 以降をご使用の方へ †
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ver1.3 からメタフィールドに対するサイズ制限が追加されました。
これによりUTF-8で1001バイト以上の文字が書き込まれているメタフィールドが読み込めなくなりました。
埋め込み歌詞はこの制限に引っかかりやすく、正常に読み込めない問題が発生します。
この問題は LargeFieldsConfig.txt に記述されているサイズ制限を緩めることで回避できます。
さらに、LYRICS および UNSYNCED LYRICS フィールドは spam fields 扱いされており強制的に
1000バイト制限が掛けられていますのでこれも解除する必要があります。
制限を8000バイトに緩め、かつ、spam fields を解除したファイルを用意しましたので、下記の手順を参考に上書きしていただければ変更できます。txtファイルの中身を見て自分で書き換えても大丈夫です。
[手順]
1. LargeFieldsConfig.txt ←クリックしてデスクトップ等に保存
2. foobar2000 のツールバーの 「File」 をShiftを押しながらクリックすると 「Browse configuration folder」 が出てくるのでそれをクリック
3. 表示されたフォルダに LargeFieldsConfig.txt が存在するはずなので、先ほど保存したファイルをそこに上書きする
4. foobar2000を再起動
以上です。
■操作一覧 †
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
・通常画面
歌詞の手動スクロール | :マウスドラッグ or ホイール回転 |
編集画面へ | :ホイールクリック |
プラグインメニュー | :ホイールクリック(歌詞が無い時) |
InfoPathの切り替え | :Shift + クリック |
クリックした行へシーク | :ダブルクリック |
クリックした行を検索 | :Ctrl+ダブルクリック |
1行前へシーク | :A キー |
行頭へシーク | :S キー |
1行後へシーク | :X キー |
先頭行へシーク | :E キー |
自動スクロールの有効/無効 | :Z キー |
再生している行へスクロール | :Q キー |
更新 | :R キー or ダブルクリック(同期歌詞以外) |
コピー | :Ctrl + C |
貼り付け | :Ctrl + V |
Google検索(title + artist) | :G キー |
設定を開く | :P キー |
フォントサイズ変更 | :Ctrl+ホイール回転 |
スクロール方法変更 | :1~5 キー |
・編集画面
<通常モード>
現在の再生時間をタグ付け | :クリック or ホイールダウン or Enterキー |
1行前のタグを取り消す | :ホイールアップ or Page Up |
ビューモードへ切り替え | :ホイールクリック |
50[ms]単位でタグを調整 | :↑ or ↓ |
すべてのタグを一括で調整 | :Shift + ↑ or ↓ |
空白行の操作 | :Shift + クリック |
TXTファイルの削除 | :Ctrl + クリック |
<ビューモード>
クリックした行へシーク | :クリック |
前後の行へシーク | :ホイール回転 |
通常モードへ切り替え | :ホイールクリック |
50[ms]単位でタグを調整 | :↑ or ↓ |
すべてのタグを一括で調整 | :Shift + ↑ or ↓ |
■設定 †
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
※色付きは右クリックメニューから変更可能
[Edit]
ShowRuledLine | :編集画面で罫線を表示させるかどうか |
Step | :色をどのくらい変化させていくか。値が大きい方が変化が少ない 0で変化なし |
[Panel]
AdjustScrolling | :非同期歌詞のスクロールスピード[%] 曲の終わりにスクロールし終わる速度を100[%]とする |
AutoScroll | :自動スクロールさせるかどうか |
Background.Enable | :背景に画像を表示させるかどうか |
[B].Alpha | :画像の透明度(0~255) |
[B].Angle | :画像の角度 |
[B].Blur | :画像にブラー(ぼかし)をかけるかどうか Blur 使用時は Alpha, Angle, KeepAspectRatio, Stretch が無視されます |
[B].BlurAlpha | :Blur 使用時の透明度(0~255) |
[B].BlurValue | :Blur の程度(1~100)。100に近い程ぼかしが強くなる |
[B].Image | :背景に表示させる画像のパス。"||"で区切って複数指定でき、TitleFormattingが使用可。ファイル名に限りワイルドカードが使用可。<embed>で埋め込み画像を表示できる。'%fb2k_path%'や'%fb2k_profile_path%'の記述はそれぞれインストールフォルダとプロファイルフォルダのパスを意味します。 また、TitleFormatting以外でパスに "()" 括弧を使用する場合は、'(' ')'のようにそれぞれシングルクォートで括ってください |
[B].KeepAspectRatio | :背景画像のアスペクト比を維持するかどうか |
[B].Stretch | :パネルより小さい背景画像をパネルサイズまで拡大させるかどうか |
ExpandRepetition | :"※繰り返し"等を展開させるかどうか |
ExternalEditor | :テキストを開くための外部エディターのパス |
FollowExternalSeek | :シークバー等でシークした際に位置を追従するかどうか |
GuessPlaybackTempo | :DSPによる再生速度の変化を推測し、スクロール量を補正するかどうか。 再生速度の変更を行いながら使用したい場合は true。それ以外は false 推奨 |
HideConfigureMenu | :右クリックメニューにConfigureを表示するかどうか |
InfoPath | :歌詞以外に表示したいテキストファイルがある場合に、 拡張子込みのファイルパスを記述することで切り替えて表示できます。 Shift+クリックで切替え、TitleFormatting使用可、"||"区切りで複数指定可 e.g. $directory_path(%path%)\info.txt |
Keybind.~ | :ショートカットキーの変更が可能(一部コマンドのみ) 記述する値は仮想キーコードの10進数です Shiftキー等の組み合わせによる割り当ては出来ません |
Language | :メニューやメッセージの言語。 ja 、en、cn、zw-TW が指定可 import\Lyric Show Modoki\language フォルダにiniファイルを置くことで言語の追加ができます |
LRC.ContainNormalLines | :同期歌詞においてタイムタグのない行を認識して表示させるかどうか。認識しない場合はそれらの行は保存対象になりません |
LRC.ScrollDurationTime | :ScrollTypeが 2 や 3 の時の動きに影響。値が小さい程、次の行への動きが速くなります。3の倍数を推奨 |
LRC.ScrollToCenter | :Modokiでクリックシークやキーボードシークをした時に、歌詞を中央へスクロールさせるかどうか |
LRC.ScrollType | :同期歌詞のスクロール方法。通常は右クリックメニューから変更します |
LRC.SkipEmptyLine | :1行/2行表示で空行をスキップして表示するかどうか |
MouseWheelDelta | :ホイールスクロールの移動量 |
MouseWheelSmoothing | :ホイールスクロールを滑らかにするかどうか |
NoLyricsFound | :歌詞が見つからなかった時に表示する文字 改行は"\n" |
Path | :歌詞ファイルのパス("||"で区切って複数指定可) 拡張子は付けないで下さい。 埋め込み歌詞しか扱わない場合は特に弄らずデフォルトのままで良いです。 「ファイルに保存」を実行した時の保存先にもなりますので初期値のように$replaceを使った禁則文字の回避が必要です。 また、TitleFormatting以外でパスに "()" 括弧が含まれる場合は、それを'(' ')'のようにそれぞれシングルクォートで括る必要があります。 音楽ファイルとの相対パスを指定したい場合は comment92, 93 を参考に。 |
Path.FuzzyLevel | :歌詞ファイル検索の曖昧さ。検索時に上記Pathとの差異をどこまで許すか 0:完全一致のみ 1:半角,全角スペースの差異を無視 2:括弧の有無も無視 |
Priority | :歌詞を探す優先度。先頭から順に検索します デフォルトでは Sync_Tag, Sync_File, Unsync_Tag, Unsync_File が設定されています。 タグのLYRICS > lrcファイル > タグのUNSYNCED LYRICS > txtファイル の優先順位で読み込むという意味です。 |
RefreshOnPanelResize | :パネルサイズが変化した際に表示を即時に修正するかどうか StyleTextRender を使用する場合は false 推奨 |
RunInTheBackground | :パネルが非表示でも動作を継続させるかどうか True では"Click here to enable this panel."にならず処理が継続します |
SingleClickSeek | :歌詞へのシークをシングルクリックで行えるようにするかどうか |
[Plugin]
CheckUpdateOnStartUp | :自動で更新チェックするかどうか Lyric Show Modokiに更新があると右クリックメニューに通知されます |
Disable | :無効にしたいプラグイン名を記述 (複数指定はカンマで区切る) プラグイン名はテキストエディタで開いてname: ~の部分です e.g. oplugin_NewFile_TXT |
FunctionKey | :F1~F9キーの割り当て。プラグイン名を記述 e.g. splugin_AutoSearch,,,,,,,,uplugin_Lyric_Show_Modoki |
Search.AutoSaveTo | :検索で見つかった"非同期"歌詞を自動で保存するかどうか 空欄のまま:保存しない File と記述:ファイルに保存 Tag と記述:タグに保存 |
Search.AutoSaveLrcTo | :検索で見つかった"同期"歌詞を自動で保存するかどうか |
Search.AutoSearch | :自動検索で使うプラグイン名 (カンマ区切り) 記述されたものは '再生時に検索' で使用されます プラグインメニューの各検索プラグインを「Ctrl+クリック」することでも 追加/削除が可能です |
[Save]
CharacterCode | :保存する際の文字コード。Unicode, UTF-8, UTF-8N, Shift_JIS, EUC-JP が指定可 |
GetClipbord.AutoSaveTo | :クリップボードから取得と同時に保存するかどうか 空欄のまま:保存しない File と記述:ファイルに保存 Tag と記述:タグに保存 |
iTunesMode | :タグに保存する際のフィールド名をiTunesと同一にするかどうか 同期歌詞/非同期歌詞に関わらずm4aは<LYRICS>に、 それ以外は<UNSYNCED LYRICS>に保存されるようになります |
LineFeedCode | :保存する際の改行コード。CR+LF または LF が指定可 |
RunAfterSave | :保存後に実行するコマンド。複数指定する場合は"||"で区切って下さい foobarのメインメニューを実行する場合、例えば View/Lyrics Show 2/Refresh と入力 歌詞を外部エディタへ渡す場合、例えば C:\Program Files\Notepad++\notepad++.exe D:\Lyrics\%artist% - %title%.txt と入力 <hogehoge>とすると他のWSHパネルに名前を"hogehoge"としてnotifyイベントを発生させます。 |
Timetag[12:34:56] | :タイムタグのミリ秒の区切りをコロンにするかピリオドにするか True → [12:34:56], False → [12:34.56] |
[Style]
Align | :左揃え、中央揃え等の指定。通常は右クリックメニューから変更します |
AlignNoLyric | :no lyrics 時の列揃え。0~6を記述。 0:左、1:中央、2:右、3:左-中央、4:中央-左、5:中央-右、6:右-中央 |
CenterPosition | :歌詞の初期表示位置(縦方向)。 0~100[%] |
ColorStyle.Edit | :編集画面でのカラースタイル。white, black, userが指定可 userを指定するとUser.Edit.~の色が使われます |
ColorStyle.LyricShow | :通常画面でのカラースタイル。white, black, userが指定可 userを指定するとUser.LyricShow.~の色が使われます |
EnableStyleTextRender | :文字の描画にStyleTextRenderを使用するかどうか |
FadeInPlayingColor | :再生行を徐々に着色するかどうか |
Fading | :パネル上部/下部でフェードさせるかどうか |
FadingHeight | :フェードの範囲(高さ)。上部,下部 の順で記述 |
Font-Bold | :太字にするかどうか |
Font-Family | :フォント名 |
Font-Italic | :斜体にするかどうか |
Font-Size | :フォントサイズ |
HighlineColor~ | :非同期歌詞のテキストをハイラインカラーにするかどうか |
KeepPlayingColor | :再生行の色を通過後も保つようにするかどうか |
Horizontal-Padding | :左右の余白 |
Vartical-Padding | :上下の余白。上部,下部 の順で記述 |
Line-Padding | :行間の広さ |
Text-RoundSize | :StyleTextRenderを使用している時の影サイズ |
Text-Shadow | :文字に影を表示させるかどうか |
Text-ShadowPosition | :影の表示位置. 文字に対する相対座標x,yを記述。負の数も指定可 |
User.~ | :ColorStyleで"user"を指定した場合にこの色設定が使われます 書き方は初期値に倣って下さい |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
"※繰り返し"等の省略表記を、本来の歌詞に展開することができます。
import\Lyric Show Modoki\repeat-default.txt に繰り返しのパターンが記述されています。
パターンの追記/変更は、repeat-default.txt を repeat.txt にリネームしたファイルで行なって下さい。
そちらが優先されます。
[書式] abcの3つには正規表現を記述します. dには数字を記述します.
{ a:/~/, b:/~/, c:/~/, d:~ }
a: 繰り返し部分の始まり
b: 繰り返し部分の終わり
c: 展開対象の表記
d: aの歌詞の先頭から~文字を削除して展開
■表示サンプル †
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[左] ColorStyle.LyricShow:white
[右] ColorStyle.LyricShow:black

Edit画面
[上] ColorStyle.Edit:white
[下] ColorStyle.Edit:black

何か不具合や要望等がありましたら、コメントやメールから報告していただけると幸いです。
--------------------------------------------------------------------------------------------------------------
ファイル一覧
| foobar2000 | 19:35 | comments:394 | trackbacks:0 | TOP↑
ブロともになりませんか?
WSHスクリプトを拝見させていただきました。素晴らしいですね。
私もWSH Panel Mod等を利用し、foobar2000をより便利なものにするツールなどを作らさせていただいております。
出来ればブロとも/相互リンクになりませんか?
こちらはユニークアクセス数が数百にも満たない弱小ブログでありますので、CEO対策にはならないと思います。
なお、私はアフィリエイト等商用的な目的でブログを運営してはおりません。
同じ志を持つもの同士、もっと親交を深めたいと思っております。
ぜひ御一考の上、良いお返事がいただけるよう期待しております。
| PNN_CEO | 2012/02/04 22:19 | URL |