@@ -6,8 +6,8 @@ in_pin:Right
6
6
out_pin:Left
7
7
out_pin:Right
8
8
9
- slider1:attack_ms=1 <0,100 ,1>-Attack (ms)
10
- slider2:release_ms=10<1,300 ,1>-Release (ms)
9
+ slider1:attack_ms=5 <0,1000 ,1>-Attack (ms)
10
+ slider2:release_ms=10<1,2000 ,1>-Release (ms)
11
11
slider3:window_ms=30<20,150,1>-Window (ms)
12
12
slider4:crossover_ratio=1.25<1,10,0.25>-Window crossover factor
13
13
slider5:latency_switch=0<0,1,1{on,off}>-Latency compensation
@@ -22,6 +22,7 @@ slider13:vib_mode=1<0,1,1{tracking,LFO}>-Vib mode
22
22
slider14:vib_lfo_scale_cents=10<0,100,1>-Vib LFO cents
23
23
slider15:vib_lfo_hz=4<0.5,10,.01>-Vib LFO Hz
24
24
slider16:vib_lfo_attack_ms=350<1,2000,1>-Vib LFO attack (ms)
25
+ slider17:stereo_width=1<0,1,0>-Stereo Width
25
26
26
27
import ui-lib.jsfx-inc
27
28
import synth-framework.jsfx-inc
@@ -46,6 +47,13 @@ input_buffer_length = MAX_WINDOW_SAMPLES;
46
47
freemem = (input_buffer0 = freemem) + input_buffer_length;
47
48
freemem = (input_buffer1 = freemem) + input_buffer_length;
48
49
50
+ // Wipe all buffers
51
+ i = 0;
52
+ while (i < freemem) (
53
+ i[] = 0;
54
+ i += 1;
55
+ );
56
+
49
57
freemem = ui_setup(freemem);
50
58
freemem = synth_setup(freemem, 9/*NOTE: TIMBRE_FACTOR, WAVELENGTH_L, INDEX_L, LFO_PHASE_L, LFO_FREQ_DIFF_L, WAVELENGTH_R, INDEX_R, LFO_PHASE_R, LFO_FREQ_DIFF_R*/);
51
59
@@ -442,6 +450,12 @@ while (note > 0) (
442
450
spl0 = filter_buffer_sample(filter_left, spl0);
443
451
spl1 = filter_buffer_sample(filter_right, spl1);
444
452
453
+ splm = (spl0 + spl1)*0.5;
454
+ spls = (spl0 - spl1)*0.5*stereo_width;
455
+
456
+ spl0 = splm + spls;
457
+ spl1 = splm - spls;
458
+
445
459
@gfx 645 400
446
460
447
461
function labelled_dial(value, low, high, bias, label, number_format, default) (
@@ -484,13 +498,14 @@ ui_screen() == "main" ? (
484
498
485
499
ui_split_bottomratio(0.15);
486
500
control_background_technical();
487
- ui_graph_circular(kernelA0[0] ? kernelA0 : kernelA1, window_samples, 1, -window_samples/2, kernel_length, p0.00000001, 0.00000001);
501
+ // ui_graph_circular(kernelA0[0] ? kernelA0 : kernelA1, window_samples, 1, -window_samples/2, kernel_length, p0.00000001, 0.00000001);
488
502
control_finish_technical();
489
503
ui_pop();
490
504
491
505
ui_split_topratio(0.5);
492
506
ui_split_leftratio(4/7);
493
507
control_group("Analysis");
508
+ ui_pad(-1, 0);
494
509
ui_split_leftratio(1/4);
495
510
window_ms = labelled_dial(window_ms, 5, 150, 1.5, "Window", "%ims", 30);
496
511
ui_split_next();
@@ -504,6 +519,7 @@ ui_screen() == "main" ? (
504
519
505
520
ui_split_leftratio(3/3);
506
521
control_group("Timbre");
522
+ ui_pad(-1, 0);
507
523
ui_split_leftratio(1/3);
508
524
timbre_shift_semitones = labelled_dial(timbre_shift_semitones, -12, 12, 0, "Shift", "%.1f st", 0);
509
525
ui_split_next();
@@ -514,11 +530,18 @@ ui_screen() == "main" ? (
514
530
ui_pop();
515
531
ui_pop();
516
532
517
- ui_split_leftratio(5/7 );
518
- control_group("Pitch & Vibrato ");
519
- ui_split_leftratio(1/5 );
520
- lr_detune_cents = labelled_dial(lr_detune_cents, 0, 100, 4, "L/R Detune", "%i cents", 5);
533
+ ui_split_leftratio(2/8 );
534
+ control_group("Stereo ");
535
+ ui_split_leftratio(1/2 );
536
+ lr_detune_cents = labelled_dial(lr_detune_cents, 0, 100, 4, "Detune", lr_detune_cents < 2 ? "%.1f cents" : "%i cents", 5);
521
537
ui_split_next();
538
+ stereo_width = labelled_dial(stereo_width, 0, 1, 0, "Width", "", 1);
539
+ ui_pop();
540
+ ui_pop();
541
+
542
+ ui_split_leftratio(4/6);
543
+ control_group("Vibrato");
544
+ ui_split_leftratio(1/4);
522
545
vib_mode = labelled_switch(vib_mode, "Vibrato", vib_mode ? "LFO" : "tracking");
523
546
ui_split_next();
524
547
vib_mode ? (
@@ -544,9 +567,9 @@ ui_screen() == "main" ? (
544
567
ui_split_leftratio(2/2);
545
568
control_group("Envelope");
546
569
ui_split_leftratio(1/2);
547
- attack_ms = labelled_dial(attack_ms, 0, 100, 3 , "Attack", "%ims", 1 );
570
+ attack_ms = labelled_dial(attack_ms, 0, 1000, 5 , "Attack", "%ims", 5 );
548
571
ui_split_next();
549
- release_ms = labelled_dial(release_ms, 0, 300, 3 , "Release", "%ims", 10);
572
+ release_ms = labelled_dial(release_ms, 0, 2000, 5 , "Release", "%ims", 10);
550
573
ui_pop();
551
574
ui_pop();
552
575
0 commit comments