2016-05-15

Medoly Ver. 2.5.0, 2.5.1

2015-12-04 Ver. 2.5.0
- ドロワーメニューにプレイリスト追加
- 歌詞の空白の取り扱い変更
- 内蔵歌詞読み込み処理修正
- MP3の文字コード判定処理修正
- スクロール処理調整
- プロパティ情報修正
他修正

2015-12-08 Ver. 2.5.1
- JoyHackフォーマット対応
- UNSYNCED LYRICSフィールド対応


Ver. 2.5.0



ドロワーメニューにプレイリスト追加


Ver. 2.4.5でプラグイン向けに追加したドロワーメニューですが、ここにさらにプラグイン選択メニューを追加しました。プレイリスト/プラグインの切替えは上部のタブから行います。
現状でもプレイリストは再生キューメニューの「プレイリスト操作」から選択できていました。ここに更に、ドロワーメニューからプレイリストを選択できるようにした理由ですが、ユーザビリティ上の理由によるものです。
従来は、「再生キュー選択→再生キューメニュー→プレイリスト操作→プレイリストにチェック→開く」という流れの操作を行う必要がありましたが、今回は「ドロワーメニュー開く→プレイリスト→プレイリスト選択」という簡易な操作になります。また、初期設定ではプレイリストを選択した時点で再生キューが更新され、楽曲の再生を開始します。これによって「プレイリストを切り替えて音楽を聞く」という操作が極めて簡易になります。
また、以前も書きましたが私は車のダッシュボードに携帯のクレードルを置いて、そこで操作を行うようにしています。そういう状況では、簡単な操作でプレイリストを切り替えられるというのは、非常に重要な要素です。実際、これを追加したことで再生キューの入れ替えが簡単になり、長距離ドライブも苦にならなくなった、という個人的に極めて高い実効性(?)を示しています。



歌詞の空白の取り扱い変更



同期歌詞において、今までは単純にテキストの行の頭にタイムタグが存在していたらそれは歌詞の行、それ以外は歌詞の行ではない、という判定をしていました。ところが、同期歌詞においては単純な空行を歌詞の空行として扱うことを期待している場合があります。その場合、当然本来期待されている空行が詰まってしまい。 文字の詰まった見辛い歌詞表示となってしまいます。そんなわけで、単純な空行を歌詞の空行として扱うようにしてみました。
 …などと簡単に書いていますが、 実はこれ、単純に空行を歌詞の一部として扱うだけでは済みませんでした。行単位の同期歌詞は別に何の問題もありません。問題は文字単位の同期歌詞です。通常は、単純に最後に再生された歌詞行の末尾の時間を空行の頭に割り当てれば良いです。ただ、文字単位の同期歌詞においては、前回の行が進行中に次の行に移動し、複数行が同時に進行する状態があり得ます。その間に空行が挟まった場合、通常と異なる処理が必要になってきます。まぁ色々割愛しますが、思った以上に面倒臭かったです、これ。



内蔵歌詞読み込み処理修正


 ユーザ様より、読み取れない内蔵歌詞があるとのご意見をいただきましたので、それに合わせて修正してみました。具体的に言うと、 foobar2000のプラグインで編集した歌詞とのことでした。この編集によって、MP3に通常の「USLT」タグではなく、「UNSYNCEDLYRICS」というタグに歌詞が書込まれた状態となっていた様です。ここで終わったと思ったのですが、実は終わっていませんでした…。次のバージョンへ続く。



MP3の文字コード判定処理修正


MP3が文字化けするというユーザ様の報告があったため、文字コード判定を修正しました。
個人的なMP3の文字コードについての文句は、この辺をどうぞ。
この変更によって、UTF-16とShift_JISが混在しているタグでも何とか読み取れるようになっています。内部的な処理としては、文字コードが「ISO-8859-1」に設定されたタグを全部掻き集めて、タグの内容を一つのバイト配列に固めて、自動文字コード判定ライブラリに送り込むという力業を行っています。ユーザ様のタグは読み取れたそうですが、正直、これ以上はお手上げです。
ちなみに、 文字コード混在タグの場合、プロパティの文字コードには「UTF-16(改行)Shift_JIS」みたいな感じで2種類の文字コードが入っています。
なお、そうなっているMP3は全部UTF-16に置換える努力をした方がいいです。ここまで頑張ってタグを読み取ってくれるアプリばかりではないゆえ…。



スクロール処理調整



再生キューのスクロールの処理を少し調整しました。
画面の表示タイミングで自動スクロールが実行されないなどの問題があったのですが、タイミングを調整して実行されやすくしました。これを確実にスクロールさせる方法がよく分からない…。



プロパティ情報修正


プロパティタブの中に表示する情報を少し変更しています。著作権タグに対応しました。



Ver. 2.5.1



JoyHackフォーマット対応


JoyHackというのは、 カラオケを行うためのフリーソフト及びそのシステムです。「女医ハック」という名前の方が通りが良いようです。カラオケJoysoundのHyperJoy システムを利用していたためにそういう名前がついています。昔はカラオケに入る曲も少なく、自分の歌いたい曲がなかなかなかったため、自前で曲を用意して歌うという文化があったようです(自分はあまり知りませんが…)。その際、HyperJoyという機種において、ビデオ入力/音声入力の端子があり、利用には最適だったようです。
ちなみに、今となってはカラオケには液晶TVが配置され、当たり前のようにHDMI端子が存在しているため、ビデオ/音声入力はかなり簡単になっています。というか、スマートフォンからHDMI出力もできるので、Medolyを用いた簡易カラオケも出来たりします。まぁそもそも、今はカラオケの曲もかなり充実しているため、そこまでする必要はないかもしれませんが…。
前置きが長くなりましたが、Joyhackで用いられている歌詞データも、文字単位の同期歌詞データとなるので、適当にフォーマット見て対応させてみました。読み取り処理はかなり適当なので、もしかしたら正しく読み取れないかもしれません。また、Joyhackは歌詞データに音楽ファイルのファイル名が記述され、歌詞ファイルが主・音楽ファイルが従、という位置付けなのですが、Medolyでは他の歌詞ファイルと同様に、音楽ファイルに対して同名の歌詞ファイルを読み取る、という処理になっています。ちなみに、拡張子は.txtです。



UNSYNCED LYRICSフィールド対応


前回のバージョンで内蔵歌詞のタグ「UNSYNCEDLYRICS」に対応しましたが、どうやら「UNSYNCED LYRICS」(スペースの有無の違い)が正しいタグの名前だったようで、こちらにも対応いさせました。
ちなみに、「UNSYNCEDLYRICS」はMp3tagによってタグが付与される場合があるようですが、詳細はよく分かりません。とりあえず、現状ではどちらでも読み取れると思います。


0 件のコメント:

コメントを投稿