ようつべ風ダークモードプレイヤーフェイス

はじめに

このフェイスは見た目がようつべのダークモードを模したフェイスです。
操作性やボタン配置でプレイリスト関連とか一纏めになっていないボタンもありますが、これは模した結果です。

Sound Player Lilith for Unicode OSes（略称 uLilith）で使用するフェイス（スキン）です。
project9k
https://twitter.com/project9k

最新のuLilithの入手は
https://drive.google.com/drive/folders/1iLZXWjDJlXd4vjR6suptMadJD0bfzCx5

最新のuLilithSuiteプラグインの入手は
https://drive.google.com/drive/folders/1VX83l9wG6h7fl92E62m4jy-_2UFey1O0

歌詞表示対応フェイスです。uLilithSuiteプラグイン必須でDirect2Dモードの使用推奨。
実際Direct2Dモードじゃないと同期非同期の歌詞が見辛いです。
あとDirect2Dがグレー表示で使用できない方は申し訳ありません。

●特徴
・自動で歌詞ファイルの有無を読み取り、タイムタグの有り無しを判別して同期歌詞を表示非表示します。
・歌詞有りと判別したら非同期歌詞サブフェイスオンオフボタンが表示されます。
・非同期歌詞専用ボタンをクリックで、タイムタグ付き歌詞と無しの歌詞ファイルどちらでもサブフェイス
　で非同期歌詞を任意でオンオフ出来ます。
・非同期歌詞サブフェイスは歌詞の埋め込みデータ、テキスト、拡張子lrcやkraファイルなどが無い音声フ
　ァイルに移行すると自動で閉じます。
・タイムタグ付き歌詞音声ファイルは、同期非同期歌詞両方表示する事が出来ます。その場合Lyricsタブにあ
　る同期タイプは同期に設定しておいて下さい。詳しくは補足3をお読み下さい。

●動作確認
uLilith バージョン1.0.0 (2019/01/01) x64Core2版＋uLilithSuiteプラグイン 1-52版でDirect2Dを使用し
て動作確認。

●フォント
「Segoe UI」

●Previou(Back)ボタンの説明

・再生中にPreviou(Back)ボタンをクリックするとRewindします。
・2秒以内にダブルクリックまたはワンクリック後、2秒以内にもう一度ワンクリックするとBack（前の音
　声ファイル）になります。
・2秒経過後は再びワンクリックでRewindになり、ダブルクリックでBackになります。
・再生中以外（停止とか一時停止）ではワンクリックでBackします。
・再生モードシャッフルではシャッフルに切り替え最初の再生、または再生中にシャッフルに切り替えた音
　声ファイル（シャッフルで最初の再生扱いになるみたいです）では再生中に2秒以内のダブルクリックをし
　てもBackにならず、Rewindします。

CoolSideのNo.0105 さかな氏のRewindBackフェイスのリードミーにあるRewindBackコマンド基本概論か
らRewindBackコマンドのソースをお借りしました。ありがとうございます。

●補足
1. 同期歌詞表示をオフにするとそのままタイムタグ無し音声ファイル再生になるまで継続します。タイムタグ
 　無しか歌詞ファイルのない曲 → 同期歌詞表示オフは解除 → タイムタグ付きに再び移行すると自動で同期歌
 　詞が表示されます。

2. プレイリストのメニューボードを表示させている間はマウスドラッグでサブフェイスの移動が出来ないので、
 　再度プレイリストコンフィグボタンをクリックしてメニューボードを閉じるか、リストとメニューボードと他
 　のボタン部分以外のどこでも良いのでクリックして、メニューボードを閉じてから移動して下さい。

3. 同期設定且つManualTurnPageキー設定時は非同期D※で動作するように仕様を変更しました。ver1.31〜
 　uLilithSuiteのReadmeより

　 このフェイスはそれを利用してuLilithSuiteプラグインのLyricsタブにある同期タイプを同期にして、非同期サ
 　ブフェイス定義にManualTurnPageキーを記述、タイムタグ付き歌詞音声ファイルは同期非同期歌詞両方表示
 　する事が出来ます。タイムタグ付き歌詞は持ってないよって方で半自動にしている場合、半自動は機能しませ
 　ん。ManualTurnPageキーのパラメータにManualを指定している為で、定義側が優先されるので。

※
非同期D
同期設定且つManualTurnPageキーがあると、タイムタグと@タグを削除して非同期で表示する非同期Cと同じ動
作をします。

●ご注意

・このFaceを使用して問題が起こっても当方では一切責任を負えませんのでご使用の際は自己責任でお願いします。

・個人での使用限定でならご自由に改変してくださって構いません。また定義(ini, in)ファイルを元に新作フェイ
　ス作成にご利用して頂いて尚且つDTに投稿は大歓迎です。ただし投稿の際は「;」← 半角セミコロンの説明文は
　改変するか削除して下さい。

