jdxi_editor.jdxi.style ====================== .. py:module:: jdxi_editor.jdxi.style Submodules ---------- .. toctree:: :maxdepth: 1 /autoapi/jdxi_editor/jdxi/style/factory/index /autoapi/jdxi_editor/jdxi/style/icons/index /autoapi/jdxi_editor/jdxi/style/jdxi/index /autoapi/jdxi_editor/jdxi/style/theme_manager/index Classes ------- .. autoapisummary:: jdxi_editor.jdxi.style.JDXiStyle jdxi_editor.jdxi.style.JDXiThemeManager Functions --------- .. autoapisummary:: jdxi_editor.jdxi.style.get_theme_manager Package Contents ---------------- .. py:class:: JDXiStyle Central style definitions for JD-Xi Manager .. py:attribute:: TRACK_LABEL_WIDTH :value: 70 .. py:attribute:: TRACK_BUTTON_WIDTH :value: 20 .. py:attribute:: TRACK_SPINBOX_WIDTH :value: 40 .. py:attribute:: PWM_WIDGET_HEIGHT :value: 250 .. py:attribute:: ADSR_PLOT_WIDTH :value: 300 .. py:attribute:: ADSR_PLOT_HEIGHT :value: 200 .. py:attribute:: INSTRUMENT_IMAGE_WIDTH :value: 350 .. py:attribute:: INSTRUMENT_IMAGE_HEIGHT :value: 200 .. py:attribute:: TITLE_TEXT :value: '#FFFFFF' .. py:attribute:: BACKGROUND :value: '#000000' .. py:attribute:: BACKGROUND_GRADIENT :value: 'qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #000000, stop:1 #1A1A1A)' .. py:attribute:: BACKGROUND_PRESSED :value: '#666666' .. py:attribute:: BUTTON_BACKGROUND :value: '#222222' .. py:attribute:: BUTTON_BACKGROUND_PRESSED :value: '#333333' .. py:attribute:: FOREGROUND :value: '#FFFFFF' .. py:attribute:: PADDING :value: 10 .. py:attribute:: SPACING :value: 10 .. py:attribute:: ICON_PIXMAP_SIZE :value: 30 .. py:attribute:: TRACK_ICON_PIXMAP_SIZE :value: 50 .. py:attribute:: BUTTON_PADDING :value: 1 .. py:attribute:: ACCENT :value: '#FF2200' .. py:attribute:: ACCENT_HOVER :value: '#FF4400' .. py:attribute:: ACCENT_ANALOG :value: '#00A0E9' .. py:attribute:: ACCENT_ANALOG_HOVER :value: '#00C0FF' .. py:attribute:: ACCENT_GLOW :value: '#FF6666' .. py:attribute:: ACCENT_ANALOG_GLOW :value: '#66C0FF' .. py:attribute:: BORDER :value: '#333333' .. py:attribute:: SLIDER_HANDLE :value: '#000000' .. py:attribute:: SLIDER_HANDLE_BORDER :value: '#666666' .. py:attribute:: SLIDER_GROOVE :value: '#666666' .. py:attribute:: SLIDER_NEON :value: '#ff1a1a' .. py:attribute:: SLIDER_NEON_GRADIENT_STOP :value: '#660000' .. py:attribute:: SLIDER_NEON_ANALOG :value: '#1a1aff' .. py:attribute:: SLIDER_NEON_GRADIENT_STOP_ANALOG :value: '#000066' .. py:attribute:: SLIDER_NEON_GRADIENT :value: 'qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #660000, stop:0.5 #ff1a1a, stop:1 #ff3333)' .. py:attribute:: SLIDER_NEON_ANALOG_GRADIENT :value: 'qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #000066, stop:0.5 #1a1aff, stop:1 #3399ff)' .. py:attribute:: ACCENT_PRESSED :value: '#FF6666' .. py:attribute:: FONT_SIZE :value: '10' .. py:attribute:: ACCENT_ANALOG_PRESSED :value: '#417ffa' .. py:attribute:: BUTTON_ROUND_RADIUS :value: 15 .. py:attribute:: BUTTON_RECT_RADIUS :value: 6 .. py:attribute:: BUTTON_BORDER_WIDTH :value: 4 .. py:attribute:: HANDLE_SIZE :value: '6px' .. py:attribute:: GROOVE_WIDTH :value: '2px' .. py:attribute:: ICON_SIZE :value: 20 .. py:attribute:: TAB_BUTTON_RECT_RADIUS :value: 6 .. py:attribute:: MAX_RULER_HEIGHT :value: 200 .. py:attribute:: TRACK_HEIGHT_MINIMUM :value: 40 .. py:attribute:: FONT_RED :value: '#d51e35' .. py:attribute:: FONT_FAMILY :value: 'Orbitron' .. py:attribute:: FONT_FAMILY_MONOSPACE :value: 'Consolas' .. py:attribute:: FONT_SIZE_MAIN_TABS :value: '14px' .. py:attribute:: FONT_WEIGHT_BOLD :value: 'bold' .. py:attribute:: FONT_WEIGHT_NORMAL :value: 'normal' .. py:attribute:: GREY :value: '#CCCCCC' .. py:attribute:: BUTTON_ROUND :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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); } """ .. raw:: html
.. py:attribute:: BORDER_PRESSED :value: '#2D2D2D' .. py:attribute:: BUTTON_ROUND_SELECTED :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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); } """ .. raw:: html
.. py:attribute:: BUTTON_ROUND_ACTIVE :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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); } """ .. raw:: html
.. py:attribute:: BUTTON_ROUND_SMALL :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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); } """ .. raw:: html
.. py:attribute:: BUTTON_RECT :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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); } """ .. raw:: html
.. py:attribute:: BUTTON_RECT_SELECTED :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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); } """ .. raw:: html
.. py:attribute:: BUTTON_RECT_ACTIVE :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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); } """ .. raw:: html
.. py:attribute:: BUTTON_RECT_ANALOG :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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); } """ .. raw:: html
.. py:attribute:: BUTTON_ANALOG_ACTIVE :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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); } """ .. raw:: html
.. py:attribute:: BUTTON_WAVEFORM :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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); } """ .. raw:: html
.. py:attribute:: BUTTON_WAVEFORM_ANALOG :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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); } """ .. raw:: html
.. py:attribute:: CREDITS_LABEL_STYLE :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ /* QLabels */ QLabel { font-family: Orbitron; color: 'black'; background: #FFFFFF; } """ .. raw:: html
.. py:attribute:: EDITOR :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: EDITOR_ANALOG :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: EDITOR_TITLE_LABEL :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ font-family: Orbitron, sans-serif; font-size: 20px; font-weight: bold; letter-spacing: 2px; color: #FF2200; """ .. raw:: html
.. py:attribute:: ANALOG_SECTION_HEADER :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ font-family: Orbitron, sans-serif; font-weight: bold; font-size: 18px; color: #00A0E9; letter-spacing: 1px; """ .. raw:: html
.. py:attribute:: DIGITAL_SECTION_HEADER :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ font-family: Orbitron, sans-serif; font-weight: bold; font-size: 18px; color: #FF2200; letter-spacing: 1px; """ .. raw:: html
.. py:attribute:: INSTRUMENT :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: INSTRUMENT_IMAGE_LABEL :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ QLabel { height: 150px; background-color: transparent; border: none; } """ .. raw:: html
.. py:attribute:: LOG_VIEWER :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: MIDI_MESSAGE_MONITOR :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: MIXER_LABEL_ANALOG :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ font-size: 16px; font-weight: bold; color: #00A0E9; """ .. raw:: html
.. py:attribute:: MIXER_LABEL :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ QLabel { font-family: Orbitron; font-size: 16px; font-weight: bold; color: #FF2200; } """ .. raw:: html
.. py:attribute:: PROGRAM_PRESET_GROUPS :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ QGroupBox { font-family: Orbitron; width: 300px; border: none; border-top: 1px solid #FF2200; margin: 1px; padding: 1px; }""" .. raw:: html
.. py:attribute:: PROGRAM_PRESET_GROUP_WIDTH :value: 300 .. py:attribute:: PROGRESS_BAR :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: SLIDER_VERTICAL :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ /* 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"; } """ .. raw:: html
.. py:attribute:: SPLASH_SCREEN :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: SPLITTER :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ QSplitter::handle { background-color: #444; border: 1px solid #666; } QSplitter::handle:vertical { height: 6px; } QSplitter::handle:horizontal { width: 6px; } """ .. raw:: html
.. py:attribute:: TABS :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: TABS_ANALOG :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: TABS_DRUMS :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: TABS_MAIN_EDITOR .. py:attribute:: SLIDER :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: SLIDER_DISABLED :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: TRANSPARENT :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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"; } """ .. raw:: html
.. py:attribute:: TRANSPARENT_WHITE :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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"; } """ .. raw:: html
.. py:attribute:: STATUS_INDICATOR_ACTIVE :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ QLabel { background-color: #FF2200; border-radius: 8px; min-width: 12px; min-height: 12px; max-width: 12px; max-height: 12px; } """ .. raw:: html
.. py:attribute:: STATUS_INDICATOR_INACTIVE :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ QLabel { background-color: #333333; border: 1px solid #666666; border-radius: 8px; min-width: 12px; min-height: 12px; max-width: 12px; max-height: 12px; } """ .. raw:: html
.. py:attribute:: STATUS_INDICATOR_ANALOG_ACTIVE :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ QLabel { background-color: #00A0E9; border-radius: 8px; min-width: 12px; min-height: 12px; max-width: 12px; max-height: 12px; } """ .. raw:: html
.. py:attribute:: BUTTON_GLOW_RED :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: BUTTON_GLOW_ANALOG :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: ADSR_ANALOG :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: ADSR :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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"; } """ .. raw:: html
.. py:attribute:: ADSR_DISABLED :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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"; } """ .. raw:: html
.. py:attribute:: ADSR_PLOT :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ QWidget { background-color: #333333; } """ .. raw:: html
.. py:attribute:: COMBO_BOX :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: COMBO_BOX_ANALOG :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: LABEL_SUB :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ font-family: "Orbitron"; font-size: 13px; color: #d51e35; font-weight: bold; """ .. raw:: html
.. py:attribute:: LABEL :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ font-family: "Orbitron"; font-size: 14px; color: #d51e35; font-weight: bold; background: transparent; """ .. raw:: html
.. py:attribute:: QLABEL :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ QLabel { font-family: "Orbitron"; font-size: 14px; color: #d51e35; font-weight: bold; background: transparent; } """ .. raw:: html
.. py:attribute:: QLINEEDIT :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ QLineEdit { font-family: "Orbitron"; font-size: 12px; color: #FFFFFF; background: #1a1a1a; font-weight: bold; } """ .. raw:: html
.. py:attribute:: KEYBOARD_DRUM_LABELS :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ QLabel { color: #808080; font-size: 7px; font-family: monospace; padding: 2px; min-width: 30px; } """ .. raw:: html
.. py:attribute:: INSTRUMENT_TITLE_LABEL :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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 ); } """ .. raw:: html
.. py:attribute:: INSTRUMENT_SUBTITLE_LABEL :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ font-family: "Consolas"; color: #FFBB33; font-size: 12px; font-weight: bold; """ .. raw:: html
.. py:attribute:: LABEL_SYNTH_PART :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ font-family: "Orbitron"; font-size: 13px; color: "#d51e35"; /* Base red */ font-weight: bold; """ .. raw:: html
.. py:attribute:: LABEL_ANALOG_SYNTH_PART :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ font-family: "Orbitron"; font-size: 13px; color: #00A0E9; /* Blue for Analog */ font-weight: bold; """ .. raw:: html
.. py:attribute:: DRUM_GROUP :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ QGroupBox { font-family: Orbitron; width: 50px; height: 60; } """ .. raw:: html
.. py:attribute:: TAB_TITLE_ANALOG :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: GROUP_BOX_ANALOG :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: PATCH_MANAGER :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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"; } """ .. raw:: html
.. py:attribute:: LABEL_WHEEL :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ QLabel { color: red; font-family: "Orbitron"; } """ .. raw:: html
.. py:attribute:: PARTIAL_SWITCH :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: PARTIALS_PANEL :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: DEBUGGER :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ 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; } """ .. raw:: html
.. py:attribute:: SEQUENCER :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ font-family: "Orbitron"; font-size: 14px; color: #d51e35; font-weight: bold; background: transparent; """ .. raw:: html
.. py:attribute:: PARTS_SELECT :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """ font-family: Orbitron; font-size: 14px; color: #d51e35; font-weight: bold; background: transparent; padding-bottom: 1px; """ .. raw:: html
.. py:class:: JDXiThemeManager Bases: :py:obj:`PySide6.QtCore.QObject` Centralized theme management for JD-Xi Editor .. py:attribute:: _instance :type: Optional[JDXiThemeManager] :value: None .. py:attribute:: _initialized :value: True .. py:method:: apply_style(widget: PySide6.QtWidgets.QWidget, style: str) -> None :staticmethod: Apply a style string to a widget. :param widget: QWidget to apply style to :param style: str Style sheet string .. py:method:: apply_editor_title_label(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply editor title label style .. py:method:: apply_analog_section_header(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply analog section header style .. py:method:: apply_digital_section_header(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply digital section header style .. py:method:: apply_midi_monitor(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply MIDI message monitor style .. py:method:: apply_status_indicator_active(widget: PySide6.QtWidgets.QWidget, analog: bool = False) -> None :staticmethod: Apply active status indicator style :param widget: QWidget to style :param analog: bool If True, use analog (blue) style, else digital (red) .. py:method:: apply_status_indicator_inactive(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply inactive status indicator style .. py:method:: apply_button_glow_red(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply red glow button style .. py:method:: apply_button_glow_analog(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply analog (blue) glow button style .. py:method:: apply_waveform_button(widget: PySide6.QtWidgets.QWidget, analog: bool = False) -> None :staticmethod: Apply waveform button style :param widget: QWidget to style :param analog: bool If True, use analog style, else digital .. py:method:: apply_instrument_background(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply instrument background gradient style .. py:method:: apply_editor_style(widget: PySide6.QtWidgets.QWidget, analog: bool = False) -> None :staticmethod: Apply editor style :param widget: QWidget to style :param analog: bool If True, use analog editor style, else standard .. py:method:: apply_instrument_title_label(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply instrument title label style .. py:method:: apply_mixer_label(widget: PySide6.QtWidgets.QWidget, analog: bool = False) -> None :staticmethod: Apply mixer label style :param widget: QWidget to style :param analog: bool If True, use analog mixer label style, else standard .. py:method:: apply_partial_switch(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply partial switch (checkbox) style .. py:method:: apply_adsr_style(widget: PySide6.QtWidgets.QWidget, analog: bool = False) -> None :staticmethod: Apply ADSR envelope style :param widget: QWidget to style :param analog: bool If True, use analog ADSR style, else standard .. py:method:: apply_adsr_plot(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply ADSR plot style .. py:method:: apply_adsr_disabled(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply ADSR disabled style .. py:method:: apply_tabs_style(widget: PySide6.QtWidgets.QWidget, analog: bool = False) -> None :staticmethod: Apply tabs style :param widget: QWidget to style :param analog: bool If True, use analog tabs style, else standard .. py:method:: apply_transparent(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply transparent style .. py:method:: apply_debugger_window(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply debugger window style .. py:method:: apply_combo_box(widget: PySide6.QtWidgets.QWidget, analog: bool = False) -> None :staticmethod: Apply combo box style :param widget: QWidget to style :param analog: bool If True, use analog combo box style, else standard .. py:method:: apply_line_edit(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply line edit style .. py:method:: apply_button_rect_analog(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply analog rectangular button style (blue) .. py:method:: apply_button_analog_active(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply analog active button style (blue, active state) .. py:method:: apply_table_style(widget: PySide6.QtWidgets.QWidget) -> None :staticmethod: Apply table style with rounded corners and charcoal embossed cells .. py:method:: get_application_style() -> str :staticmethod: 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. :return: str Complete stylesheet string .. py:method:: apply_application_style() -> bool :staticmethod: Apply the complete application-wide stylesheet to the QApplication instance. :return: bool True if successful, False otherwise .. py:method:: initialize() -> bool :staticmethod: Initialize the theme system. This is the main entry point for theme initialization. :return: bool True if initialization was successful, False otherwise .. py:function:: get_theme_manager() -> JDXiThemeManager Get the singleton ThemeManager instance