Medoly Ver. 2.1.0, 2.1.1

バージョン変更内容の詳細について。

2015-06-14 Ver. 2.1.0
– MP3の文字コード判定処理修正 (プロパティ情報にタグ情報追加)
– 表示タブのダブルタップで画面最大化する機能追加 (オプション選択可能)
– プラグインの仕様修正 (手動実行機能追加)
– 再生完了イベント追加
– 外部通知のオプション化
– 共有ファイル受取り後に元アプリに戻るオプション追加
– 共有ファイルが登録されない問題修正
– 停止時のシークで歌詞が追従しない問題修正
– 歌詞の座標がずれる問題修正

2015-06-15 Ver. 2.1.1
– 画面の拡大・縮小が正しく行われない問題修正
– メッセージ一部修正

– MP3の文字コード判定処理修正 (プロパティ情報にタグ情報追加)

これはユーザ様からの要望です。MP3のタグ情報を読み取る際、タグがUnicodeではなくISO8859-1として入力されていた場合、タグの文字コード判定に失敗して、プロパティ等の表示されるタグ情報が文字化けを起こしていたのですが、それを修正しました。なお、この修正は検索画面の検索結果には適用されません。
文字判定には自動文字コード識別ライブラリを用いているため、判定に失敗する可能性があります。その場合、端末の言語からデフォルトの文字コードを適用するようにしています。日本語ならShift_JISです。
個人的な要望を言えば、Unicodeを使っていないタグは早々にUnicodeに置き換えるようにしていただきたいところです。昔であれば、Unicodeに対応していないソフトウェアも多々存在してたため、MP3タグにUnicode以外を用いる選択肢も有用でしたが、今となっては百害あって一利無しです。今時Unicode対応してないソフトウェアやハードウェアは手抜き以外の何者でもなく(むしろ手を抜いたらUnicode対応のみになると思うのですが)、使えない代物と断定して問題ないと思います。(過去の更新が止まったソフトウェアは除きます。)
ちなみに、MP3以外は文字コードが固定なのでこの問題は起きない…はずです。

– 表示タブのダブルタップで画面最大化する機能追加 (オプション選択可能)

表示タブの内容をダブルタップした際に、画面を最大化する処理を追加しました。これは、ユーザ様より「簡単に最大化できるようにしてほしい」という要望があったためです。
なお、これは設定画面より表示スタイルダイアログの表示に操作を変更するか、もしくは無効化できます。ついでに、表示タブの長押しも同様に設定できるようにしました。
なお、この時に行われる最大化ですが、ピンチズームで行う拡大とは別扱いで、最大化状態からダブルタップすると元の状態に戻ります。 また、アプリを完全に終了させてから再起動しても元に戻ります。ただし、最大化状態からピンチ縮小すると、その状態は保存されます(通常のサイズ変更扱いに切り替わります)。

– プラグインの仕様修正 (手動実行機能追加)

プラグインの仕様を変更し、複数のアクションが手動で実行できるようにしました。プラグイン側で任意の手動アクションが定義できるようになっています。
現状2つ公開しているプラグインのうち、「Medoly Twitter Plugin」は、「外部アプリで送信」と「Twitterを開く」の2つのアクション、「Medoly Last.fm Scrobbler Plugin」 は「Love」「UnLove」「Last.fmを開く」の3アクションを実行できます。
これは、イベントで自動的に起こすアクション以外に、任意のタイミングで起こしたいアクションを実装することを目的にしています。

 

– 再生完了イベント追加

プラグインのイベントに、「再生完了」を追加しました。これは色々考えるところがあって追加したので、今のところすぐどうこうというわけではありません。まぁ、そのタイミングでアクションを自動的に起こせるようにしましたよ、ということで。
 

– 外部通知のオプション化

 Ver. 2.0.0より、外部に対してAndroidの標準音楽プレイヤーと同様のメッセージを投げていました。世の中には、このメッセージを受け取って自動的にアクションを実行するアプリも存在します。
ただ、やっぱり勝手に外部にメッセージを投げるのは好ましくないと思い、オプション化することにしました。設定画面より、有効/無効を切り替えられます。

 

– 共有ファイル受取り後に元アプリに戻るオプション追加

設定画面より、共有メディアを受け取った際の再生キュー登録アクションの設定に、「元アプリに戻る」というオプションを追加しました。これを有効にすると、共有メディアを受け取って、メディアを再生キューに登録した後、すぐに元のアプリに戻るという動作を行います。他のアプリから連続して再生キューに登録したい場合にご利用ください。

なお、「そもそも画面を表示させなければ良いのでは?」という疑問もあるかと思いますがAndroidの動作上、一旦アプリの画面を出さないとダメっぽいので、それは出来ませんでした。
どなたか、画面を出さない良いアイデアがあれば教えてください。

 

– 共有ファイルが登録されない問題修正

ユーザ様からの不具合報告です。他のアプリから共有したファイルが再生キューに登録されない場合があるとのこと。原因を調査し、不具合を修正しました。単純に、受け取りの処理がおかしかっただけです。
言い訳ではないのですが、Androidは余所からデータを受け取る処理がちょっとめんどい感じがします…。

 

– 停止時のシークで歌詞が追従しない問題修正

歌詞を停止して いる状態でシークバーを動かしても、歌詞のスクロールがシーク位置に追従していなかったので、その修正です。
歌詞のスクロールについては、同期・非同期のスクロールが別々に書かれており、どのタイミングで歌詞をスクロールさせるかといった処理が非常に込み入っているので、スクロールの処理はよく漏れが発生してしまいます…。この辺はちょっと調整が難しい。

 

– 歌詞の座標がずれる問題修正

歌詞のスクロール座標がずれる問題があったため、その修正です。

Ver. 2.1.1

– 画面の拡大・縮小が正しく行われない問題修正

Ver.2.1.0においてダブルタップで画面を拡大・縮小する処理を追加しましたが、その際にピンチズームによる拡大・縮小の辺りも合わせて処理の修正を行っていますが、拡大・縮小が正しく行われない場合があったため、その修正を行いました。

また、ダブルタップにつていも、ダブルタップしてもすぐに拡大が元に戻ってしま場合があるといった問題があったため、タップ処理全体を見直しています。

 

– メッセージ一部修正

メッセージの文言修正です。全体の表現に合わせて微調整です。この手の修正はよくやります。