diff --git a/core/arpeggiator_engine.py b/core/arpeggiator_engine.py index d460f5e..677ac33 100644 --- a/core/arpeggiator_engine.py +++ b/core/arpeggiator_engine.py @@ -62,7 +62,7 @@ class ArpeggiatorEngine(QObject): NOTE_SPEEDS = { "1/32": 1/32, "1/32T": 1/48, "1/16": 1/16, "1/16T": 1/24, "1/8": 1/8, "1/8T": 1/12, "1/4": 1/4, "1/4T": 1/6, - "1/2": 1/2, "1/2T": 1/3, "1/1": 1, "2/1": 2 + "1/2": 1/2, "1/2T": 1/3, "1/1": 1, "2/1": 2, "4/1": 4 } def __init__(self, channel_manager: MIDIChannelManager, synth_router: SynthRouter, @@ -108,7 +108,7 @@ class ArpeggiatorEngine(QObject): # Delay/Echo settings self.delay_enabled = False self.delay_length = 3 # Number of repeats (0-8) - self.delay_timing = "1/8" # Timing between delays + self.delay_timing = "1/4" # Timing between delays self.delay_fade = 0.3 # Volume fade per repeat (0.0-1.0) self.delay_step_duration = 0.0 # Calculated delay timing self.scheduled_delays = [] # List of (time, channel, note, volume) tuples diff --git a/gui/arpeggiator_controls.py b/gui/arpeggiator_controls.py index 01ef27f..28e92ba 100644 --- a/gui/arpeggiator_controls.py +++ b/gui/arpeggiator_controls.py @@ -34,7 +34,7 @@ class ArpeggiatorControls(QWidget): self.current_distribution = "up" self.current_speed = "1/8" self.current_pattern_length = 8 - self.current_delay_timing = "1/8" + self.current_delay_timing = "1/4" # Armed state tracking self.armed_root_note_button = None @@ -400,7 +400,7 @@ class ArpeggiatorControls(QWidget): delay_timing_layout.setContentsMargins(0, 0, 0, 0) self.delay_timing_buttons = {} - delay_speeds = ["1/32", "1/32T", "1/16", "1/16T", "1/8", "1/8T", "1/4", "1/4T", "1/2", "1/2T", "1/1"] + delay_speeds = ["1/8", "1/8T", "1/4", "1/4T", "1/2", "1/2T", "1/1", "2/1", "4/1"] for i, speed in enumerate(delay_speeds): btn = QPushButton(speed) btn.setFixedSize(35, 18) # Slightly smaller to fit more @@ -409,13 +409,13 @@ class ArpeggiatorControls(QWidget): btn.setEnabled(False) btn.clicked.connect(lambda checked, s=speed: self.on_delay_timing_clicked(s)) - if speed == "1/8": + if speed == "1/4": btn.setChecked(True) self.delay_timing_buttons[speed] = btn - # Arrange in 2 rows - row = i // 6 - col = i % 6 + # Arrange in 2 rows (5 on top, 4 on bottom) + row = i // 5 + col = i % 5 delay_timing_layout.addWidget(btn, row, col) delay_timing_widget.setEnabled(False)