Commit 4c0ccbec authored by Roman Haefeli's avatar Roman Haefeli
Browse files

finalize help

parent 35f070be
#N canvas 3 101 705 445 10;
#X msg 539 104 vis \$1;
#X obj 539 77 tgl 20 0 empty empty empty 17 7 0 10 -204800 -1 -1 1
#N canvas 0 99 703 414 10;
#X msg 530 92 vis \$1;
#X obj 530 65 tgl 20 0 empty empty empty 17 7 0 10 -204800 -1 -1 1
1;
#X text 570 77 show GUI;
#X text 378 259 <- Container for the sequencer GUI;
#X text 561 65 show GUI;
#X obj 185 346 spigot;
#X obj 231 345 tgl 20 0 empty empty empty 17 7 0 10 -204800 -1 -1 0
1;
#X text 252 346 print editor messages;
#X obj 539 51 loadbang;
#X text 254 347 print editor messages;
#X obj 530 39 loadbang;
#N canvas 0 99 454 259 counter 0;
#X obj 21 25 inlet;
#X obj 21 81 f;
......@@ -50,7 +49,7 @@
#X obj 20 346 spigot;
#X obj 66 345 tgl 20 0 empty empty empty 17 7 0 10 -204800 -1 -1 0
1;
#X text 94 375 print notes;
#X text 89 348 print notes;
#N canvas 318 287 538 414 synth 0;
#N canvas 0 99 623 536 voice 0;
#X obj 41 288 osc~ 440;
......@@ -740,14 +739,144 @@
#X coords 0 -1 1 1 120 35 1 30 200;
#X restore 31 297 pd synth;
#X obj 185 201 r \$0.to;
#X text 419 280 arg1: name of canvas to draw interface;
#X text 410 206 arg1: name of canvas to draw interface;
#X obj 2 2 cnv 15 700 24 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 17 258 cnv 15 360 24 empty empty empty 20 12 0 14 -233017 -66577
0;
#N canvas 0 99 467 139 example.song 0;
#X obj 19 79 s \$0.to;
#N canvas 0 99 487 293 song-data-in-a-messagebox 0;
#N canvas 6 101 404 447 about 0;
#X text 17 15 unpunch - a configurable matrix sequencer;
#X text 17 45 [unpunch] is a sequencer that allows to graphically edit
MIDI-like scores on a timeline \, a.k.a piano roll sequencer. Notes
can be created and deleted \, velocity and duration can be changed
with mouse actions. Some actions are triggered by key commands. [unpunch]
has a configurable interface to make it suitable for various time signatures
and display resolutions. The complete state can be dumped for later
restoration. Thus \, it should integrates well into existing state
saving systems. It is designed for real-time synchronisation (if needed)
and can also be used in systems like netpd.;
#X text 17 205 Display;
#X text 17 215 -------;
#X text 15 321 Clock;
#X text 15 331 -----;
#X text 15 237 [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 text 17 25 -----------------------------------------;
#X restore 20 39 pd about;
#X text 12 5 unpunch - a configurable matrix sequencer;
#X text 569 374 2019 \, Roman Haefeli;
#X msg 70 224 mute;
#N canvas 139 99 581 347 configuration 0;
#X msg 78 239 redraw;
#X obj 18 300 s \$0.to;
#X text 229 89 set step height (pixel;
#X text 229 59 set step width (pixel);
#X text 229 119 set the number of steps displayed in a single page
;
#X text 229 149 set the vertical number of steps;
#X text 229 239 redraw display after having changed configuration;
#X text 229 179 set the nuumber of subdivision that fit into a division
;
#X text 229 209 set the number of steps that fit into a subdivision
;
#X msg 78 119 set stepsperpage 64;
#X msg 78 149 set pitchrange 48;
#X text 78 21 INTERFACE CONFIGURATION (sent to right inlet);
#X msg 78 179 set griddivision 4;
#X msg 78 209 set gridsubdivision 4;
#X msg 78 59 set stepviswidth 15;
#X msg 78 89 set stepvisheight 14;
#X text 78 31 -----------------------;
#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 798 440 editing 0;
#X text 7 6 NOTE CREATION AND DELETION;
#X text 7 16 --------------------------;
#X text 8 37 <Click> (on empty space): create a note;
#X text 8 57 <DoubleClick> (on note): delete note;
#X text 8 77 <Ctrl_L>+<Click> (on note): delete note;
#X text 7 296 NOTE SELECTION;
#X text 7 306 --------------;
#X text 8 327 <Shift>+<Click> (on note): toggle selection;
#X text 8 347 <Shift>+(<Click> \, <Click>) (twice on empty space):
mark a region to select all notes within region;
#X text 8 384 NOTE: Marking many regions adds notes to selection instead
of replacing current selection;
#X text 7 146 NOTE MANIPULATION;
#X text 7 156 -----------------;
#X text 8 177 Drag right end of note: change duration;
#X text 8 197 Switch property selector in top section to 'velocity'
\, 'duration' \, or 'gid'. Value appears as number on each note. Numbers
can be manipulated.;
#X text 8 97 NOTE: Defaults are set in top section (velocity \, duration
\, gid);
#X text 417 6 NOTE SELECTION MANIPULATION;
#X text 417 16 ---------------------------;
#X text 417 36 NOTE: Key commands require 'keyboard' to be toggled
on;
#X text 417 76 <Shift>+<ArrowKey>: Increase step size to 1 octave /
1 bar;
#X text 417 56 <ArrowKey>: Move selection to given direction;
#X text 417 96 <Ctrl_L>+<ArrowKey>: Make a copy while moving selection
;
#X text 417 116 NOTE: <Shift> and <Ctlr_L> modifiers can be combined
;
#X text 417 136 <Delete>: Delete selected notes;
#X text 417 156 <Escape>: Unselect all notes;
#X text 417 176 Toggle the grey bar above any default selector (velocity
\, duration \, gid) to red. Subsequent default changes are applied
immediately to the whole selection.;
#X text 8 247 Toggle the grey bar above any default selector. <Click>
on note immediately applies default value to note.;
#X text 417 326 NOTE ABOUT KEYBOARD TOGGLE;
#X text 417 336 --------------------------;
#X text 417 356 When using keyboard \, key events are received when
any Pd window has grab. In order to avoid unwanted edits and to allow
many instances of unpatch \, the keyboard toggle makes sure that at
most one instance receives key events.;
#X text 417 246 NAVIGATION;
#X text 417 256 ----------;
#X text 417 276 <Ctrl_R>+<ArrowKey>: switch view by one page/octave
;
#X restore 20 99 pd editing;
#N canvas 170 116 568 256 state 0;
#X obj 18 140 s \$0.to;
#X msg 78 88 dump;
#X msg 78 48 clear \, redraw;
#X text 179 88 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 is restored;
#X text 179 48 Clear all notes ('clear' alone only deletes all notes
internally without updating visual representation);
#X text 77 14 STATE MANAGEMENT;
#X text 77 24 ----------------;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X restore 20 129 pd state management;
#N canvas 703 99 1006 749 example-sequencer 1;
#X restore 242 261 pd example-sequencer;
#X obj 20 261 unpunch pd-example-sequencer;
#X text 397 236 inlet0: sequencer input (clock);
#X text 397 256 inlet1: editor commands and configuration;
#X text 392 286 outlet0: notes ([pitch \, velocity \, channel] tuples)
;
#X text 392 306 outlet1: dump of internal state;
#X obj 530 120 s pd-example-sequencer;
#X obj 240 99 s \$0.to;
#N canvas 0 99 449 442 song-data-in-a-messagebox 0;
#X obj 16 22 inlet;
#X obj 16 1027 outlet;
#X msg 16 48 clear \, set stepviswidth 15 \, set stepvisheight 14 \,
......@@ -820,106 +949,25 @@ restore 136 37 82 58 2 4 \, note restore 137 39 75 58 5 4 \, note restore
138 44 80 58 2 4 \, note restore 139 46 82 58 1 4 \, page 1 \,;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X restore 19 42 pd song-data-in-a-messagebox;
#X obj 19 14 bng 20 250 50 0 empty empty empty 17 7 0 10 -204786 -1
#X restore 240 69 pd song-data-in-a-messagebox;
#X obj 240 39 bng 20 250 50 0 empty empty empty 17 7 0 10 -204786 -1
-1;
#X text 42 15 load song;
#X text 263 40 load example song;
#X text 222 240 Container for the GUI:;
#X connect 0 0 34 0;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X restore 222 56 pd example.song;
#N canvas 6 101 404 447 about 0;
#X text 17 15 unpunch - a configurable matrix sequencer;
#X text 17 31 -----------------------------------------;
#X text 17 55 [unpunch] is a sequencer that allows to graphically edit
MIDI-like scores on a timeline \, a.k.a piano roll sequencer. Notes
can be created and deleted \, velocity and duration can be changed
with mouse actions. Some actions are triggered by key commands. [unpunch]
has a configurable interface to make it suitable for various time signatures
and display resolutions. The complete state can be dumped for later
restoration. Thus \, it should integrates well into existing state
saving systems. It is designed for real-time synchronisation (if needed)
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 text 12 5 unpunch - a configurable matrix sequencer;
#X text 575 413 2019 \, Roman Haefeli;
#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 4 0 12 0;
#X connect 5 0 4 1;
#X connect 7 0 1 0;
#X connect 8 0 9 0;
#X connect 9 0 31 0;
#X connect 10 0 8 0;
#X connect 14 0 13 0;
#X connect 15 0 14 1;
#X connect 18 0 31 1;
#X connect 26 0 31 0;
#X connect 31 0 14 0;
#X connect 31 0 17 0;
#X connect 31 1 4 0;
#X connect 3 0 11 0;
#X connect 4 0 3 1;
#X connect 6 0 1 0;
#X connect 7 0 8 0;
#X connect 8 0 29 0;
#X connect 9 0 7 0;
#X connect 13 0 12 0;
#X connect 14 0 13 1;
#X connect 17 0 29 1;
#X connect 24 0 29 0;
#X connect 29 0 13 0;
#X connect 29 0 16 0;
#X connect 29 1 3 0;
#X connect 36 0 35 0;
#X connect 37 0 36 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