使い始めて3日だけれども、早速小改良した。機能追加はなし。
リリース初日にやってしまったミスのためにアカウントの記述を修正。設定画面が作れないので、サーバのアカウントをソースに直書きしているのはすでに書いた記憶がある。配布していないから今の段階ではそれは問題にならない。ただ、それがiPodの履歴送信部分とリアルタイム送信部分の2ヶ所に書かれていた。同じものが。
同じモノを2ヶ所に書くのは修正時のバグの温床である。リリース時にバグを出した。DEBUGビルドでテストアカウント、Releaseビルドで本番アカウントという修正をしてリリース、としたが、その時iPod側しか修正しないで本番環境で使い始めてしまったので、最初の数トラックがテストアカウントで送られてしまった。今後を考えてその部分を一箇所に集約した。
DEBUG、Releaseの使い分けはそのままでもいいとして、設定画面を作っても、DEBUGでは固定でテストアカウントを使う、というようにしておけばいいだけだからだ。一箇所にしておけば間違いはない。
もう一つはたまたま見つけたのであるが、再生回数、最後に再生した日時、最後にサーバにデータを送信した日次をTitle Formatとして供給しているクラスを実装していている。これが、データベースの更新が成功しているのに表示が更新されないパターンがあるのが気になっていた。再生しているのとは別のプレイリストを表示したりすると更新されていなかったり。Filterで新しく選択したモノは確実に更新された情報が出てきたり。
で、metadb_providerのコメントを良く見たら、refreshするメソッドがあったので、それを呼び出すコードをデータベース更新処理の正常終了時に呼び出すべく追加した。これを書きながら再生中とは別のプレイリストを表示させていて(同じトラックを含むもの)、データベースの内容がリアルタイムで確実に表示更新されていくのが確認できている。再生のパフォーマンスは落ちていない。
どうやら成功だ。
初期リリースの小バグはこの程度と思われるので、次の段階は機能追加だ。右クリックメニューからのレート変更あたりから手をつけていこうと思う。ゆっくりと。
コメント