jdxi_editor.jdxi.style

Submodules

Classes

JDXiStyle

Central style definitions for JD-Xi Manager

JDXiThemeManager

Centralized theme management for JD-Xi Editor

Functions

get_theme_manager(→ JDXiThemeManager)

Get the singleton ThemeManager instance

Package Contents

class jdxi_editor.jdxi.style.JDXiStyle[source]

Central style definitions for JD-Xi Manager

TRACK_LABEL_WIDTH = 70
TRACK_BUTTON_WIDTH = 20
TRACK_SPINBOX_WIDTH = 40
PWM_WIDGET_HEIGHT = 250
ADSR_PLOT_WIDTH = 300
ADSR_PLOT_HEIGHT = 200
INSTRUMENT_IMAGE_WIDTH = 350
INSTRUMENT_IMAGE_HEIGHT = 200
TITLE_TEXT = '#FFFFFF'
BACKGROUND = '#000000'
BACKGROUND_GRADIENT = 'qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #000000, stop:1 #1A1A1A)'
BACKGROUND_PRESSED = '#666666'
BUTTON_BACKGROUND = '#222222'
BUTTON_BACKGROUND_PRESSED = '#333333'
FOREGROUND = '#FFFFFF'
PADDING = 10
SPACING = 10
ICON_PIXMAP_SIZE = 30
TRACK_ICON_PIXMAP_SIZE = 50
BUTTON_PADDING = 1
ACCENT = '#FF2200'
ACCENT_HOVER = '#FF4400'
ACCENT_ANALOG = '#00A0E9'
ACCENT_ANALOG_HOVER = '#00C0FF'
ACCENT_GLOW = '#FF6666'
ACCENT_ANALOG_GLOW = '#66C0FF'
BORDER = '#333333'
SLIDER_HANDLE = '#000000'
SLIDER_HANDLE_BORDER = '#666666'
SLIDER_GROOVE = '#666666'
SLIDER_NEON = '#ff1a1a'
SLIDER_NEON_GRADIENT_STOP = '#660000'
SLIDER_NEON_ANALOG = '#1a1aff'
SLIDER_NEON_GRADIENT_STOP_ANALOG = '#000066'
SLIDER_NEON_GRADIENT = 'qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #660000, stop:0.5 #ff1a1a, stop:1 #ff3333)'
SLIDER_NEON_ANALOG_GRADIENT = 'qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #000066, stop:0.5 #1a1aff, stop:1 #3399ff)'
ACCENT_PRESSED = '#FF6666'
FONT_SIZE = '10'
ACCENT_ANALOG_PRESSED = '#417ffa'
BUTTON_ROUND_RADIUS = 15
BUTTON_RECT_RADIUS = 6
BUTTON_BORDER_WIDTH = 4
HANDLE_SIZE = '6px'
GROOVE_WIDTH = '2px'
ICON_SIZE = 20
TAB_BUTTON_RECT_RADIUS = 6
MAX_RULER_HEIGHT = 200
TRACK_HEIGHT_MINIMUM = 40
FONT_RED = '#d51e35'
FONT_FAMILY = 'Orbitron'
FONT_FAMILY_MONOSPACE = 'Consolas'
FONT_SIZE_MAIN_TABS = '14px'
FONT_WEIGHT_BOLD = 'bold'
FONT_WEIGHT_NORMAL = 'normal'
GREY = '#CCCCCC'
BUTTON_ROUND = Multiline-String
Show Value
"""
            QPushButton {
                font-family: Orbitron;
                background-color: #000000;
                border: 4px solid #333333;
                border-radius: 15px;
                color: #FFFFFF;
                font-family: "Orbitron";
                font-size: 12px;
                padding: 4px;
            }
            QPushButton:hover {
                background-color: #FF4400;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #660000, stop:1 #FF4400);
                border: 4px solid #FF4400;
            }
            QPushButton:border_pressed, QPushButton:checked {
                background-color: #666666;
                border: 4px solid #FF6666;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #330000, stop:1 #666666);
            }
        """
BORDER_PRESSED = '#2D2D2D'
BUTTON_ROUND_SELECTED = Multiline-String
Show Value
"""
            QPushButton {
                font-family: Orbitron;
                background-color: #000000;
                border: 4px solid #333333;
                border-radius: 15px;
                color: #FFFFFF;
                font-family: "Orbitron";
                font-size: 12px;
                padding: 4px;
            }
            QPushButton:hover {
                background-color: #FF4400;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #660000, stop:1 #FF4400);
                border: 4px solid #FF4400;
            }
            QPushButton:border_pressed, QPushButton:checked {
                background-color: #666666;
                border: 4px solid #FF6666;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #330000, stop:1 #666666);
            }
        """
BUTTON_ROUND_ACTIVE = Multiline-String
Show Value
"""
            QPushButton {
                font-family: Orbitron;
                background-color: #222222;
                border: 4px solid #FF4400;
                border-radius: 15px;
                color: #FFFFFF;
                font-family: "Orbitron";
                font-size: 12px;
                padding: 4px;
            }
            QPushButton:hover {
                background-color: #FF4400;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #660000, stop:1 #FF4400);
                border: 4px solid #FF4400;
            }
            QPushButton:border_pressed, QPushButton:checked {
                background-color: #666666;
                border: 4px solid #FF6666;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #330000, stop:1 #666666);
            }
        """
BUTTON_ROUND_SMALL = Multiline-String
Show Value
"""
            QPushButton {
                font-family: Orbitron;
                background-color: #333333;
                border: 1px solid black;
                border-radius: 10px;
                color: #AAAAAA;
                font-family: "Orbitron";
                font-size: 10;
                padding: 1px;
            }
            QPushButton:hover {
                background-color: #FF4400;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #660000, stop:1 #FF4400);
                border: 1px solid #FF4400;
            }
            QPushButton:border_pressed, QPushButton:checked {
                background-color: #666666;
                border: 1px solid #FF6666;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #330000, stop:1 #666666);
            }
        """
BUTTON_RECT = Multiline-String
Show Value
"""
            QPushButton {
                font-family: Orbitron;
                background-color: #000000;
                border: 4px solid #333333;
                border-radius: 6px;
                color: #FFFFFF;
                font-family: "Orbitron";
                font-size: 12px;
                padding: 4px;
            }
            QPushButton:hover {
                background-color: #FF4400;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #660000, stop:1 #FF4400);
                border: 4px solid #FF4400;
            }
            QPushButton:border_pressed, QPushButton:checked {
                background-color: #666666;
                border: 4px solid #FF6666;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #330000, stop:1 #666666);
            }
        """
BUTTON_RECT_SELECTED = Multiline-String
Show Value
"""
            QPushButton {
                font-family: Orbitron;
                background-color: #000000;
                border: 4px solid #333333;
                border-radius: 6px;
                color: #FFFFFF;
                font-family: "Orbitron";
                font-size: 12px;
                padding: 4px;
            }
            QPushButton:hover {
                background-color: #FF4400;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #660000, stop:1 #FF4400);
                border: 4px solid #FF4400;
            }
            QPushButton:border_pressed, QPushButton:checked {
                background-color: #666666;
                border: 4px solid #FF6666;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #330000, stop:1 #666666);
            }
        """
BUTTON_RECT_ACTIVE = Multiline-String
Show Value
"""
            QPushButton {
                font-family: Orbitron;
                background-color: #222222;
                border: 4px solid #FF4400;
                border-radius: 6px;
                color: #FFFFFF;
                font-family: "Orbitron";
                font-size: 12px;
                padding: 4px;
            }
            QPushButton:hover {
                background-color: #FF4400;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #660000, stop:1 #FF4400);
                border: 4px solid #FF4400;
            }
            QPushButton:border_pressed, QPushButton:checked {
                background-color: #666666;
                border: 4px solid #FF6666;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #330000, stop:1 #666666);
            }
        """
BUTTON_RECT_ANALOG = Multiline-String
Show Value
"""
            QPushButton {
                font-family: Orbitron;
                background-color: #000000;
                border: 4px solid #00A0E9;
                border-radius: 6px;
                color: #FFFFFF;
                font-family: "Orbitron";
                font-size: 12px;
                padding: 4px;
            }
            QPushButton:hover {
                background-color: #00C0FF;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #660000, stop:1 #00C0FF);
                border: 4px solid #00C0FF;
            }
            QPushButton:border_pressed, QPushButton:checked {
                background-color: #666666;
                border: 4px solid #FF6666;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #330000, stop:1 #666666);
            }
        """
BUTTON_ANALOG_ACTIVE = Multiline-String
Show Value
"""
            QPushButton {
                font-family: Orbitron;
                background-color: #222222;
                border: 4px solid #00A0E9;
                border-radius: 6px;
                color: #FFFFFF;
                font-family: "Orbitron";
                font-size: 12px;
                padding: 4px;
            }
            QPushButton:hover {
                background-color: #00C0FF;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #660000, stop:1 #00C0FF);
                border: 4px solid #00C0FF;
            }
            QPushButton:border_pressed, QPushButton:checked {
                background-color: #666666;
                border: 4px solid #417ffa;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #330000, stop:1 #666666);
            }
        """
BUTTON_WAVEFORM = Multiline-String
Show Value
"""
            QPushButton {
                font-family: Orbitron;
                background-color: #222222;
                border: 2px solid #666666;
                border-radius: 12px;
                color: #CCCCCC;
                font-family: "Orbitron";
                font-size: 10;
                padding: 1px;
            }
            QPushButton:hover {
                background-color: #444444;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #660000, stop:1 #444444);
                border: 2px solid #444444;
            }
            QPushButton:border_pressed, QPushButton:checked {
                background-color: #333333;
                border: 2px solid #FF6666;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #330000, stop:1 #333333);
            }
        """
BUTTON_WAVEFORM_ANALOG = Multiline-String
Show Value
"""
            QPushButton {
                font-family: Orbitron;
                background-color: #222222;
                border: 4px solid #666666;
                border-radius: 3px;
                color: #CCCCCC;
                font-family: "Orbitron";
                font-size: 10;
                padding: 1px;
            }
            QPushButton:hover {
                background-color: #444444;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #660000, stop:1 #444444);
                border: 4px solid #444444;
            }
            QPushButton:border_pressed, QPushButton:checked {
                background-color: #333333;
                border: 4px solid #00A0E9;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #330000, stop:1 #333333);
            }
        """
CREDITS_LABEL_STYLE = Multiline-String
Show Value
"""
            /* QLabels */
                QLabel {
                    font-family: Orbitron;
                    color: 'black';
                    background: #FFFFFF;
            }
            """
EDITOR = Multiline-String
Show Value
"""
        QWidget {
            font-family: Orbitron;
            background-color: #000000;
            color: #FFFFFF;
            font-family: "Orbitron";
            font-size: 10;
            padding: 1px;
        }
               QGroupBox {
             font-family: Orbitron;
             width: 200px;
             border: none;
             border-top: 1px solid #FF2200;
             margin: 1px;
             padding: 1px;
         }
        /* Groove (Track) */
        QSlider::groove:vertical {
            font-family: Orbitron;
            background: #111; /* Dark background */
            width: 6px;
            border-radius: 3px;
        }

        /* Handle (Knob) */
        QSlider::handle:vertical {
            background: black;
            border: 2px solid #ff1a1a; /* Neon red border */
            width: 10px;  /* More rectangular */
            height: 10px;
            margin: -8px;
            margin-bottom: 2px;
            margin-top: 1px;
            border-radius: 5px;
        }
        /* Handle (Knob) */
        QSlider::handle:vertical:disabled {
            background: black;
            border: 2px solid #333333; /* grey border */
            width: 10px;  /* More rectangular */
            height: 10px;
            margin: -10px;
            border-radius: 5px;
        }
        /* greyed out groove */
        QSlider::sub-page:vertical:disabled {
            background: #333333;
            border-radius: 3px;
        }

        /* Glowing effect when moving */
        QSlider::sub-page:vertical {
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                         stop:0 #660000, stop:1 #ff1a1a);
            border-radius: 3px;
        }
        /* Glowing effect when moving */
        QSlider::sub-page:vertical:disabled:hover {
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                         stop:0 #660000, stop:1 #ff1a1a);
            border-radius: 3px;
        }

        /* Unfilled portion */
        QSlider::add-page:vertical {
            font-family: Orbitron;
            background: #222;
            border-radius: 3px;
        }

        /* Tick Marks (Small dashes on both sides) */
        QSlider::tick-mark {
            background: #ff1a1a;
            width: 4px;
            height: 2px;
            border-radius: 1px;
            margin-left: -8px;
            margin-right: 8px;
        }
        QSlider::horizontal {
            margin-left: 6px;
            margin-right: 6x;
        }

        /* Handle Hover Effect */
        QSlider::handle:vertical:hover {
            border: 2px solid #ff3333;
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
             stop:0 #660000, stop:1 #ff1a1a);
        }
        /* Spin Box */
        QSpinBox, QDoubleSpinBox {
            background-color: #222;
            border: 1px solid #ff1a1a;
            border-radius: 3px;
            padding: 1px;
            margin: -2px;
            color: #ff1a1a;
        }

        QGroupBox {
            font-family: Orbitron;
            border: none;
            border-top: 1px solid #FF2200;
            border-radius: 3px;
            margin-top: 1px;
            width: 200px;
            padding: 10px;
        }

        QPushButton {
            width: 100px;
        }

        QGroupBox[adsr="true"] {
            min-height: 300px;  /* Reduced height for horizontal layout */
            width: 200px;
        }

        QSlider::handle:vertical {
            background: #000000;
            border: 2px solid #666666;
            margin: 1px 0;
            border-radius: 4px;
        }

        QSlider::handle:vertical:hover {
            border-color: #FF4400;
        }

        QGroupBox::title {
            subcontrol-origin: margin;
            subcontrol-position: top center;
            padding: 0 1px;
            color: #FFFFFF;
            font-weight: normal;
        }

        QPushButton {
            font-family: Orbitron;
            background-color: #000000;
            border: 1px solid #FF2200;
            border-radius: 3px;
            padding: 1px;
            color: #FFFFFF;
        }

        QPushButton:hover, QPushButton:checked {
            background-color: #FF2200;
            color: #000000;
        }

        QComboBox, QScrollBar {
            font-family: Orbitron;
            background-color: #000000;
            border: 1px solid #FF2200;
            border-radius: 3px;
            padding: 1px;
            color: #FFFFFF;
        }
        QComboBox {
            width: 100px;
        }
        QComboBox:disabled {
            color: #333333;
        }

        QScrollBar::handle {
            background: #666666;
            border-radius: 3px;
        }

        QScrollBar::handle:hover {
            border: 2px solid #FF2200;
        }

        QSlider::groove:horizontal {
            background: #666666;
            height: 6px;
            border-radius: 2px;
        }

        QSlider::handle:horizontal{
            background: #000000;
            border: 3px solid #ff1a1a; /* Neon red border */
            width: 8px;  /* More rectangular */
            height: 2px;
            margin: -6px;
            padding: 1px;
            border-radius: 4px;
        }
        QSlider::handle:disabled{
            background: #000000;
            border: 2px solid #333333; /* grey border */
            width: 8px;  /* More rectangular */
            height: 2px;
            margin: -6px;
            padding: 1px;
            border-radius: 4px;
        }
        /* Unfilled portion */
        QSlider::add-page:horizontal {
            background: #222;
            border-radius: 3px;
        }
        QSlider::handle:vertical {
            background: #000000;
            border: 2px solid #666666;
            width: 18px;
            height: 12px;
            margin: -9px 0;
            border-radius: 9px;
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                         stop:0 #660000, stop:1 #ff1a1a);
            border-radius: 3px;
        }
        QSlider::handle:vertical:disabled{
            background: #000000;
            border: 2px solid #333333; /* grey border */
            width: 18px;  /* More rectangular */
            height: 12px;
            margin: -9px;
            border-radius: 4px;
        }
        /* Glowing effect when moving */
        QSlider::sub-page:horizontal {
            background: qlineargradient(x1:0, y1:0, x2:1, y2:0,
                         stop:0 #660000, stop:1 #ff1a1a);
            border-radius: 3px;
        }
        /* Glowing effect when moving */
        QSlider::sub-page:horizontal:disabled {
            background: #333333;
            border-radius: 3px;
        }

        /* Unfilled portion */
        QSlider::add-page:horizontal {
            background: #222;
            border-radius: 3px;
        }
        /* QLabels */
        QLabel {
            color: #FFFFFF;
            font-family: Orbitron;
        }
        QSlider::horizontal {
            margin-left: 5px;
            margin-right: 5px;
        }
        QLabel { width: 100px; }
    """
EDITOR_ANALOG = Multiline-String
Show Value
"""
        QWidget {
            font-family: Orbitron;
            background-color: #000000;
            color: #FFFFFF;
            font-family: "Orbitron";
            font-size: 10;
            padding: 1px;
        }
               QGroupBox {
             font-family: Orbitron;
             width: 200px;
             border: none;
             border-top: 1px solid #00A0E9;
             margin: 1px;
             padding: 1px;
         }
        /* Groove (Track) */
        QSlider::groove:vertical {
            font-family: Orbitron;
            background: #111; /* Dark background */
            width: 6px;
            border-radius: 3px;
        }

        /* Handle (Knob) */
        QSlider::handle:vertical {
            background: black;
            border: 2px solid #ff1a1a; /* Neon red border */
            width: 10px;  /* More rectangular */
            height: 10px;
            margin: -8px;
            margin-bottom: 2px;
            margin-top: 1px;
            border-radius: 5px;
        }
        /* Handle (Knob) */
        QSlider::handle:vertical:disabled {
            background: black;
            border: 2px solid #333333; /* grey border */
            width: 10px;  /* More rectangular */
            height: 10px;
            margin: -10px;
            border-radius: 5px;
        }
        /* greyed out groove */
        QSlider::sub-page:vertical:disabled {
            background: #333333;
            border-radius: 3px;
        }

        /* Glowing effect when moving */
        QSlider::sub-page:vertical {
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                         stop:0 #660000, stop:1 #ff1a1a);
            border-radius: 3px;
        }
        /* Glowing effect when moving */
        QSlider::sub-page:vertical:disabled:hover {
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                         stop:0 #660000, stop:1 #ff1a1a);
            border-radius: 3px;
        }

        /* Unfilled portion */
        QSlider::add-page:vertical {
            font-family: Orbitron;
            background: #222;
            border-radius: 3px;
        }

        /* Tick Marks (Small dashes on both sides) */
        QSlider::tick-mark {
            background: #ff1a1a;
            width: 4px;
            height: 2px;
            border-radius: 1px;
            margin-left: -8px;
            margin-right: 8px;
        }
        QSlider::horizontal {
            margin-left: 6px;
            margin-right: 6x;
        }

        /* Handle Hover Effect */
        QSlider::handle:vertical:hover {
            border: 2px solid #ff3333;
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
             stop:0 #660000, stop:1 #ff1a1a);
        }
        /* Spin Box */
        QSpinBox, QDoubleSpinBox {
            background-color: #222;
            border: 1px solid #ff1a1a;
            border-radius: 3px;
            padding: 1px;
            margin: -2px;
            color: #ff1a1a;
        }

        QGroupBox {
            font-family: Orbitron;
            border: none;
            border-top: 1px solid #00A0E9;
            border-radius: 3px;
            margin-top: 1px;
            width: 200px;
            padding: 10px;
        }

        QPushButton {
            width: 100px;
        }

        QGroupBox[adsr="true"] {
            min-height: 300px;  /* Reduced height for horizontal layout */
            width: 200px;
        }

        QSlider::handle:vertical {
            background: #000000;
            border: 2px solid #666666;
            margin: 1px 0;
            border-radius: 4px;
        }

        QSlider::handle:vertical:hover {
            border-color: #00C0FF;
        }

        QGroupBox::title {
            subcontrol-origin: margin;
            subcontrol-position: top center;
            padding: 0 1px;
            color: #FFFFFF;
            font-weight: normal;
        }

        QPushButton {
            font-family: Orbitron;
            background-color: #000000;
            border: 1px solid #00A0E9;
            border-radius: 3px;
            padding: 1px;
            color: #FFFFFF;
        }

        QPushButton:hover, QPushButton:checked {
            background-color: #00A0E9;
            color: #000000;
        }

        QComboBox, QScrollBar {
            font-family: Orbitron;
            background-color: #000000;
            border: 1px solid #00A0E9;
            border-radius: 3px;
            padding: 1px;
            color: #FFFFFF;
        }
        QComboBox {
            width: 100px;
        }
        QComboBox:disabled {
            color: #333333;
        }

        QScrollBar::handle {
            background: #666666;
            border-radius: 3px;
        }

        QScrollBar::handle:hover {
            border: 2px solid #00A0E9;
        }

        QSlider::groove:horizontal {
            background: #666666;
            height: 6px;
            border-radius: 2px;
        }

        QSlider::handle:horizontal{
            background: #000000;
            border: 3px solid #1a1aff; /* Neon red border */
            width: 8px;  /* More rectangular */
            height: 2px;
            margin: -6px;
            padding: 1px;
            border-radius: 4px;
        }
        QSlider::handle:disabled{
            background: #000000;
            border: 2px solid #333333; /* grey border */
            width: 8px;  /* More rectangular */
            height: 2px;
            margin: -6px;
            padding: 1px;
            border-radius: 4px;
        }
        /* Unfilled portion */
        QSlider::add-page:horizontal {
            background: #222;
            border-radius: 3px;
        }
        QSlider::handle:vertical {
            background: #000000;
            border: 2px solid #666666;
            width: 18px;
            height: 12px;
            margin: -9px 0;
            border-radius: 9px;
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                         stop:0 #000066, stop:1 #1a1aff);
            border-radius: 3px;
        }
        QSlider::handle:vertical:disabled{
            background: #000000;
            border: 2px solid #333333; /* grey border */
            width: 18px;  /* More rectangular */
            height: 12px;
            margin: -9px;
            border-radius: 4px;
        }
        /* Glowing effect when moving */
        QSlider::sub-page:horizontal {
            background: qlineargradient(x1:0, y1:0, x2:1, y2:0,
                         stop:0 #000066, stop:1 #1a1aff);
            border-radius: 3px;
        }
        /* Glowing effect when moving */
        QSlider::sub-page:horizontal:disabled {
            background: #333333;
            border-radius: 3px;
        }

        /* Unfilled portion */
        QSlider::add-page:horizontal {
            background: #222;
            border-radius: 3px;
        }
        /* QLabels */
        QLabel {
            color: #FFFFFF;
            font-family: Orbitron;
        }
        QSlider::horizontal {
            margin-left: 5px;
            margin-right: 5px;
        }
        QLabel { width: 100px; }
    """
EDITOR_TITLE_LABEL = Multiline-String
Show Value
"""
                font-family: Orbitron, sans-serif;
                font-size: 20px;
                font-weight: bold;
                letter-spacing: 2px;
                color: #FF2200;
            """
ANALOG_SECTION_HEADER = Multiline-String
Show Value
"""
                font-family: Orbitron, sans-serif;
                font-weight: bold;
                font-size: 18px;
                color: #00A0E9;
                letter-spacing: 1px;
            """
DIGITAL_SECTION_HEADER = Multiline-String
Show Value
"""
                font-family: Orbitron, sans-serif;
                font-weight: bold;
                font-size: 18px;
                color: #FF2200;
                letter-spacing: 1px;
            """
INSTRUMENT = Multiline-String
Show Value
"""
            QMainWindow {
                background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #000000, stop:1 #1A1A1A);
            }
            QWidget {
                font-family: Orbitron;
                margin: 0px;
                padding: 0px;
                background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #000000, stop:1 #1A1A1A);
                color: white;
            }
            QMenuBar {
                background-color: black;
                color: white;
            }
            QMenuBar::item:selected {
                background-color: #333333;
            }
            QMenu {
                background-color: black;
                color: white;
            }
            QMenu::item:selected {
                background-color: #333333;
            }
            QGroupBox {
                font-family: Orbitron;
                border: none;
                border-top: 1px solid #333333;
                margin: 1px;
                padding: 1px;
            }
            QGroupBox::title {
                font-family: Orbitron;
                subcontrol-origin: margin;
                subcontrol-position: top center;
                padding: 0 1px;
                background-color: black;
            }
            QLabel {
                background-color: transparent;
                color: white;
            }
            QStatusBar {
                background-color: black;
                color: "#FF2200";
            }
            QSlider {
                margin-bottom: 2px;
                margin-top: 2px;
            }
        """
