14 static const MidiStyle& instance()
noexcept
24 &score::Skin::instance(), &score::Skin::changed, qApp, [
this] { reload(); });
29 auto& skin = score::Skin::instance();
31 noteBaseBrush = skin.Base4.main.brush;
32 noteSelectedBasePen = QPen{skin.Base2.main.brush, 2};
33 noteBasePen = QPen{skin.Base4.darker300.brush, 1};
40 QColor lighter = skin.Light.main.brush.color();
41 QColor darker = skin.Dark.main.brush.color();
42 if(lighter.lightness() < darker.lightness())
43 std::swap(lighter, darker);
46 whiteKeyBrush = QBrush{lighter};
47 blackKeyBrush = QBrush{darker};
48 darkerBrush = skin.LightGray.main.brush;
52 QColor fg = skin.Light.main.brush.color();
54 semitonePen = QPen{fg, 1};
55 semitonePen.setCosmetic(
true);
57 octavePen = QPen{fg, 1};
58 octavePen.setCosmetic(
true);
61 = QPen{skin.Transparent1.main.brush, 2, Qt::DashLine, Qt::SquareCap,
63 selectionPen.setCosmetic(
true);
68 const QColor base = noteBaseBrush.color();
69 const double hue = base.hslHueF();
70 const double lightness = base.lightnessF();
71 for(std::size_t i = 0; i < std::size(paintedNoteBrush); i++)
74 c.setHslF(hue, 0.2 + 1.5 * i / 256., lightness);
75 paintedNoteBrush[i].setColor(c);
76 paintedNoteBrush[i].setStyle(Qt::SolidPattern);
83 const QBrush transparentBrush{Qt::transparent};
89 QPen noteSelectedBasePen;
92 QBrush paintedNoteBrush[128];