Skip to content

Commit

Permalink
added double-tap to set sequence length
Browse files Browse the repository at this point in the history
  • Loading branch information
ssfrr committed Dec 26, 2011
1 parent 6dad442 commit ef89c31
Show file tree
Hide file tree
Showing 3 changed files with 111 additions and 74 deletions.
144 changes: 78 additions & 66 deletions Beeq.pd
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
#X obj 36 425 outlet;
#X obj 101 57 + 1;
#X msg 101 79 button \$1 0;
#N canvas 96 488 448 475 step_led 0;
#N canvas 546 438 448 475 step_led 0;
#X obj 123 57 r \$0-triplet_step;
#X obj 116 35 r \$0-duplet_step;
#X obj 116 111 mux;
Expand Down Expand Up @@ -113,7 +113,7 @@
#X restore 105 275 pd note_led;
#X obj 484 46 r \$0-step_enable;
#X obj 506 68 r \$0-step;
#X obj 506 91 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
#X obj 506 91 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X msg 506 111 button \$1 1;
#X text 449 22 blink button 1 when running;
Expand Down Expand Up @@ -147,7 +147,7 @@
#X connect 9 0 6 0;
#X restore 497 264 pd refresh_step_leds;
#X obj 487 215 s \$0-led_outlet;
#N canvas 0 0 345 239 step_update 1;
#N canvas 116 597 345 239 step_update 0;
#X obj 114 63 r \$0-sequence_type_triplet;
#X obj 45 118 resetstepled;
#X obj 45 38 r \$0-update_step;
Expand Down Expand Up @@ -175,30 +175,33 @@
#X connect 20 0 19 0;
#X connect 22 0 21 0;
#X restore 129 68 pd led_control;
#N canvas 238 127 574 441 handle_pad_velocity 0;
#X obj 73 40 inlet;
#X obj 73 96 moses 16;
#X obj 254 367 s \$0-step_select;
#X obj 254 346 pack f f;
#X obj 118 260 r \$0-sequence_type_triplet;
#X obj 73 285 pad2step;
#X obj 299 119 != 0;
#X obj 180 121 r \$0-step_select;
#X obj 180 144 unpack f f;
#X obj 180 171 == 0;
#X obj 96 145 - 16;
#X obj 73 70 unpack f f;
#X obj 96 172 pack f f;
#X obj 135 224 s \$0-note;
#X obj 135 201 spigot 1;
#X obj 141 121 != 0;
#X obj 141 146 * 150;
#X text 191 199 allow notes through if we don't have a step selected
#N canvas 186 127 626 441 handle_pad_velocity 0;
#X obj 117 13 inlet;
#X obj 117 69 moses 16;
#X obj 298 360 s \$0-step_select;
#X obj 298 319 pack f f;
#X obj 162 233 r \$0-sequence_type_triplet;
#X obj 117 258 pad2step;
#X obj 343 92 != 0;
#X obj 224 94 r \$0-step_select;
#X obj 224 117 unpack f f;
#X obj 224 144 == 0;
#X obj 140 118 - 16;
#X obj 117 43 unpack f f;
#X obj 140 145 pack f f;
#X obj 179 197 s \$0-note;
#X obj 179 174 spigot 1;
#X obj 185 94 != 0;
#X obj 185 119 * 150;
#X text 235 172 allow notes through if we don't have a step selected
;
#X obj 168 359 doubletap 500;
#X obj 168 382 s \$0-set_seq_length;
#X connect 0 0 11 0;
#X connect 1 0 5 0;
#X connect 1 1 10 0;
#X connect 3 0 2 0;
#X connect 3 0 18 0;
#X connect 4 0 5 1;
#X connect 5 0 3 0;
#X connect 6 0 3 1;
Expand All @@ -213,6 +216,7 @@
#X connect 14 0 13 0;
#X connect 15 0 16 0;
#X connect 16 0 12 1;
#X connect 18 0 19 0;
#X restore 124 284 pd handle_pad_velocity;
#N canvas 265 111 496 338 handle_pad_continuous 0;
#X obj 147 13 inlet;
Expand Down Expand Up @@ -248,57 +252,65 @@
#X connect 5 0 1 0;
#X connect 8 0 9 0;
#X restore 33 59 pd manta_interface;
#N canvas 97 77 414 374 step_counter 0;
#X obj 23 207 f 0;
#X obj 51 206 mod 3;
#X obj 52 184 + 1;
#X obj 23 233 select 0;
#X obj 116 204 f 0;
#X obj 145 181 + 1;
#X obj 116 230 select 0;
#X obj 144 203 mod 4;
#N canvas 97 77 439 486 step_counter 0;
#X obj 72 188 f 0;
#X obj 103 188 + 1;
#X text 165 42 incoming BPM is for duplet time;
#X obj 123 45 inlet;
#X obj 72 111 metro 100;
#X obj 123 89 /;
#X obj 23 279 f 0;
#X obj 51 256 + 1;
#X obj 116 279 f 0;
#X obj 144 256 + 1;
#X obj 51 278 mod 16;
#X obj 144 278 mod 12;
#X msg 123 67 10000 \$1;
#X obj 23 330 s \$0-duplet_step;
#X obj 116 305 s \$0-triplet_step;
#X obj 72 133 t b b b;
#X obj 207 183 s \$0-step;
#X obj 73 387 s \$0-duplet_step;
#X obj 131 356 s \$0-triplet_step;
#X obj 99 156 s \$0-step;
#X obj 72 14 r \$0-step_enable;
#X connect 0 0 2 0;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 2 0 1 0;
#X connect 3 0 12 0;
#X connect 4 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 7 0;
#X connect 6 0 14 0;
#X connect 7 0 4 1;
#X connect 9 0 18 0;
#X connect 10 0 21 0;
#X connect 11 0 10 1;
#X connect 12 0 13 0;
#X connect 12 0 19 0;
#X connect 13 0 16 0;
#X obj 201 72 r \$0-set_seq_length;
#X obj 216 117 r \$0-sequence_type_triplet;
#X obj 201 186 *;
#X obj 216 139 select 0 1;
#X obj 216 161 f 3;
#X obj 244 161 f 4;
#X obj 72 133 t b b;
#X text 229 185 this sets the sequence length;
#X obj 201 95 + 1;
#X obj 130 234 < 24;
#X obj 103 257 *;
#X obj 103 211 t f f;
#X obj 73 340 int;
#X obj 73 363 change;
#X obj 73 318 / 3;
#X obj 131 312 int;
#X obj 131 335 change;
#X obj 131 290 / 4;
#X connect 0 0 1 0;
#X connect 1 0 22 0;
#X connect 3 0 6 0;
#X connect 4 0 17 0;
#X connect 5 0 4 1;
#X connect 6 0 5 0;
#X connect 10 0 4 0;
#X connect 11 0 19 0;
#X connect 12 0 14 0;
#X connect 13 0 20 1;
#X connect 14 0 15 0;
#X connect 14 0 20 0;
#X connect 15 0 17 0;
#X connect 16 0 12 1;
#X connect 17 0 14 1;
#X connect 18 0 11 0;
#X connect 21 0 0 0;
#X connect 21 1 4 0;
#X connect 21 2 22 0;
#X connect 23 0 10 0;
#X connect 14 1 16 0;
#X connect 15 0 13 1;
#X connect 16 0 13 1;
#X connect 17 0 0 0;
#X connect 17 1 9 0;
#X connect 19 0 13 0;
#X connect 20 0 21 1;
#X connect 21 0 0 1;
#X connect 21 0 25 0;
#X connect 21 0 28 0;
#X connect 22 0 21 0;
#X connect 22 1 20 0;
#X connect 23 0 24 0;
#X connect 24 0 7 0;
#X connect 25 0 23 0;
#X connect 26 0 27 0;
#X connect 27 0 8 0;
#X connect 28 0 26 0;
#X restore 202 72 pd step_counter;
#N canvas 32 555 465 378 sequences 0;
#N canvas 0 0 450 300 (subpatch) 0;
Expand Down
18 changes: 10 additions & 8 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Features
* bottom 2 rows of pads are steps in the sequencer
* 16 steps for duplet sequences
* 12 steps for triplet sequences (first 6 pads of each row)
* each step holds a list of pitch/value pairs
* each step holds a pitch/value pair
* each step that has notes programmed to it is lit red
* at each step, the pad corresponding to that step lights up yellow
* at each step, any pads corresponding to a note being played lights up yellow
Expand All @@ -26,19 +26,20 @@ Features
* Pressing a note pad without pressing a step pad plays that note
* updating a step updates the step LED
* switching between duplet/triplet mode refreshes the step LEDs
* double-tapping a step pad sets that pad to be the end of the sequence
* the pad could be in a duplet or triplet sequence