INSTRUMENT_IMAGE_LABEL = Multiline-String
Show Value
"""
            QLabel {
                    height: 150px;
                    background-color: transparent;
                    border: none;
                }
        """
LOG_VIEWER = Multiline-String
Show Value
"""
            QMainWindow {
                background-color: #2E2E2E;
            }
            QWidget {
                background-color: #2E2E2E;
                color: #FFFFFF;
                font-family: 'Myriad Pro';
            }
            QTextEdit {
                background-color: #1A1A1A;
                color: #FFFFFF;
                border: 1px solid #FF0000;
                border-radius: 3px;
                padding: 5px;
                font-family: 'Consolas';
            }
            QPushButton {
                background-color: #3D3D3D;
                color: #FFFFFF;
                border: 1px solid #FF0000;
                border-radius: 3px;
                padding: 5px 15px;
                font-family: 'Myriad Pro';
            }
            QPushButton:hover {
                background-color: #4D4D4D;
                border: 1px solid #FF3333;
            }
            QPushButton:pressed {
                background-color: #2D2D2D;
            }
        """
MIDI_MESSAGE_MONITOR = Multiline-String
Show Value
"""
            QTextEdit {
                font-family: 'Consolas', 'Courier New', monospace;
                background-color: #1E1E1E;
                color: #FFCC00;
                border: 1px solid #FF2200;
                border-radius: 4px;
                padding: 5px;
                font-size: 11px;
            }
            QTextEdit:focus {
                border: 2px solid #FF2200;
                background-color: #252525;
            }
        """
MIXER_LABEL_ANALOG = Multiline-String
Show Value
"""
                font-size: 16px;
                font-weight: bold;
                color: #00A0E9;
            """
MIXER_LABEL = Multiline-String
Show Value
"""
        QLabel {
                font-family: Orbitron;
                font-size: 16px;
                font-weight: bold;
                color: #FF2200;
                }
    """
PROGRAM_PRESET_GROUPS = Multiline-String
Show Value
"""
         QGroupBox {
                 font-family: Orbitron;
                 width: 300px;
                 border: none;
                 border-top: 1px solid #FF2200;
                 margin: 1px;
                 padding: 1px;
             }"""
PROGRAM_PRESET_GROUP_WIDTH = 300
PROGRESS_BAR = Multiline-String
Show Value
"""
        QProgressBar {
            background-color: #333;
            color: white;
            font-family: 'Consolas';
            border: 2px solid #444;
            border-radius: 10px;
            text-align: center;
        }
        QProgressBar::chunk {
            background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,
                             stop:0 #660000, stop:1 #ff1a1a);
            border-radius: 10px;
        }
        """
SLIDER_VERTICAL = Multiline-String
Show Value
"""
        /* Groove (Track) */
        QSlider::groove:vertical {
            font-family: Orbitron;
            background: #111; /* Dark background */
            width: 6px;
            border-radius: 3px;
        }

        /* Handle (Knob) */
        QSlider::handle:vertical {
            background: black;
            border: 2px solid #ff1a1a; /* Neon red border */
            width: 10px;  /* More rectangular */
            height: 10px;
            margin: -8px;
            margin-bottom: 2px;
            margin-top: 1px;
            border-radius: 5px;
        }
        /* Handle (Knob) */
        QSlider::handle:vertical:disabled {
            background: black;
            border: 2px solid #333333; /* grey border */
            width: 10px;  /* More rectangular */
            height: 10px;
            margin: -10px;
            border-radius: 5px;
        }
        /* greyed out groove */
        QSlider::sub-page:vertical:disabled {
            background: #333333;
            border-radius: 3px;
        }

        /* Glowing effect when moving */
        QSlider::sub-page:vertical {
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                         stop:0 #660000, stop:1 #ff1a1a);
            border-radius: 3px;
        }
        /* Glowing effect when moving */
        QSlider::sub-page:vertical:disabled:hover {
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                         stop:0 #660000, stop:1 #ff1a1a);
            border-radius: 3px;
        }

        /* Unfilled portion */
        QSlider::add-page:vertical {
            font-family: Orbitron;
            background: #222;
            border-radius: 3px;
        }

        /* Tick Marks (Small dashes on both sides) */
        QSlider::tick-mark {
            background: #ff1a1a;
            width: 4px;
            height: 2px;
            border-radius: 1px;
            margin-left: -8px;
            margin-right: 8px;
        }
        QSlider::horizontal {
            margin-left: 6px;
            margin-right: 6x;
        }

        /* Handle Hover Effect */
        QSlider::handle:vertical:hover {
            border: 2px solid #ff3333;
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
             stop:0 #660000, stop:1 #ff1a1a);
        }
        /* Spin Box */
        QSpinBox, QDoubleSpinBox {
            background-color: #222;
            border: 1px solid #ff1a1a;
            border-radius: 3px;
            padding: 1px;
            margin: -2px;
            color: #ff1a1a;
        }
        /* QLabels */
        QLabel {
            color: "#d51e35";
        }
    """
SPLASH_SCREEN = Multiline-String
Show Value
"""
        QWidget {
            font-family: Orbitron;
            background-color: #000000;
            color: #FFFFFF;
            font-family: "Orbitron";
            font-size: 14px;
            padding: 1px;
        }
               QGroupBox {
             font-family: Orbitron;
             width: 200px;
             border: none;
             border-top: 1px solid #FF2200;
             margin: 1px;
             padding: 1px;
         }
        /* Groove (Track) */
        QSlider::groove:vertical {
            font-family: Orbitron;
            background: #111; /* Dark background */
            width: 6px;
            border-radius: 3px;
        }

        /* Handle (Knob) */
        QSlider::handle:vertical {
            background: black;
            border: 2px solid #ff1a1a; /* Neon red border */
            width: 10px;  /* More rectangular */
            height: 10px;
            margin: -8px;
            margin-bottom: 2px;
            margin-top: 1px;
            border-radius: 5px;
        }
        /* Handle (Knob) */
        QSlider::handle:vertical:disabled {
            background: black;
            border: 2px solid #333333; /* grey border */
            width: 10px;  /* More rectangular */
            height: 10px;
            margin: -10px;
            border-radius: 5px;
        }
        /* greyed out groove */
        QSlider::sub-page:vertical:disabled {
            background: #333333;
            border-radius: 3px;
        }

        /* Glowing effect when moving */
        QSlider::sub-page:vertical {
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                         stop:0 #660000, stop:1 #ff1a1a);
            border-radius: 3px;
        }
        /* Glowing effect when moving */
        QSlider::sub-page:vertical:disabled:hover {
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                         stop:0 #660000, stop:1 #ff1a1a);
            border-radius: 3px;
        }

        /* Unfilled portion */
        QSlider::add-page:vertical {
            font-family: Orbitron;
            background: #222;
            border-radius: 3px;
        }

        /* Tick Marks (Small dashes on both sides) */
        QSlider::tick-mark {
            background: #ff1a1a;
            width: 4px;
            height: 2px;
            border-radius: 1px;
            margin-left: -8px;
            margin-right: 8px;
        }
        QSlider::horizontal {
            margin-left: 6px;
            margin-right: 6x;
        }

        /* Handle Hover Effect */
        QSlider::handle:vertical:hover {
            border: 2px solid #ff3333;
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
             stop:0 #660000, stop:1 #ff1a1a);
        }
        /* Spin Box */
        QSpinBox, QDoubleSpinBox {
            background-color: #222;
            border: 1px solid #ff1a1a;
            border-radius: 3px;
            padding: 1px;
            margin: -2px;
            color: #ff1a1a;
        }

        QGroupBox {
            font-family: Orbitron;
            border: none;
            border-top: 1px solid #FF2200;
            border-radius: 3px;
            margin-top: 1px;
            width: 200px;
            padding: 10px;
        }

        QPushButton {
            width: 100px;
        }

        QGroupBox[adsr="true"] {
            min-height: 300px;  /* Reduced height for horizontal layout */
            width: 200px;
        }

        QSlider::handle:vertical {
            background: #000000;
            border: 2px solid #666666;
            margin: 1px 0;
            border-radius: 4px;
        }

        QSlider::handle:vertical:hover {
            border-color: #FF4400;
        }

        QGroupBox::title {
            subcontrol-origin: margin;
            subcontrol-position: top center;
            padding: 0 1px;
            color: #FFFFFF;
            font-weight: bold;
        }

        QPushButton {
            font-family: Orbitron;
            background-color: #000000;
            border: 1px solid #FF2200;
            border-radius: 3px;
            padding: 1px;
            color: #FFFFFF;
        }

        QPushButton:hover, QPushButton:checked {
            background-color: #FF2200;
            color: #000000;
        }

        QComboBox, QScrollBar {
            font-family: Orbitron;
            background-color: #000000;
            border: 1px solid #FF2200;
            border-radius: 3px;
            padding: 1px;
            color: #FFFFFF;
        }
        QComboBox {
            width: 100px;
        }
        QComboBox:disabled {
            color: #333333;
        }

        QScrollBar::handle {
            background: #666666;
            border-radius: 3px;
        }

        QScrollBar::handle:hover {
            border: 2px solid #FF2200;
        }

        QSlider::groove:horizontal {
            background: #666666;
            height: 6px;
            border-radius: 2px;
        }

        QSlider::handle:horizontal{
            background: #000000;
            border: 3px solid #ff1a1a; /* Neon red border */
            width: 8px;  /* More rectangular */
            height: 2px;
            margin: -6px;
            padding: 1px;
            border-radius: 4px;
        }
        QSlider::handle:disabled{
            background: #000000;
            border: 2px solid #333333; /* grey border */
            width: 8px;  /* More rectangular */
            height: 2px;
            margin: -6px;
            padding: 1px;
            border-radius: 4px;
        }
        /* Unfilled portion */
        QSlider::add-page:horizontal {
            background: #222;
            border-radius: 3px;
        }
        QSlider::handle:vertical {
            background: #000000;
            border: 2px solid #666666;
            width: 18px;
            height: 12px;
            margin: -9px 0;
            border-radius: 9px;
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                         stop:0 #660000, stop:1 #ff1a1a);
            border-radius: 3px;
        }
        QSlider::handle:vertical:disabled{
            background: #000000;
            border: 2px solid #333333; /* grey border */
            width: 18px;  /* More rectangular */
            height: 12px;
            margin: -9px;
            border-radius: 4px;
        }
        /* Glowing effect when moving */
        QSlider::sub-page:horizontal {
            background: qlineargradient(x1:0, y1:0, x2:1, y2:0,
                         stop:0 #660000, stop:1 #ff1a1a);
            border-radius: 3px;
        }
        /* Glowing effect when moving */
        QSlider::sub-page:horizontal:disabled {
            background: #333333;
            border-radius: 3px;
        }

        /* Unfilled portion */
        QSlider::add-page:horizontal {
            background: #222;
            border-radius: 3px;
        }
        /* QLabels */
        QLabel {
            color: #FFFFFF;
            font-family: Orbitron;
        }
        QSlider::horizontal {
            margin-left: 5px;
            margin-right: 5px;
        }
        QLabel { width: 100px; }
    """
