More of the same; Update carla for dpm changes

This commit is contained in:
falkTX 2015-01-12 16:41:51 +00:00
parent 780a5c54fa
commit 6aab833a2b
4 changed files with 42 additions and 42 deletions

1
.gitignore vendored
View File

@ -61,6 +61,7 @@ source/pixmapbutton.py
source/pixmapdial.py
source/pixmapkeyboard.py
source/racklistwidget.py
source/widgets/carla_config.py
# Binaries
carla-bridge-qtcreator

View File

@ -260,14 +260,14 @@ class HostWindow(QMainWindow):
# ----------------------------------------------------------------------------------------------------
# Set up GUI (patchbay)
self.ui.peak_in.setColor(DigitalPeakMeter.BLUE)
self.ui.peak_in.setChannels(2)
self.ui.peak_in.setOrientation(DigitalPeakMeter.VERTICAL)
self.ui.peak_in.setChannelCount(2)
self.ui.peak_in.setMeterColor(DigitalPeakMeter.COLOR_BLUE)
self.ui.peak_in.setMeterOrientation(DigitalPeakMeter.VERTICAL)
self.ui.peak_in.setFixedWidth(25)
self.ui.peak_out.setColor(DigitalPeakMeter.GREEN)
self.ui.peak_out.setChannels(2)
self.ui.peak_out.setOrientation(DigitalPeakMeter.VERTICAL)
self.ui.peak_out.setChannelCount(2)
self.ui.peak_out.setMeterColor(DigitalPeakMeter.COLOR_GREEN)
self.ui.peak_out.setMeterOrientation(DigitalPeakMeter.VERTICAL)
self.ui.peak_out.setFixedWidth(25)
self.ui.scrollArea = PixmapKeyboardHArea(self.ui.patchbay)

View File

@ -281,16 +281,16 @@ class AbstractPluginSlot(QFrame, PluginEditParentMeta):
self.led_audio_out.setEnabled(False)
if self.peak_in is not None:
self.peak_in.setColor(DigitalPeakMeter.GREEN)
self.peak_in.setChannels(self.fPeaksInputCount)
self.peak_in.setOrientation(DigitalPeakMeter.HORIZONTAL)
self.peak_in.setChannelCount(self.fPeaksInputCount)
self.peak_in.setMeterColor(DigitalPeakMeter.COLOR_GREEN)
self.peak_in.setMeterOrientation(DigitalPeakMeter.HORIZONTAL)
if self.fPeaksInputCount == 0 and not isinstance(self, PluginSlot_Default):
self.peak_in.hide()
if self.peak_out is not None:
self.peak_out.setColor(DigitalPeakMeter.BLUE)
self.peak_out.setChannels(self.fPeaksOutputCount)
self.peak_out.setOrientation(DigitalPeakMeter.HORIZONTAL)
self.peak_out.setChannelCount(self.fPeaksOutputCount)
self.peak_out.setMeterColor(DigitalPeakMeter.COLOR_BLUE)
self.peak_out.setMeterOrientation(DigitalPeakMeter.HORIZONTAL)
if self.fPeaksOutputCount == 0 and not isinstance(self, PluginSlot_Default):
self.peak_out.hide()

View File

