mirror of
https://github.com/gryf/wmdocklib.git
synced 2025-12-19 20:38:03 +01:00
migliorie sul feedback:
livello della cache: blocco alto tre linee. la barra di contacting/buffering si sposta più lentamente. scelto un rosso meno scuro. ancora sul livello della cache: corretto errore nella espressione regolare (leggeva il carico cpu invece della cache). aggiunto bordino a barra della cache. uso dell'indicazione della configurazione per la dimensione della cache. aggiunto metodo per mettere lo stream in pausa. lettura del file di configurazione in utf-8.
This commit is contained in:
@@ -18,7 +18,6 @@ class Application(wmoo.Application):
|
|||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
wmoo.Application.__init__(self, *args, **kwargs)
|
wmoo.Application.__init__(self, *args, **kwargs)
|
||||||
self.child = None
|
self.child = None
|
||||||
self.cache = '320'
|
|
||||||
self.radioList = []
|
self.radioList = []
|
||||||
self.currentRadio = 0
|
self.currentRadio = 0
|
||||||
self._count = 0
|
self._count = 0
|
||||||
@@ -27,13 +26,16 @@ class Application(wmoo.Application):
|
|||||||
|
|
||||||
self._buffered = ''
|
self._buffered = ''
|
||||||
import re
|
import re
|
||||||
self._feedback = re.compile(r'.+ \(.+?\) .+? .+? .+? .+? ([0-9\.]+)%')
|
self._feedback = re.compile(r'.+A:.*?% ([0-9\.]+)%')
|
||||||
|
|
||||||
import fileinput, os
|
import fileinput, os
|
||||||
configfile = os.sep.join([os.environ['HOME'], '.pyradiorc'])
|
configfile = os.sep.join([os.environ['HOME'], '.pyradiorc'])
|
||||||
|
|
||||||
for i in fileinput.input(configfile):
|
import codecs
|
||||||
i = i.split('\n')[0]
|
f = codecs.open(configfile, 'r', 'utf-8')
|
||||||
|
t = f.read()
|
||||||
|
f.close()
|
||||||
|
for i in t.split(u'\n'):
|
||||||
radiodef = i.split('\t')
|
radiodef = i.split('\t')
|
||||||
radioname = radiodef[0].lower()
|
radioname = radiodef[0].lower()
|
||||||
if len(radiodef) == 1:
|
if len(radiodef) == 1:
|
||||||
@@ -42,16 +44,16 @@ class Application(wmoo.Application):
|
|||||||
globals()[radiodef[1]] = radiodef[2]
|
globals()[radiodef[1]] = radiodef[2]
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
self.radioList.append( (radioname+' '*24, radiodef[1]) )
|
self.radioList.append( (radioname+' '*24, radiodef[1], radiodef[2]) )
|
||||||
|
|
||||||
def startPlayer(self):
|
def startPlayer(self):
|
||||||
import os, subprocess
|
import os, subprocess
|
||||||
commandline = [mplayer,
|
commandline = [mplayer,
|
||||||
'-cache', self.cache,
|
'-cache', self.radioList[self.currentRadio][2],
|
||||||
self.radioList[self.currentRadio][1]
|
self.radioList[self.currentRadio][1]
|
||||||
]
|
]
|
||||||
self.child = subprocess.Popen(commandline,
|
self.child = subprocess.Popen(commandline,
|
||||||
stdin =devnull,
|
stdin =subprocess.PIPE,
|
||||||
stdout=subprocess.PIPE,
|
stdout=subprocess.PIPE,
|
||||||
stderr=devnull)
|
stderr=devnull)
|
||||||
self._buffered = ''
|
self._buffered = ''
|
||||||
@@ -63,7 +65,9 @@ class Application(wmoo.Application):
|
|||||||
|
|
||||||
def stopPlayer(self):
|
def stopPlayer(self):
|
||||||
if self.child:
|
if self.child:
|
||||||
import os, subprocess, signal
|
if self._buffering != 1:
|
||||||
|
self.child.stdin.write('q')
|
||||||
|
import os, signal
|
||||||
os.kill(self.child.pid, signal.SIGKILL)
|
os.kill(self.child.pid, signal.SIGKILL)
|
||||||
self.child = None
|
self.child = None
|
||||||
return True
|
return True
|
||||||
@@ -98,13 +102,19 @@ class Application(wmoo.Application):
|
|||||||
self._cacheLevel = -50
|
self._cacheLevel = -50
|
||||||
self.showCacheLevel()
|
self.showCacheLevel()
|
||||||
|
|
||||||
|
def pauseStream(self, event):
|
||||||
|
if self.child:
|
||||||
|
self.child.stdin.write(' ')
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
def showCacheLevel(self):
|
def showCacheLevel(self):
|
||||||
if self._buffering:
|
if self._buffering:
|
||||||
self._cacheLevel += 2
|
self._cacheLevel += 1
|
||||||
if self._cacheLevel >= 25:
|
if self._cacheLevel >= 25:
|
||||||
self._cacheLevel -= 25
|
self._cacheLevel -= 25
|
||||||
for i in range(-1, 25):
|
for i in range(-1, 25):
|
||||||
if i == self._cacheLevel:
|
if abs(i - self._cacheLevel) <= 1:
|
||||||
self.putPattern(54, self._buffering, 3, 1, 52, 54-i)
|
self.putPattern(54, self._buffering, 3, 1, 52, 54-i)
|
||||||
else:
|
else:
|
||||||
self.putPattern(54, 0, 3, 1, 52, 54-i)
|
self.putPattern(54, 0, 3, 1, 52, 54-i)
|
||||||
@@ -147,7 +157,7 @@ palette = {
|
|||||||
".": "#868682",
|
".": "#868682",
|
||||||
"X": "#AEAEAA",
|
"X": "#AEAEAA",
|
||||||
"o": "#F7F7F3",
|
"o": "#F7F7F3",
|
||||||
"r": "#F7A0A0",
|
"r": "#F73020",
|
||||||
"i": "#00F700",
|
"i": "#00F700",
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -180,34 +190,34 @@ background = [
|
|||||||
" ",
|
" ",
|
||||||
" ",
|
" ",
|
||||||
" ",
|
" ",
|
||||||
" ",
|
" XXXX. ",
|
||||||
" XXXXXXXX. XXXXXXXX. XXXXXXXX. .. --- .. ",#100
|
" XXXXXXXX. XXXXXXXX. XXXXXXXX. X--- ",
|
||||||
" X-------- X-------- X-------- --- ",#96
|
" X-------- X-------- X-------- X--- ",
|
||||||
" X-------- X-------- X-------- --- ",#92
|
" X-------- X-------- X-------- X--- ",
|
||||||
" X--o--o-- X--o--o-- X-o.-.o-- --- ",#88
|
" X--o--o-- X--o--o-- X-o.-.o-- X--- ",
|
||||||
" X--o-oo-- X--oo-o-- X-.o.o.-- --- ",#84
|
" X--o-oo-- X--oo-o-- X-.o.o.-- X--- ",
|
||||||
" X--oooo-- X--oooo-- X--.o. -- --- ",#80
|
" X--oooo-- X--oooo-- X--.o. -- X--- ",
|
||||||
" X--o-oo-- X--oo-o-- X-.o.o.-- --- ",#76
|
" X--o-oo-- X--oo-o-- X-.o.o.-- X--- ",
|
||||||
" X--o--o-- X--o--o-- X-o.-.o-- --- ",#72
|
" X--o--o-- X--o--o-- X-o.-.o-- X--- ",
|
||||||
" X-------- X-------- X-------- --- ",#68
|
" X-------- X-------- X-------- X--- ",
|
||||||
" X-------- X-------- X-------- --- ",#64
|
" X-------- X-------- X-------- X--- ",
|
||||||
" .-------- .-------- .-------- --- ",#60
|
" .-------- .-------- .-------- X--- ",
|
||||||
" --- ",#56
|
" X--- ",
|
||||||
" --- ",#52
|
" X--- ",
|
||||||
" .. --- .. ",#48
|
" X.---.. ",
|
||||||
" XXXXXXXX. XXXXXXXX. XXXXXXXX. --- ",#44
|
" XXXXXXXX. XXXXXXXX. XXXXXXXX. X--- ",
|
||||||
" X-------- X-------- X-------- --- ",#40
|
" X-------- X-------- X-------- X--- ",
|
||||||
" X-------- X-------- X-------- --- ",#36
|
" X-------- X-------- X-------- X--- ",
|
||||||
" X--o----- X-oo-oo-- X-ooooo-- --- ",#32
|
" X--o----- X-oo-oo-- X-ooooo-- X--- ",
|
||||||
" X--oo---- X-oo-oo-- X-ooooo-- --- ",#28
|
" X--oo---- X-oo-oo-- X-ooooo-- X--- ",
|
||||||
" X--ooo--- X-oo-oo-- X-ooooo-- --- ",#24
|
" X--ooo--- X-oo-oo-- X-ooooo-- X--- ",
|
||||||
" X--oo---- X-oo-oo-- X-ooooo-- --- ",#20
|
" X--oo---- X-oo-oo-- X-ooooo-- X--- ",
|
||||||
" X--o----- X-oo-oo-- X-ooooo-- --- ",#16
|
" X--o----- X-oo-oo-- X-ooooo-- X--- ",
|
||||||
" X-------- X-------- X-------- --- ",#12
|
" X-------- X-------- X-------- X--- ",
|
||||||
" X-------- X-------- X-------- --- ",#08
|
" X-------- X-------- X-------- X--- ",
|
||||||
" .-------- .-------- .-------- --- ",#04
|
" .-------- .-------- .-------- X--- ",
|
||||||
" --- ",#00
|
" X--- ",
|
||||||
" .. --- .. ",
|
" .--- ",
|
||||||
" ",
|
" ",
|
||||||
" ",
|
" ",
|
||||||
" ",
|
" ",
|
||||||
@@ -251,7 +261,7 @@ def main():
|
|||||||
app.addCallback(app.quitProgram, 'buttonrelease', area=(30,29,39,38), key=1)
|
app.addCallback(app.quitProgram, 'buttonrelease', area=(30,29,39,38), key=1)
|
||||||
|
|
||||||
app.addCallback(app.playStream, 'buttonrelease', area=( 6,43,15,52))
|
app.addCallback(app.playStream, 'buttonrelease', area=( 6,43,15,52))
|
||||||
app.addCallback(app.stopStream, 'buttonrelease', area=(18,43,27,52))
|
app.addCallback(app.pauseStream, 'buttonrelease', area=(18,43,27,52))
|
||||||
app.addCallback(app.stopStream, 'buttonrelease', area=(30,43,39,52))
|
app.addCallback(app.stopStream, 'buttonrelease', area=(30,43,39,52))
|
||||||
|
|
||||||
app.run()
|
app.run()
|
||||||
|
|||||||
Reference in New Issue
Block a user