SPLITTER = Multiline-String
Show Value
"""
                 QSplitter::handle {
                     background-color: #444;
                     border: 1px solid #666;
                 }
                 QSplitter::handle:vertical {
                     height: 6px;
                 }
                 QSplitter::handle:horizontal {
                     width: 6px;
                 }
             """
TABS = Multiline-String
Show Value
"""
                QTabBar::tab {
                font-family: Orbitron;
                background: #000000;
                color: white;
                padding: 1px 1px;
                margin: 1px;
                border: 2px solid #666666;
                border-radius: 6px;
                font-family: "Orbitron";
                font-size: 12px;
            }

            QTabBar::tab:selected {
                font-family: Orbitron;
                background: #222222;
                color: white;
                border: 2px solid #FF2200;
                font-family: "Orbitron";
                font-size: 12px;
            }

            QTabBar {
                qproperty-drawBase: 0;
                alignment: center;
            }

            QTabBar::tab:hover {
                background: #222222;
                border: 2px solid #ff9999;
                font-family: "Orbitron";
                font-size: 12px;
            }
            QTabWidget {
                font-family: Orbitron;
                border: none
            }
            QTabWidget::pane {
                border: none;
            }
        """
TABS_ANALOG = Multiline-String
Show Value
"""
                QTabBar::tab {
                font-family: Orbitron;
                background: #000000;
                color: white;
                padding: 1px 1px;
                margin: 1px;
                border: 2px solid #666666;
                border-radius: 6px;
                font-family: "Orbitron";
                font-size: 12px;
            }

            QTabBar::tab:selected {
                font-family: Orbitron;
                background: #222222;
                color: white;
                border: 2px solid #00A0E9;
                font-family: "Orbitron";
                font-size: 12px;
            }

            QTabBar {
                qproperty-drawBase: 0;
                alignment: center;
            }

            QTabBar::tab:hover {
                background: #00A0C1;
                border: 2px solid #00A0E9;
                font-family: "Orbitron";
                font-size: 12px;
            }
            QTabWidget {
                font-family: Orbitron;
                border: none
            }
            QTabWidget::pane {
                border: none;
            }
        """
TABS_DRUMS = Multiline-String
Show Value
"""
                QTabBar::tab {
                font-family: Orbitron;
                background: #000000;
                color: white;
                padding: 1px 1px;
                margin: 1px;
                border: 2px solid #666666;
                border-radius: 6px;
                font-family: "Orbitron";
                font-size: 12px;
            }

            QTabBar::tab:selected {
                font-family: Orbitron;
                background: #222222;
                color: white;
                border: 2px solid #ff6666;
                font-family: "Orbitron";
                font-size: 12px;
            }

            QTabBar {
                qproperty-drawBase: 0;
                alignment: center;
            }

            QTabBar::tab:hover {
                background: #222222;
                border: 2px solid #ff9999;
                font-family: "Orbitron";
                font-size: 12px;
            }
            QTabWidget {
                font-family: Orbitron;
                border: none
            }
            QTabWidget::pane {
                border: none;
            }
        """
TABS_MAIN_EDITOR
SLIDER = Multiline-String
Show Value
"""
            QSlider::handle:horizontal{
                background: #000000;
                border: 3px solid #ff1a1a; /* Neon red border */
                width: 8px;  /* More rectangular */
                height: 2px;
                margin: -6px;
                padding: 1px;
                border-radius: 4px;
            }
            QSlider::handle:disabled{
                background: #000000;
                border: 2px solid #333333; /* grey border */
                width: 8px;  /* More rectangular */
                height: 2px;
                margin: -6px;
                padding: 1px;
                border-radius: 4px;
            }
            /* Unfilled portion */
            QSlider::add-page:horizontal {
                background: #222;
                border-radius: 3px;
            }
            QSlider::handle:vertical {
                background: #000000;
                border: 2px solid #666666;
                width: 18px;
                height: 12px;
                margin: -9px 0;
                border-radius: 9px;
            }
            QSlider::handle:vertical:disabled{
                background: #000000;
                border: 2px solid #333333; /* grey border */
                width: 18px;  /* More rectangular */
                height: 12px;
                margin: -9px;
                border-radius: 4px;
            }
            /* Glowing effect when moving */
            QSlider::sub-page:horizontal {
                background: qlineargradient(x1:1, y1:0, x2:0, y2:0,
                             stop:0 #660000, stop:1 #ff1a1a);
                border-radius: 3px;
            }
            /* Glowing effect when moving */
            QSlider::sub-page:horizontal:disabled {
                background: #333333;
                border-radius: 3px;
            }

            /* Unfilled portion */
            QSlider::add-page:horizontal {
                background: #222;
                border-radius: 3px;
            }
            /* QLabels */
            QLabel {
                color: #FF2200;
            }
            QSlider::horizontal {
                margin-left: 5px;
                margin-right: 5px;
            }
        """
SLIDER_DISABLED = Multiline-String
Show Value
"""
                QSlider::handle:horizontal{
                background: #000000;
                border: 3px solid #333333; /* Neon red border */
                width: 8px;  /* More rectangular */
                height: 2px;
                margin: -6px;
                padding: 1px;
                border-radius: 4px;
            }
            QSlider::handle:disabled{
                background: #000000;
                border: 2px solid #333333; /* grey border */
                width: 8px;  /* More rectangular */
                height: 2px;
                margin: -6px;
                padding: 1px;
                border-radius: 4px;
            }
            /* Unfilled portion */
            QSlider::add-page:horizontal {
                background: #222;
                border-radius: 3px;
            }
            QSlider::handle:vertical {
                background: #000000;
                border: 2px solid #333333;
                width: 18px;
                height: 12px;
                margin: -9px 0;
                border-radius: 9px;
            }
            QSlider::handle:vertical:disabled{
                background: #000000;
                border: 2px solid #333333; /* grey border */
                width: 18px;  /* More rectangular */
                height: 12px;
                margin: -9px;
                border-radius: 4px;
            }
            /* Glowing effect when moving */
            QSlider::sub-page:horizontal {
                background: qlineargradient(x1:1, y1:0, x2:0, y2:0,
                             stop:0 #660000, stop:1 #ff1a1a);
                border-radius: 3px;
            }
            /* Glowing effect when moving */
            QSlider::sub-page:horizontal:disabled {
                background: #333333;
                border-radius: 3px;
            }

            /* Unfilled portion */
            QSlider::add-page:horizontal {
                background: #222;
                border-radius: 3px;
            }
            /* QLabels */
            QLabel {
                color: #FF2200;
            }
            QSlider::horizontal {
                margin-left: 5px;
                margin-right: 5px;
            }
        """
TRANSPARENT = Multiline-String
Show Value
"""
        QMainWindow, QWidget, QMenuBar {
            background-color: transparent;
            color: "#d51e35";
        }
        QSlider {
            border: #333333;
        }
        QPushButton {
            background-color: transparent;
            border: 1px solid red;
            color: "#d51e35";
        }
        QPushButton:hover {
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
            stop:0 #660000, stop:1 #ff1a1a);
        }
        QStatusBar {
            background-color: transparent;
            color: "#d51e35";
        }
    """
TRANSPARENT_WHITE = Multiline-String
Show Value
"""
        QMainWindow, QWidget, QMenuBar {
            background-color: transparent;
            color: "#d51e35";
        }
        QLabel {
            background-color: transparent;
            color: "white";
        }
        QPushButton {
            background-color: transparent;
            border: 1px solid red;
            color: "#d51e35";
        }
        QPushButton:hover {
            background-color: rgba(255, 0, 0, 30);
        }
        QStatusBar {
            background-color: transparent;
            color: "#d51e35";
        }
    """
STATUS_INDICATOR_ACTIVE = Multiline-String
Show Value
"""
        QLabel {
            background-color: #FF2200;
            border-radius: 8px;
            min-width: 12px;
            min-height: 12px;
            max-width: 12px;
            max-height: 12px;
        }
    """
STATUS_INDICATOR_INACTIVE = Multiline-String
Show Value
"""
        QLabel {
            background-color: #333333;
            border: 1px solid #666666;
            border-radius: 8px;
            min-width: 12px;
            min-height: 12px;
            max-width: 12px;
            max-height: 12px;
        }
    """
STATUS_INDICATOR_ANALOG_ACTIVE = Multiline-String
Show Value
"""
        QLabel {
            background-color: #00A0E9;
            border-radius: 8px;
            min-width: 12px;
            min-height: 12px;
            max-width: 12px;
            max-height: 12px;
        }
    """
BUTTON_GLOW_RED = Multiline-String
Show Value
"""
        QPushButton {
            border: 2px solid #FF2200;
            background-color: #222222;
        }
        QPushButton:hover {
            border: 2px solid #FF4400;
            background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #330000, stop:1 #FF4400);
        }
        QPushButton:pressed {
            border: 2px solid #FF6666;
            background-color: #333333;
        }
    """
BUTTON_GLOW_ANALOG = Multiline-String
Show Value
"""
        QPushButton {
            border: 2px solid #00A0E9;
            background-color: #222222;
        }
        QPushButton:hover {
            border: 2px solid #00C0FF;
            background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #003333, stop:1 #00C0FF);
        }
        QPushButton:pressed {
            border: 2px solid #417ffa;
            background-color: #333333;
        }
    """
ADSR_ANALOG = Multiline-String
Show Value
"""
        QGroupBox {
             font-family: Orbitron;
             width: 300px;
             border: none;
             border-top: 1px solid #00A0E9;
             margin: 1px;
             padding: 1px;
         }
        /* Groove (Track) */
        QSlider::groove:vertical {
            font-family: Orbitron;
            background: #111; /* Dark background */
            width: 6px;
            border-radius: 3px;
            border-radius: 3px;
            border-radius: 3px;
        }

        /* Handle (Knob) */
        QSlider::handle:vertical {
            background: black;
            border: 2px solid #1a1aff; /* Neon blue border */
            width: 10px;  /* More rectangular */
            height: 10px;
            margin: -10px;
            margin-bottom: 2px;
            margin-top: 2px;
            border-radius: 5px;
            padding: 1px;
        }

        /* Glowing effect when moving */
        QSlider::sub-page:vertical {
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                         stop:0 #000066, stop:1 #1a1aff);
            border-radius: 3px;
        }
        /* Handle (Knob) */
        QSlider::handle:vertical:disabled {
            background: black;
            border: 2px solid #333333; /* grey border */
            width: 10px;  /* More rectangular */
            height: 10px;
            margin: -10px;
            border-radius: 5px;
        }
        /* greyed out groove */
        QSlider::sub-page:vertical:disabled {
            background: #333333;
            border-radius: 3px;
        }

        /* Unfilled portion */
        QSlider::add-page:vertical {
            background: #222;
            border-radius: 3px;
        }

        /* Tick Marks (Small dashes on both sides) */
        QSlider::tick-mark {
            background: #1a1aff;
            width: 4px;
            height: 2px;
            border-radius: 1px;
            margin-left: 2px;
            margin-right: 2px;
        }

        /* Handle Hover Effect */
        QSlider::handle:vertical:hover {
            border: 2px solid #3333ff;
        }
        /* Spin Box */
        QSpinBox, QDoubleSpinBox {
            background-color: #222;
            border: 1px solid #00A0E9;
            border-radius: 3px;
            padding: 1px;
            margin: -2px;
            width: 40px;
            color: #00A0E9;
        }
        /* QLabels */
        QLabel {
            color: #00A0E9;
        }
    """
ADSR = Multiline-String
Show Value
"""
         QGroupBox {
             font-family: Orbitron;
             width: 200px;
             border: none;
             border-top: 1px solid #FF2200;
             margin: 1px;
             padding: 1px;
         }
        /* Groove (Track) */
        QSlider::groove:vertical {
            font-family: Orbitron;
            background: #111; /* Dark background */
            width: 6px;
            border-radius: 3px;
        }

        /* Handle (Knob) */
        QSlider::handle:vertical {
            background: black;
            border: 2px solid #ff1a1a; /* Neon red border */
            width: 10px;  /* More rectangular */
            height: 10px;
            margin: -8px;
            margin-bottom: 2px;
            margin-top: 1px;
            border-radius: 5px;
        }
        /* Handle (Knob) */
        QSlider::handle:vertical:disabled {
            background: black;
            border: 2px solid #333333; /* grey border */
            width: 10px;  /* More rectangular */
            height: 10px;
            margin: -10px;
            border-radius: 5px;
        }
        /* greyed out groove */
        QSlider::sub-page:vertical:disabled {
            background: #333333;
            border-radius: 3px;
        }

        /* Glowing effect when moving */
        QSlider::sub-page:vertical {
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                         stop:0 #660000, stop:1 #ff1a1a);
            border-radius: 3px;
        }
        /* Glowing effect when moving */
        QSlider::sub-page:vertical:disabled:hover {
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                         stop:0 #660000, stop:1 #ff1a1a);
            border-radius: 3px;
        }

        /* Unfilled portion */
        QSlider::add-page:vertical {
            font-family: Orbitron;
            background: #222;
            border-radius: 3px;
        }

        /* Tick Marks (Small dashes on both sides) */
        QSlider::tick-mark {
            background: #ff1a1a;
            width: 4px;
            height: 2px;
            border-radius: 1px;
            margin-left: -8px;
            margin-right: 8px;
        }
        QSlider::horizontal {
            margin-left: 6px;
            margin-right: 6x;
        }

        /* Handle Hover Effect */
        QSlider::handle:vertical:hover {
            border: 2px solid #ff3333;
            background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
             stop:0 #660000, stop:1 #ff1a1a);
        }
        /* Spin Box */
        QSpinBox, QDoubleSpinBox {
            background-color: #222;
            border: 1px solid #ff1a1a;
            border-radius: 3px;
            padding: 1px;
            margin: -2px;
            color: #ff1a1a;
        }
        /* QLabels */
        QLabel {
            color: "#d51e35";
        }
    """
