diff options
Diffstat (limited to 'plugins/PlayControl.py')
-rw-r--r-- | plugins/PlayControl.py | 47 |
1 files changed, 25 insertions, 22 deletions
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() |