--- Title: pythonでfoobarのalternativeを作る 28 Author: yamasyuh68 Web: https://mimemo.io/m/OX6eWonWw7lwPDQ --- 190612 # スライダー実装、その他 - 結構簡単だった 曲の長さはvlcからミリ秒で取得できるので1000で割って秒にして、曲ごとにスライダーの最大値を長さに設定することにした vlcは現在の演奏時間を全体のパーセントでも返してくれるので、それでスライダーを設定するのが筋なのかもしれない vlcのサンプルはそんな仕組みだったような・・ でもスライダーのドラッグで曲を進めたり戻したりする予定だから、最初から秒単位のスライダーにしておいた方が楽なような気がした ま、どっちでも良いんだけど ( ´∀`) - あわせてタイマールーチンも整理して、演奏時間をスライダーの横に表示するようにした なのでステータスバーはやめた (・∀・)ノ - アルバムアートの取得 ファイル埋め込みものはmutagenで取得したが、埋め込まれていなくてフォルダに画像ファイル単独で保存してあるものも表示するようにした これはfoobarの仕様のまねです 結構大きなサイズの画像をmp3に埋め込んである場合もあって、こういうのは無駄だよなあ、フォルダに一枚で良いよね アルバムアートは慣れると必須に思えてきた 音楽を聴くだけなら本当は必要ないんだけど、慣れって怖いよなあ - ツールバーにコンテキストメニューが表示されるようにしてみた 調べてあったとおりにやったら簡単だった このアプリはメニューバーはやめてツールバー一本の予定なので、分岐メニューのための準備 とりあえずはDBを早めに結合したい - リスト保存のための sql 周りを少し改善 # 今後のこと、雑感 **リストの保存も出来たし、ほぼこれで聴くだけなら不便は無くなってきた** 改善点はまだまだあるんだけど、動機付けが・・・・( ̄― ̄?) - リストのマルチタブとその保存読み込みが出来たら一休みするかな マルチタブ自体は最初からそのつもりで作ってきたから問題ないと思うんだが、リストの読み込みが課題かな - やり方がわからない項目は調べてやりたくなる。出来たら楽しいし嬉しいから。でもわかっていてまだやれてないだけの項目って面倒なだけでやる気が起きないんだよなあ・・・ - こう考えると、私は出来ないことから手がけて出来ることは後回しにしてる。これは普通なのかな?? ---- 190613 # Player 作り込み バグ退治など - treeに表示されるartistが case senstive になっている 「one ok」と「ONE ok」は別に表示されるバグ sqlのselectがうまくいってないのかなと漠然と思っていたが、両方拾ってることになるからsqlの問題では無いと気づいた treeにappendするときに現在の親と同じかどうかを判定して違えば別の親を作るわけだけど、そこがcase senstiveになってた 単純に`if a==b`とするとcase senstiveになってしまう `if a.lower() == b.lower()` と、小文字にそろえて比較したらうまくいった - pause 対応 自動演奏モード時にpauseしたら、次の曲を演奏してしまうバグ タイマーでモニターしてるときにisplayingで演奏中かどうかをチェックするんだが、pauseはfalseを返すんだね pauseフラッグを立てる事も考えたが、pause時はtimerそのものを止めることにしてみた timer.isActive() で状態を確認して分岐する - リストのクリックでタグ情報を表示 treeclicked()を再利用した そのままでは使えないので、self.sender() で呼び出し元を確認してtreeとlistで分岐させた - リスト読み込み時のアルバム行のスパン データをリストにappedしたタイミングで、第2カラムにファイル名が入ってない場合はスパンするようにした - treeにコンテクストメニュー付けた 表示できるようにしただけ、簡単だったけど実装はこれから 基本的にQtWidgetにはつけれるからなんにでもいける