Commit 35f070be authored by Roman Haefeli's avatar Roman Haefeli
Browse files

refine help-patch

parent fb1b34b4
#N canvas 3 101 705 445 10; #N canvas 3 101 705 445 10;
#X obj 539 132 s pd-My_Happy_Sequencer;
#X msg 539 104 vis \$1; #X msg 539 104 vis \$1;
#X obj 539 77 tgl 20 0 empty empty empty 17 7 0 10 -204800 -1 -1 1 #X obj 539 77 tgl 20 0 empty empty empty 17 7 0 10 -204800 -1 -1 1
1; 1;
#X text 570 77 show GUI; #X text 570 77 show GUI;
#X text 386 259 <- Container for the sequencer GUI; #X text 378 259 <- Container for the sequencer GUI;
#X obj 191 346 spigot; #X obj 185 346 spigot;
#X obj 237 345 tgl 20 0 empty empty empty 17 7 0 10 -204800 -1 -1 0 #X obj 231 345 tgl 20 0 empty empty empty 17 7 0 10 -204800 -1 -1 0
1; 1;
#X text 258 346 print editor messages; #X text 252 346 print editor messages;
#X obj 539 51 loadbang; #X obj 539 51 loadbang;
#N canvas 0 99 454 259 counter 0; #N canvas 0 99 454 259 counter 0;
#X obj 21 25 inlet; #X obj 21 25 inlet;
...@@ -40,13 +39,13 @@ ...@@ -40,13 +39,13 @@
#X connect 12 0 13 0; #X connect 12 0 13 0;
#X connect 13 0 11 0; #X connect 13 0 11 0;
#X coords 0 -1 1 1 111 14 2 200 100; #X coords 0 -1 1 1 111 14 2 200 100;
#X restore 20 215 pd counter; #X restore 20 195 pd counter;
#X obj 20 232 nbx 3 18 0 9999 0 0 empty empty empty 0 -8 0 10 -204786 #X obj 20 212 nbx 3 18 0 9999 0 0 empty empty empty 0 -8 0 10 -204786
-1 -1 0 256; -1 -1 0 256;
#X obj 20 191 tgl 20 0 empty empty empty 17 7 0 10 -261682 -1 -1 0 #X obj 20 171 tgl 20 0 empty empty empty 17 7 0 10 -261682 -1 -1 0
1; 1;
#X text 43 191 turn on/off clock; #X text 43 171 turn on/off clock;
#X obj 191 375 print EDITOR; #X obj 185 375 print EDITOR;
#X obj 20 375 print NOTES; #X obj 20 375 print NOTES;
#X obj 20 346 spigot; #X obj 20 346 spigot;
#X obj 66 345 tgl 20 0 empty empty empty 17 7 0 10 -204800 -1 -1 0 #X obj 66 345 tgl 20 0 empty empty empty 17 7 0 10 -204800 -1 -1 0
...@@ -740,117 +739,12 @@ ...@@ -740,117 +739,12 @@
#X connect 22 0 15 0; #X connect 22 0 15 0;
#X coords 0 -1 1 1 120 35 1 30 200; #X coords 0 -1 1 1 120 35 1 30 200;
#X restore 31 297 pd synth; #X restore 31 297 pd synth;
#X obj 191 201 r \$0.to; #X obj 185 201 r \$0.to;
#N canvas 170 116 645 392 note.manipulation 0;
#X obj 18 190 s \$0.to;
#X msg 78 38 note create 4 65 80 12 0;
#X text 77 14 NOTE MANIPULATION;
#X msg 78 68 note change duration 4 65 16;
#X msg 78 98 note change velocity 4 65 120;
#X msg 78 128 note change gid 4 65 1;
#X text 279 38 create a note with [step \, pitch \, velocity \, duration
\, gid];
#X text 279 68 change a note's duration [step \, pitch \, duration]
;
#X text 279 98 chage a note's velocity [step \, pitch \, velocity]
;
#X text 279 128 change a note's group [step \, pitch \, gid];
#X text 279 158 delete a note [step \, pitch];
#X msg 78 158 note delete 4 65;
#X text 82 228 step: denotes the temporal position of the note (0 -
inf);
#X text 82 248 pitch: refers to the MIDI pitch (0 - 127);
#X text 82 268 duration: period between note-on and note-off (1 - inf)
;
#X text 82 288 velocity: (1 -127) for note-on \, 0 for note-off;
#X text 82 308 gid: group id relevant for editing (0 -5);
#X connect 1 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 11 0 0 0;
#X restore 20 129 pd note.manipulation;
#N canvas 141 99 986 324 manual 0;
#X text 15 11 Display;
#X text 15 21 -------;
#X text 15 161 Clock;
#X text 15 171 -----;
#X text 14 190 For most flexible use \, [unpunch] doesn't have an internal
clock \, but is driven by an external clock sent to its right inlet.
The most simple clock is a counter counting upwards in regular intervals.
Loops are played by inserting a modulo into the counter. Note that
all active notes are muted when a jump in the clock occurs in order
to avoid hanging notes.;
#X text 15 40 [unpunch] draws its graphical interface to a canvas whose
name is specified as first argument to [unpunch] and which can be an
another patch \, abstraction \, or subpatch. In any case \, the canvas
should be empty as it will be cleared during redraws.;
#X text 15 107 The visual representation and the internal state are
decoupled \, so representation can be changed while keeping existing
notes intact.;
#X text 419 13 Note creation and deletion;
#X text 420 24 --------------------------;
#X text 420 39 Notes are created by clickingon any empty field with
defaults as configured in the upper section. Notes are deleted either
by double-clicking them or by Ctrl_L-click.;
#X restore 20 69 pd manual;
#X text 419 280 arg1: name of canvas to draw interface; #X text 419 280 arg1: name of canvas to draw interface;
#X text 406 310 inlet0: editor commands and configuration;
#X text 406 330 inlet1: sequencer input (clock);
#X text 401 360 outlet0: generated edit commands (mouse actions);
#X text 401 380 outlet1: notes ([pitch \, velocity] tuples);
#N canvas 169 115 628 440 interface.configuration 0;
#X msg 78 229 redraw;
#X obj 18 300 s \$0.to;
#X text 229 79 set step height (pixel;
#X text 229 49 set step width (pixel);
#X text 229 109 set the number of steps displayed in a single page
;
#X text 229 139 set the vertical number of steps;
#X text 229 229 redraw display after having changed configuration;
#X text 229 169 set the nuumber of subdivision that fit into a division
;
#X text 229 199 set the number of steps that fit into a subdivision
;
#X text 229 259 switch display to page with given number (starting
at 0) [implies a redraw of display];
#X msg 78 259 page 3;
#X msg 78 109 set stepsperpage 64;
#X msg 78 139 set pitchrange 48;
#X text 78 21 INTERFACE CONFIGURATION;
#X msg 78 169 set griddivision 5;
#X msg 78 199 set gridsubdivision 6;
#X msg 78 79 set stepvisheight 12;
#X msg 78 49 set stepviswidth 9;
#X connect 0 0 1 0;
#X connect 10 0 1 0;
#X connect 11 0 1 0;
#X connect 12 0 1 0;
#X connect 14 0 1 0;
#X connect 15 0 1 0;
#X connect 16 0 1 0;
#X connect 17 0 1 0;
#X restore 20 99 pd interface.configuration;
#X obj 2 2 cnv 15 700 24 empty empty empty 20 12 0 14 -233017 -66577 #X obj 2 2 cnv 15 700 24 empty empty empty 20 12 0 14 -233017 -66577
0; 0;
#X obj 17 258 cnv 15 360 24 empty empty empty 20 12 0 14 -233017 -66577 #X obj 17 258 cnv 15 360 24 empty empty empty 20 12 0 14 -233017 -66577
0; 0;
#X obj 20 261 unpunch pd-My_Happy_Sequencer;
#N canvas 711 99 1006 749 My_Happy_Sequencer 1;
#X restore 242 261 pd My_Happy_Sequencer;
#N canvas 170 116 568 256 misc 0;
#X obj 18 130 s \$0.to;
#X text 77 14 MISC METHODS;
#X msg 78 38 clear \, redraw;
#X text 179 38 clear all notes ('clear' alone only deletes all notes
internally without updating visual representation);
#X msg 78 78 dump;
#X text 179 78 dump complete state as a set of messages. If the set
of messages is later sent back to [unpunch] in the same order \, the
complete state can be restored;
#X connect 2 0 0 0;
#X connect 4 0 0 0;
#X restore 20 159 pd misc;
#N canvas 0 99 467 139 example.song 0; #N canvas 0 99 467 139 example.song 0;
#X obj 19 79 s \$0.to; #X obj 19 79 s \$0.to;
#N canvas 0 99 487 293 song-data-in-a-messagebox 0; #N canvas 0 99 487 293 song-data-in-a-messagebox 0;
...@@ -933,7 +827,7 @@ restore 136 37 82 58 2 4 \, note restore 137 39 75 58 5 4 \, note restore ...@@ -933,7 +827,7 @@ restore 136 37 82 58 2 4 \, note restore 137 39 75 58 5 4 \, note restore
#X connect 1 0 0 0; #X connect 1 0 0 0;
#X connect 2 0 1 0; #X connect 2 0 1 0;
#X restore 222 56 pd example.song; #X restore 222 56 pd example.song;
#N canvas 169 115 431 217 about 0; #N canvas 6 101 404 447 about 0;
#X text 17 15 unpunch - a configurable matrix sequencer; #X text 17 15 unpunch - a configurable matrix sequencer;
#X text 17 31 -----------------------------------------; #X text 17 31 -----------------------------------------;
#X text 17 55 [unpunch] is a sequencer that allows to graphically edit #X text 17 55 [unpunch] is a sequencer that allows to graphically edit
...@@ -942,25 +836,90 @@ can be created and deleted \, velocity and duration can be changed ...@@ -942,25 +836,90 @@ can be created and deleted \, velocity and duration can be changed
with mouse actions. Some actions are triggered by key commands. [unpunch] with mouse actions. Some actions are triggered by key commands. [unpunch]
has a configurable interface to make it suitable for various time signatures has a configurable interface to make it suitable for various time signatures
and display resolutions. The complete state can be dumped for later and display resolutions. The complete state can be dumped for later
restoration and it integrates well in existing state saving systems. restoration. Thus \, it should integrates well into existing state
It is designed for real-time synchronisation (if needed) and can also saving systems. It is designed for real-time synchronisation (if needed)
be used in systems like netpd.; and can also be used in systems like netpd.;
#X text 15 211 Display;
#X text 15 221 -------;
#X text 15 321 Clock;
#X text 15 331 -----;
#X text 15 241 [unpunch] draws its graphical interface to an empty(!)
canvas whose name is specified as first argument to [unpunch]. The
visual representation and the internal state are decoupled \, so the
representation can be changed while keeping existing notes intact.
;
#X text 14 350 For most flexible use \, [unpunch] requires an external
clock to drive the internal sequencer. Note that all active notes are
muted when a jump in the clock occurs \, in order to avoid hanging
notes.;
#X restore 20 39 pd about; #X restore 20 39 pd about;
#X text 12 5 unpunch - a configurable matrix sequencer; #X text 12 5 unpunch - a configurable matrix sequencer;
#X text 575 413 2019 \, Roman Haefeli; #X text 575 413 2019 \, Roman Haefeli;
#X msg 69 234 mute; #X msg 70 224 mute;
#N canvas 169 115 628 440 configuration 0;
#X msg 78 229 redraw;
#X obj 18 300 s \$0.to;
#X text 229 79 set step height (pixel;
#X text 229 49 set step width (pixel);
#X text 229 109 set the number of steps displayed in a single page
;
#X text 229 139 set the vertical number of steps;
#X text 229 229 redraw display after having changed configuration;
#X text 229 169 set the nuumber of subdivision that fit into a division
;
#X text 229 199 set the number of steps that fit into a subdivision
;
#X msg 78 109 set stepsperpage 64;
#X msg 78 139 set pitchrange 48;
#X text 78 21 INTERFACE CONFIGURATION (sent to right inlet);
#X msg 78 169 set griddivision 4;
#X msg 78 199 set gridsubdivision 4;
#X msg 78 49 set stepviswidth 15;
#X msg 78 79 set stepvisheight 14;
#X connect 0 0 1 0;
#X connect 9 0 1 0;
#X connect 10 0 1 0;
#X connect 12 0 1 0;
#X connect 13 0 1 0;
#X connect 14 0 1 0;
#X connect 15 0 1 0;
#X restore 20 69 pd configuration;
#N canvas 141 99 603 335 editing 0;
#X restore 20 99 pd editing;
#N canvas 170 116 568 256 state 0;
#X obj 18 130 s \$0.to;
#X text 77 14 MISC METHODS;
#X text 179 38 clear all notes ('clear' alone only deletes all notes
internally without updating visual representation);
#X msg 78 78 dump;
#X text 179 78 dump complete state as a set of messages. If the set
of messages is later sent back to [unpunch] in the same order \, the
complete state can be restored;
#X msg 78 38 clear \, redraw;
#X connect 3 0 0 0;
#X connect 5 0 0 0;
#X restore 20 129 pd state management;
#N canvas 711 99 1006 749 example-sequencer 1;
#X restore 242 261 pd example-sequencer;
#X obj 20 261 unpunch pd-example-sequencer;
#X text 406 310 inlet0: sequencer input (clock);
#X text 406 330 inlet1: editor commands and configuration;
#X text 401 360 outlet0: notes ([pitch \, velocity \, channel] tuples)
;
#X text 401 380 outlet1: dump of internal state;
#X obj 539 132 s pd-example-sequencer;
#X connect 0 0 36 0;
#X connect 1 0 0 0; #X connect 1 0 0 0;
#X connect 2 0 1 0; #X connect 4 0 12 0;
#X connect 5 0 13 0; #X connect 5 0 4 1;
#X connect 6 0 5 1; #X connect 7 0 1 0;
#X connect 8 0 2 0; #X connect 8 0 9 0;
#X connect 9 0 10 0; #X connect 9 0 31 0;
#X connect 10 0 30 0; #X connect 10 0 8 0;
#X connect 11 0 9 0; #X connect 14 0 13 0;
#X connect 15 0 14 0; #X connect 15 0 14 1;
#X connect 16 0 15 1; #X connect 18 0 31 1;
#X connect 19 0 30 1; #X connect 26 0 31 0;
#X connect 30 0 15 0; #X connect 31 0 14 0;
#X connect 30 0 18 0; #X connect 31 0 17 0;
#X connect 30 1 5 0; #X connect 31 1 4 0;
#X connect 37 0 30 0;
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment