pythonでfoobarのalternativeを作る 22 version 26

2019/06/02 22:48 by yamasyuh68
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
pythonでfoobarのalternativeを作る 22
## Player
190531-0602
https://live.staticflickr.com/65535/47979113896_04cee660ba_b.jpg

https://live.staticflickr.com/65535/47985537206_2be1771ebc_z.jpg
- 音が出るようになった(・∀・)ノ


- treeのインクリメンタルは一文字のアルファベットや数字は無視するようにしたので結構快適になってきた

- 右下のリストをきちんと作った
treeからのドラッグで追加するようにしたが、・・・・


- リストのダブルクリックで再生
treeとListって基本同じだ
Qtのこのwidgetは使いづらいと思ってたけど慣れたら簡単でいいのかもしれない

- toolbar を付けた、やっぱり無いと不便(¯―¯٥)

- pickle を使ってtreeのmodelを保存したかったんだけどエラーで出来なかった
ショック・・・(¯―¯٥)
- タグのビューはvlcで取得した
mutageの変わりにこれを使ったら速さはどうだろう?


# VLC module

- 音出すだけなら簡単なんだけど、しっかり使おうと思ったらそれなりに調べないと難しい



---
今日の予定

```
    def search(self,e):
        item=self.ui.lineEdit.text()
        temp=self.ui.treeView.model()
        if item=='' :   # <----------------------
            if temp == self.model :
                pass
            else:
                self.ui.treeView.setModel(self.model)
                del temp

        if  item==''  or (len(item)==1 and  re.match('[a-zA-Z0-9_.,]',item) ) :


```

- 一文字をpassする --> 一行変えるだけかな
p='o'
print (p)
if len(p)==1 and  re.match('[a-zA-Z0-9_.,]',p) :
    print('no')
else:
    print(p)

- 曲の再生
とりあえずvlc 使うか 
https://qiita.com/johejo/items/19ee319c62ed63d62c58
**メニューバーも必要になるよなあ**
- タグの取得表示~mutagen? VLCでもイケるかも
vlc  get_meta  meta でタグ情報を取得できる
libvlc_media_get_meta(p_md, e_meta) 
https://www.olivieraubert.net/vlc/python-ctypes/doc/vlc.Meta-class.html

- listview プレイリストもそろそろ作るか

- アルバムアートも考えなくちゃ
タグ埋め込みのアートの取得とか

# tree のモデルを保存しておけば少し起動が速いかもしれない
[pickleでオブジェクトを保存する方法を解説!](https://www.sejuku.net/blog/31480)

```
import pickle

保存

file=r'<<pass>>'
f = open( file, 'wb')
pickle.dump( self.model ,f)
f.close

with open( file, 'wb') as f :
  pickle.dump( self.model ,f)

読み込み

with open( file, 'rb') as f :
  self.model=pickle.load( f)
```

複数オブジェクトを保存して読み込み

```
import pickle

# write a file
f = open("example", "w")
pickle.dump(["hello", "world"], f)
pickle.dump([2, 3], f)
f.close()

f = open("example", "r")
value1 = pickle.load(f)
value2 = pickle.load(f)
f.close()
```

      

Player

190531-0602

  • 音が出るようになった(・∀・)ノ

  • treeのインクリメンタルは一文字のアルファベットや数字は無視するようにしたので結構快適になってきた

  • 右下のリストをきちんと作った
    treeからのドラッグで追加するようにしたが、・・・・

  • リストのダブルクリックで再生
    treeとListって基本同じだ
    Qtのこのwidgetは使いづらいと思ってたけど慣れたら簡単でいいのかもしれない

  • toolbar を付けた、やっぱり無いと不便(¯―¯٥)

  • pickle を使ってtreeのmodelを保存したかったんだけどエラーで出来なかった
    ショック・・・(¯―¯٥)

  • タグのビューはvlcで取得した
    mutageの変わりにこれを使ったら速さはどうだろう?

VLC module

  • 音出すだけなら簡単なんだけど、しっかり使おうと思ったらそれなりに調べないと難しい

今日の予定

    def search(self,e):
        item=self.ui.lineEdit.text()
        temp=self.ui.treeView.model()
        if item=='' :   # <----------------------
            if temp == self.model :
                pass
            else:
                self.ui.treeView.setModel(self.model)
                del temp

        if  item==''  or (len(item)==1 and  re.match('[a-zA-Z0-9_.,]',item) ) :


  • 一文字をpassする --> 一行変えるだけかな
    p='o'
    print (p)
    if len(p)==1 and re.match('[a-zA-Z0-9_.,]',p) :
    print('no')
    else:
    print(p)

  • 曲の再生
    とりあえずvlc 使うか
    https://qiita.com/johejo/items/19ee319c62ed63d62c58
    メニューバーも必要になるよなあ

  • タグの取得表示~mutagen? VLCでもイケるかも
    vlc get_meta meta でタグ情報を取得できる
    libvlc_media_get_meta(p_md, e_meta)
    https://www.olivieraubert.net/vlc/python-ctypes/doc/vlc.Meta-class.html

  • listview プレイリストもそろそろ作るか

  • アルバムアートも考えなくちゃ
    タグ埋め込みのアートの取得とか

tree のモデルを保存しておけば少し起動が速いかもしれない

pickleでオブジェクトを保存する方法を解説!

import pickle

保存

file=r'<<pass>>'
f = open( file, 'wb')
pickle.dump( self.model ,f)
f.close

with open( file, 'wb') as f :
  pickle.dump( self.model ,f)

読み込み

with open( file, 'rb') as f :
  self.model=pickle.load( f)

複数オブジェクトを保存して読み込み

import pickle

# write a file
f = open("example", "w")
pickle.dump(["hello", "world"], f)
pickle.dump([2, 3], f)
f.close()

f = open("example", "r")
value1 = pickle.load(f)
value2 = pickle.load(f)
f.close()