diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/Library.py | 9 | ||||
-rw-r--r-- | plugins/Lyrics.py | 5 | ||||
-rw-r--r-- | plugins/MPD.py | 5 | ||||
-rw-r--r-- | plugins/Notify.py | 17 | ||||
-rw-r--r-- | plugins/PlayControl.py | 47 | ||||
-rw-r--r-- | plugins/Playlist.py | 15 | ||||
-rw-r--r-- | plugins/SongStatus.py | 9 | ||||
-rw-r--r-- | plugins/Systray.py | 33 | ||||
-rw-r--r-- | plugins/Tabs.py | 7 |
9 files changed, 85 insertions, 62 deletions
diff --git a/plugins/Library.py b/plugins/Library.py index 4500895..4676d5f 100644 --- a/plugins/Library.py +++ b/plugins/Library.py @@ -1,5 +1,4 @@ from PyQt4 import QtGui -from clMonty import monty from clPlugin import * from misc import * from wgPlaylist import Playlist @@ -13,8 +12,10 @@ LIBRARY_MODES_DEFAULT='$artist\n'\ '$genre/$artist - $album\n' class pluginLibrary(Plugin): o=None + monty = None def __init__(self, winMain): Plugin.__init__(self, winMain, 'Library') + self.monty = winMain.monty def _load(self): self.o=Playlist(self.winMain, self, ['song'], 'Library' , self.onDoubleClick, self.onKeyPress, self.getSetting('modes').split('\n')) @@ -56,14 +57,14 @@ class pluginLibrary(Plugin): end=len(paths) self.setStatus('Adding '+str(len(songs))+' songs to library: %i%%'%(int(100*start/len(paths)))) doEvents() - monty.addToPlaylist(paths[start:end]) + self.monty.addToPlaylist(paths[start:end]) start+=CHUNK_SIZE self.setStatus('') doEvents() self.getWinMain().fillPlaylist() - if not monty.isPlaying(): - monty.play(None) + if not self.monty.isPlaying(): + self.monty.play(None) def _getSettings(self): modes=QtGui.QTextEdit() diff --git a/plugins/Lyrics.py b/plugins/Lyrics.py index 840ec06..518940d 100644 --- a/plugins/Lyrics.py +++ b/plugins/Lyrics.py @@ -9,7 +9,6 @@ import webbrowser import urllib from misc import * -from clMonty import monty from clPlugin import * class ResetEvent(QtCore.QEvent): @@ -57,6 +56,7 @@ class wgLyrics(QtGui.QWidget): editMode=False lyFormat=None p=None # plugin + monty = None def __init__(self, p, parent=None): QtGui.QWidget.__init__(self, parent) self.p=p @@ -65,6 +65,7 @@ class wgLyrics(QtGui.QWidget): self.btnRefetch=Button("Refetch", self.onBtnRefetchClick) self.btnSave=Button("Save lyrics", self.onBtnSaveClick) self.btnSearch=Button("Search www", self.onBtnSearch) + self.monty = p.monty self.txtView=QtGui.QTextEdit(parent) self.txtView.setReadOnly(True) @@ -243,12 +244,14 @@ class wgLyrics(QtGui.QWidget): class pluginLyrics(Plugin): o=None + monty = None def __init__(self, winMain): Plugin.__init__(self, winMain, 'Lyrics') self.addMontyListener('onSongChange', self.refresh) self.addMontyListener('onReady', self.refresh) self.addMontyListener('onDisconnect', self.onDisconnect) self.addMontyListener('onTimeChange', self.onTimeChange) + self.monty = winMain.monty def _load(self): self.o=wgLyrics(self, None) self.o.refresh() diff --git a/plugins/MPD.py b/plugins/MPD.py index c7e8c9c..1f6f6d5 100644 --- a/plugins/MPD.py +++ b/plugins/MPD.py @@ -1,5 +1,4 @@ from PyQt4 import QtGui -from clMonty import monty from clPlugin import * from misc import * from clSettings import settings, mpdSettings @@ -8,8 +7,10 @@ MPD_HOST_DEFAULT='localhost' MPD_PORT_DEFAULT='6600' class pluginMPD(Plugin): + monty = None def __init__(self, winMain): Plugin.__init__(self, winMain, 'MPD') + self.monty = winMain.monty def getInfo(self): return "Provides an interface to the MPD settings." @@ -23,6 +24,6 @@ class pluginMPD(Plugin): ] def onBtnUpdateDBClick(self): self.saveSettings() - monty.updateDB([mpdSettings.get('music_directory')]) + self.monty.updateDB([mpdSettings.get('music_directory')]) pass diff --git a/plugins/Notify.py b/plugins/Notify.py index f7eb993..04ad045 100644 --- a/plugins/Notify.py +++ b/plugins/Notify.py @@ -4,7 +4,6 @@ from traceback import print_exc import format from misc import * -from clMonty import monty from clPlugin import * import plugins @@ -16,6 +15,7 @@ class winNotify(QtGui.QWidget): resizeWindow=True winMain=None p=None + monty = None # data used for showing off timer=None @@ -27,6 +27,7 @@ class winNotify(QtGui.QWidget): QtGui.QWidget.__init__(self, parent) self.p=p self.winMain=winMain + self.monty = winMain.monty self.setWindowFlags(QtCore.Qt.ToolTip) self.setWindowOpacity(0.7) @@ -97,14 +98,14 @@ class winNotify(QtGui.QWidget): self.centerH() # fill up with a nice color :) - p.fillRect(QtCore.QRect(0,0,self.width(),self.height()), monty.palette.brush(QtGui.QPalette.Base)) + p.fillRect(QtCore.QRect(0,0,self.width(),self.height()), self.palette().brush(QtGui.QPalette.Base)) # draw album cover if necessary if img: rImg=QtCore.QRectF(margin,margin,width,width) p.drawImage(rImg, img) - p.setPen(monty.palette.color(QtGui.QPalette.Text)) + p.setPen(self.palette().color(QtGui.QPalette.Text)) rect=p.boundingRect(width+margin+spacing,margin, rect.width(),self.height(), QtCore.Qt.AlignHCenter|QtCore.Qt.AlignVCenter, txt) p.drawText(rect, QtCore.Qt.AlignHCenter, txt) @@ -119,6 +120,7 @@ class winNotify(QtGui.QWidget): class pluginNotify(Plugin): o=None + monty = None def __init__(self, winMain): Plugin.__init__(self, winMain, 'Notify') self.addMontyListener('onSongChange', self.onSongChange) @@ -126,6 +128,7 @@ class pluginNotify(Plugin): self.addMontyListener('onDisconnect', self.onDisconnect) self.addMontyListener('onStateChange', self.onStateChange) self.addMontyListener('onVolumeChange', self.onVolumeChange) + self.monty = winMain.monty def _load(self): self.o=winNotify(self, self.winMain) @@ -135,20 +138,20 @@ class pluginNotify(Plugin): return "Show interesting events in a popup window." def onSongChange(self, params): - self.o.show(self.getSetting('songformat').replace("\n", "\\n"), monty.getCurrentSong() + self.o.show(self.getSetting('songformat').replace("\n", "\\n"), self.monty.getCurrentSong() , time=self.getSetting('timer')) def onReady(self, params): - self.o.show('montypc loaded!', monty.getCurrentSong(), time=self.getSetting('timer')) + self.o.show('self.montypc loaded!', monty.getCurrentSong(), time=self.getSetting('timer')) def onDisconnect(self, params): self.o.show('Disconnected!', time=self.getSetting('timer')) def onStateChange(self, params): - self.o.show(params['newState'], monty.getCurrentSong(), time=self.getSetting('timer')) + self.o.show(params['newState'], self.monty.getCurrentSong(), time=self.getSetting('timer')) def onVolumeChange(self, params): - self.o.show('Volume: %i%%'%(params['newVolume']), monty.getCurrentSong(), time=self.getSetting('timer')) + self.o.show('Volume: %i%%'%(params['newVolume']), self.monty.getCurrentSong(), time=self.getSetting('timer')) def _getSettings(self): txt=QtGui.QTextEdit() diff --git a/plugins/PlayControl.py b/plugins/PlayControl.py index be7006b..b31046a 100644 --- a/plugins/PlayControl.py +++ b/plugins/PlayControl.py @@ -1,7 +1,6 @@ from PyQt4 import QtGui, QtSvg, QtCore from misc import * -from clMonty import monty from clPlugin import * import clSong from thread import start_new_thread @@ -49,6 +48,7 @@ class wgPlayControl(QtGui.QWidget): cmbRepeat=None cmbShuffle=None p=None + monty = None " contains the songs of the album the current song is playing. None, if the album is not set" curAlbumSongs=None @@ -61,6 +61,7 @@ class wgPlayControl(QtGui.QWidget): def __init__(self, p, parent=None): QtGui.QWidget.__init__(self, parent) self.p=p + self.monty = p.monty class wgSvgSwitcher(QtSvg.QSvgWidget): """Widget showing an svg-image, which, when clicked, will (un)hide an element.""" @@ -152,9 +153,9 @@ class wgPlayControl(QtGui.QWidget): self.cmbShuffle.setItemText(PC_RANDOM_QUEUE, "Queue (%i)"%(len(self.queuedSongs))) def onBtnJmpCurrentClick(self): - plugins.getPlugin("Playlist").getPlaylist().ensureVisible(monty.getCurrentSong().getID()) + plugins.getPlugin("Playlist").getPlaylist().ensureVisible(self.monty.getCurrentSong().getID()) def onStateChange(self, params): - newState=monty.getStatus()['state'] + newState=self.monty.getStatus()['state'] map(lambda o: o.setEnabled(newState!='stop'), self.objects) @@ -173,7 +174,7 @@ class wgPlayControl(QtGui.QWidget): self.slrTime.setValue(params['newTime']) def onSongChange(self, params): try: - self.slrTime.setMaximum(monty.getStatus()['length']) + self.slrTime.setMaximum(self.monty.getStatus()['length']) self.slrTime.setEnabled(True) except: pass @@ -183,7 +184,7 @@ class wgPlayControl(QtGui.QWidget): def beforeSongChange(self, params): nextID=None - song=monty.getCurrentSong() + song=self.monty.getCurrentSong() # decide here what next song to play! repeat=self.cmbRepeat.currentIndex() random=self.cmbShuffle.currentIndex() @@ -238,7 +239,7 @@ class wgPlayControl(QtGui.QWidget): # album. if eofAlbum and (repeat==PC_REPEAT_PLAYLIST or repeat==PC_REPEAT_NO): # all first songs of an album - albums=filter(lambda s: s.getAlbum() and s.getTrack()==1, monty.listPlaylist()) + albums=filter(lambda s: s.getAlbum() and s.getTrack()==1, self.monty.listPlaylist()) nextID=albums[randint(0,len(albums)-1)].getID() else: # we're not at end of album, so we fetch the next id @@ -254,45 +255,45 @@ class wgPlayControl(QtGui.QWidget): self.cmbShuffle.setCurrentIndex(int(self.p.getSetting('oldshuffle'))) if nextID!=None: - monty.play(nextID) + self.monty.play(nextID) def getCurAlbumSongs(self): return self.curAlbumSongs def findAlbumSongs(self): """This method looks for the songs in the album of current playing song.""" - song=monty.getCurrentSong() + song=self.monty.getCurrentSong() if self.curAlbumSongs and clSong.isSameAlbum(song, self.curAlbumSongs[0]): return self.curAlbumSongs=None if not song or not song.getAlbum(): return - self.curAlbumSongs=filter(lambda s: clSong.isSameAlbum(s, song), monty.listPlaylist()) + self.curAlbumSongs=filter(lambda s: clSong.isSameAlbum(s, song), self.monty.listPlaylist()) self.curAlbumSongs=sorted(self.curAlbumSongs, lambda l,r: numeric_compare(l.getTrack(), r.getTrack())) def onBtnPlayPauseClick(self): - status=monty.getStatus() + status=self.monty.getStatus() if status['state']=='play': - monty.pause() + self.monty.pause() self.p.extended("Toggling playback") elif status['state']=='stop': - monty.play(None) + self.monty.play(None) self.p.extended("Pausing playback") else: - monty.resume() + self.monty.resume() def onBtnStopClick(self): - monty.stop() + self.monty.stop() self.p.extended("Stopping playback") def onBtnPreviousClick(self): - monty.previous() + self.monty.previous() self.p.extended("Playing previous") def onBtnNextClick(self): - monty.next() + self.monty.next() self.p.extended("Playing next") def onTimeSliderChange(self): - monty.seek(self.slrTime.value()) + self.monty.seek(self.slrTime.value()) def onVolumeSliderChange(self): v=self.slrVolume.value() - monty.setVolume(v) + self.monty.setVolume(v) if v<=1: mode='mute' else: @@ -302,9 +303,9 @@ class wgPlayControl(QtGui.QWidget): def onCmbRepeatChanged(self, newval): self.p.setSetting('repeat', newval) if newval==PC_REPEAT_PLAYLIST: - monty.repeat(1) + self.monty.repeat(1) else: - monty.repeat(0) + self.monty.repeat(0) def onCmbShuffleChanged(self, newval): if newval==PC_RANDOM_QUEUE: # must do some extra's if moving to queued-mode @@ -320,9 +321,9 @@ class wgPlayControl(QtGui.QWidget): self.p.setSetting('shuffle', newval) if newval==PC_RANDOM_SONG: - monty.random(1) + self.monty.random(1) else: - monty.random(0) + self.monty.random(0) # save and load the queue def saveQueue(self): @@ -344,6 +345,7 @@ class wgPlayControl(QtGui.QWidget): class pluginPlayControl(Plugin): o=None + monty = None def __init__(self, winMain): Plugin.__init__(self, winMain, 'PlayControl') self.addMontyListener('onStateChange', self.onStateChange) @@ -353,6 +355,7 @@ class pluginPlayControl(Plugin): self.addMontyListener('onReady', self.onStateChange) self.addMontyListener('onDisconnect', self.onDisconnect) self.addMontyListener('onTimeChange', self.onTimeChange) + self.monty = winMain.monty def _load(self): self.o=wgPlayControl(self, None) self.o.loadQueue() diff --git a/plugins/Playlist.py b/plugins/Playlist.py index 21e5a8d..ce0132d 100644 --- a/plugins/Playlist.py +++ b/plugins/Playlist.py @@ -1,5 +1,4 @@ from PyQt4 import QtGui, QtCore -from clMonty import monty from clPlugin import * from misc import * from wgPlaylist import Playlist @@ -17,9 +16,13 @@ PLAYLIST_MODES_DEFAULT='$artist\n'\ # playcontrol class pluginPlaylist(Plugin): o=None + monty = None + palette = None def __init__(self, winMain): Plugin.__init__(self, winMain, 'Playlist') self.addMontyListener('onSongChange', self.onSongChange) + self.monty = winMain.monty + self.palette = winMain.palette def _load(self): self.o=Playlist(self.winMain, self, ['artist', 'title', 'track', 'album'], 'Playlist' , self.onDoubleClick, self.onKeyPress, self.getSetting('modes').split('\n')) @@ -37,7 +40,7 @@ class pluginPlaylist(Plugin): return self._createDock(self.o) def onDoubleClick(self): - monty.play(self.o.getSelItemID()) + self.monty.play(self.o.getSelItemID()) def onKeyPress(self, event): if event.matches(QtGui.QKeySequence.Delete): @@ -46,7 +49,7 @@ class pluginPlaylist(Plugin): self.setStatus('Deleting '+str(len(ids))+' songs from playlist ...') doEvents() - monty.deleteFromPlaylist(ids) + self.monty.deleteFromPlaylist(ids) self.setStatus('') doEvents() @@ -60,7 +63,7 @@ class pluginPlaylist(Plugin): def onSongChange(self, params): lst=self.o - lst.colorID(int(params['newSongID']), monty.palette.color(QtGui.QPalette.Highlight)) + lst.colorID(int(params['newSongID']), self.palette().color(QtGui.QPalette.Highlight)) if params['newSongID']!=-1: lst.ensureVisible(params['newSongID']) @@ -68,11 +71,11 @@ class pluginPlaylist(Plugin): _rowColorModifier=0 _rowColorAdder=1 def timerEvent(self, event): - curSong=monty.getCurrentSong() + curSong=self.monty.getCurrentSong() if curSong: lst=self.lstPlaylist # color current playing song - lst.colorID(curSong.getID(), monty.palette.color(QtGui.QPalette.Highlight)) + lst.colorID(curSong.getID(), self.palette.color(QtGui.QPalette.Highlight)) # make sure color changes nicely over time self._rowColorModifier=self._rowColorModifier+self._rowColorAdder diff --git a/plugins/SongStatus.py b/plugins/SongStatus.py index 71aa6e4..f5e5ab9 100644 --- a/plugins/SongStatus.py +++ b/plugins/SongStatus.py @@ -1,5 +1,4 @@ from PyQt4 import QtGui -from clMonty import monty from clPlugin import * from traceback import print_exc @@ -17,9 +16,11 @@ class wgSongStatus(QtGui.QWidget): lblInfo=None format=None p=None + monty = None def __init__(self, p, parent=None): QtGui.QWidget.__init__(self, parent) self.p=p + self.monty = p.monty self.lblInfo=QtGui.QLabel() self.setMinimumWidth(400) @@ -31,8 +32,8 @@ class wgSongStatus(QtGui.QWidget): self.updateFormat() def update(self, params): - status=monty.getStatus() - song=monty.getCurrentSong() + status=self.monty.getStatus() + song=self.monty.getCurrentSong() values={'state':''} try: @@ -57,6 +58,7 @@ class wgSongStatus(QtGui.QWidget): class pluginSongStatus(Plugin): o=None + monty = None def __init__(self, winMain): Plugin.__init__(self, winMain, 'SongStatus') self.addMontyListener('onSongChange', self.update) @@ -64,6 +66,7 @@ class pluginSongStatus(Plugin): self.addMontyListener('onStateChange', self.update) self.addMontyListener('onConnect', self.update) self.addMontyListener('onDisconnect', self.update) + self.monty = winMain.monty def _load(self): self.o=wgSongStatus(self, None) diff --git a/plugins/Systray.py b/plugins/Systray.py index 571bbc3..5da4507 100644 --- a/plugins/Systray.py +++ b/plugins/Systray.py @@ -1,5 +1,4 @@ from PyQt4 import QtGui -from clMonty import monty from clPlugin import * from misc import * import format @@ -13,6 +12,8 @@ class pluginSystray(Plugin): time=None # indicator of current time [0..64] appIcon=None pixmap=None + monty = None + palette = None def __init__(self, winMain): Plugin.__init__(self, winMain, 'Systray') self.addMontyListener('onSongChange', self.update) @@ -21,8 +22,10 @@ class pluginSystray(Plugin): self.addMontyListener('onDisconnect', self.update) # TODO only update this when necessary, i.e. mouse-hover etc self.addMontyListener('onTimeChange', self.update) - self.appIcon=appIcon - + self.appIcon=QtGui.QIcon(appIcon) + self.monty = winMain.monty + self.palette = winMain.palette() + def _load(self): self.format=format.compile(SYSTRAY_FORMAT) @@ -32,12 +35,12 @@ class pluginSystray(Plugin): if type(event)==QtGui.QWheelEvent: numDegrees=event.delta() / 8 numSteps=5*numDegrees/15 - monty.setVolume(int(monty.getStatus()['volume'])+numSteps) + self.monty.setVolume(int(monty.getStatus()['volume'])+numSteps) event.accept() return True return False - self.o=QtGui.QSystemTrayIcon(appIcon, self.winMain) + self.o=QtGui.QSystemTrayIcon(QtGui.QIcon(appIcon), self.winMain) self.eventObj=SystrayWheelEventObject() self.o.installEventFilter(self.eventObj) self.winMain.connect(self.o, QtCore.SIGNAL('activated (QSystemTrayIcon::ActivationReason)') @@ -51,11 +54,11 @@ class pluginSystray(Plugin): self.o=None self.winMain._wheelEvent=None def getInfo(self): - return "Display the montypc icon in the systray." + return "Display the self.montypc icon in the systray." def update(self, params): - status=monty.getStatus() - song=monty.getCurrentSong() + status=self.monty.getStatus() + song=self.monty.getCurrentSong() values={'state':''} try: @@ -69,7 +72,7 @@ class pluginSystray(Plugin): if song: self.o.setToolTip(self.format(format.params(song, values))) else: - self.o.setToolTip("montypc not playing") + self.o.setToolTip("self.montypc not playing") try: curTime=(64*status['time'])/status['length'] @@ -80,13 +83,13 @@ class pluginSystray(Plugin): # redraw the systray icon self.pixmap=self.appIcon.pixmap(64,64) painter=QtGui.QPainter(self.pixmap) - painter.fillRect(1, curTime, 63, 64, monty.palette.brush(QtGui.QPalette.Base)) - appIcon.paint(painter, 1, 0, 63, 64) + painter.fillRect(1, curTime, 63, 64, self.palette.brush(QtGui.QPalette.Base)) + self.appIcon.paint(painter, 1, 0, 63, 64) self.o.setIcon(QtGui.QIcon(self.pixmap)) elif not song: self.time=None - self.o.setIcon(appIcon) + self.o.setIcon(QtGui.QIcon(appIcon)) def onSysTrayClick(self, reason): @@ -106,8 +109,8 @@ class pluginSystray(Plugin): w.move(x, y) elif reason==QtGui.QSystemTrayIcon.MiddleClick: # middle mouse button - if monty.isPlaying(): - monty.pause() + if self.monty.isPlaying(): + self.monty.pause() else: - monty.resume() + self.monty.resume() diff --git a/plugins/Tabs.py b/plugins/Tabs.py index 8914a4b..4862f12 100644 --- a/plugins/Tabs.py +++ b/plugins/Tabs.py @@ -5,7 +5,6 @@ from thread import start_new_thread from traceback import print_exc from misc import * -from clMonty import monty from clPlugin import * class ResetEvent(QtCore.QEvent): @@ -29,6 +28,7 @@ class wgTabs(QtGui.QWidget): " contains the tabs" txt=None p=None # plugin + monty = None def __init__(self, p, parent=None): QtGui.QWidget.__init__(self, parent) self.p=p @@ -38,10 +38,11 @@ class wgTabs(QtGui.QWidget): layout=QtGui.QVBoxLayout() layout.addWidget(self.txt) self.setLayout(layout) + self.monty = p.monty def refresh(self): - song=monty.getCurrentSong() + song=self.monty.getCurrentSong() try: song._data['file'] except: @@ -132,11 +133,13 @@ class wgTabs(QtGui.QWidget): class pluginTabs(Plugin): o=None + monty = None def __init__(self, winMain): Plugin.__init__(self, winMain, 'Tabs') self.addMontyListener('onSongChange', self.refresh) self.addMontyListener('onReady', self.refresh) self.addMontyListener('onDisconnect', self.onDisconnect) + self.monty = winMain.monty def _load(self): self.o=wgTabs(self, None) self.refresh(None) |