読者です 読者をやめる 読者になる 読者になる

サクッとプログラムした気になる (5)

全然サクッとした気にならなくなった今日このごろですが。

やること

  • アートワークをアプリのウィンドウに表示する
    • バグを直す ←イマココ
  • 現在再生中のトラックタイトルを取得して表示する(べきだろ・・・)
  • 再生、停止、戻る、次へコントロール(別にいらないが)
  • Twitterに再生中の楽曲をポストする(最終目標)

横道にそれてリソースファイルを追加

add qrc resource file for embedding vbscript file · moguriso/gawa_sample@cdfb734 · GitHub

  • ローカルファイルを直接参照していたアホな所業を修正
  • VBScriptのファイルをgit管理に追加

バグを直す

バグの整理

Issues · moguriso/gawa_sample · GitHub
はっきりわかってるのは2件。次トラックボタンを連打するとアプリが応答不能になる問題もあったけれど、QAxScriptのentered/finishで排他制御する適当な修正で取り敢えず再現しなくなっているみたいなので外す。

修正(1)

起動時の画面サイズ調整が出来ていない · Issue #1 · moguriso/gawa_sample · GitHub

起動直後のpaintEvent(graphicsviewの方)が来ない(MainWindowsには来てるはず)のでQImageにアートワークがロードされずサイズが0x0になるのが問題っぽい。取り敢えずMainWindowのコンストラクタでQImageにアートワークを読ませてみましたが。。。

どうもupdateImageでQImageをnewしまくるバグが有る気がするのだけど不用意にdeleteするとそもそも画像がロードされなくなるので取り敢えず現状の感じに直してますが、コレも良いのかどうか、、、

要約するとなんとなく動いているけど、これでいいのか分かってません。。。

修正(2)

次トラック移動を複数回行うと画像サイズがおかしくなる場合がある · Issue #2 · moguriso/gawa_sample · GitHub

アートワークのサイズになるようにウィンドウサイズを調整しようとすると、アートワークサイズがグチャグチャでシッチャカメッチャカになるので、ウィンドウサイズにアートワークサイズをあわせる様に修正。

1.graphicsviewのサイズを強引に書き換えるだけだとジャギが目立つ(縦横比が合っててもジャギが出る)  → 真面目にラスタとか入れるか別のクラスを間に挟んで補完させるかすれば解決するのかもしれないけど   直近どうでもいいのでissueにあげて保留にする
2.ウィンドウのサイズを固定にしたかったけどやり方がわからない
 →取り敢えずサイズ変更ごとにアートワーク側のサイズを変える様にしているのでまあ良いかと

3.厳密な意味でウィンドウサイズにアートワークサイズがフィットしてない
 → そのうち直したい気はする。取り敢えず動いてるから保留。

要約すると、面倒になったので仕様の方を直しました。

タイトル表示追加

add Title display function · moguriso/gawa_sample@185c739 · GitHub
いろいろとイケテナイ感じは有るのですが、取り敢えず機能としては追加しました。

TODO

  • アートワークをアプリのウィンドウに表示する     ←対応済
    • バグを直す                     ←対応した
  • 現在再生中のトラックタイトルを取得して表示する    ←対応した
  • 再生、停止、戻る、次へコントロール(別にいらないが) ←後回し
  • Twitterに再生中の楽曲をポストする(最終目標)    ←やってみる