|
@@ -393,6 +393,7 @@ def setlastannounce(announcepos):
|
|
|
|
|
|
def consume(song):
|
|
def consume(song):
|
|
if os.path.exists(song):
|
|
if os.path.exists(song):
|
|
|
|
+ print ("consumo la canzone " + song)
|
|
if song.split("/")[0] == "playlist":
|
|
if song.split("/")[0] == "playlist":
|
|
os.remove(song)
|
|
os.remove(song)
|
|
if not [x for x in glob(os.path.dirname(song) + "/*") if not os.path.basename(x) == "last"]:
|
|
if not [x for x in glob(os.path.dirname(song) + "/*") if not os.path.basename(x) == "last"]:
|
|
@@ -472,6 +473,8 @@ def plaympd():
|
|
|
|
|
|
#consuma il primo e fa play
|
|
#consuma il primo e fa play
|
|
consume(plt[0][0])
|
|
consume(plt[0][0])
|
|
|
|
+
|
|
|
|
+ #mpdadd(client, listlen)
|
|
client.play(0)
|
|
client.play(0)
|
|
|
|
|
|
while True:
|
|
while True:
|
|
@@ -489,14 +492,14 @@ def plaympd():
|
|
status = client.status()
|
|
status = client.status()
|
|
|
|
|
|
if int(status['song']) > 0:
|
|
if int(status['song']) > 0:
|
|
- #consuma la canzone attuale
|
|
|
|
|
|
+ #consuma la canzone attuale
|
|
song = client.playlistinfo()[int(status['song'])]['file']
|
|
song = client.playlistinfo()[int(status['song'])]['file']
|
|
consume(song)
|
|
consume(song)
|
|
mpdclean(client)
|
|
mpdclean(client)
|
|
|
|
|
|
- if len(client.playlistinfo()) < listlen:
|
|
|
|
- mpdsync(client, listlen)
|
|
|
|
- status = client.status()
|
|
|
|
|
|
+ # if len(client.playlistinfo()) < listlen:
|
|
|
|
+ # mpdsync(client, listlen)
|
|
|
|
+ # status = client.status()
|
|
|
|
|
|
#controlla se mancano meno di 15 secondi
|
|
#controlla se mancano meno di 15 secondi
|
|
#timeleft = float(status['duration']) - float(status['elapsed']) #new mpd
|
|
#timeleft = float(status['duration']) - float(status['elapsed']) #new mpd
|
|
@@ -506,7 +509,8 @@ def plaympd():
|
|
if timeleft <= looptime + synctime:
|
|
if timeleft <= looptime + synctime:
|
|
time.sleep(max(timeleft - synctime, 0))
|
|
time.sleep(max(timeleft - synctime, 0))
|
|
print ("Mancano %d secondi" % (synctime))
|
|
print ("Mancano %d secondi" % (synctime))
|
|
- mpdsync(client, listlen)
|
|
|
|
|
|
+ mpdclean(client)
|
|
|
|
+ mpdadd(client, listlen)
|
|
|
|
|
|
time.sleep(looptime)
|
|
time.sleep(looptime)
|
|
|
|
|
|
@@ -514,57 +518,59 @@ def mpdclean(client):
|
|
#cancella le precedenti
|
|
#cancella le precedenti
|
|
for x in range(int(client.status()['song'])):
|
|
for x in range(int(client.status()['song'])):
|
|
song = client.playlistinfo()[0]['file']
|
|
song = client.playlistinfo()[0]['file']
|
|
- print ("consumo la canzone " + str(x) +" "+ song)
|
|
|
|
consume(song)
|
|
consume(song)
|
|
client.delete(0)
|
|
client.delete(0)
|
|
#e pulisce anche in mpd
|
|
#e pulisce anche in mpd
|
|
- if os.path.exists("mpd/" + song):
|
|
|
|
- os.remove("mpd/" + song)
|
|
|
|
|
|
+ #if os.path.exists("mpd/" + song):
|
|
|
|
+ # os.remove("mpd/" + song)
|
|
#se non ci sono + file cancella la cartella
|
|
#se non ci sono + file cancella la cartella
|
|
if not glob(os.path.dirname("mpd/" + song) + "/*"):
|
|
if not glob(os.path.dirname("mpd/" + song) + "/*"):
|
|
shutil.rmtree(os.path.dirname("mpd/" + song))
|
|
shutil.rmtree(os.path.dirname("mpd/" + song))
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
-def mpdsync(client, listlen):
|
|
|
|
|
|
+def mpdadd(client, listlen):
|
|
print("Rigenero la playlist")
|
|
print("Rigenero la playlist")
|
|
- mpdclean(client)
|
|
|
|
|
|
|
|
-
|
|
|
|
plt = listtot(listlen)
|
|
plt = listtot(listlen)
|
|
#copia i file
|
|
#copia i file
|
|
for f in plt:
|
|
for f in plt:
|
|
- print(f[0])
|
|
|
|
|
|
+ #print(f[0])
|
|
copyfile(f[0], "mpd/" + f[0])
|
|
copyfile(f[0], "mpd/" + f[0])
|
|
client.rescan()
|
|
client.rescan()
|
|
time.sleep(0.5)
|
|
time.sleep(0.5)
|
|
- #cancella tutto tranne la prima
|
|
|
|
- for x in client.playlistinfo()[1:]:
|
|
|
|
- client.delete(1)
|
|
|
|
- time.sleep(0.5)
|
|
|
|
|
|
+
|
|
|
|
+ # # #cancella tutto tranne la prima
|
|
|
|
+ # for x in client.playlistinfo()[1:]:
|
|
|
|
+ # client.delete(1)
|
|
|
|
+ # time.sleep(0.5)
|
|
|
|
+ # #e rifa la playlist
|
|
|
|
+ # for f in plt:
|
|
|
|
+ # client.add(f[0])
|
|
|
|
+ # time.sleep(0.5)
|
|
|
|
+
|
|
|
|
+ print("------------------")
|
|
|
|
+ playlist=client.playlistinfo()
|
|
|
|
+ for f in plt[:len(playlist)-1]:
|
|
|
|
+ i = plt.index(f) + 1
|
|
|
|
+ #print(f[0] +" - "+ playlist[i]['file'])
|
|
|
|
+ if f[0] != playlist[i]['file']:
|
|
|
|
+ break
|
|
|
|
+ else:
|
|
|
|
+ print("Mantengo " + f[0])
|
|
|
|
+
|
|
|
|
+ #print (i)
|
|
|
|
+ for x in client.playlistinfo()[i:]:
|
|
|
|
+ print("cancello " + x['file'])
|
|
|
|
+ client.delete(i)
|
|
#e rifa la playlist
|
|
#e rifa la playlist
|
|
- for f in plt:
|
|
|
|
|
|
+ for f in plt[i-1:]:
|
|
|
|
+ print("Aggiungo " + f[0])
|
|
client.add(f[0])
|
|
client.add(f[0])
|
|
|
|
|
|
|
|
+ #consumo la prima
|
|
|
|
+ consume(plt[0][0])
|
|
|
|
|
|
|
|
|
|
- # playlist=client.playlistinfo()
|
|
|
|
- # for f in plt[:len(playlist)-1]:
|
|
|
|
- # i = plt.index(f) + 1
|
|
|
|
- # if f[0] != playlist[i]['file']:
|
|
|
|
- # break
|
|
|
|
- # else:
|
|
|
|
- # print("Mantengo " + f[0])
|
|
|
|
-
|
|
|
|
- # #print (i)
|
|
|
|
- # for x in client.playlistinfo()[i+1:]:
|
|
|
|
- # #print("cancello " + client.playlist()[i-1]['file'])
|
|
|
|
- # client.delete(i)
|
|
|
|
- # #e rifa la playlist
|
|
|
|
- # for f in plt[i:]:
|
|
|
|
- # print("Aggiungo " + f[0])
|
|
|
|
- # client.add(f[0])
|
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|