Medoly Ver. 1.5.5, 1.5.6, 1.5.7, 1.5.8

Ver. 1.5.5 変更履歴

2014-08-01 Ver. 1.5.5
– メイン画面拡大機能追加
– ヘッドセットボタンの複数回押しによるメディア切換機能追加
– 歌詞の行末尾にタイムタグがある場合のアクティブ化処理を変更
– 共有されたAndroid DB未登録メディアを再生キュー登録可能に変更
– アルバムアート背景を白に設定できなくなっていた問題修正
– 再生履歴のスクロールで落ちる場合がある問題修正
– 再生履歴にトラック番号表示するよう修正
– サムネイル読込み処理修正
– アプリ起動時に再生キューが現在メディアにスクロールしない問題修正

メイン画面拡大機能追加

表示タブのメニューに「メイン画面の拡大」項目を追加しました。メイン画面下部のコントロール領域と、Androidの通知バーを非表示にします。とにかく表示領域だけを大きく取りたい用途向けです。どのような用途を想定しているかと言うと、歌詞やアルバムアートだけを表示させたり、HDMI等で外部出力した際に、操作部分を隠して表示部分だけを大きくしたい場合等です。
まぁ、思いつきで追加した機能なので、もう少し色々検討するかもしれません。こういう事もできますよ、という実験みたいなものなので。

ヘッドセットボタンの複数回押しによるメディア切換機能追加

今までもヘッドセットのボタンを押すと、再生・停止を切り替えることができましたが、2回押しで次の曲、3回押しで前の曲に切り替える機能を追加しました。
iPhoneのように、「2回押し+押しっぱなし」で早送り、「3回押し+押しっぱなし」で巻き戻し…という機能はありません。ボタンを押しっぱなしにするとAndroid標準の音声検索が起動してしまうため、実装することができませんでした。キーを横取りできるかもしれませんが、そこまで頑張る必要はないかなぁ…と。
この機能を利用するには、設定画面よりONにします。複数回押しを検出させるために、ボタンを押した際の反応を少し遅らせていますので、使わない場合はOFFの方が良いでしょう。

歌詞の行末尾にタイムタグがある場合のアクティブ化処理を変更

歌詞の表示について。細かい話かもしれないけど、こだわる人には多分重要な変更。
タイムタグが設定された同期歌詞において、1行の末尾にタイムタグがある場合。例えば以下のような感じ。

[00:00:00]
[00:10:00]あ[00:11:00]い[00:12:00]う[00:13:00]え[00:14:00]お[00:15:00]
[00:20:00]

この場合、今までは開始10秒で2行目の歌詞がアクティブ状態になり、20秒で3行目がアクティブになるまで、2行目がアクティブ状態となっていました。
今回の変更で、 15秒で2行目が非アクティブ状態となり、3行目がアクティブになる20秒まではアクティブ行が存在しない状態になります。
これにより、ボーカルの切れ目等を表現できるようになります。

 

共有されたAndroid DB未登録メディアを再生キュー登録可能に変更

今までは、Android DBに登録された曲しか再生することができなかったのですが、未登録曲も再生できるようになりました。未登録曲は、他のアプリから本アプリに対して「共有」させることで再生キューに登録され、再生できるようになります。ただし、この曲はプレイリストに登録することはできません。Androidのプレイリスト仕様上不可能です。一応、独自プレイリストも作れるようにしてはあるので、時間がある時にでも実装してみます。

アルバムアート背景を白に設定できなくなっていた問題修正

アルバムアートの背景は白・黒で切り替えられるようになっていますが、白くできなくなっていたので修正しました。ボタンの背景画像を弄った際に誤って修正していました。

再生履歴のスクロールで落ちる場合がある問題修正

再生履歴のリストについての問題です。サムネイルの取得に失敗していました。

再生履歴にトラック番号表示するよう修正

再生履歴のアルバム名にトラック番号を表示するようにしました。

サムネイル読込み処理修正

サムネイル読込み処理を修正しました…が、これは後のバージョンで再度修正されています。

アプリ起動時に再生キューが現在メディアにスクロールしない問題修正

アプリ起動時に、再生キューがスクロールしない問題を修正…したつもりが、あまり修正されていません。調査中です。

Ver. 1.5.6 変更履歴

2014-08-02 Ver. 1.5.6
– サムネイル表示にアニメーション追加
– 再生履歴の表示が遅くなる問題修正
– 余分なスクロール処理を省略するように修正

サムネイル表示にアニメーション追加

サムネイル表示時に、短時間のフェードインアニメーションを追加しています。
サムネイル表示の際に、キャッシュから取得する場合と、アルバムアートから取得する場合があります。この2パターンの取得は当然表示までの時間差があります。スクロールしていった場合、キャッシュ画像は画面に入った段階で表示済みになりますが、画像は一旦サムネイルに落とし込むため、表示に時間がかかります。そのため、表示タイミングに差が生まれて違和感がありました。そのため、一律で短時間のフェードインアニメーションを追加することで差異を少なくして、違和感を緩和させています。
…この違和感は、私だけかもしれません。

再生履歴の表示が遅くなる問題修正

再生履歴ダイアログにリストを表示した場合、サムネイルが1枚読込まれる度に画面全体のレイアウトが再読込され、全ての表示項目にgetViewメソッドが呼ばれ、表示が非常に遅くなっていました。これはリストの高さを固定していないことで発生する事象です。

参考: [Android] ListViewのlayoutをwrap_contentで指定しない | Developers.IO

通常のActivity上で行う分には発生しにくいと思いますが、ダイアログに表示した場合、高さにmatch_parentを指定するだけではダメで、ダイアログに表示するビューの高さを固定しないと割と簡単に発生します。 これの原因を突き止めるのは割と苦労しました…。

余分なスクロール処理を省略するように修正

スクロール処理が複数回発生していたポイントがあるので、それを修正しました。

Ver. 1.5.7 変更履歴

2014-08-03 Ver. 1.5.7
– サムネイルの更新処理を修正
– 再生履歴ダイアログの末尾が見えない問題修正
– シャッフル再生において正しくシャッフルされていなかった問題修正

サムネイルの更新処理を修正

サムネイルの取得・更新処理を修正しました。バグ修正です。

再生履歴ダイアログの末尾が見えない問題修正

Ver.1.5.6でダイアログの高さを固定しましたが、固定した高さがおかしく、最後の行が途中で切れてしまう問題があったので、固定の高さを修正しました。

シャッフル再生において正しくシャッフルされていなかった問題修正

シャッフルの処理が、ずっと処理を間違ってました。再生キューをクリアせず、曲の追加・削除を繰り返すとシャッフルがどんどんズレていくという問題があったため、修正しました。

Ver. 1.5.8 変更履歴

2014-08-03 Ver. 1.5.8

– リストのサムネイル読込み時に落ちる問題修正

リストのサムネイル読込み時に落ちる問題修正

タイトルの通り。バグ修正です。