[InternetRadio] initial commit of InternetRadio plugin (with music-visualization...
[enigma2-plugins.git] / internetradio / src / InternetRadioCover.py
1 #
2 # InternetRadio E2
3 #
4 # Coded by Dr.Best (c) 2012
5 # Support: www.dreambox-tools.info
6 # E-Mail: dr.best@dreambox-tools.info
7 #
8 # This plugin is open source but it is NOT free software.
9 #
10 # This plugin may only be distributed to and executed on hardware which
11 # is licensed by Dream Multimedia GmbH.
12 # In other words:
13 # It's NOT allowed to distribute any parts of this plugin or its source code in ANY way
14 # to hardware which is NOT licensed by Dream Multimedia GmbH.
15 # It's NOT allowed to execute this plugin and its source code or even parts of it in ANY way
16 # on hardware which is NOT licensed by Dream Multimedia GmbH.
17 #
18 # If you want to use or modify the code or parts of it,
19 # you have to keep MY license and inform me about the modifications by mail.
20 #
21
22 from enigma import ePicLoad
23 from Components.Pixmap import Pixmap
24
25 class InternetRadioCover(Pixmap):
26         def __init__(self, callback = None):
27                 Pixmap.__init__(self)
28                 self.picload = ePicLoad()
29                 self.picload.PictureData.get().append(self.paintIconPixmapCB)
30                 self.callback = callback
31
32         def onShow(self):
33                 Pixmap.onShow(self)
34                 self.picload.setPara((self.instance.size().width(), self.instance.size().height(), 1, 1, False, 1, "#00000000"))
35
36         def paintIconPixmapCB(self, picInfo=None):
37                 ptr = self.picload.getData()
38                 if ptr != None:
39                         self.instance.setPixmap(ptr.__deref__())
40                 if self.callback is not None:
41                         self.callback()
42
43         def updateIcon(self, filename):
44                 self.picload.startDecode(filename)