jdxi_editor.ui.style.jdxi

This module defines the Style class, which centralizes all style configurations for the JD-Xi Manager application. It includes color definitions, dimensions, fonts, and styles for buttons, sliders, tabs, labels, and other UI elements.

jdxi_editor.ui.style.jdxi.Colors

TITLE_TEXT (str): Color for title text. BACKGROUND (str): Main background color. BACKGROUND_PRESSED (str): Background color when a button is pressed. BUTTON_BACKGROUND (str): Background color for buttons. FOREGROUND (str): Main foreground color. ACCENT (str): Primary red accent color. ACCENT_HOVER (str): Hover color for accent elements. ACCENT_ANALOG (str): Blue accent color for analog components. ACCENT_ANALOG_HOVER (str): Hover color for analog accent elements. BORDER (str): Border color for UI elements. SLIDER_HANDLE (str): Color of the slider handle. SLIDER_HANDLE_BORDER (str): Border color of the slider handle. SLIDER_GROOVE (str): Color of the slider groove. ACCENT_PRESSED (str): Color of the accent when pressed. ACCENT_ANALOG_PRESSED (str): Color of the analog accent when pressed.

jdxi_editor.ui.style.jdxi.Dimensions

BUTTON_ROUND_RADIUS (int): Radius for round buttons. BUTTON_RECT_RADIUS (int): Radius for rectangular buttons. BUTTON_BORDER_WIDTH (int): Border width for buttons. HANDLE_SIZE (str): Size of slider handles. GROOVE_WIDTH (str): Width of the slider groove. ICON_SIZE (int): Default icon size. TAB_BUTTON_RECT_RADIUS (int): Radius for tab buttons.

jdxi_editor.ui.style.jdxi.Fonts

FONT_FAMILY (str): Default font family. FONT_SIZE (str): Default font size.

Button Styles

JDXI_BUTTON_ROUND: Standard round button style. JDXI_BUTTON_ROUND_SELECTED: Style for selected round buttons. JDXI_BUTTON_ROUND_ACTIVE: Style for active round buttons. JDXI_BUTTON_ROUND_SMALL: Small round button style. JDXI_BUTTON_RECT: Standard rectangular button style. JDXI_BUTTON_RECT_SELECTED: Style for selected rectangular buttons. JDXI_BUTTON_RECT_ACTIVE: Style for active rectangular buttons. JDXI_BUTTON_RECT_ANALOG: Rectangular button style for analog components. JDXI_BUTTON_ANALOG_ACTIVE: Active analog button style. JDXI_BUTTON_WAVEFORM: Button style for waveform selection. JDXI_BUTTON_WAVEFORM_ANALOG: Button style for analog waveform selection.

Tab Styles

JDXI_TABS: Standard tab button styles. JDXI_TABS_ANALOG: Tab button styles for analog components. JDXI_TABS_DRUMS: Tab button styles for drum components.

Editor Styles

JDXI_EDITOR: Style for the main editor UI. JDXI_EDITOR_ANALOG: Style for the analog editor UI.

Additional Styles

JDXI: General application styling. JDXI_ADSR: Styling for ADSR envelope sliders. JDXI_LABEL_SUB: Sub-label text style. JDXI_LABEL: Standard label style. JDXI_KEYBOARD_DRUM_LABELS: Style for drum labels in the keyboard section. JDXI_INSTRUMENT_TITLE_LABEL: Style for instrument title labels. JDXI_LABEL_SYNTH_PART: Style for synthesizer part labels. JDXI_LABEL_ANALOG_SYNTH_PART: Style for analog synthesizer part labels. JDXI_DRUM_GROUP: Style for drum group UI elements. JDXI_PATCH_MANAGER: Styles specific to the patch manager. JDXI_PARTIAL_SWITCH: Style for partial switch elements. JDXI_PARTIALS_PANEL: Styling for the panel displaying partials. JDXI_DEBUGGER: Styles for the debugger window. JDXI_SEQUENCER: Styling for the sequencer UI. JDXI_PARTS_SELECT: Style for part selection elements.

Classes

JDXiUIStyle

