Source code for jdxi_editor.ui.windows.jdxi.dimensions

"""
class JDXIDimensions

Class to store dimensions of a Roland JDXi instrument

# Example usage:
----------------
>>> print(JDXIDimensions.HEIGHT)
>>> print(JDXIDimensions.DISPLAY_WIDTH)

"""


[docs] class JDXiDimensions: """ A class to store dimensions for the JD-Xi editor UI. """
[docs] SPLASH_HEIGHT = 540
[docs] SPLASH_WIDTH = 850
[docs] CHART_POINT_SIZE = 2
[docs] EDITOR_MINIMUM_HEIGHT = 250
[docs] HEIGHT = 400
[docs] WIDTH = 1000
[docs] MARGIN = 15
# LED display area (enlarged for 2 rows)
[docs] DISPLAY_WIDTH = 210
[docs] DISPLAY_HEIGHT = 70
[docs] DISPLAY_X = MARGIN + 20
[docs] DISPLAY_Y = MARGIN + 35
# LED title area (enlarged for 2 rows)
[docs] DIGITAL_TITLE_WIDTH = 330
[docs] DIGITAL_TITLE_HEIGHT = 70
[docs] EDITOR_DIGITAL_SPLITTER_SIZES = [ 250, 450, ] # More room for top section (Presets/Partials)
[docs] EDITOR_DRUM_ANALOG_SPLITTER_SIZES = [200, 400]
[docs] EDITOR_ANALOG_MIN_WIDTH = 330
[docs] EDITOR_ANALOG_MIN_HEIGHT = 330
[docs] EDITOR_ANALOG_WIDTH = 950
[docs] EDITOR_ANALOG_HEIGHT = 600
[docs] PWM_WIDGET_X = 100
[docs] PWM_WIDGET_Y = 100
[docs] PWM_WIDGET_WIDTH = 300
[docs] PWM_WIDGET_HEIGHT = 500
# Title above display (moved down)
[docs] TITLE_X = DISPLAY_X
[docs] TITLE_Y = MARGIN
[docs] TITLE_WIDTH = 200
[docs] TITLE_HEIGHT = 50
# Keyboard
[docs] WHITE_KEY_HEIGHT = 127
[docs] KEYBOARD_WIDTH = 800
# Sequencer above keyboard
[docs] SEQUENCER_Y_WINDOWS = ( HEIGHT - WHITE_KEY_HEIGHT + 20 ) # Windows has a menu across the top
[docs] SEQUENCER_Y_NON_WINDOWS = ( HEIGHT - WHITE_KEY_HEIGHT + 20 ) # Keep same distance above keyboard
[docs] SEQUENCER_WIDTH = 440 # # Use roughly half keyboard width
[docs] SEQUENCER_X = WIDTH - MARGIN - SEQUENCER_WIDTH # Align with right edge of keyboard
# Sequencer grid
[docs] SEQUENCER_STEPS = 16
[docs] SEQUENCER_STEP_SIZE = 18
[docs] SEQUENCER_GRID_WIDTH = 300
[docs] SEQUENCER_GRID_HEIGHT = 30
[docs] SEQUENCER_SQUARE_SIZE = 25
# Sequencer container
[docs] SEQUENCER_CONTAINER_X = MARGIN + 520
[docs] SEQUENCER_CONTAINER_Y = MARGIN + 155
[docs] SEQUENCER_CONTAINER_WIDTH = 500
[docs] SEQUENCER_CONTAINER_HEIGHT = 80
# Sliders
[docs] SLIDER_X = 515
[docs] SLIDER_Y = MARGIN
[docs] SLIDER_CONTAINER_WIDTH = 360
[docs] SLIDER_HEIGHT = 120
[docs] SLIDER_CONTAINER_HEIGHT = SLIDER_HEIGHT + 20
# Parts container
[docs] PARTS_X = DISPLAY_X + DISPLAY_WIDTH + 10
[docs] PARTS_Y = MARGIN
[docs] PARTS_WIDTH = 180
[docs] PARTS_HEIGHT = 220
# Octave buttons
[docs] OCTAVE_X = MARGIN + 10
[docs] OCTAVE_Y = 125
[docs] OCTAVE_WIDTH = 120
[docs] OCTAVE_HEIGHT = 100
# Arpeggiator buttons
[docs] ARPEGGIATOR_X = 120
[docs] ARPEGGIATOR_Y = 125
[docs] ARPEGGIATOR_WIDTH = 120
[docs] ARPEGGIATOR_HEIGHT = 100
# Program buttons
[docs] PROGRAM_X = 385
[docs] PROGRAM_Y = MARGIN + 15
[docs] PROGRAM_WIDTH = 150
[docs] PROGRAM_HEIGHT = 80
# Tone buttons
[docs] TONE_X = 385
[docs] TONE_Y = MARGIN + 75
[docs] TONE_WIDTH = 150
[docs] TONE_HEIGHT = 80
# Effects buttons
[docs] EFFECTS_X = 910
[docs] EFFECTS_Y = MARGIN
[docs] EFFECTS_WIDTH = 80
[docs] EFFECTS_HEIGHT = 120
[docs] SCROLL_AREA_HEIGHT = 100
[docs] DRUM_PARTIAL_TAB_MIN_WIDTH = ( 400 # Minimum width for drum partial tabs to match WMT width )