2015-07-17

Medolyの現在のインストール数が500越えた

先日、Medolyのインストール数が500を越えました。


カウント


インストール数推移

このインストール数というのは、端末数ベースのインストール数となります。一人の人間が複数の端末を持っていて、それぞれにインストールした場合はそれぞれの台数分カウントされます。また、アンインストールした場合はカウントが減少します。どうやら、インストールしたまま端末が未使用になった場合もカウントから減少していくようです。
ちなみに、ユーザ数ベースのインストール数も見る事ができますが、そちらは433となっていました。
ユーザ数ベースの総インストール回数は 1884。端末数ベースの総インストール回数は見られないので知りません。



ちなみに、公開時からのインストール数のグラフは以下のような感じになります。
 

公開時からのインストール数推移

グラフが跳ね上がるような特異点も無く面白味のないグラフですが、割と綺麗な右肩上がりをしているので、使ってみた上で一定の割合の方が継続して使っていただいているのではないかと推察します。
音楽プレイヤーという、多数のアプリがひしめくごくごくありふれたカテゴリーに真っ向から挑んで、これだけのユーザ数を獲得できたのは、個人的には結構嬉しく感じてます。その一方で、500台の端末にインストールされているというのはなかなか緊張感があります。

まぁ、だからといって自分のペースを変えるつもりもなく、これからも適当に開発していきますので、 今後ともMedolyをご愛用いただけると幸いです。



余談ですが、ユーザも増えたし、Medolyの機能も大分増えてしまったので、いい加減ドキュメントの整備とかしたいのですが、満足に時間がとれず申し訳ない…。個人でやるには流石に限界がありますので…。

2015-07-07

Medolyで今後やりたいこと

Medolyについて、今ぼんやり考えてること。大雑把に分けて3種類

情報取得系
  • アルバムアートの自動取得プラグイン作成
  • 歌詞の自動取得プラグイン作成
  • 複数アルバムアートの切換対応
  • 複数歌詞の切換対応
  • タグの複数要素対応

再生系
  • FFmpeg への切換
  • ストリーミング対応 
  • 区間ループのギャップレス化
  • 検索プラグイン作成

     
その他諸々
  • キーボード操作
  • 音声出力先切換機能
  • 独自メディアデータベース
  • プラグインの実装とかソースとか色々放出

情報取得系は、要は表示できる情報を増やす方向。特に、アルバムアート取得、歌詞取得については実装も大体考えているし、それを想定してプラグインの実装もしているので、あとは作るだけ。問題はデータの取得先だけど、まぁそこはそれ。

再生系は、再生出来るメディアを増やす方向。大きな所ではFFmpegへの切換。現在、Android標準で提供されているメディアプレイヤーでは、出来る事が限られてくるので、FFmpeg使って色々出来ないかなぁ、と考えている。ストリーミングや区間ループのギャップレス化も、現状のメディアプレイヤーでは難しいので、最低でもその辺をクリアしたいところ。検索プラグインの作成というのは、現状では自端末のメディアしか見えないけれど、ネットワークアクセスまでできるようにしたいなぁ、という感じ。それもプラグインで追加できる形で。それを実現する上でも、まず現状のメディアプレイヤーを止めないといけないのだけれど。

あとは、その他色々機能の追加をしたい。
ついでに暇があれば、何か色々公開したいです。

 …などと考えてるアイデアはたくさんあるのだけど、作業がさっぱり追いつかない。片手間で作るには作業量が多すぎるので、追々作っていきます。

なお、逆に作る予定が無いのは、イコライザとかの音をチューニングする系の機能。私自身が音を変える事に対してさっぱり価値を見出していないので、要望とか特になければ多分いつまで経っても作らない。作るならこういう感じ、という構想ぐらいはあるけれど。いずれにせよ、多分今作ってもFFmpegに切り替えたら作り直しだと思うので、当面は作らない。

大体今考えているのはそんなところです。
これからしばらくあまり時間がとれなくなるので、少し更新頻度が落ちると思います。

2015-07-05

Medoly Ver.2.2.0, 2.2.1

2015-06-28 Ver. 2.2.0
- 自然順ソート追加
- 再生予約アイコンを色替え
- イベントの自動実行チェックを外してもイベントが実行される問題修正
- 拡大・縮小時の座標ズレ修正
- 歌詞の文字コード判定処理修正

2015-07-04 Ver. 2.2.1
- プレイリストがDB保存されない不具合修正
- 曲開始時に歌詞が先頭に戻らない問題修正
- 細かいバグ修正



2015-06-28 Ver. 2.2.0


- 自然順ソート追加


ユーザ様の要望により、ソートに自然順ソートを追加しました。ソート設定ダイアログより、ソートを行う際に選択できます。
自然順ソートとは、より人間の感覚に近いソートのことです。 例えば、
1, 2, 10, 20
といった数字の並びがあった場合、従来の通常ソートでは
1, 10, 2, 20
といった並びになります。これは、単純に1文字の文字から順番に比較してソートしているためです。これを、数字の大小を考慮して、
 1, 2, 10, 20
といった並びにするのが、今回追加した自然順ソートです。
ちなみに、英数字については全角・半角は無視するようになっています。残念ながら今のところ漢数字の並びには対応してません。(欲しい人とかいれば実装するかもしれません。)

- 再生予約アイコンを色替え


前バージョンで追加した再生予約ソートですが、再生予約時に次の曲を示すアイコンの色を青色に変えるようにしました。再生予約されたものなのか、単純に再生順に基づいたものなのかを判別できるようにするためです。
個人的にこの辺を少し使い分けたかったもので…。

