test + vumetre pixel rudimentaire

This commit is contained in:
Jérémie DUCASTEL
2021-01-02 00:12:19 +01:00
parent 94be355a04
commit b690a3d45e
3 changed files with 97 additions and 44 deletions

125
test.py
View File

@ -1,47 +1,86 @@
import os, random, vlc, phatbeat, time, signal
import phatbeat, signal
from folderplayer import FolderPlayer
player = FolderPlayer("/home/jducastel/music")
def show_volume(volume):
phatbeat.clear()
level = round(volume*8/100); print(f"level {level}")
for i in range(0,8): # resetting
if level > i:
phatbeat.set_pixel(7-i, 128,128,128,channel=0)
phatbeat.set_pixel(7-i, 128,128,128,channel=1)
phatbeat.show()
@phatbeat.on(phatbeat.BTN_FASTFWD)
def fast_forward(pin):
global player
player.next()
class VLCdriver():
def __init__(self):
self.files = []
self.vlc_instance = vlc.Instance()
self.vlc_player = self.vlc_instance.media_player_new()
self.is_playing = False
def load_folder(self, folder):
# get list of files in music_dir
self.files = [ os.path.join(folder, f) for f in os.listdir(folder) if os.path.isfile(os.path.join(folder,f)) and f.endswith('.mp3') ]
print(f"loaded {folder}")
def play_file(self, path):
print(f"playing {path}")
self.media = self.vlc_instance.media_new(path)
self.vlc_player.set_media(self.media)
self.vlc_player.play()
self.is_playing = True
def play_random(self):
path = random.choice(self.files)
self.play_file(path)
@phatbeat.on(phatbeat.BTN_FASTFWD)
def fast_forward(pin):
self.play_random()
time.sleep(1)
@phatbeat.on(phatbeat.BTN_PLAYPAUSE)
def play_pause(pin):
if self.is_playing:
self.player.stop()
self.is_playing = False
else:
self.player.play()
self.is_playing = True
time.sleep(1)
# @phatbeat.hold(phatbeat.BTN_FASTFWD, hold_time=2)
# def hold_fast_forward(pin):
# print("FF Held")
d = VLCdriver()
d.load_folder('/home/jducastel/music/')
d.play_random()
signal.pause()
@phatbeat.on(phatbeat.BTN_PLAYPAUSE)
def play_pause(pin):
global player
player.play_pause()
# @phatbeat.hold(phatbeat.BTN_PLAYPAUSE, hold_time=2)
# def hold_play_pause(pin):
# print("PP Held")
@phatbeat.on(phatbeat.BTN_VOLUP)
def volume_up(pin):
global player
player.volume_up(12)
show_volume(player.get_volume())
# @phatbeat.hold(phatbeat.BTN_VOLUP)
# def hold_volume_up(pin):
# print("VU Held")
@phatbeat.on(phatbeat.BTN_VOLDN)
def volume_down(pin):
global player
player.volume_down(12)
show_volume(player.get_volume())
# @phatbeat.hold(phatbeat.BTN_VOLDN)
# def hold_volume_down(pin):
# print("VD Held")
@phatbeat.on(phatbeat.BTN_REWIND)
def rewind(pin):
global player
player.previous()
# @phatbeat.hold(phatbeat.BTN_REWIND)
# def hold_rewind(btn):
# print("RR Held")
# @phatbeat.on(phatbeat.BTN_ONOFF)
# def onoff(pin):
# print("OO Pressed")
#
#
# @phatbeat.hold(phatbeat.BTN_ONOFF)
# def hold_onoff(pin):
# print("OO Held")
try:
player.play()
player.set_volume(24)
show_volume(player.get_volume())
signal.pause()
except KeyboardInterrupt:
print("bye !")
exit()