ADSR_DISABLED = Multiline-String
Show Value
"""
            QSlider {
                font-family: Orbitron;
            }
            QLabel {
                font-family: Orbitron;
            }
            /* Groove (Track) */
            QSlider::groove:vertical {
                background: #111; /* Dark background */
                width: 6px;
                border-radius: 3px;
            }

            /* Handle (Knob) */
            QSlider::handle:vertical {
                background: black;
                border: 2px solid #333333; /* Neon red border */
                width: 10px;  /* More rectangular */
                height: 10px;
                margin: -8px;
                margin-bottom: 2px;
                margin-top: 2px;
                border-radius: 5px;
            }
            /* Handle (Knob) */
            QSlider::handle:vertical:disabled {
                background: black;
                border: 2px solid #333333; /* grey border */
                width: 10px;  /* More rectangular */
                height: 10px;
                margin: -10px;
                border-radius: 5px;
            }
            /* greyed out groove */
            QSlider::sub-page:vertical:disabled {
                background: #333333;
                border-radius: 3px;
            }

            /* Glowing effect when moving */
            QSlider::sub-page:vertical {
                font-family: Orbitron;
                background: #333333;
                border-radius: 3px;
            }

            /* Unfilled portion */
            QSlider::add-page:vertical {
                background: #222;
                border-radius: 3px;
            }

            /* Tick Marks (Small dashes on both sides) */
            QSlider::tick-mark {
                background: #333333;
                width: 4px;
                height: 2px;
                border-radius: 1px;
                margin-left: -8px;
                margin-right: 8px;
            }
            QSlider::horizontal {
                margin-left: 6px;
                margin-right: 6x;
            }

            /* Handle Hover Effect */
            QSlider::handle:vertical:hover {
                border: 2px solid #ff1a1a;
            }
            /* Spin Box */
            QSpinBox, QDoubleSpinBox {
                background-color: #222;
                border: 1px solid #ff1a1a;
                border-radius: 3px;
                padding: 1px;
                margin: -2px;
                color: #ff1a1a;
            }
            /* QLabels */
            QLabel {
                color: "#d51e35";
            }
        """
ADSR_PLOT = Multiline-String
Show Value
"""
        QWidget {
            background-color: #333333;
        }
    """
COMBO_BOX = Multiline-String
Show Value
"""
    QComboBox {
        font-family: Orbitron;
        background-color: #000000;
        border: 1px solid #FF2200;
        border-radius: 3px;
        padding: 1px;
        color: #FFFFFF;
    }

    /* Style for the dropdown button */
    QComboBox::drop-down {
        border: none;
        width: 20px;
        height: 20px;
    }

    /* Custom small down arrow */
    QComboBox::down-arrow {
        width: 16px; /* Adjust arrow size */
        height: 10px;
    }

    /* Custom small up arrow (if needed for editable combobox) */
    QComboBox::up-arrow {
        width: 16px; /* Adjust arrow size */
        height: 10px;
    }

    /* Scrollbar styling */
    QScrollBar:vertical {
        background: black;
        border: 2px solid #ff4500;
        width: 20px;
        border-radius: 5px;
    }
    """
COMBO_BOX_ANALOG = Multiline-String
Show Value
"""
        QComboBox {
            font-family: Orbitron;
            background-color: #000000;
            border: 1px solid #00A0E9;
            border-radius: 3px;
            padding: 1px;
            color: #FFFFFF;
        }

        /* Style for the dropdown button */
        QComboBox::drop-down {
            border: none;
            width: 20px;
            height: 20px;
        }

        /* Custom small down arrow */
        QComboBox::down-arrow {
            width: 16px; /* Adjust arrow size */
            height: 10px;
        }

        /* Custom small up arrow (if needed for editable combobox) */
        QComboBox::up-arrow {
            width: 16px; /* Adjust arrow size */
            height: 10px;
        }

        /* Scrollbar styling */
        QScrollBar:vertical {
            background: black;
            border: 2px solid #ff4500;
            width: 20px;
            border-radius: 5px;
        }
    """
LABEL_SUB = Multiline-String
Show Value
"""
            font-family: "Orbitron";
            font-size: 13px;
            color: #d51e35;
            font-weight: bold;
        """
LABEL = Multiline-String
Show Value
"""
            font-family: "Orbitron";
            font-size: 14px;
            color: #d51e35;
            font-weight: bold;
            background: transparent;
        """
QLABEL = Multiline-String
Show Value
"""
        QLabel {
            font-family: "Orbitron";
            font-size: 14px;
            color: #d51e35;
            font-weight: bold;
            background: transparent;
        }
    """
QLINEEDIT = Multiline-String
Show Value
"""
        QLineEdit {
            font-family: "Orbitron";
            font-size: 12px;
            color: #FFFFFF;
            background: #1a1a1a;
            font-weight: bold;
        }
    """
KEYBOARD_DRUM_LABELS = Multiline-String
Show Value
"""
                QLabel {
                    color: #808080;
                    font-size: 7px;
                    font-family: monospace;
                    padding: 2px;
                    min-width: 30px;
                }
            """
INSTRUMENT_TITLE_LABEL = Multiline-String
Show Value
"""
            font-family: "Consolas";
            color: #FFBB33;
            font-size: 16px;
            font-weight: bold;

            QGroupBox {
                height: 60;
                border: 2px solid black;
                border-radius: 5px;
                padding: 1px;
                margin: 1px;
                background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1,
                    stop: 0 #321212,
                    stop: 0.3 #331111,
                    stop: 0.5 #551100,
                    stop: 0.7 #331111,
                    stop: 1 #321212
                );
            }
            """
INSTRUMENT_SUBTITLE_LABEL = Multiline-String
Show Value
"""
            font-family: "Consolas";
            color: #FFBB33;
            font-size: 12px;
            font-weight: bold;
            """
LABEL_SYNTH_PART = Multiline-String
Show Value
"""
                font-family: "Orbitron";
                font-size: 13px;
                color: "#d51e35";  /* Base red */
                font-weight: bold;
            """
LABEL_ANALOG_SYNTH_PART = Multiline-String
Show Value
"""
                font-family: "Orbitron";
                font-size: 13px;
                color: #00A0E9;  /* Blue for Analog */
                font-weight: bold;
            """
DRUM_GROUP = Multiline-String
Show Value
"""
                QGroupBox {
                font-family: Orbitron;
                width: 50px;
                height: 60;
            }
            """
TAB_TITLE_ANALOG = Multiline-String
Show Value
"""
        QTabBar::tab:selected:analog {
        font-family: Orbitron;
        font-size: 13px;
        font-weight: bold;
        color: #00A0E9;
    }
    QTabBar::tab:hover:analog {
    font-family: Orbitron;
        font-size: 13px;
        font-weight: bold;
        color: #00A0E9;
    }
    QTabBar::tab:selected {
        font-family: Orbitron;
        font-size: 13px;
        font-weight: bold;
        color: #00A0E9;
    }
    """
GROUP_BOX_ANALOG = Multiline-String
Show Value
"""
        QGroupBox {
            font-family: Orbitron;
            border: none;
            color: #FFFFFF;
            border-top: 1px solid #00A0E9;
            margin: 10px;
            padding: 10px;
        }
        QGroupBox::title {
            font-family: Orbitron;
            subcontrol-origin: margin;
            subcontrol-position: top center;
            padding: 10 10px;
            background-color: black;
        }
        """