- イベントの自動実行チェックを外してもイベントが実行される問題修正


Ver. 2.1.0でプラグインの仕様を変更した際、プラグインのダイアログから「イベントアクション自動実行」のチェックを外しても、イベントが実行されてしまうようになっていたので、その修正です。
すいません、単純に確認不足です。

- 拡大・縮小時の座標ズレ修正


メイン画面をピンチイン/ピンチアウトやダブルタップで拡大・縮小した場合、表示座標がずれる場合があったため、その修正です。
…修正できたと思っているのですが、もしかしたら直ってないかもしれません。


- 歌詞の文字コード判定処理修正


歌詞の文字コード処理を一部見直して、MP3タグの文字コード判定処理と同様に行うようにしました。文字コードが正しく判定されない場合、端末の言語設定に応じて、最終的に出力される文字コードは異なってきます。ちなみに、UTF-16やUTF-8であれば特に気にしなくて良いです。
歌詞の文字コードは、UTF-8辺りを積極的に推奨します。


 

2015-07-04 Ver. 2.2.1


- プレイリストがDB保存されない不具合修正


自然順ソートを追加した際、内部的な処理を色々変更しているのですが、その際にプレイリスト保存時に楽曲IDが正しく保存されない不具合が起こってしまいました。そのため、既存のプレイリストに上書き保存した際に、プレイリストの内容が消えてしまうという問題が発生していました。
これは、プレイリストをDB保存した際に発生するもので、ファイル保存した場合は発生しません。

プレイリストが消えてしまった方は、ご迷惑をお掛けして申し訳ありません。


- 曲開始時に歌詞が先頭に戻らない問題修正


歌詞の同期をOFFにした状態で曲を切り替えると、次に表示される歌詞が先頭に戻らない不具合が発生してしていたため、その修正です。


- 細かいバグ修正


検索画面のフォルダに自然順ソートが効いていなかかった問題等、色々な修正を行いました。

Medoly Ver. 2.1.5

2015-06-20 Ver. 2.1.5
- ウィジェット設定追加
- ウィジェットレイアウト3追加
- ウィジェットのレイアウト・スタイルを調整
- 次曲の再生予約機能追加(再生キューの項目長押しメニューより)
- 現在曲・次曲を示すアイコン追加
- 歌詞余白のタッチスクロールが動作しない問題修正
- 再生シーケンス処理修正


- ウィジェット設定追加

- ウィジェットのレイアウト・スタイルを調整


これはユーザ様からの要望です。ウィジェットの色や透明度等を細かく調整する設定を追加しました。ただ、単純にそれらの設定を追加するだけだと、表示上の不都合が生じる(透明になると、レイアウトが重なってる部分が透けて見えるため、具合が悪い)ので、レイアウトを全面的に見直ししています。割と大作業だったのですが、表面上は座標が少し変わっただけで、変化は無いと思います。

- ウィジェットレイアウト3追加


ウィジェット調整のおまけで、レイアウトを一つ追加しています。今までのレイアウトは全部、ウィジェットのサイズに合わせて画像領域が拡大・縮小されることが前提のレイアウトでしたが、今回のは文字領域を拡大・縮小することを前提としたものです。

ちなみに、レイアウト的にはあと一つ、文字領域が左側、画像領域が右側に来て、文字領域が拡大されるパターンが考えられますが、利用する人がいるのかどうか知らないのでとりあえずこのままで。


- 次曲の再生予約機能追加(再生キューの項目長押しメニューより)


これはユーザ様からの要望です。
次に再生する曲の再生予約を入れられる機能を追加しました。再生キューのメディアを長押ししたメニューより「次の再生予約」を選択することで、次に再生する曲を設定できます。これは再生済の状態等は全て無視して、最優先されます。現在再生中の曲も選択できます。
現在の再生順の途中で、一時的に再生を割り込ませたい場合等に利用することを想定しています。予約したメディアの再生完了後は、再生順に従った予約メディアの次のメディアが再生されます。


- 現在曲・次曲を示すアイコン追加


再生予約機能の追加に伴い、再生キュー項目の再生中メディアと、次に再生する メディアにアイコンを追加しています。これは、ユーザが現在の状態を目視で確認できるようにするためです。
個人的には、何気なく追加したこのアイコンの存在が、再生順を把握する上で思いの外便利で結構気に入ってたりします。
 

- 歌詞余白のタッチスクロールが動作しない問題修正


表示タブの歌詞は、余白部分(歌詞が表示されていない部分)でもタップスクロールできるようになっていますが、これが無効になっていたため、修正しました。
ダブルタップの拡大・縮小を追加した際、タップ処理が少しおかしくなっていたためです。

複数のタップ処理が同居する部分の処理は本当に難しい…。

- 再生シーケンス処理修正


再生順を切り替えた際、末尾の再生の順序が狂ってしまう問題を修正しました。再生順の順序付け処理が上手く動作していなかったためです。

ちなみに、この問題は長く潜在していたのですが、今回、現在曲・次曲を示すアイコンを追加したことですぐに発覚しました。これが個人的に、この追加したアイコンが気に入った理由の一つだったりします。

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においてダブルタップで画面を拡大・縮小する処理を追加しましたが、その際にピンチズームによる拡大・縮小の辺りも合わせて処理の修正を行っていますが、拡大・縮小が正しく行われない場合があったため、その修正を行いました。
また、ダブルタップにつていも、ダブルタップしてもすぐに拡大が元に戻ってしま場合があるといった問題があったため、タップ処理全体を見直しています。

 

- メッセージ一部修正


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