ToDo
====
* double-tapping a step pad sets that pad to be the end of the sequence
* the pad could be in a duplet or triplet sequence
* the last step in the sequence is lit yellow
* if the last step has notes assigned, it blinks yellow/red
* changing channels updates the step LEDs
* Slider 1 controls which page of the sequence is being edited
* changing the page updates the step LEDs
* Slider 0 controls which channel is being edited
* changing channels updates the step LEDs
* each step can have multiple notes assigned to it (polyphony)
* when a step pad (bottom two rows) is touched, all notes in that step
light up yellow
* Slider 0 controls which channel is being edited
* Slider 1 controls which page of the sequence is being edited
* the last step in the sequence is lit yellow
* if the last step has notes assigned, it blinks yellow/red

Data Structures
===============
Expand All @@ -50,3 +51,4 @@ Data Structures

Known Issues
============
* LEDs don't light up properly when step length is 1 (duplet or triplet)
23 changes: 23 additions & 0 deletions doubletap.pd
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#N canvas 0 0 361 275 10;
#X obj 62 14 inlet;
#X obj 56 181 outlet;
#X obj 56 159 spigot 0;
#X obj 101 134 f 0;
#X obj 72 135 f 1;
#X obj 101 111 delay \$1;
#X text 120 91 double-tap window is configurable;
#X obj 62 85 t b f b;
#X obj 62 62 spigot;
#X obj 62 37 unpack f f;
#X text 133 36 step number \, status;
#X connect 0 0 9 0;
#X connect 2 0 1 0;
#X connect 3 0 2 1;
#X connect 4 0 2 1;
#X connect 5 0 3 0;
#X connect 7 0 4 0;
#X connect 7 1 2 0;
#X connect 7 2 5 0;
#X connect 8 0 7 0;
#X connect 9 0 8 0;
#X connect 9 1 8 1;

0 comments on commit ef89c31

Please sign in to comment.