Medoly Ver. 2.8.5


久々の更新となります。難しい更新を行っていたとかそういうわけでもなく、ただ単に他の作業をしていて更新が停滞しているだけです。

Ver. 2.8.5

2016-12-21 Ver. 2.8.5
– 歌詞表示をアウトライン文字に変更
– メディアの長さから再生中アクション実行時間を設定する機能追加
– ウィジットのレイアウト追加・変更
– 言語の変更設定追加
– タブの表示を保持するように変更
– メッセージ一部修正
– ヘッドセット接続時のみ再生を行う設定追加
– シャットダウン時にメディアが破損状態となる問題修正
– 歌詞スクロールが再生位置とずれる問題修正
– 1曲も存在しない場合に検索がエラーとなる問題修正

歌詞表示をアウトライン文字に変更

今まで、歌詞のテキストに影を表示していました。これは、歌詞のテキストが背景に表示されるアルバムアートの内容によって見えにくくならないようにするためのものでした。今回、この影をやめて、アウトライン文字(文字の周囲を線で囲んだ文字、囲い文字、袋文字とも呼ばれる)に変更しました。
変更理由…というか、そもそも3年前の一番最初の開発段階でアウトライン文字にする予定でした。ところが、やり方が分からず断念していたというのが本当のところです。最近、少し落ち着いたところで色々調べていると、MagicTextView というライブラリを見つけ、こちらを参考にしてアウトラインテキストを実装してみた次第です。

変更前

変更後

 

メディアの長さから再生中アクション実行時間を設定する機能追加

プラグインのイベントアクション(自動的に実行されるアクション)に「再生中」イベントというものがあります。これは、メディアをある程度の時間再生し続けると「再生中」であると判断し、イベントを実行します。これは、ザッピング再生や頭出し再生で逐一実行されてほしくないアクションを実行するためのものです。例えば、再生時にTwitterに自動投稿したり、Last.fmに再生中を通知をする、といった使い方を想定しています。
この「再生中」イベントを実行するための時間は、今まで固定時間でした。初期値は30秒です。ところが、これでは30秒未満の曲では実行されません。そこで、今回の変更で全体の再生時間の割合からイベントの実行時間を設定できるようにしました。例えば、4分の曲で50%に設定すると、2分間続けて再生した時点で「再生中」イベントを実行します。(なお、途中で停止した場合はリセットされます。)
加えて、再生終了時点でイベント未実行だった場合は強制的に実行するオプションを追加しています。

ウィジットのレイアウト追加・変更

ウィジェットのレイアウトを追加・変更しています。具体的に言うと、レイアウト構成を1つ追加(4番目)し、従来の1番目のレイアウトと3番目のレイアウトを交換しています。現在のレイアウトは以下の4種類です。全てサイズは可変(最小サイズ:2×1)のため、サイズを変更してご利用ください。

追加したレイアウトは、以下のようなテキストのみのウィジェット表示を想定した物です。(画面のサイズによってはこの通りの表示にならない可能性があります。)

レイアウトの交換については、(旧)3番目のレイアウトは他3つとは少し毛色の異なるレイアウトなので、特別扱いで先頭に持ってきています。

言語の変更設定追加

設定画面に[その他] > [言語]
設定を追加し、言語の変更が行えるようにしました。従来、言語設定はシステム環境の言語設定に応じて変更していましたが、手動で切り替えられるようにしました。
まぁ、今のところは日本語と英語しかありませんが。英語に関しては内容が非常にダメな感じですが…。
 

タブの表示を保持するように変更

アプリをバックグラウンドから再表示した際に、タブの表示(再生キュー、表示、プロパティ)を保持するようにしました。これはどちらかと言えば、保持する方法(起動時に切り替える方法)が分かった、と言った方が良いかもしれません。

メッセージ一部修正

メッセージ内容を一部修正しています。文言の見直しです。

ヘッドセット接続時のみ再生を行う設定追加

設定画面の[操作] > [操作]
に「ヘッドセットのみ再生」を追加しています。これは、イヤホンやBluetoothが接続されていない場合、再生を開始させないようにするための設定です(メッセージが表示されます)。スピーカーから音を鳴らしたくない場合に使用します。

シャットダウン時にメディアが破損状態となる問題修正

従来、端末をシャットダウンした際に、選択中のメディアが破損状態になっていました。これは、シャットダウンの際に、何故か標準のメディアプレイヤーライブラリからエラーが返ってくるためです。何故このような挙動をするのかは知りません。
この対策として、シャットダウン時にシステムからブロードキャストされるシャットダウンメッセージを受信すると、アプリを強制終了する処理を加えました。

歌詞スクロールが再生位置とずれる問題修正

非同期歌詞メディアを再生して、表示タブでスクロール位置を強制的に変更した後、同期歌詞を再生した際に前回の非同期歌詞のスクロール位置がリセットされずに保持されてしまう問題がありました。
長らく謎だったこの原因を究明したところ、メディアが切り替わり、歌詞が切り替わる間に僅かなタイムラグが生じており、その間にスクロールが割り込むと、とリセットされたスクロール位置が現在のスクロール位置で上書きされてしまうために問題が発生していました。
処理の関係上これを変更することが難しかったので、現在選択中のメディア情報を歌詞側に保持しておき、相違があった場合にスクロール位置の設定を無効にするという処理を加えています。

1曲も存在しない場合に検索がエラーとなる問題修正

これは、メディアが1件も存在しない場合に検索画面でエラーが発生するという問題があったため、ちょっと修正しました。まぁ、メディアが1つも存在しない人間がこのアプリを使うか、という話ではあるのですが…。