Medoly Ver. 1.7.0, 1.7.1

2014-10-17 Ver. 1.7.0

– 歌詞の表示スタイル設定追加
– 設定画面を画面分割化
– 表示タブのメニュー一部修正
– 表示タブのボタン配置一部修
– 再生・停止ボタン連続押しの挙動変更
– スリープ時にCPUに負荷がかかる問題修正
– 停止時のオフセット調整時に歌詞が追従しない問題修正
– メディアエラー時の処理修正
– 未選択状態の曲送りボタン押下時動作修正
– 設定の文言修正

歌詞の表示スタイル設定追加

歌詞の表示について、以下の項目を設定できるようにしました。これらは設定画面から変更できます。
  • 背景色
  • 歌詞テキストの影色
  • 未再生歌詞のテキスト色
  • 再生済歌詞のテキスト色
  • 再生中歌詞のテキスト色
  • 再生中歌詞の背景色
  • 再生中歌詞のボーダー色
  • アルバムアートの透明度
  • フォント種別(Sans-serif, Serif, Monospace)
  • フォントスタイル(太字、斜体)
  • 表示位置(左寄せ、中央寄せ、右寄せ)
また、スタイルのプリセットを選択することで、初期表示に戻すことができます。
なお、フォント種別、フォントスタイルについては、使用するフォントが対応していない場合は変化しません。特に日本語フォントについては、対応していない場合が多いと思います。というか、太字以外に変化してるのを見たことないです。恐らく、ほとんどの人がそうだと思います。そんなわけで、実質英語歌詞向けの設定になってます。
この設定、本当は各自でプリセットを保存できるようにして、メイン画面のタブメニューからプリセットを一発で切り替えられるような機能を持たせたかったのですが、作るのが大変だったので今のところはこの辺で妥協。そのうち作るんじゃないかと思います。

なお、これに伴い以下のライブラリを追加しています。

attenzione/android-ColorPickerPreference · GitHub

設定画面を画面分割化

歌詞スタイル関連の設定が増えすぎたので、流石に1画面で表示させるのは辛くなってきました。そんなわけで、従来の1画面から種別ごとに画面分割するようにしました。

表示タブのメニュー一部修正

表示タブをタップした時に表示されるメニューのうち、歌詞文字サイズの変更と歌詞同期オフセットの変更について、メニューを修正しています。

表示タブのボタン配置一部修

表示タブをタップした時に表示されるボタンのうち、文字サイズのアイコンの左右を入れ替えてま
す。
今まで、 左側がサイズ拡大、右側がサイズ縮小だったのですが、これが逆転しています。理由は、通常は右側が+方向、左側が-方向に値が増減する方が一般的であると考えられるため、それに倣うようにしました。
表示タブのメニューを修正した際に色々ボタン配置を見直した結果を反映しています。

再生・停止ボタン連続押しの挙動変更

再生・停止ボタン(再生と停止を兼ねる単一のボタン)を押した際、ヘッドセットのボタンと同じ動作をさせていたのですが、これを切り分けるようにしました。理由は、再生・停止ボタンの連続押しで曲送り・曲戻し動作が発生してしまうためです。
ロック画面の再生・停止ボタンで曲送り・曲戻し動作が発生してしまう事象への対策です。

スリープ時にCPUに負荷がかかる問題修正

これは昔から存在していた問題。何も弄ってない夜中に突然CPU使用率が跳ね上がり、ずっとCPUリソースを消費し続けるという問題がありました。これは毎日起こるわけではなく、たまに発生する上に、どのタイミングで起こるか分からない、充電中しか発生せずバッテリー稼働の際は起こらないといった症状があり、原因がよく掴めてませんでした。
これについて完全に把握したわけではないのですが、この事象はアクティビティのonResumeイベントにあった、歌詞更新ループ開始処理をはじめとした各種処理を、onStartイベントに持ってきたところ、(恐らく)発生しなくなりました。
恐らく、意図しないタイミングで歌詞更新のループ処理が走っていたものと思います。また、ループ処理も一部見直して、起動してない場合は確実に停止させるようにしました。
とりあえず、onResumeイベントを使うのは最小限に抑えた方が良さそう、という事は分かりました…。

停止時のオフセット調整時に歌詞が追従しない問題修正

以前の修正で、歌詞の更新処理を見直していたのですが、オフセット調整時に歌詞スクロール位置が反映されなくなっていたので修正しました。

メディアエラー時の処理修正

メディアエラーが発生した際の処理を修正しました。これは、ギャップレス再生を追加したことに伴う修正漏れです。

未選択状態の曲送りボタン押下時動作修正

曲が未選択状態で曲送りボタンを押した場合、本来は先頭の曲が選択されるのですが、ギャップレス再生処理を追加した際にその動作が消えてしまい、メディアが存在しないと判定されていました。

設定の文言修正

設定画面を画面分割化に伴い、メニュー項目や分類を一部変更しています。

ちなみに、表には出てこないので利用者には全く関係無い話ですが、今まで設定項目の見出しや説明文の文字列を設定XMLに直接書いていたのですが、これだと
日本語・英語で同じXMLを2つ用意しないといけないという問題があり、設定項目の食い違いに気付きにくいという問題があったため、文字列は全部別の
XMLに外だしするように変更しました。これが結構な大仕事でしたが、あくまでもユーザーには全く関係無い部分。

2014-10-26 Ver. 1.7.1

– メイン画面に再生キューの合計曲数、合計時間、再生済み曲数、再生済み合計時間の表示を追加

メイン画面に再生キューの合計曲数、合計時間、再生済み曲数、再生済み合計時間の表示を追加

タブの下側に、現在の再生曲No、再生済曲数、再生キュー曲数、再生済合計時間、再生キュー合計時間を表示するようにしました。ふと思いついて、適当に実装してみました。これに伴い、コントロール部分のレイアウトを多少詰めています。

曲数、再生時間の表示