Medoly ver.1.2.2
Medoly – Google Play の Android アプリ
関連付け処理追加
Medoly ver.1.2.1
Medoly – Google Play の Android アプリ
ソートアイコン変更
![]() |
変更前 |
![]() |
変更後 |
ソート時に画面が更新されない不具合修正
タイトル検索時に同名タイトルがまとめて表示される不具合修正
Medoly ver.1.2.0
Medoly – Google Play の Android アプリ
Medoly Ver.1.2.0をリリースしました。
個人的な感覚では1.5.0ぐらいまでバージョンをすっ飛ばしたいところですが、表面上は大して変わり映えしないので1.2.0で。
内部処理の大幅な見直し
今回のバージョンで再生キューの内部的な処理を大幅に見直しました。というか、ほぼ別物です。別物ですが、表面上は特に変わってないと思います。そういう風に作ったので。
今までは再生キューの内容をファイルパスで保持し、アプリ起動時にファイルパスから読み込んでいました。アプリ起動時に進捗ダイアログが表示されるのはそのためでした。ところが、当然読み込みに時間はかかります。
これが問題になるのは、リモートコントローラやウィジェットを利用する場合です。再生ボタンを押すと、その時にアプリが起動して読込処理が走るため、再生キューに多くの曲が登録されているとボタンを押しても反応しない等の問題があったり、よく分からないエラーが発生することがしばしばでした。
そんなわけで、再生キューの内容をSQLiteのテーブルで定義し、そこからCursorLoaderを利用して逐次読み込みすることにしました。アプリの根幹部分をゴッソリ入替えたので、この改造でほぼ1ヶ月ぐらい費やしてます。
そのため、起動時の再生キュー読込処理は無くなりました。その代わり、 端末の性能が低いと再生キューのスクロールが多少もたつく事があるかもしれません。それを気にするほど大量に再生キューを登録する利用をしているかどうかは分かりませんが。
また、編集モードのキュー入替え時に再生キューリストが一瞬だけちらつくのはコレに伴う影響です。従来メモリに保持してたものをテーブルに保持させた結果、書き換え&画面更新で処理が遅れてしまうためです。…もしかしたら何かの解決策があるかもしれませんが、現状はそこまで調べ切れてないため、仕様とさせてください。
あと、再生キュー登録時の進捗バーが無くなったのもとりあえず仕様です。処理が変わったことで以前のような進捗バーを出すことが出来なくなってしまったため、表示をやめました。そもそも、100曲登録する程度なら大した時間はかからないので。1000曲ぐらい登録するとやや時間はかかりますが。頑張れば表示出来ないことは無いですが、それによって登録処理が遅くなっても本末転倒なので…。
ウィジェット追加
表面的に一番大きな変更点は、ついにウィジェットが追加されたこと。とりあえずレイアウト別に2種類あります。サイズが可変(最小サイズは2×1)なので、好みに応じて適当に拡大・縮小してご利用ください。Androidのバージョンによっては変なレイアウトになる可能性もありますが…。
ソートの降順対応
ホームパスの省略表記
その他
Medoly ver.1.1.5
Medoly – Google Play の Android アプリ
Medoly Ver.1.1.5をリリースしました。
オマケ機能を追加したので、バージョンを0.0.5飛ばしました。(オマケなので…)
LOOPSTART / LOOPLENGTHによる疑似ループ処理追加(Android 4.1以降)
設定画面にループ関連の設定を追加
再生キューのメニューを「選択中の曲へ移動」から「自動スクロール」のチェックボックスに変更
メイン画面のタイトルをタップした際の挙動を、再生キューの選択中の曲に移動するように変更
画像読み込み処理の変更
ソート時に再生位置が追従しない問題を修正
プレイリストで重複データが含まれていた場合に、内容とカウントが一致しない問題を修正
Medoly ver.1.1.0 & 1.1.1
Medoly – Google Play の Android アプリ
Medoly Ver.1.1.0及び1.1.1をリリースしました。
バージョンを1.1.10にしようとも思いましたが、機能が追加されたのでバージョンを 0.1あげました。
主な変更点は以下の通り。
終了タイマーの追加
- 再生キュー完了時
再生キューの再生が最後まで終わった時点で終了します。最後の判定は再生キューの再生済状態と、再生順の設定によります。タイミング最終曲で「先頭に戻る」と設定していた場合も、先頭に戻らず終了します。「1曲のみ」の場合は終了まで到達しませんので、必然的に無効となります。 - 残り曲数
設定した残り曲数を再生毎にカウントダウンし、0になった時点で終了します。カウントダウンは曲が再生し終わった段階で行われますので、曲をスキップしたり、再生キューで選択した場合はカウントダウンされません。先に再生キュー完了時の条件に達した場合も終了となります。「1曲のみ」でループする場合もカウントダウンします。 - 残り時間・終了時刻
終了時間になった時点で終了します。設定する方法が違うだけで、何れも同じものです。途中で再生が停止しても、タイマーが切れたり終了したりはしません。
大体機能としては以上のような感じです。
ちなみに、1.1.1は1.1.0のバグフィックスです。非常に初歩的なミスにより、時間のタイマーを解除しても終了時間に達した時点でアプリが終了するという問題があったためで…。
Medoly ver.1.0.9
Medoly – Google Play の Android アプリ
修正内容
メディア読込み時に進捗ダイアログを表示
恐らく、これに伴って再生キューに2重に登録される 不具合が解消されたと思います。多分そんな気がします。…されてるといいなぁ。
また、この変更によって何かしらの不具合が発生する可能性がありますが、その場合は、ご報告いただけると幸いです。
とりあえず、その辺りはまた組み直すつもりですが、今はこのままで。
プレイリストやジャンルを含む検索のエラー対応
これに対し、曲の検索条件に「title_key」キーを使用したり、名前にテーブル名を含めたりして、問題が起きないように修正しました。
ちなみにAndroidのデータベースは、一つの曲が複数のプレイリスト/ジャンルに所属でき、アーティストやアルバム等のプロパティとは処理が少し異なります。それらを上手く処理するために、一部でSQLを直接書いています(本来、プログラムの安全性の観点からあまり好ましくはないのでしょうが…)。その結果、内部ではなかなかに面倒なSQLが組み上がってます。
Android携帯に登録されているプレイリストを取得する時の罠 – 理ろぐ
リピート再生時の次へ/前へボタンの挙動変更
リピート再生(単曲再生)している時に、次へ/前へボタンを押した際に、再度同じ曲を再生する動きだったのですが、よく考えたらその動きおかしい…というわけで、次へ/前へを押したら再生キューの次/前の曲を再生するよう変更。ちなみに、再生キューの動きは全部自前で制御してるので、わざわざそういう動きを作ってたということになります。
…あんまりきちんと考えてなかった。
プロパティタブメニューの対象に無い項目を非表示
その他
現在把握してる問題
- Android 4.4 (KitKat)で、スクロールのつまみが表示されない。これはAndroid側の問題臭い。
- ごく希に、何もしてない時にプロセスが暴走してる事がある模様。再現性がなくて確認できない。多分、上記の読込処理に関連した問題だと思ってる。バックグラウンドのサービスが起動した時に読込処理が走って、何かやってるのかなぁ、と推測。とりあえず、上記に書いた読み込み処理の変更した後で考えることにする。
Medoly ver.1.0.8
Medoly – Google Play の Android アプリ
修正内容
再生停止状態で電話かかってきた時に、再生が再開されてしまう不具合修正
開発用端末の調達
docomo のGalaxy S。3年ぐらい前に発売された、 Android 2.2の頃のスマートフォンが流行り始めた頃の端末。中古で5000円ぐらい。ジャンクならもっと安いかも。
自分はdocomoの回線契約は無いし、そもそもこれは純粋にアップデートするとAndroid 2.3までしか入らない。ところがこの端末、ストレージ容量も多く、今でも色々弄られ続けてる端末なので、これにカスタマイズされたAndroidをインストールする事ができる。自分が入れたのは、CyanogenMod という有名なカスタムOS。現状最新の CyanogenMod 11をインストールし、Android 4.4の環境で動作させている。
これを開発用端末にしてる理由は、
第一に安上がりに最新(or 過去バージョン)のAndroid環境が手に入ること。
第二に、古めの端末で自アプリがサポートしてるAndroidのバージョンが動く中では下限に近いスペックと考えられるため、アプリのベンチマークに適任なこと。
第三にディスプレイが狭いため、画面のレイアウトを考える上で参考になること。
…といった辺りが挙げられる。まぁ正直、一番目の理由が8割ぐらいですが。 元々、ストア配信のバージョンと、開発バージョンでアプリが競合してしまって、開発バージョンを入れるための開発用端末が別途欲しくなったのが発端だったので、動けば何でも良く、安上がりであることが何よりも重要だった、という経緯もあります。
なお、CyanogenMod自体は問題なく動作し、3年前の端末とは思えないほど動作も快適です。重い処理を走らせるとちょっと厳しいかもしれませんが、実用的には問題ないレベル。
ちなみに、Cyanogen Mod自体はサポートも無いし、動作しなくても自分で何とかせざるを得なく、大変面倒なので、メインの端末で使うのはちょっとお勧めしません。
![]() |
Galaxy SでAndroid 4.4 |
Medoly ver.1.0.7
Medoly – Google Play の Android アプリ
修正内容
再生中に着信があった場合、着信終了後の再開をオプション化
少しコードを修正した上で、電話後に再生を再開する/しないの判断はユーザー側に委ねた方が良いという考えもあり、とりあえず受話後に再生を再開する処理をオプション扱いにしました。設定画面で切り替えられます。