Add mic ON/OFF toggle, headphone and studio output busses
- Channels 0-1 are now dedicated Mic 1/Mic 2 with mic_on toggle - Mic audio only routes to main when mic_on=True, never to headphone - New headphone_out_L/R JACK ports (all channels except mics) - New studio_out_L/R JACK ports (copies main, mutes when any mic is on) - Mic ON/OFF toggle button in mixer UI (hidden on non-mic channels) - Session save/load includes mic_on state
This commit is contained in:
@@ -279,6 +279,40 @@ def icon_solo(color: str = "#ffaa00") -> QIcon:
|
||||
return _make_icon(paint, color)
|
||||
|
||||
|
||||
def icon_mic(color: str = "#00ff41") -> QIcon:
|
||||
def paint(p, r, c):
|
||||
p.setPen(Qt.NoPen)
|
||||
p.setBrush(c)
|
||||
# Mic body - pill/rectangle shape
|
||||
bw = r.width() * 0.35
|
||||
bh = r.height() * 0.45
|
||||
bx = r.center().x() - bw / 2
|
||||
by = r.top() + r.height() * 0.05
|
||||
p.drawRoundedRect(QRectF(bx, by, bw, bh), bw * 0.3, bw * 0.3)
|
||||
# Mic arc at top
|
||||
path = QPainterPath()
|
||||
arc_w = bw * 0.6
|
||||
arc_h = r.height() * 0.08
|
||||
path.moveTo(r.center().x() - arc_w / 2, by)
|
||||
path.quadTo(r.center().x(), by - arc_h, r.center().x() + arc_w / 2, by)
|
||||
p.drawPath(path)
|
||||
# Stand lines down from body
|
||||
pen = QPen(c, r.width() * 0.06)
|
||||
pen.setCapStyle(Qt.RoundCap)
|
||||
p.setPen(pen)
|
||||
p.setBrush(Qt.NoBrush)
|
||||
stand_top = by + bh
|
||||
p.drawLine(QPointF(r.center().x(), stand_top),
|
||||
QPointF(r.center().x(), stand_top + r.height() * 0.15))
|
||||
# Base
|
||||
base_w = r.width() * 0.45
|
||||
base_h = r.height() * 0.1
|
||||
p.drawRoundedRect(QRectF(r.center().x() - base_w / 2,
|
||||
stand_top + r.height() * 0.12,
|
||||
base_w, base_h), base_w * 0.15, base_w * 0.15)
|
||||
return _make_icon(paint, color)
|
||||
|
||||
|
||||
def icon_cog(color: str = "#aaaaaa") -> QIcon:
|
||||
def paint(p, r, c):
|
||||
pen = QPen(c, r.width() * 0.1)
|
||||
|
||||
Reference in New Issue
Block a user