PATCH_MANAGER = Multiline-String
Show Value
"""
            QMainWindow {
                background-color: #2E2E2E;
                font-family: Orbitron;
            }
            QWidget {
                background-color: #2E2E2E;
                color: #FFFFFF;
                font-family: "Orbitron";
            }
            QLineEdit {
                background-color: #1A1A1A;
                color: #FFFFFF;
                border: 1px solid #FF0000;
                border-radius: 3px;
                padding: 1px;
                font-family: 'Consolas';
            }
            QPushButton {
                background-color: #3D3D3D;
                color: #FFFFFF;
                border: 1px solid #FF0000;
                border-radius: 3px;
                padding: 1px 1px;
                font-family: "Orbitron";
            }
            QPushButton:hover {
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                         stop:0 #660000, stop:1 #ff1a1a);
                border: 1px solid #FF3333;
            }
            QPushButton:pressed {
                background-color: #2D2D2D;
            }
            QLabel {
                color: #FFFFFF;
                font-family: "Orbitron";
            }
        """
LABEL_WHEEL = Multiline-String
Show Value
"""
        QLabel {
                color: red;
                font-family: "Orbitron";
            }
        """
PARTIAL_SWITCH = Multiline-String
Show Value
"""
                QCheckBox {
                    color: #CCCCCC;
                    font-size: 10px;
                }
                QCheckBox::indicator {
                    width: 16px;
                    height: 16px;
                    background: #333333;
                    border: 1px solid #555555;
                    border-radius: 8px;
                }
                QCheckBox::indicator:checked {
                    background: #666666;
                    border-color: #FF4444;
                }
            """
PARTIALS_PANEL = Multiline-String
Show Value
"""
        QGroupBox {
            font-family: Orbitron;
            color: #CCCCCC;
            height: 60;
            font-size: 12px;
            border: 0px;
            border-top: 2px solid #444444;  /* Only top border */
            border-radius: 3px;
            margin-top: 1px;
            padding: 1px;
        }
        QGroupBox::title {
            subcontrol-origin: margin;
            subcontrol-position: top center;
            padding: 0 1px;
            margin-top: 1px;
            background-color: #2D2D2D;
        }
    """
DEBUGGER = Multiline-String
Show Value
"""
            QMainWindow {
                background-color: #2E2E2E;
            }
            QWidget {
                background-color: #2E2E2E;
                color: #FFFFFF;
                font-family: 'Orbitron';
            }
            QPlainTextEdit {
                background-color: #1A1A1A;
                color: #FFFFFF;
                border: 1px solid #FF0000;
                border-radius: 3px;
                padding: 1px;
                font-family: 'Consolas';
            }
            QTextEdit {
                background-color: #1A1A1A;
                color: #FFFFFF;
                border: 1px solid #FF0000;
                border-radius: 3px;
                padding: 2px;
                font-family: 'Consolas';
            }
            QPushButton {
                background-color: #3D3D3D;
                color: #FFFFFF;
                border: 1px solid #FF0000;
                border-radius: 3px;
                padding: 1px 1px;
                font-family: "Orbitron";
            }
            QPushButton:hover {
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                         stop:0 #660000, stop:1 #ff1a1a);
                border: 1px solid #FF3333;
            }
            QPushButton:pressed {
                background-color: #666666;
            }
        """
SEQUENCER = Multiline-String
Show Value
"""
            font-family: "Orbitron";
            font-size: 14px;
            color: #d51e35;
            font-weight: bold;
            background: transparent;
        """
PARTS_SELECT = Multiline-String
Show Value
"""
            font-family: Orbitron;
            font-size: 14px;
            color: #d51e35;
            font-weight: bold;
            background: transparent;
            padding-bottom: 1px;
        """
class jdxi_editor.jdxi.style.JDXiThemeManager[source]

Bases: PySide6.QtCore.QObject

Centralized theme management for JD-Xi Editor

_instance: JDXiThemeManager | None = None
_initialized = True
static apply_style(widget: PySide6.QtWidgets.QWidget, style: str) None[source]

Apply a style string to a widget.

Parameters:
  • widget – QWidget to apply style to

  • style – str Style sheet string

static apply_editor_title_label(widget: PySide6.QtWidgets.QWidget) None[source]

Apply editor title label style

static apply_analog_section_header(widget: PySide6.QtWidgets.QWidget) None[source]

Apply analog section header style

static apply_digital_section_header(widget: PySide6.QtWidgets.QWidget) None[source]

Apply digital section header style

static apply_midi_monitor(widget: PySide6.QtWidgets.QWidget) None[source]

Apply MIDI message monitor style

static apply_status_indicator_active(widget: PySide6.QtWidgets.QWidget, analog: bool = False) None[source]

Apply active status indicator style

Parameters:
  • widget – QWidget to style

  • analog – bool If True, use analog (blue) style, else digital (red)

static apply_status_indicator_inactive(widget: PySide6.QtWidgets.QWidget) None[source]

Apply inactive status indicator style

static apply_button_glow_red(widget: PySide6.QtWidgets.QWidget) None[source]

Apply red glow button style

static apply_button_glow_analog(widget: PySide6.QtWidgets.QWidget) None[source]

Apply analog (blue) glow button style

static apply_waveform_button(widget: PySide6.QtWidgets.QWidget, analog: bool = False) None[source]

Apply waveform button style

Parameters:
  • widget – QWidget to style

  • analog – bool If True, use analog style, else digital

static apply_instrument_background(widget: PySide6.QtWidgets.QWidget) None[source]

Apply instrument background gradient style

static apply_editor_style(widget: PySide6.QtWidgets.QWidget, analog: bool = False) None[source]

Apply editor style

Parameters:
  • widget – QWidget to style

  • analog – bool If True, use analog editor style, else standard

static apply_instrument_title_label(widget: PySide6.QtWidgets.QWidget) None[source]

Apply instrument title label style

static apply_mixer_label(widget: PySide6.QtWidgets.QWidget, analog: bool = False) None[source]

Apply mixer label style

Parameters:
  • widget – QWidget to style

  • analog – bool If True, use analog mixer label style, else standard

static apply_partial_switch(widget: PySide6.QtWidgets.QWidget) None[source]

Apply partial switch (checkbox) style

static apply_adsr_style(widget: PySide6.QtWidgets.QWidget, analog: bool = False) None[source]

Apply ADSR envelope style

Parameters:
  • widget – QWidget to style

  • analog – bool If True, use analog ADSR style, else standard

static apply_adsr_plot(widget: PySide6.QtWidgets.QWidget) None[source]

Apply ADSR plot style

static apply_adsr_disabled(widget: PySide6.QtWidgets.QWidget) None[source]

Apply ADSR disabled style

static apply_tabs_style(widget: PySide6.QtWidgets.QWidget, analog: bool = False) None[source]

Apply tabs style

Parameters:
  • widget – QWidget to style

  • analog – bool If True, use analog tabs style, else standard

static apply_transparent(widget: PySide6.QtWidgets.QWidget) None[source]

Apply transparent style

static apply_debugger_window(widget: PySide6.QtWidgets.QWidget) None[source]

Apply debugger window style

static apply_combo_box(widget: PySide6.QtWidgets.QWidget, analog: bool = False) None[source]

Apply combo box style

Parameters:
  • widget – QWidget to style

  • analog – bool If True, use analog combo box style, else standard

static apply_line_edit(widget: PySide6.QtWidgets.QWidget) None[source]

Apply line edit style

static apply_button_rect_analog(widget: PySide6.QtWidgets.QWidget) None[source]

Apply analog rectangular button style (blue)

static apply_button_analog_active(widget: PySide6.QtWidgets.QWidget) None[source]

Apply analog active button style (blue, active state)

static apply_table_style(widget: PySide6.QtWidgets.QWidget) None[source]

Apply table style with rounded corners and charcoal embossed cells

static get_application_style() str[source]

Get the complete application-wide stylesheet.

This combines all the recent styling improvements into a single stylesheet that can be applied to the QApplication instance.

Returns:

str Complete stylesheet string

static apply_application_style() bool[source]

Apply the complete application-wide stylesheet to the QApplication instance.

Returns:

bool True if successful, False otherwise

static initialize() bool[source]

Initialize the theme system.

This is the main entry point for theme initialization.

Returns:

bool True if initialization was successful, False otherwise

jdxi_editor.jdxi.style.get_theme_manager() JDXiThemeManager[source]

Get the singleton ThemeManager instance