@@ -59,12 +59,6 @@ enum ASRSettings {
59
59
ASR_SETTING_MULT,
60
60
ASR_SETTING_DELAY,
61
61
ASR_SETTING_BUFFER_LENGTH,
62
- #ifdef BUCHLA_SUPPORT
63
- ASR_SETTING_VOLTAGE_SCALING_A,
64
- ASR_SETTING_VOLTAGE_SCALING_B,
65
- ASR_SETTING_VOLTAGE_SCALING_C,
66
- ASR_SETTING_VOLTAGE_SCALING_D,
67
- #endif
68
62
ASR_SETTING_CV_SOURCE,
69
63
ASR_SETTING_CV4_DESTINATION,
70
64
ASR_SETTING_TURING_LENGTH,
@@ -275,31 +269,6 @@ public:
275
269
return int_seq_.get_n ();
276
270
}
277
271
278
- #ifdef BUCHLA_SUPPORT
279
- uint8_t get_voltage_scaling (int channel_i) const {
280
- uint8_t value = 0 ;
281
- switch (channel_i) {
282
- case 3 :
283
- value = values_[ASR_SETTING_VOLTAGE_SCALING_D];
284
- break ;
285
- case 2 :
286
- value = values_[ASR_SETTING_VOLTAGE_SCALING_C];
287
- break ;
288
- case 1 :
289
- value = values_[ASR_SETTING_VOLTAGE_SCALING_B];
290
- break ;
291
- default :
292
- value = values_[ASR_SETTING_VOLTAGE_SCALING_A];
293
- break ;
294
- }
295
- return value;
296
- }
297
- #else
298
- uint8_t get_voltage_scaling (int channel_i) const {
299
- return 0 ;
300
- }
301
- #endif
302
-
303
272
void toggle_delay_mechanics () {
304
273
delay_type_ = (~delay_type_) & 1u ;
305
274
}
@@ -439,13 +408,6 @@ public:
439
408
break ;
440
409
}
441
410
442
- #ifdef BUCHLA_SUPPORT
443
- *settings++ = ASR_SETTING_VOLTAGE_SCALING_A;
444
- *settings++ = ASR_SETTING_VOLTAGE_SCALING_B;
445
- *settings++ = ASR_SETTING_VOLTAGE_SCALING_C;
446
- *settings++ = ASR_SETTING_VOLTAGE_SCALING_D;
447
- #endif
448
-
449
411
num_enabled_settings_ = settings - enabled_settings_;
450
412
}
451
413
@@ -491,7 +453,7 @@ public:
491
453
492
454
update = trigger_delay_.triggered ();
493
455
494
- if (update) {
456
+ if (update) {
495
457
496
458
bool _freeze_switch, _freeze = digitalReadFast (TR2);
497
459
int8_t _root = get_root ();
@@ -505,7 +467,7 @@ public:
505
467
bool forced_update = force_update_;
506
468
force_update_ = false ;
507
469
update_scale (forced_update, (OC::ADC::value<ADC_CHANNEL_3>() + 127 ) >> 8 );
508
-
470
+
509
471
// cv4 destination, defaults to octave:
510
472
switch (get_cv4_destination ()) {
511
473
@@ -635,17 +597,17 @@ public:
635
597
_int_seq_index += ((_pitch + 255 ) >> 9 );
636
598
CONSTRAIN (_int_seq_index, 0 , 8 );
637
599
break ;
638
- case 2 : // sequence start point, 0-254
639
- _int_seq_start += ((_pitch + 7 ) >> 4 );
640
- CONSTRAIN (_int_seq_start, 0 , 254 );
600
+ case 2 : // sequence start point, 0 to kIntSeqLen - 2
601
+ _int_seq_start += ((_pitch + 15 ) >> 5 );
602
+ CONSTRAIN (_int_seq_start, 0 , kIntSeqLen - 2 );
641
603
break ;
642
- case 3 : // sequence loop length, 1-255
643
- _int_seq_length += ((_pitch + 7 ) >> 4 );
644
- CONSTRAIN (_int_seq_length, 1 , 255 );
604
+ case 3 : // sequence loop length, 1 to kIntSeqLen - 1
605
+ _int_seq_length += ((_pitch + 15 ) >> 5 );
606
+ CONSTRAIN (_int_seq_length, 1 , kIntSeqLen - 1 );
645
607
break ;
646
- case 4 : // fractal sequence stride length, 1-255
647
- _fractal_seq_stride += ((_pitch + 7 ) >> 4 );
648
- CONSTRAIN (_fractal_seq_stride, 1 , 255 );
608
+ case 4 : // fractal sequence stride length, 1 to kIntSeqLen - 1
609
+ _fractal_seq_stride += ((_pitch + 15 ) >> 5 );
610
+ CONSTRAIN (_fractal_seq_stride, 1 , kIntSeqLen - 1 );
649
611
break ;
650
612
case 5 : // fractal sequence modulus
651
613
_int_seq_modulus += ((_pitch + 15 ) >> 5 );
@@ -716,7 +678,7 @@ public:
716
678
}
717
679
718
680
_sample = quantizer_.Process (_sample, _root << 7 , _transpose);
719
- _sample = OC::DAC::pitch_to_scaled_voltage_dac (static_cast <DAC_CHANNEL>(i), _sample, _octave, get_voltage_scaling (i));
681
+ _sample = OC::DAC::pitch_to_scaled_voltage_dac (static_cast <DAC_CHANNEL>(i), _sample, _octave, OC::DAC:: get_voltage_scaling (i));
720
682
scrolling_history_[i].Push (_sample);
721
683
_asr_buffer[i] = _sample;
722
684
}
@@ -797,12 +759,6 @@ SETTINGS_DECLARE(ASR, ASR_SETTING_LAST) {
797
759
{ MULT_ONE, 0 , NUM_INPUT_SCALING - 1 , " input gain" , mult, settings::STORAGE_TYPE_U8 },
798
760
{ 0 , 0 , OC::kNumDelayTimes - 1 , " trigger delay" , OC::Strings::trigger_delay_times, settings::STORAGE_TYPE_U8 },
799
761
{ 4 , 4 , ASR_HOLD_BUF_SIZE - 1 , " hold (buflen)" , NULL , settings::STORAGE_TYPE_U8 },
800
- #ifdef BUCHLA_SUPPORT
801
- { 0 , 0 , 7 , " Ch A V/oct" , OC::voltage_scalings, settings::STORAGE_TYPE_U4 },
802
- { 0 , 0 , 7 , " Ch B V/oct" , OC::voltage_scalings, settings::STORAGE_TYPE_U4 },
803
- { 0 , 0 , 7 , " Ch C V/oct" , OC::voltage_scalings, settings::STORAGE_TYPE_U4 },
804
- { 0 , 0 , 7 , " Ch D V/oct" , OC::voltage_scalings, settings::STORAGE_TYPE_U4 },
805
- #endif
806
762
{ 0 , 0 , ASR_CHANNEL_SOURCE_LAST -1 , " CV source" , asr_input_sources, settings::STORAGE_TYPE_U4 },
807
763
{ 0 , 0 , ASR_DEST_LAST - 1 , " CV4 dest. ->" , asr_cv4_destinations, settings::STORAGE_TYPE_U4 },
808
764
{ 16 , 1 , 32 , " > LFSR length" , NULL , settings::STORAGE_TYPE_U8 },
@@ -815,10 +771,10 @@ SETTINGS_DECLARE(ASR, ASR_SETTING_LAST) {
815
771
{ 0 , 0 , 4 , " > BB CV1" , bb_CV_destinations, settings::STORAGE_TYPE_U4 },
816
772
{ 0 , 0 , 9 , " > IntSeq" , OC::Strings::integer_sequence_names, settings::STORAGE_TYPE_U4 },
817
773
{ 24 , 2 , 121 , " > IntSeq modul" , NULL , settings::STORAGE_TYPE_U8 },
818
- { 0 , 0 , 254 , " > IntSeq start" , NULL , settings::STORAGE_TYPE_U8 },
819
- { 8 , 2 , 256 , " > IntSeq len" , NULL , settings::STORAGE_TYPE_U8 },
774
+ { 0 , 0 , kIntSeqLen - 2 , " > IntSeq start" , NULL , settings::STORAGE_TYPE_U8 },
775
+ { 8 , 2 , kIntSeqLen , " > IntSeq len" , NULL , settings::STORAGE_TYPE_U8 },
820
776
{ 1 , 0 , 1 , " > IntSeq dir" , OC::Strings::integer_sequence_dirs, settings::STORAGE_TYPE_U4 },
821
- { 1 , 1 , 255 , " > Fract stride" , NULL , settings::STORAGE_TYPE_U8 },
777
+ { 1 , 1 , kIntSeqLen - 1 , " > Fract stride" , NULL , settings::STORAGE_TYPE_U8 },
822
778
{ 0 , 0 , 5 , " > IntSeq CV1" , int_seq_CV_destinations, settings::STORAGE_TYPE_U4 }
823
779
};
824
780
@@ -829,7 +785,7 @@ public:
829
785
830
786
void Init () {
831
787
cursor.Init (ASR_SETTING_SCALE, ASR_SETTING_LAST - 1 );
832
- scale_editor.Init ();
788
+ scale_editor.Init (false );
833
789
left_encoder_value = OC::Scales::SCALE_SEMI;
834
790
}
835
791
0 commit comments