void MixerTrackPart::updateNameLabel() { Part* part = _mti->part(); Channel* chan = _mti->focusedChan(); trackLabel->setText(part->partName()); MidiPatch* mp = synti->getPatchInfo(chan->synti(), chan->bank(), chan->program()); QString tooltip = tr("Part Name: %1\n" "Primary Instrument: %2\n" "Bank: %3\n" "Program: %4\n" "Patch: %5") .arg(part->partName(), part->longName(), QString::number(chan->bank()), QString::number(chan->program()), mp ? mp->name : tr("~no patch~")); trackLabel->setToolTip(tooltip); QColor bgCol((QRgb)part->color()); QString colName = bgCol.name(); int val = bgCol.value(); QString ss = QString(".QLabel {" "border: 2px solid black;" "background: %1;" "color: %2;" "padding: 6px 0px;" "}").arg(colName, val > 128 ? "black" : "white"); trackLabel->setStyleSheet(ss); //Update component colors qreal h, s, v; bgCol.getHsvF(&h, &s, &v); QColor brightCol = QColor::fromHsvF(h, s, 1); panSlider->setScaleValueColor(brightCol); volumeSlider->setHilightColor(brightCol); }