summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/Library.py9
-rw-r--r--plugins/Lyrics.py5
-rw-r--r--plugins/MPD.py5
-rw-r--r--plugins/Notify.py17
-rw-r--r--plugins/PlayControl.py47
-rw-r--r--plugins/Playlist.py15
-rw-r--r--plugins/SongStatus.py9
-rw-r--r--plugins/Systray.py33
-rw-r--r--plugins/Tabs.py7
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)