Central style definitions for JD-Xi Manager

Module Contents

class jdxi_editor.ui.style.jdxi.JDXiUIStyle[source]

Central style definitions for JD-Xi Manager

BUTTON_SEQUENCER_SMALL = 'QPushButton:checked { background-color: #cc0000; color: white; }'[source]
WHITE = '#FFFFFF'[source]
TRACK_LABEL_WIDTH = 70[source]
BUTTON_TRACK_WIDTH = 20[source]
TRACK_SPINBOX_WIDTH = 40[source]
PWM_WIDGET_HEIGHT = 200[source]
ADSR_PLOT_WIDTH = 300[source]
ADSR_PLOT_HEIGHT = 200[source]
INSTRUMENT_IMAGE_WIDTH = 350[source]
INSTRUMENT_IMAGE_HEIGHT = 200[source]
TITLE_TEXT = '#FFFFFF'[source]
BACKGROUND = '#000000'[source]
BACKGROUND_GRADIENT = 'qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #000000, stop:1 #1A1A1A)'[source]
BACKGROUND_PRESSED = '#666666'[source]
BUTTON_BACKGROUND = '#222222'[source]
BUTTON_BACKGROUND_PRESSED = '#333333'[source]
FOREGROUND = '#FFFFFF'[source]
PADDING = 10[source]
SPACING = 10[source]
ICON_PIXMAP_SIZE = 30[source]
TRACK_ICON_PIXMAP_SIZE = 50[source]
BUTTON_PADDING = 1[source]
BUTTON_WAVEFORM_RADIUS = 8[source]
BUTTON_WAVEFORM_BORDER_WIDTH = 2[source]
ACCENT = '#FF2200'[source]
ACCENT_HOVER = '#FF4400'[source]
ACCENT_ANALOG = '#00A0E9'[source]
ACCENT_ANALOG_HOVER = '#00C0FF'[source]
ACCENT_GLOW = '#FF6666'[source]
ACCENT_ANALOG_GLOW = '#66C0FF'[source]
BORDER = '#333333'[source]
SLIDER_HANDLE = '#000000'[source]
SLIDER_HANDLE_BORDER = '#666666'[source]
SLIDER_GROOVE = '#666666'[source]
SLIDER_NEON = '#ff1a1a'[source]
SLIDER_NEON_GRADIENT_STOP = '#660000'[source]
SLIDER_NEON_ANALOG = '#1a1aff'[source]
SLIDER_NEON_GRADIENT_STOP_ANALOG = '#000066'[source]
SLIDER_NEON_GRADIENT = 'qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #660000, stop:0.5 #ff1a1a, stop:1 #ff3333)'[source]
SLIDER_NEON_ANALOG_GRADIENT = 'qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #000066, stop:0.5 #1a1aff, stop:1 #3399ff)'[source]
ACCENT_PRESSED = '#FF6666'[source]
FONT_SIZE = '10'[source]
ACCENT_ANALOG_PRESSED = '#417ffa'[source]
BUTTON_ROUND_RADIUS = 15[source]
BUTTON_RECT_RADIUS = 6[source]
BUTTON_BORDER_WIDTH = 4[source]
BUTTON_BORDER_WIDTH_WAVEFORM = 2[source]
HANDLE_SIZE = '6px'[source]
GROOVE_WIDTH = '2px'[source]
ICON_SIZE = 20[source]
TAB_BUTTON_RECT_RADIUS = 6[source]
MAX_RULER_HEIGHT = 200[source]
TRACK_HEIGHT_MINIMUM = 40[source]
FONT_RED = '#d51e35'[source]
FONT_FAMILY = 'Segoe UI'[source]
FONT_FAMILY_MONOSPACE = 'Consolas'[source]
FONT_SIZE_MAIN_TABS = '14px'[source]
FONT_WEIGHT_BOLD = 'bold'[source]
FONT_WEIGHT_NORMAL = 'normal'[source]
GREY = '#666666'[source]
BUTTON_ROUND = Multiline-String[source]
Show Value
"""
            QPushButton {
                font-family: Segoe UI;
                background-color: #000000;
                border: 4px solid #333333;
                border-radius: 15px;
                color: #FFFFFF;
                font-family: "Segoe UI";
                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'[source]
BUTTON_ROUND_SELECTED = Multiline-String[source]
Show Value
"""
            QPushButton {
                font-family: Segoe UI;
                background-color: #000000;
                border: 4px solid #333333;
                border-radius: 15px;
                color: #FFFFFF;
                font-family: "Segoe UI";
                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[source]
Show Value
"""
            QPushButton {
                font-family: Segoe UI;
                background-color: #222222;
                border: 4px solid #FF4400;
                border-radius: 15px;
                color: #FFFFFF;
                font-family: "Segoe UI";
                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[source]
Show Value
"""
            QPushButton {
                font-family: Segoe UI;
                background-color: #333333;
                border: 1px solid black;
                border-radius: 10px;
                color: #AAAAAA;
                font-family: "Segoe UI";
                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[source]
Show Value
"""
            QPushButton {
                font-family: Segoe UI;
                background-color: #000000;
                border: 4px solid #333333;
                border-radius: 6px;
                color: #FFFFFF;
                font-family: "Segoe UI";
                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 = generate_button_style(

BACKGROUND, BORDER, BUTTON_RECT_RADIUS, FOREGROUND, ACCENT_HOVER, ACCENT_PRESSED

)

BUTTON_RECT_SELECTED = Multiline-String[source]
Show Value
"""
            QPushButton {
                font-family: Segoe UI;
                background-color: #000000;
                border: 4px solid #333333;
                border-radius: 6px;
                color: #FFFFFF;
                font-family: "Segoe UI";
                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[source]
Show Value
"""
            QPushButton {
                font-family: Segoe UI;
                background-color: #222222;
                border: 4px solid #FF4400;
                border-radius: 6px;
                color: #FFFFFF;
                font-family: "Segoe UI";
                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);
            }
        """
STYLE_FOREGROUND = 'color: #FFFFFF;'[source]
BUTTON_RECT_ANALOG = Multiline-String[source]
Show Value
"""
            QPushButton {
                font-family: Segoe UI;
                background-color: #000000;
                border: 4px solid #00A0E9;
                border-radius: 6px;
                color: #FFFFFF;
                font-family: "Segoe UI";
                font-size: 12px;
                padding: 4px;
            }
            QPushButton:hover {
                background-color: #00C0FF;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #000066, 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 #000033, stop:1 #666666);
            }
        """
BUTTON_ANALOG_ACTIVE = Multiline-String[source]
Show Value
"""
            QPushButton {
                font-family: Segoe UI;
                background-color: #222222;
                border: 4px solid #00A0E9;
                border-radius: 6px;
                color: #FFFFFF;
                font-family: "Segoe UI";
                font-size: 12px;
                padding: 4px;
            }
            QPushButton:hover {
                background-color: #00C0FF;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #000066, 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 #000033, stop:1 #666666);
            }
        """
BUTTON_WAVEFORM = Multiline-String[source]
Show Value
"""
            QPushButton {
                font-family: Segoe UI;
                background-color: #222222;
                border: 2px solid #666666;
                border-radius: 8px;
                color: #FFFFFF;
                font-family: "Segoe UI";
                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: 2px solid #FF4400;
            }
            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[source]
Show Value
"""
            QPushButton {
                font-family: Segoe UI;
                background-color: #222222;
                border: 2px solid #00A0E9;
                border-radius: 8px;
                color: #FFFFFF;
                font-family: "Segoe UI";
                font-size: 10;
                padding: 1px;
            }
            QPushButton:hover {
                background-color: #00C0FF;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #000066, stop:1 #00C0FF);
                border: 2px solid #00C0FF;
            }
            QPushButton:border_pressed, QPushButton:checked {
                background-color: #333333;
                border: 2px solid #417ffa;
                background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #000033, stop:1 #333333);
            }
        """
CREDITS_LABEL_STYLE = Multiline-String[source]
Show Value
"""
            /* QLabels */
                QLabel {
                    font-family: Segoe UI;
                    color: 'black';
                    background: #FFFFFF;
            }
            """
EDITOR = Multiline-String[source]
Show Value
"""
        QWidget {
            font-family: Segoe UI;
            background-color: #000000;
            color: #FFFFFF;
            font-family: "Segoe UI";
            font-size: 10;
            padding: 1px;
        }
               QGroupBox {
             font-family: Segoe UI;
             width: 200px;
             border: none;
             border-top: 1px solid #FF2200;
             margin: 1px;
             padding: 1px;
         }
        /* Groove (Track) */
        QSlider::groove:vertical {
            font-family: Segoe UI;
            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: Segoe UI;
            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 - upper bar only (JD-Xi style) */
        QSpinBox, QDoubleSpinBox {
            background-color: #222;
            border: none;
            border-top: 2px solid #ff1a1a;
            border-radius: 0;
            padding: 1px;
            margin: -2px;
            color: #ff1a1a;
        }

        QGroupBox {
            font-family: Segoe UI;
            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: Segoe UI;
            background-color: #000000;
            border: 1px solid #FF2200;
            border-radius: 3px;
            padding: 1px;
            color: #FFFFFF;
        }

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

        QComboBox {
            font-family: Segoe UI;
            background-color: #000000;
            border: none;
            border-top: 2px solid #FF2200;
            border-radius: 0;
            padding: 1px;
            color: #FFFFFF;
            width: 100px;
        }
        QComboBox:disabled {
            color: #333333;
        }
        QScrollBar {
            font-family: Segoe UI;
            background-color: #000000;
            border: 1px solid #FF2200;
            border-radius: 3px;
            padding: 1px;
            color: #FFFFFF;
        }

        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: Segoe UI;
        }
        QSlider::horizontal {
            margin-left: 5px;
            margin-right: 5px;
        }
        QLabel { width: 100px; }
    """
EDITOR_ANALOG = Multiline-String[source]
Show Value
"""
        QWidget {
            font-family: Segoe UI;
            background-color: #000000;
            color: #FFFFFF;
            font-family: "Segoe UI";
            font-size: 10;
            padding: 1px;
        }
               QGroupBox {
             font-family: Segoe UI;
             width: 200px;
             border: none;
             border-top: 1px solid #00A0E9;
             margin: 1px;
             padding: 1px;
         }
        /* Groove (Track) */
        QSlider::groove:vertical {
            font-family: Segoe UI;
            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: Segoe UI;
            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 - upper bar only (JD-Xi style) */
        QSpinBox, QDoubleSpinBox {
            background-color: #222;
            border: none;
            border-top: 2px solid #ff1a1a;
            border-radius: 0;
            padding: 1px;
            margin: -2px;
            color: #ff1a1a;
        }

        QGroupBox {
            font-family: Segoe UI;
            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: Segoe UI;
            background-color: #000000;
            border: 1px solid #00A0E9;
            border-radius: 3px;
            padding: 1px;
            color: #FFFFFF;
        }

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

        QComboBox {
            font-family: Segoe UI;
            background-color: #000000;
            border: none;
            border-top: 2px solid #00A0E9;
            border-radius: 0;
            padding: 1px;
            color: #FFFFFF;
            width: 100px;
        }
        QComboBox:disabled {
            color: #333333;
        }
        QScrollBar {
            font-family: Segoe UI;
            background-color: #000000;
            border: 1px solid #00A0E9;
            border-radius: 3px;
            padding: 1px;
            color: #FFFFFF;
        }

        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: Segoe UI;
        }
        QSlider::horizontal {
            margin-left: 5px;
            margin-right: 5px;
        }
        QLabel { width: 100px; }
    """
EDITOR_TITLE_LABEL = Multiline-String[source]
Show Value
"""
                font-family: Segoe UI, sans-serif;
                font-size: 20px;
                font-weight: bold;
                letter-spacing: 2px;
                color: #FF2200;
            """
ANALOG_SECTION_HEADER = Multiline-String[source]
Show Value
"""
                font-family: Segoe UI, sans-serif;
                font-weight: bold;
                font-size: 18px;
                color: #00A0E9;
                letter-spacing: 1px;
            """
DATABASE_TABLE_STYLE = Multiline-String[source]
Show Value
"""
                QTableWidget {
                    background-color: #1a1a1a;
                    border: 1px solid #333333;
                    border-radius: 8px;
                    gridline-color: #2a2a2a;
                    color: #ffffff;
                    selection-background-color: #3a3a3a;
                    selection-color: #ffffff;
                }

                QTableWidget::item {
                    background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                        stop:0 #2a2a2a,
                        stop:0.5 #252525,
                        stop:1 #1f1f1f);
                    border: 1px solid #1a1a1a;
                    border-radius: 4px;
                    padding: 4px;
                    color: #ffffff;
                }

                QTableWidget::item:selected {
                    background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                        stop:0 #3a3a3a,
                        stop:0.5 #353535,
                        stop:1 #2f2f2f);
                    border: 1px solid #4a4a4a;
                }

                QTableWidget::item:hover {
                    background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                        stop:0 #323232,
                        stop:0.5 #2d2d2d,
                        stop:1 #282828);
                    border: 1px solid #3a3a3a;
                }

                QTableWidget::item:focus {
                    background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                        stop:0 #3a3a3a,
                        stop:0.5 #353535,
                        stop:1 #2f2f2f);
                    border: 1px solid #ff2200;
                }

                QHeaderView::section {
                    background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                        stop:0 #2a2a2a,
                        stop:1 #1f1f1f);
                    color: #ffffff;
                    padding: 6px;
                    border: 1px solid #1a1a1a;
                    border-radius: 4px;
                    font-weight: bold;
                }

                QHeaderView::section:hover {
                    background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                        stop:0 #323232,
                        stop:1 #272727);
                }

                QTableCornerButton::section {
                    background-color: #1a1a1a;
                    border: 1px solid #333333;
                    border-radius: 8px 0 0 0;
                }
            """
DIGITAL_SECTION_HEADER = Multiline-String[source]
Show Value
"""
                font-family: Segoe UI, sans-serif;
                font-weight: bold;
                font-size: 18px;
                color: #FF2200;
                letter-spacing: 1px;
            """
INSTRUMENT = Multiline-String[source]
Show Value
"""
            QMainWindow {
                background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #000000, stop:1 #1A1A1A);
            }
            QWidget {
                font-family: Segoe UI;
                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: Segoe UI;
                border: none;
                border-top: 1px solid #333333;
                margin: 1px;
                padding: 1px;
            }
            QGroupBox::title {
                font-family: Segoe UI;
                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[source]
Show Value
"""
            QLabel {
                    height: 150px;
                    background-color: transparent;
                    border: none;
                }
        """
LOG_VIEWER = Multiline-String[source]
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;
            }
        """
WINDOW_MIDI_MESSAGE_MONITOR = Multiline-String[source]
Show Value
"""
            QTextEdit {
                font-family: 'Consolas', 'Courier New', monospace;
                background-color: #1E1E1E;
                color: #FFCC00;
                border: none;
                border-top: 2px solid #FF2200;
                border-radius: 0;
                padding: 5px;
                font-size: 11px;
            }
            QTextEdit:focus {
                border: none;
                border-top: 2px solid #FF2200;
                background-color: #252525;
            }
        """
MIXER_LABEL_ANALOG = Multiline-String[source]
Show Value
"""
                font-size: 16px;
                font-weight: bold;
                color: #00A0E9;
            """
MIXER_LABEL = Multiline-String[source]
Show Value
"""
        QLabel {
                font-family: Segoe UI;
                font-size: 16px;
                font-weight: bold;
                color: #FF2200;
                }
    """
PROGRAM_PRESET_GROUPS = Multiline-String[source]
Show Value
"""
         QGroupBox {
                 font-family: Segoe UI;
                 width: 300px;
                 border: none;
                 border-top: 1px solid #FF2200;
                 margin: 1px;
                 padding: 1px;
             }"""
PROGRAM_PRESET_GROUP_WIDTH = 300[source]
PROGRESS_BAR = Multiline-String[source]
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[source]
Show Value
"""
        /* Groove (Track) */
        QSlider::groove:vertical {
            font-family: Segoe UI;
            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: Segoe UI;
            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 - upper bar only (JD-Xi style) */
        QSpinBox, QDoubleSpinBox {
            background-color: #222;
            border: none;
            border-top: 2px solid #ff1a1a;
            border-radius: 0;
            padding: 1px;
            margin: -2px;
            color: #ff1a1a;
        }
        /* QLabels */
        QLabel {
            color: "#d51e35";
        }
    """
SPLASH_SCREEN = Multiline-String[source]
Show Value
"""
        QWidget {
            font-family: Segoe UI;
            background-color: #000000;
            color: #FFFFFF;
            font-family: "Segoe UI";
            font-size: 14px;
            padding: 1px;
        }
               QGroupBox {
             font-family: Segoe UI;
             width: 200px;
             border: none;
             border-top: 1px solid #FF2200;
             margin: 1px;
             padding: 1px;
         }
        /* Groove (Track) */
        QSlider::groove:vertical {
            font-family: Segoe UI;
            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: Segoe UI;
            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 - upper bar only (JD-Xi style) */
        QSpinBox, QDoubleSpinBox {
            background-color: #222;
            border: none;
            border-top: 2px solid #ff1a1a;
            border-radius: 0;
            padding: 1px;
            margin: -2px;
            color: #ff1a1a;
        }

        QGroupBox {
            font-family: Segoe UI;
            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: Segoe UI;
            background-color: #000000;
            border: 1px solid #FF2200;
            border-radius: 3px;
            padding: 1px;
            color: #FFFFFF;
        }

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

        QComboBox {
            font-family: Segoe UI;
            background-color: #000000;
            border: none;
            border-top: 2px solid #FF2200;
            border-radius: 0;
            padding: 1px;
            color: #FFFFFF;
            width: 100px;
        }
        QComboBox:disabled {
            color: #333333;
        }
        QScrollBar {
            font-family: Segoe UI;
            background-color: #000000;
            border: 1px solid #FF2200;
            border-radius: 3px;
            padding: 1px;
            color: #FFFFFF;
        }

        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: Segoe UI;
        }
        QSlider::horizontal {
            margin-left: 5px;
            margin-right: 5px;
        }
        QLabel { width: 100px; }
    """
SPLITTER = Multiline-String[source]
Show Value
"""
                 QSplitter::handle {
                     background-color: #444;
                     border: 1px solid #666;
                 }
                 QSplitter::handle:vertical {
                     height: 6px;
                 }
                 QSplitter::handle:horizontal {
                     width: 6px;
                 }
             """
TABS = Multiline-String[source]
Show Value
"""
                QTabBar::tab {
                font-family: Segoe UI;
                background: #000000;
                color: white;
                padding: 1px 1px;
                margin: 1px;
                border: 2px solid #666666;
                border-radius: 6px;
                font-family: "Segoe UI";
                font-size: 12px;
            }

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

            QTabBar {
                qproperty-drawBase: 0;
            }

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

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

            QTabBar {
                qproperty-drawBase: 0;
            }

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

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

            QTabBar {
                qproperty-drawBase: 0;
            }

            QTabBar::tab:hover {
                background: #222222;
                border: 2px solid #ff9999;
                font-family: "Segoe UI";
                font-size: 12px;
            }
            QTabWidget {
                font-family: Segoe UI;
                border: none;
            }
            QTabWidget::pane {
                border: none;
            }
            QTabWidget::tab-bar {
                alignment: center;
            }
        """
TABS_MAIN_EDITOR[source]
SLIDER = Multiline-String[source]
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[source]
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[source]
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[source]
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[source]
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[source]
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[source]
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[source]
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[source]
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[source]
Show Value
"""
        QGroupBox {
             font-family: Segoe UI;
             width: 300px;
             border: none;
             border-top: 1px solid #00A0E9;
             margin: 1px;
             padding: 1px;
         }
        /* Groove (Track) */
        QSlider::groove:vertical {
            font-family: Segoe UI;
            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 - upper bar only (JD-Xi style) */
        QSpinBox, QDoubleSpinBox {
            background-color: #222;
            border: none;
            border-top: 2px solid #00A0E9;
            border-radius: 0;
            padding: 1px;
            margin: -2px;
            width: 40px;
            color: #00A0E9;
        }
        /* QLabels */
        QLabel {
            color: #00A0E9;
        }
    """
ADSR = Multiline-String[source]
Show Value
"""
         QGroupBox {
             font-family: Segoe UI;
             width: 200px;
             border: none;
             border-top: 1px solid #FF2200;
             margin: 1px;
             padding: 1px;
         }
        /* Groove (Track) */
        QSlider::groove:vertical {
            font-family: Segoe UI;
            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: Segoe UI;
            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 - upper bar only (JD-Xi style) */
        QSpinBox, QDoubleSpinBox {
            background-color: #222;
            border: none;
            border-top: 2px solid #ff1a1a;
            border-radius: 0;
            padding: 1px;
            margin: -2px;
            color: #ff1a1a;
        }
        /* QLabels */
        QLabel {
            color: "#d51e35";
        }
    """
ADSR_DISABLED = Multiline-String[source]
Show Value
"""
            QSlider {
                font-family: Segoe UI;
            }
            QLabel {
                font-family: Segoe UI;
            }
            /* 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: Segoe UI;
                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 - upper bar only (JD-Xi style) */
            QSpinBox, QDoubleSpinBox {
                background-color: #222;
                border: none;
                border-top: 2px solid #ff1a1a;
                border-radius: 0;
                padding: 1px;
                margin: -2px;
                color: #ff1a1a;
            }
            /* QLabels */
            QLabel {
                color: "#d51e35";
            }
        """
ADSR_PLOT = Multiline-String[source]
Show Value
"""
        QWidget {
            background-color: #333333;
        }
    """
COMBO_BOX = Multiline-String[source]
Show Value
"""
    QComboBox {
        font-family: Segoe UI;
        background-color: #000000;
        border: none;
        border-top: 2px solid #FF2200;
        border-radius: 0;
        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[source]
Show Value
"""
        QComboBox {
            font-family: Segoe UI;
            background-color: #000000;
            border: none;
            border-top: 2px solid #00A0E9;
            border-radius: 0;
            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[source]
Show Value
"""
            font-family: "Segoe UI";
            font-size: 13px;
            color: #d51e35;
            font-weight: bold;
        """
LABEL = Multiline-String[source]
Show Value
"""
            font-family: "Segoe UI";
            font-size: 14px;
            color: #d51e35;
            font-weight: bold;
            background: transparent;
        """
QLABEL = Multiline-String[source]
Show Value
"""
        QLabel {
            font-family: "Segoe UI";
            font-size: 14px;
            color: #d51e35;
            font-weight: bold;
            background: transparent;
        }
    """
QLINEEDIT = Multiline-String[source]
Show Value
"""
        QLineEdit {
            font-family: "Segoe UI";
            font-size: 12px;
            color: #FFFFFF;
            background: #1a1a1a;
            border: none;
            border-top: 2px solid #FF2200;
            border-radius: 0;
        }
    """
QLINEEDIT_ANALOG = Multiline-String[source]
Show Value
"""
        QLineEdit {
            font-family: "Segoe UI";
            font-size: 12px;
            color: #FFFFFF;
            background: #1a1a1a;
            border: none;
            border-top: 2px solid #00A0E9;
            border-radius: 0;
        }
    """
KEYBOARD_DRUM_LABELS = Multiline-String[source]
Show Value
"""
                QLabel {
                    color: #808080;
                    font-size: 7px;
                    font-family: monospace;
                    padding: 2px;
                    min-width: 30px;
                }
            """
INSTRUMENT_TITLE_LABEL = Multiline-String[source]
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[source]
Show Value
"""
            font-family: "Consolas";
            color: #FFBB33;
            font-size: 24px;
            font-weight: bold;
            """
LABEL_SYNTH_PART = Multiline-String[source]
Show Value
"""
                font-family: "Segoe UI";
                font-size: 13px;
                color: "#d51e35";  /* Base red */
                font-weight: bold;
            """
LABEL_ANALOG_SYNTH_PART = Multiline-String[source]
Show Value
"""
                font-family: "Segoe UI";
                font-size: 13px;
                color: #00A0E9;  /* Blue for Analog */
                font-weight: bold;
            """
DRUM_GROUP = Multiline-String[source]
Show Value
"""
                QGroupBox {
                font-family: Segoe UI;
                width: 50px;
                height: 60;
            }
            """
TAB_TITLE = Multiline-String[source]
Show Value
"""
            QTabBar::tab {
            font-family: Segoe UI;
            font-size: 13px;
            font-weight: bold;
            color: #666666;
        }
        QTabBar::tab:selected {
            font-family: Segoe UI;
            font-size: 13px;
            font-weight: bold;
            color: #FF2200;
        }
        QTabBar::tab:hover {
            font-family: Segoe UI;
            font-size: 13px;
            font-weight: bold;
            color: #FF2200;
        }
        QTabBar::tab:disabled {
            font-family: Segoe UI;
            font-size: 13px;
            font-weight: bold;
            color: #666666;
        }
        QTabWidget::tab-bar {
            alignment: center;
        }
        """
TAB_TITLE_ANALOG = Multiline-String[source]
Show Value
"""
        QTabBar::tab:selected:analog {
        font-family: Segoe UI;
        font-size: 13px;
        font-weight: bold;
        color: #00A0E9;
    }
    QTabBar::tab:hover:analog {
    font-family: Segoe UI;
        font-size: 13px;
        font-weight: bold;
        color: #00A0E9;
    }
    QTabBar::tab:selected {
        font-family: Segoe UI;
        font-size: 13px;
        font-weight: bold;
        color: #00A0E9;
    }
    QTabWidget::tab-bar {
        alignment: center;
    }
    """
GROUP_BOX_ANALOG = Multiline-String[source]
Show Value
"""
        QGroupBox {
            font-family: Segoe UI;
            border: none;
            color: #FFFFFF;
            border-top: 1px solid #00A0E9;
            margin: 10px;
            padding: 10px;
        }
        QGroupBox::title {
            font-family: Segoe UI;
            subcontrol-origin: margin;
            subcontrol-position: top center;
            padding: 10 10px;
            background-color: black;
        }
        """
PATCH_MANAGER = Multiline-String[source]
Show Value
"""
            QMainWindow {
                background-color: #2E2E2E;
                font-family: Segoe UI;
            }
            QWidget {
                background-color: #2E2E2E;
                color: #FFFFFF;
                font-family: "Segoe UI";
            }
            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: "Segoe UI";
            }
            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: "Segoe UI";
            }
        """
LABEL_WHEEL = Multiline-String[source]
Show Value
"""
        QLabel {
                color: red;
                font-family: "Segoe UI";
            }
        """
PARTIAL_SWITCH = Multiline-String[source]
Show Value
"""
                QCheckBox {
                    color: #666666;
                    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[source]
Show Value
"""
        QGroupBox {
            font-family: Segoe UI;
            color: #666666;
            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;
        }
    """
WINDOW_DEBUGGER = Multiline-String[source]
Show Value
"""
            QMainWindow {
                background-color: #2E2E2E;
            }
            QWidget {
                background-color: #2E2E2E;
                color: #FFFFFF;
                font-family: 'Segoe UI';
            }
            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: "Segoe UI";
            }
            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[source]
Show Value
"""
            font-family: "Segoe UI";
            font-size: 14px;
            color: #d51e35;
            font-weight: bold;
            background: transparent;
        """
PARTS_SELECT = Multiline-String[source]
Show Value
"""
            font-family: Segoe UI;
            font-size: 14px;
            color: #d51e35;
            font-weight: bold;
            background: transparent;
            padding-bottom: 1px;
        """
static generate_sequencer_button_style(is_checked: bool, is_current: bool = False, is_selected_bar: bool = False) str[source]

Generate button style based on state and current step