Skip to content

Commit

Permalink
added drumseq, channel strip, & seqtable guis; added sample & savesta…
Browse files Browse the repository at this point in the history
…te gui wrappers; updated tabdump & tabset to use array objects; u_savestate: added prepare message; added p_ path objects; added various m_ conversion objects; added tap tempo and uzi objects
  • Loading branch information
danomatika committed Nov 28, 2016
1 parent 0373cdc commit 0ff22a6
Show file tree
Hide file tree
Showing 57 changed files with 11,688 additions and 643 deletions.
50 changes: 27 additions & 23 deletions rc/OVERVIEW.pd
@@ -1,26 +1,25 @@
#N canvas 219 132 256 396 10;
#N canvas 0 22 683 629 \$0-overview 0;
#X text 250 45 - demultiplex from 1 inlet between 2 outlets;
#X obj 100 45 u_demux2;
#X text 250 90 - convert a list into a symbol;
#X obj 100 90 u_list2symbol;
#X text 250 135 - calculate the arithmetic mean of a list;
#X obj 100 135 u_listmean;
#X text 250 180 - multiplex between 2 inlets to 1 outlet;
#X obj 100 180 u_mux2;
#X text 250 225 - set the contents of a table via a list;
#X obj 100 225 u_tabset;
#X restore 72 285 pd \$0-overview;
#X text 52 314 Help-click any object to;
#X text 52 333 open the help file!;
#N canvas 219 132 256 413 10;
#N canvas 0 23 683 629 \$0-overview 0;
#X text 250 45 - checks if a path is absolute or relative;
#X obj 100 45 p_absolute;
#X text 250 90 - get the last component of the path aka "basename"
;
#X obj 100 90 p_basename;
#X text 250 135 - make sure paths are absolute;
#X obj 100 135 p_makeabsolute;
#X text 250 180 - split a filename into dir and base names;
#X obj 100 180 p_splitfilename;
#X restore 72 305 pd \$0-overview;
#X text 52 334 Help-click any object to;
#X text 52 353 open the help file!;
#X msg 72 86 _ Synths;
#X msg 72 64 _ Analysis;
#X msg 72 108 _ Effects;
#X msg 72 130 _ GUIs;
#X msg 72 174 _ Mappings;
#X msg 72 196 _ Controllers;
#X msg 72 218 _ Utilities;
#X msg 72 240 _ clear;
#X msg 72 238 _ Utilities;
#X msg 72 260 _ clear;
#N canvas 306 178 664 294 open 0;
#X obj 78 15 inlet;
#X msg 164 106 s;
Expand All @@ -31,7 +30,7 @@
#X msg 118 106 a;
#X msg 264 111 g;
#X obj 78 39 list split 1;
#N canvas 337 123 805 747 dump 0;
#N canvas 337 27 805 747 dump 0;
#X obj 94 243 textfile;
#X obj 94 337 t a b;
#X obj 128 411 f;
Expand Down Expand Up @@ -100,10 +99,11 @@ GOP objects so they don't overlap with following objects.;
#X connect 26 0 2 0;
#X restore 118 214 pd dump;
#X obj 118 172 t a;
#X msg 507 110 clear;
#X msg 547 110 clear;
#X msg 360 110 n;
#X obj 118 63 select Analysis Synths Effects GUIs Mappings Networking
Controllers Utilities clear;
Controllers Utilities Paths clear;
#X msg 504 109 p;
#X connect 0 0 8 0;
#X connect 1 0 10 0;
#X connect 2 0 10 0;
Expand All @@ -124,12 +124,15 @@ Controllers Utilities clear;
#X connect 13 5 12 0;
#X connect 13 6 4 0;
#X connect 13 7 5 0;
#X connect 13 8 11 0;
#X restore 72 262 pd open objects;
#X connect 13 8 14 0;
#X connect 13 9 11 0;
#X connect 14 0 10 0;
#X restore 72 282 pd open objects;
#X text 55 38 Select section to read:;
#X text 55 15 rc-patches Reference;
#X text 42 358 Adapted from the rjlib OVERVIEW;
#X text 42 378 Adapted from the rjlib OVERVIEW;
#X msg 72 152 _ Networking;
#X msg 72 217 _ Paths;
#X connect 3 0 11 0;
#X connect 4 0 11 0;
#X connect 5 0 11 0;
Expand All @@ -139,3 +142,4 @@ Controllers Utilities clear;
#X connect 9 0 11 0;
#X connect 10 0 11 0;
#X connect 15 0 11 0;
#X connect 16 0 11 0;
2 changes: 2 additions & 0 deletions rc/c.txt
@@ -1,9 +1,11 @@
c_autospigot - pass a signal only if it's above an amplitude threshold
c_bus2 - create a named stereo audio bus
c_frombus2 - receive from a named stereo audio bus
c_taptempo - tap tempo calculator
c_tobus2 - send to a named stereo audio bus
c_midiplay - midifile player (requires mrpeach [midifile])
c_nstep - arbitrary length bang sequence player
c_playlist - manage a playlist from a text file
c_qseq - sequencer interface to qlist
c_spigot - toggle a signal without clicking
c_uzi - send a specified number of bangs as fast as possible
193 changes: 99 additions & 94 deletions rc/c_midiplay-help.pd
@@ -1,105 +1,105 @@
#N canvas 222 49 1 1 10;
#N canvas 566 324 898 520 10;
#N canvas 112 97 487 481 REFERENCE 0;
#X text 24 31 Name: [c_midiplay];
#X text 24 51 Summary: plays back a midi file to the internal midi
objects \, settable the bpm and pos;
#X text 24 283 Outlet 1: bangs on end of file;
#X text 24 434 Tags: midi \, playback \, sequencing;
#X text 24 91 Argument 0: <symbol> optional file to open on creation
;
#X text 24 400 See also: [midifile] [c_seqplay] [c_nstep];
#X text 24 122 Inlet 0: <float> - start stop playback \, "open" <symbol>
- open a midi file \, "reopen" - reopen the current file \, "rewind"
- rewind to file start \, "set" <float> - set the tick pos;
#X text 24 191 Inlet 1: "bpm" <float> - beats per minute \, "loop"
#X text 24 171 Inlet 1: "bpm" <float> - beats per minute \, "loop"
<float> - loop the midi file (0-1);
#X text 24 232 Outlet 0: current tick \, these aren't midi ticks but
calculated from # midi ticks per beat / number beats per measure;
#X text 24 311 Description: This is a convenience wrapper around mrpeach
#X text 24 301 Description: This is a convenience wrapper around mrpeach
[midifile] and thus requires the mrpeach external. It sends to the
internal pd midi input objects ([notein] [ctlin] etc) for you. The
bpm is calculated from the file tempo info. If the file has no bpm
and/or time sig \, then 120 & 4/4 are used as per the MIDI file specification.
;
#X text 24 273 Outlet 1: bangs on end of file \, time signature info
\, and bpm;
#X text 24 222 Outlet 0: current tick \, 4 ticks per beat calculated
from the # of midi ticks per quarter note;
#X text 24 102 Inlet 0: <float> - start stop playback \, "open" <symbol>
- open a midi file \, "reopen" - reopen the current file \, "rewind"
- rewind to file start \, "pos" <float> - set & output tick pos \,
"set" <float> - set the tick pos;
#X coords 0 -1 1 1 450 450 1 10 10;
#X restore 5 48 pd REFERENCE;
#X obj 5 18 cnv 15 450 20 empty empty empty 20 12 0 14 -261234 -66577
0;
#X text 468 51 Example:;
#X obj 499 440 soundoutput;
#X text 467 51 Example:;
#X obj 502 440 soundoutput;
#X text 495 488 rc-patches (https://github.com/danomatika/rc-patches)
- 2013;
#X obj 489 79 tgl 15 0 empty empty run 17 7 0 10 -262144 -1 -1 1 1
#X obj 507 79 tgl 15 0 empty empty run 17 7 0 10 -262144 -1 -1 0 1
;
#X msg 556 155 reopen;
#X floatatom 542 304 5 0 0 1 ticks - -, f 5;
#X obj 695 336 bng 15 250 50 0 empty empty end 17 7 0 10 -262144 -1
#X msg 559 155 reopen;
#X floatatom 545 304 5 0 0 1 ticks - -, f 5;
#X obj 698 336 bng 15 250 50 0 empty empty end 17 7 0 10 -262144 -1
-1;
#X obj 695 207 g_hsl bpm 80 200;
#X msg 564 184 rewind;
#X text 613 184 rewind to start;
#X obj 695 242 g_tgl loop;
#X floatatom 577 220 5 0 0 1 tick_pos - -, f 5;
#X msg 480 199 bang;
#X obj 542 46 openpanel;
#X msg 542 127 open \$1;
#X msg 577 244 set \$1;
#X obj 740 365 unpack 0 0 0 0;
#X floatatom 740 398 3 0 0 1 / - -, f 3;
#X floatatom 769 398 3 0 0 1 - - -, f 3;
#X obj 695 306 route bang time_sig bpm;
#X floatatom 785 337 5 0 0 1 bpm - -, f 5;
#N canvas 871 314 349 330 show 0;
#X obj 161 28 inlet;
#X obj 34 27 inlet;
#X msg 61 109 reset;
#X obj 34 191 sel 0;
#X obj 34 139 u_count 32;
#X obj 34 166 mod 4;
#X obj 34 223 u_count 4;
#X obj 61 83 sel 0;
#X obj 34 57 t b a;
#X obj 161 62 unpack f f;
#X obj 161 95 *;
#X obj 34 252 sel 0;
#X obj 34 296 outlet;
#X obj 86 296 outlet;
#X text 132 137 count # ticks per beat;
#X text 110 222 count # beats per measure;
#X text 44 4 this is kinda hacky \, but it seems to work;
#X connect 0 0 9 0;
#X connect 1 0 8 0;
#X connect 2 0 4 0;
#X connect 2 0 6 0;
#X connect 3 0 6 0;
#X connect 4 0 5 0;
#X connect 5 0 3 0;
#X connect 6 0 11 0;
#X connect 7 0 2 0;
#X connect 8 0 4 0;
#X connect 8 1 7 0;
#X connect 9 0 10 0;
#X connect 9 0 6 1;
#X connect 9 0 5 1;
#X connect 9 1 10 1;
#X connect 10 0 4 1;
#X connect 11 0 12 0;
#X connect 11 1 13 0;
#X restore 542 330 pd show beat;
#X obj 740 424 pack f f;
#X obj 542 359 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
#X obj 698 207 g_hsl bpm 80 200;
#X msg 613 155 rewind;
#X text 662 155 rewind to start;
#X obj 698 242 g_tgl loop;
#X floatatom 618 229 5 0 0 1 cur_pos - -, f 5;
#X msg 481 211 bang;
#X obj 545 46 openpanel;
#X msg 545 127 open \$1;
#X msg 618 247 set \$1;
#X obj 743 365 unpack 0 0 0 0;
#X floatatom 743 398 3 0 0 1 / - -, f 3;
#X floatatom 772 398 3 0 0 1 - - -, f 3;
#X obj 698 306 route bang time_sig bpm;
#X floatatom 788 337 5 0 0 1 bpm - -, f 5;
#N canvas 770 363 414 357 show 0;
#X obj 88 82 unpack f f;
#X obj 34 328 outlet;
#X obj 61 299 outlet;
#X obj 61 270 sel 0;
#X obj 34 214 sel 0;
#X obj 61 137 *;
#X obj 88 54 inlet time sig;
#X obj 34 27 inlet ticks;
#X text 96 161 ticks per measure;
#X text 124 216 ticks per beat;
#X text 240 82 8th notes are 2 ticks;
#X text 240 106 16th notes are 1 tick;
#X text 240 127 half notes are 8 ticks;
#X text 240 148 whole notes are 16 ticks;
#X text 122 300 4/4 time is 16 ticks per measure \, 4 per beat;
#X text 121 325 3/8 time is 6 ticks per measure \, 2 per beat;
#X obj 145 114 expr 4*(4/$f1);
#X text 193 53 convert from 4 beats per measure;
#X obj 61 244 mod 3;
#X obj 34 184 mod 6;
#X floatatom 88 216 5 0 0 0 - - -, f 5;
#X floatatom 61 163 5 0 0 0 - - -, f 5;
#X connect 0 0 5 0;
#X connect 0 1 16 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 4 1 18 0;
#X connect 5 0 21 0;
#X connect 6 0 0 0;
#X connect 7 0 19 0;
#X connect 16 0 20 0;
#X connect 16 0 5 1;
#X connect 18 0 3 0;
#X connect 19 0 4 0;
#X connect 20 0 18 1;
#X connect 21 0 19 1;
#X restore 545 330 pd show beat;
#X obj 743 424 pack f f;
#X obj 545 359 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 611 359 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
#X obj 614 359 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 542 23 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
#X obj 545 23 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X msg 628 75 symbol media/Fugue.mid;
#X text 796 398 time signature;
#X obj 542 277 c_midiplay media/Fugue.mid;
#X text 710 278 outputs bpm & [midifile] info;
#X msg 615 47 symbol media/billy_idol-rebel_yell.mid;
#X text 459 178 advance 1 tick;
#X msg 642 102 symbol media/test_midi.mid;
#X msg 631 75 symbol media/Fugue.mid;
#X text 799 398 time signature;
#X text 713 278 outputs bpm & [midifile] info;
#X msg 618 47 symbol media/billy_idol-rebel_yell.mid;
#X text 460 190 advance 1 tick;
#X msg 645 102 symbol media/test_midi.mid;
#N canvas 115 155 586 377 simple 0;
#X obj 11 33 notein;
#X floatatom 44 59 5 0 0 0 - - -, f 5;
Expand Down Expand Up @@ -196,21 +196,24 @@ inside c_midiplay;
#X connect 34 1 18 0;
#X connect 34 2 21 0;
#X connect 36 0 20 0;
#X restore 499 405 pd simple gm player;
#X restore 502 405 pd simple gm player;
#X text 129 21 - midifile player (requires mrpeach [midifile]);
#X text 648 127 ^ test \, has no tempo or time sig;
#X text 651 127 ^ test \, has no tempo or time sig;
#X floatatom 617 184 5 0 0 1 tick_pos - -, f 5;
#X msg 617 203 pos \$1;
#X obj 545 277 c_midiplay;
#X obj 8 20 c_midiplay;
#X connect 5 0 30 0;
#X connect 6 0 30 0;
#X connect 5 0 39 0;
#X connect 6 0 39 0;
#X connect 7 0 23 0;
#X connect 9 0 12 0;
#X connect 10 0 30 0;
#X connect 12 0 30 1;
#X connect 10 0 39 0;
#X connect 12 0 39 1;
#X connect 13 0 17 0;
#X connect 14 0 30 0;
#X connect 14 0 39 0;
#X connect 15 0 16 0;
#X connect 16 0 30 0;
#X connect 17 0 30 0;
#X connect 16 0 39 0;
#X connect 17 0 39 0;
#X connect 18 0 19 0;
#X connect 18 1 20 0;
#X connect 19 0 24 0;
Expand All @@ -223,9 +226,11 @@ inside c_midiplay;
#X connect 24 0 23 1;
#X connect 27 0 15 0;
#X connect 28 0 16 0;
#X connect 30 0 7 0;
#X connect 30 1 21 0;
#X connect 32 0 16 0;
#X connect 34 0 16 0;
#X connect 35 0 3 0;
#X connect 35 1 3 1;
#X connect 31 0 16 0;
#X connect 33 0 16 0;
#X connect 34 0 3 0;
#X connect 34 1 3 1;
#X connect 37 0 38 0;
#X connect 38 0 39 0;
#X connect 39 0 7 0;
#X connect 39 1 21 0;

0 comments on commit 0ff22a6

Please sign in to comment.