| 24 | class VuMeter(QtGui.QFrame): |
---|
| 25 | def __init__(self, interface, output, input=None, parent=None): |
---|
| 26 | QtGui.QFrame.__init__(self, parent) |
---|
| 27 | self.setLineWidth(1) |
---|
| 28 | self.setFrameStyle(QtGui.QFrame.Panel|QtGui.QFrame.Sunken) |
---|
| 29 | self.setMinimumSize(20, 20) |
---|
| 30 | |
---|
| 31 | self.level = 0 |
---|
| 32 | |
---|
| 33 | self.interface = interface |
---|
| 34 | |
---|
| 35 | self.output = output |
---|
| 36 | if input is None: |
---|
| 37 | input = int(self.interface.getSourceForDestination(output)) |
---|
| 38 | self.setInput(input) |
---|
| 39 | |
---|
| 40 | def setInput(self, input): |
---|
| 41 | #print "VuMeter.setInput() %i->%i" % (self.output, input) |
---|
| 42 | self.input = input |
---|
| 43 | |
---|
| 44 | def updateLevel(self, value): |
---|
| 45 | self.level = value |
---|
| 46 | self.update() |
---|
| 47 | |
---|
| 48 | def paintEvent(self, event): |
---|
| 49 | p = QtGui.QPainter(self) |
---|
| 50 | value = self.level/4096 |
---|
| 51 | r = self.rect() |
---|
| 52 | r.setHeight(r.height() * value) |
---|
| 53 | r.moveBottom(self.rect().height()) |
---|
| 54 | p.fillRect(r, self.palette().highlight()) |
---|
| 55 | |
---|
43 | | self.layout.addWidget(self.lbl, 0, 0, 1, 2) |
---|
| 76 | self.layout.addWidget(self.lbl, 0, 0) |
---|
| 77 | |
---|
| 78 | self.vu = VuMeter(self.interface, self.interface.getDestinationIndex(outname), parent=self) |
---|
| 79 | self.layout.addWidget(self.vu, 0, 1, 2, 1) |
---|
| 169 | self.switchers[self.interface.getDestinationIndex(out)] = btn |
---|
| 170 | |
---|
| 171 | self.timer = QtCore.QTimer(self) |
---|
| 172 | self.timer.setInterval(200) |
---|
| 173 | self.connect(self.timer, QtCore.SIGNAL("timeout()"), self.updateLevels) |
---|
| 174 | self.timer.start() |
---|
| 175 | |
---|
| 176 | def updateLevels(self): |
---|
| 177 | #print "CrossbarRouter.updateLevels()" |
---|
| 178 | peakvalues = self.interface.getPeakValues() |
---|
| 179 | #print "Got %i peaks" % len(peakvalues) |
---|
| 180 | for peak in peakvalues: |
---|
| 181 | self.switchers[peak[0]].peakValue(peak[1]) |
---|