[ todo ] player version 18
:追加された部分
:削除された部分
(差分が大きい場合、文字単位では表示しません)
player todo
- タグビューにエンコードタイプを表示したい
https://www.olivieraubert.net/vlc/python-ctypes/doc/
libvlc_media_get_codec_description(i_type, i_codec)
media() から get_codec_description() でイケると思う
- これに変えよう
get_length(self)
Get the current movie length (in ms). source code
get_time(self)
Get the current movie time (in ms). source code
set_time(self, i_time, b_fast)
Set the movie time (in ms). source code
get_position(self)
Get movie position as percentage between 0.0 and 1.0.
- スライダーいるかなやっぱり
---------
### DD後のリストのデータ整理
- DBのtreeの挙動
・アイテムクリックで、アーティストなら無視、アルバムなら子供の曲を全て選択
・その状態でドラッグさせると、全てリストに渡る
- Listの挙動
・リストでは、これを本体でコネクトしてドロップ後に処理する
QTreeView.rowsInserted (self, QModelIndex parent, int start, int end)
・挿入されたデータをチェックして(n,1)を(n,2)に移動、(n,1)は""にしておいてプレイイングのフラッグにする
- DDの実装
普通はサブクラス化するのかな
本体でconnectしてしまえば本体で書けるけどどっちが良いんだろう
オブジェクト指向で考えるとクラス主義、サブクラス化が本筋か・・
Dropだけconnectして、自分でインサートするか
どの程度の情報がくるんだろう?
PySide 編集可能なQTreeWidgetを作る
-------------------------------------
受け側の実装
QAbstractItemView.dropEvent (self, QDropEvent e)
QAbstractItemView.DropIndicatorPosition( self )
QDropEvent Class Reference [QtGui module]
QMimeData QDropEvent.mimeData (self)
QPoint pos (self)
QMimeData Class Reference [QtCore module]
QByteArray QMimeData.data (self, QString mimetype)
-------------------------------------
送りガワの実装の方が簡単かな??
ドラッグ&ドロップをもっと細かく!
http://melpystudio.blog82.fc2.com/blog-entry-211.html
-----------------
受け側は位置だけ
インジケーターの表示
self.setDropIndicatorShown(True)
インデックスの上下を返す
-------------
- タグ無しの場合にファイル名をタイトルとする件
書くのは簡単だと思うけど、根本部分の書き直しだとまた10分くらいかかるな
①コードを書き直し
②DBからタイトルが?のものを削除
③更新を実行
これで少し早くできるか??
まず件数をcontしてみるか
- DBとの結合
本体に完全に取り込むのはやめる方向
・watcdogで監視する必要は無いように思えてきた
・起動時に毎回スキャンし直すのも無駄なような?
・本体に更新ボタンをつけて、終わったらDBを再読み込み
・現在のDB作成pyファイルはそのままにして本体に取り込まない、外部プロセスとして実行する
・DB更新終了のタイミングをどう把握するか??通常15秒程度かかっている
・DB作成pyで、DBファイルのパスを実行ファイル名から獲るようにする
-----------------
- カラム幅の設定
self.view.header().resizeSection(column, width)
モデルを設定したあとで設定
ヘッダを消す前かな??
QTreeViewのヘッダの幅をいい感じにする方法!!
https://kiwamiden.com/how-to-feel-the-width-of-qtreeviews-header-nice
QTreeViewはデフォルトでは、カラムの一番右の場所がストレッチするようになっています。まずはこの設定をOFFにしましょう!
QHeaderView.setStretchLastSection
view.header().setStretchLastSection(False)
view.header().setStretchLastSection(False)
view.header().setResizeMode(0, QtGui.QHeaderView.Stretch)
view.header().setResizeMode(1, QtGui.QHeaderView.ResizeToContents)
view.header().setResizeMode(2, QtGui.QHeaderView.ResizeToContents)
view.header().setResizeMode(3, QtGui.QHeaderView.ResizeToContents)
------
コンテキストメニューの作り方会った
コンテキストメニューの作り方あった
https://dungeonneko.hatenablog.com/entry/2017/06/22/151913
右クリックメニューの実装
https://kiwamiden.com/create-right-click-menu-in-qlistview
```
# これはwidgetの属性
self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
self.customContextMenuRequested.connect(self.contextMenu)
def contextMenu(self, point):
menu = QtGui.QMenu(self)
for i in range(5):
action = QtGui.QAction('Menu%s' % i, self)
menu.addAction(action)
menu.exec_(self.mapToGlobal(point))
```
- これに変えよう
get_length(self)
Get the current movie length (in ms). source code
get_time(self)
Get the current movie time (in ms). source code
set_time(self, i_time, b_fast)
Set the movie time (in ms). source code
get_position(self)
Get movie position as percentage between 0.0 and 1.0. - スライダーいるかなやっぱり
DD後のリストのデータ整理
受け側は位置だけ
インジケーターの表示
self.setDropIndicatorShown(True)
-
タグ無しの場合にファイル名をタイトルとする件
書くのは簡単だと思うけど、根本部分の書き直しだとまた10分くらいかかるな
①コードを書き直し
②DBからタイトルが?のものを削除
③更新を実行
これで少し早くできるか??
まず件数をcontしてみるか -
DBとの結合
本体に完全に取り込むのはやめる方向
・watcdogで監視する必要は無いように思えてきた
・起動時に毎回スキャンし直すのも無駄なような?
・本体に更新ボタンをつけて、終わったらDBを再読み込み
・現在のDB作成pyファイルはそのままにして本体に取り込まない、外部プロセスとして実行する
・DB更新終了のタイミングをどう把握するか??通常15秒程度かかっている
・DB作成pyで、DBファイルのパスを実行ファイル名から獲るようにする
コンテキストメニューの作り方あった
https://dungeonneko.hatenablog.com/entry/2017/06/22/151913
右クリックメニューの実装
https://kiwamiden.com/create-right-click-menu-in-qlistview
# これはwidgetの属性
self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
self.customContextMenuRequested.connect(self.contextMenu)
def contextMenu(self, point):
menu = QtGui.QMenu(self)
for i in range(5):
action = QtGui.QAction('Menu%s' % i, self)
menu.addAction(action)
menu.exec_(self.mapToGlobal(point))