・このFaceの転載、再配布、販売等は絶対にしないでください。このFaceは個人使用限定でお願いします。

●更新履歴（作業の備忘録も兼ねています）
2019.11.21　Ver.1.0.3
- その他 : 定義ファイル内の注釈とリードミーの文言を修正。サブウィンドウ → サブフェイス

2019.11.07
- 修正 : プレイリストバイメニューのマウスオーバーボタンがクリックボタンと同じ画像になっていたので画像修正した。

2019.10.27　Ver.1.0.2
- 追加 : ミニプレイヤーモードで再生・演奏時間をマウスオーバーで表示するようにした。
- 修正 : ミニプレイヤーモード時シークバーを常時表示するようにした。
- 修正 : ミニプレイヤーモードのuLilith終了ボタンマウスオーバーの際、Nextボタンが非表示になるバグを修正した。
- 修正 : ミニプレイヤーベースの高さを拡大した。204 → 209(px)

2019.10.14　Ver.1.0.1
- 修正 : 選択中のビューの名称の表示位置をセンターからセンターレフトへ。単純ミス、ようつべ風なのでそれに倣いました。
　　　　併せて表示の始まりを5pics右へ移動。x156 → 161, 表示領域幅196 → 191
- 修正 : ミニプレイヤーから通常サイズに戻した時のプレイリストカラム幅変更で、変更順が可笑しくなっていたのを修正。
　　　　修正後はColumn02又は03 → ミニプレイヤー → 通常サイズに戻す → 初期サイズのカラム幅Column01になります。
- 修正 : ミニプレイヤー時に最前面有効のボタン（白色）が表示されなかった不具合を修正。
- その他 : サムネイルとプレビューの画像を作り直した。

2019.10.12　Ver.1.0.0

2019.09.25
- 制作開始。

――――――――――――――――――――――――――――――――――――――――――――――――――――

ようつべ風ダークモードプレイヤーフェイスです。ってもう説明いらないですよね。

このフェイスはChromiumベースのMicrosoft Edge Dev版からようつべをダークモードにした時の見た目を模しました。
完全に模してないですが字幕ボタンは同期歌詞表示のオンオフ、ミニプレイヤーはまあ大体再現出来たかなと。
左上の横三本ボタンはuLilith設定、ようつべでは検索ですが虫眼鏡はリストビューになっていて検索窓に選択したビュー
のネームが表示されます。
あとuLilithが歌詞有りと判断すると右下に非同期歌詞サブフェイスのオンオフボタンが表示されます。ミニプレイヤーで
は左上拡大ボタンの隣にマウスオーバーで表示されます。因みにミニプレイヤーではマウスオーバーで設定した全ボタン
が表示されます。

本当は通常サイズもマウスオーバーでシークとかボタンが表示されるのですが、通常サイズでやるとシークの位置とかボ
タンクリックで視認性や操作性が悪くなるので、マウスオーバーでボタン表示はミニプレイヤーのみ再現しました。

●特に読まなくても問題ない話（興味の無い方はスルー推奨）
実はSingleE1394氏のNiconico Playerフェイスの歌詞表示部分を改造するに当たっていろいろ試行錯誤する為にどうせな
らようつべ風にしたフェイスを作って検証しようという事でこのフェイスを作成しました。

結論からいうと失敗です。DTのCool Side No.0416にサブちゃんは使わないってコメしましたが、そもそもサブちゃん＝
サブウィンドウ（サブフェイス）を使わないで一つの定義で同期非同期歌詞両方使い分け出来ない※ のをすっかり忘れて
いました。思い出したら直ぐ方向転換して出来たのがこのようつべ風ダークモードプレイヤーフェイスです。

Niconico Playerフェイスでは同期歌詞を重視しているようなのでManualTurnPageキーはありません。
タグ無し非同期歌詞も表示され半自動っぽい動きをしてページが送られますが、同期と違い歌詞と連動していないので改ペ
ージが遅れます。改造して此処を何とかしたかったのですが、答えはようつべ風ダークモードプレイヤーフェイスで歌詞の
有無で非同期歌詞サブフェイスオンオフボタンの表示非表示になりました。Niconico Playerにこれを組み込みたいと思っ
ています。

※
歌詞表示させるのに必須の[Lycirs]フィールドは、[AlbumJacket]フィールドと同じ扱いです。
一つの定義では一つしか設定出来ない＝複数配置不可です。
非同期歌詞では送りページさせる為に[Lycirs]フィールドにManualTurnPageキーにパラメータをManualが必要ですが（前
ページや次ページさせるボタンフィールドは別途記述）、設定するとタグ付き歌詞でも同期歌詞の同期した動きが不可にな
ります。なので、最低どちらかサブウィンドウフェイスを使って定義を複数にしなければならないという事になり、これは
uLilithやuLilithSuiteプラグイン側の仕様になります。


てす

