From b75e6bae68973e51eb7adb53dd6b0b1725cb2d35 Mon Sep 17 00:00:00 2001 From: cuu Date: Tue, 24 Jul 2018 15:43:01 +0800 Subject: [PATCH] add time and title on spectrum page --- .../Music Player/mpd_spectrum_page.py | 74 +++++++++++++++--- Menu/GameShell/Music Player/play_list_page.py | 3 + skin/default/sys.py/gameshell/icons/tape.png | Bin 0 -> 1210 bytes 3 files changed, 64 insertions(+), 13 deletions(-) create mode 100644 skin/default/sys.py/gameshell/icons/tape.png diff --git a/Menu/GameShell/Music Player/mpd_spectrum_page.py b/Menu/GameShell/Music Player/mpd_spectrum_page.py index 4892a95..6269948 100644 --- a/Menu/GameShell/Music Player/mpd_spectrum_page.py +++ b/Menu/GameShell/Music Player/mpd_spectrum_page.py @@ -73,7 +73,7 @@ class MPDSpectrumPage(Page): _FootMsg = ["Nav","","","Back",""] _MyList = [] _ListFont = fonts["veramono12"] - _SongFont = fonts["notosanscjk17"] + _SongFont = fonts["notosanscjk12"] _PIFI = None _FIFO = None _Color = pygame.Color(126,206,244) @@ -95,8 +95,8 @@ class MPDSpectrumPage(Page): _SheepBodyH = 81 _RollCanvas = None - _RollW = 220 - _RollH = 68 + _RollW = 180 + _RollH = 18 _freq_count = 0 _head_dir = 0 @@ -148,19 +148,30 @@ class MPDSpectrumPage(Page): """ self._cwp_png = IconItem() - self._cwp_png._ImgSurf = MyIconPool._Icons["clockworkpi"] + self._cwp_png._ImgSurf = MyIconPool._Icons["tape"] self._cwp_png._MyType = ICON_TYPES["STAT"] self._cwp_png._Parent = self self._cwp_png.Adjust(0,0,79,79,0) self._song_title = Label() - self._song_title.SetCanvasHWND(self._RollCanvas) - self._song_title.Init("Untitled",self._SongFont,(255,255,255)) - + + self._title = Label() + self._title.SetCanvasHWND(self._CanvasHWND) + self._title.Init("Title:",self._ListFont,(255,255,255)) + + self._time = Label() + self._time.SetCanvasHWND(self._CanvasHWND) + self._time.Init("Time:",self._ListFont,(255,255,255)) + + + self._time2 = Label() + self._time2.SetCanvasHWND(self._CanvasHWND) + self._time2.Init("00:00-00:00",self._ListFont,(255,255,255)) + self.Start() @@ -272,10 +283,11 @@ class MPDSpectrumPage(Page): def Draw(self): self.ClearCanvas() - + self._frames+=1 + bw = 10 gap = 2 - margin_bottom = 100 + margin_bottom = 72 spects = None meterNum = self._Width / float(bw +gap ) ## 320/12= 26 @@ -284,22 +296,58 @@ class MPDSpectrumPage(Page): margin_left = meter_left / 2 + gap meterNum = int(meterNum) - self._cwp_png.NewCoord(43,149) + self._cwp_png.NewCoord(43,159) self._cwp_png.Draw() if self._Neighbor != None: if self._Neighbor._CurSongName != "": self._song_title.SetText(self._Neighbor._CurSongName) + if self._Neighbor._CurSongTime != "": + times = self._Neighbor._CurSongTime + times_ = times.split(":") + if len(times_)> 1: + cur = int(times_[0]) + end = int(times_[1]) + if cur > 3600: + cur_text = time.strftime('%H:%M:%S', time.gmtime(cur)) + else: + cur_text = time.strftime('%M:%S', time.gmtime(cur)) - + if end > 3600: + end_text = time.strftime('%H:%M:%S', time.gmtime(end)) + else: + end_text = time.strftime('%M:%S', time.gmtime(end)) + else: + cur_text = "" + end_text = times + + self._time2.SetText(cur_text+"-"+end_text) + + + self._title.NewCoord(90,167) + self._title.Draw() + self._time.NewCoord(90,140) + self._time.Draw() + + self._time2.NewCoord(135,140) + self._time2.Draw() + if self._RollCanvas != None: +# self._RollCanvas.fill((111,22,33)) self._RollCanvas.fill((0,0,0)) + if self._song_title._Width > self._RollW: + if (self._song_title._PosX + self._song_title._Width) > self._RollW and self._frames % 30 == 0: + self._song_title._PosX -= 1 + elif (self._song_title._PosX + self._song_title._Width) <= self._RollW and self._frames % 30 == 0: + self._song_title._PosX = 0 + else: + self._song_title._PosX = 0 - self._song_title.NewCoord(0,0) self._song_title.Draw() - self._CanvasHWND.blit(self._RollCanvas,(86,114,220,68)) + self._CanvasHWND.blit(self._RollCanvas,(135,165,self._RollW,self._RollH)) + try: spects = self._queue_data diff --git a/Menu/GameShell/Music Player/play_list_page.py b/Menu/GameShell/Music Player/play_list_page.py index b5ae9bf..bf22fc3 100644 --- a/Menu/GameShell/Music Player/play_list_page.py +++ b/Menu/GameShell/Music Player/play_list_page.py @@ -128,6 +128,7 @@ class PlayListPage(Page): current_song = myvars.Poller.poll() + for i ,v in enumerate(self._MyList): self._MyList[i]._Playing = False self._MyList[i]._PlayingProcess = 0 @@ -248,6 +249,8 @@ class PlayListPage(Page): if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if myvars.Poller != None: myvars.Poller.stop() + self._CurSongTime="" + self._CurSongName="" self.ReturnToUpLevelPage() self._Screen.Draw() diff --git a/skin/default/sys.py/gameshell/icons/tape.png b/skin/default/sys.py/gameshell/icons/tape.png new file mode 100644 index 0000000000000000000000000000000000000000..f802820da3bac596b277fea306380084c1cc9229 GIT binary patch literal 1210 zcmV;r1V#IaP)EAp{hmiYWNtg9{>7thB`_)2v1vH8vMJ-ZMkXl0P);4Ktntncf=bE{fxo6Iqnd{9>z8?&8?wsX2^Plg` z+2(>_7=~dOhG7_nVHk#C7=~f|A0*8pL&n4EP850oVX+Pm-omWg{Yp$e1WAMP!x4@urAeE+Q{R=BtWPXMcHt zyuXXcqziu|QsCK(3OFeuuevZ2F2*~lJc!8a4e>`sWTL>0WpOy;+JuO7rR>Lu_*5$2 zsEB+j9s#>N8lLUq=cTTl8>s)GhTjKM;djwy)dTz(SY9(Wqs_FZ!RB#y)c8B1%xSBGM}&{SDWjNj>2YBg<@Lt<-xE!D~_5o)_E1%C1;9=CeUqU;Xq8tDo0nPx{m9JV;_9scwmlfd?@HdLMZgs2!o&#1gdhP!1M0@sJLIwODc&K2dI+4Y|jUfp`y(w}g-SKpXCJYsDCO6wGg6}tP zE^H`GweSgeGw^Hmb?G>E;dvkW1l)=)gwA$80Jb%Y%}Byh+Vm~}hTPEy z?62BTD+GKG6>kvOl)AnFn2+ArX)Uk|x>!4i?q}3^68H$%hk9kDdoxuJPv!&Hp&qa) zBYqUPxMG_%#(`U@7Y}rHvCM_tK9ZB}Go}O_0uC3n*UyxIpX8+d7WgYCO*b$ZQ-P|R@SpCS z=S`QS!ropkhf`DGB{^v?1Wt)4FNmrI-098_deY1V23k;umviFR18Z{9jK> zPyrW_y}maS876;W;y>~POuO;`@Hr8i&K<}r=(=GV?_NsYOyoTDyO^cutYR1NGy1{f zOcL@Ka4m4P`~5h&^tBo|xloC2PAF3UP4iIer><@1UYWYzUqocL6#Pmb)cfuNPIAZc zLQkW!NOvH8!0Eokc};i+x>0kqWTiTZHPrvh>Fu`G#xM-SFbu;m48t%C!!QiPFpMhr Y7d+pi5>yflF8}}l07*qoM6N<$f(P_8-v9sr literal 0 HcmV?d00001