@ -68,7 +68,7 @@ class DigitalPeakMeter(QWidget):
self.fMeterOrientation = self.VERTICAL
self.fMeterStyle = self.STYLE_DEFAULT
self.fMeterBackground = QColor("#111111")
self.fMeterBackground = QColor("#000000")
self.fMeterGradient = QLinearGradient(0, 0, 0, 0)
self.fSmoothMultiplier = 1
@ -158,7 +158,7 @@ class DigitalPeakMeter(QWidget):
return qCritical("DigitalPeakMeter::setMeterStyle(%i) - invalid style" % style)
if style == self.STYLE_DEFAULT:
self.fMeterBackground = QColor("#111111")
self.fMeterBackground = QColor("#000000")
elif style == self.STYLE_OPENAV:
self.fMeterBackground = QColor("#1A1A1A")
elif style == self.STYLE_RNCBC:
@ -268,14 +268,17 @@ class DigitalPeakMeter(QWidget):
painter.setPen(QPen(self.fMeterBackground, 2))
painter.setBrush(self.fMeterBackground)
painter.drawRect(0, 0, width, height)
return
meterX = 0
startX = 0
padding = 0
if self.fChannelCount == 0:
return
meterPos = 0
meterSize = (height if self.fMeterOrientation == self.HORIZONTAL else width)/self.fChannelCount
#startX = -1 if self.fMeterStyle == self.STYLE_OPENAV else 0
#padding = 2 if self.fMeterStyle == self.STYLE_OPENAV else 0
# set pen/brush for levels
painter.setPen(QPen(self.fMeterBackground, 0))
painter.setBrush(self.fMeterGradient)
@ -286,45 +289,39 @@ class DigitalPeakMeter(QWidget):
#painter.setBrush(color)
#del color
for i in range(self.fChannelCount):
level = self.fChannelData[i]
# draw levels
for level in self.fChannelData:
if self.fMeterOrientation == self.HORIZONTAL:
value = level * float(width)
elif self.fMeterOrientation == self.VERTICAL:
value = float(height) - (level * float(height))
else:
value = 0.0
painter.drawRect(0, meterPos, int(level * float(width)), meterSize)
meterPos += meterSize
if self.fMeterOrientation == self.HORIZONTAL:
painter.drawRect(startX, meterX+padding, int(value), self.fSizeMeter-padding*(1 if self.fChannels > 1 else 2))
elif self.fMeterOrientation == self.VERTICAL:
painter.drawRect(meterX, int(value), self.fSizeMeter, self.fHeight)
meterX += self.fMeterSize
painter.drawRect(meterPos, height - int(level * float(height)), meterSize, height)
meterPos += meterSize
if not self.fMeterLinesEnabled:
return
painter.setBrush(Qt.black)
# draw lines
if self.fMeterOrientation == self.HORIZONTAL:
# Variables
lsmall = float(width)
lfull = float(height - 1)
if self.fMeterStyle == self.STYLE_OPENAV:
painter.setPen(QColor(37, 37, 37, 100))
painter.drawLine(lsmall * 0.25, 2, lsmall * 0.25, lfull-2.0)
painter.drawLine(lsmall * 0.50, 2, lsmall * 0.50, lfull-2.0)
painter.drawLine(lsmall * 0.75, 2, lsmall * 0.75, lfull-2.0)
pass
#painter.setPen(QColor(37, 37, 37, 100))
#painter.drawLine(lsmall * 0.25, 2, lsmall * 0.25, lfull-2.0)
#painter.drawLine(lsmall * 0.50, 2, lsmall * 0.50, lfull-2.0)
#painter.drawLine(lsmall * 0.75, 2, lsmall * 0.75, lfull-2.0)
if self.fChannelCount > 1:
painter.drawLine(1, lfull/2, lsmall-1, lfull/2)
#if self.fChannelCount > 1:
#painter.drawLine(1, lfull/2, lsmall-1, lfull/2)
else:
# Base
painter.setPen(self.fMeterColorBaseAlt)
painter.setBrush(Qt.black)
painter.setPen(QPen(self.fMeterColorBaseAlt, 1))
painter.drawLine(lsmall * 0.25, 2, lsmall * 0.25, lfull-2.0)
painter.drawLine(lsmall * 0.50, 2, lsmall * 0.50, lfull-2.0)
@ -347,12 +344,13 @@ class DigitalPeakMeter(QWidget):
lfull = float(width - 1)
if self.fMeterStyle == self.STYLE_OPENAV:
# TODO
pass
# TODO
else:
# Base
painter.setPen(self.fMeterColorBaseAlt)
painter.setBrush(Qt.black)
painter.setPen(QPen(self.fMeterColorBaseAlt, 1))
painter.drawLine(2, lsmall - (lsmall * 0.25), lfull-2.0, lsmall - (lsmall * 0.25))
painter.drawLine(2, lsmall - (lsmall * 0.50), lfull-2.0, lsmall - (lsmall * 0.50))
@ -391,6 +389,7 @@ if __name__ == '__main__':
gui = DigitalPeakMeter(None)
gui.setChannelCount(2)
gui.setMeterOrientation(DigitalPeakMeter.HORIZONTAL)
gui.displayMeter(1, 0.5)
gui.displayMeter(2, 0.8)
gui.show()