Methods of Planning a Patch

Jul 14, 2006 at 12:46am

Methods of Planning a Patch

Ok…I guess you could say I diddn’t really plan this post but while programming in Max I consistently come across a problem of my logic getting stuck so that I can’t figure out how to do the next step of my program. I remember reading that it is best to have some sort of a ‘plan’ written out before you start programming so I tried starting out just by writing down thoughts of what I wanted to do (starting with the ideals) and then trying to work out

1) What things I want this prog to do and how I plan to do them.

2) What information you’ll need to give the user and how I plan to display it, and

3) What information I need to get from the user and how the user can best provide it.

…The problem is that often my planning is very abstract (such as I might want this subpatch to control the rhythm of this piece of hardware while another subpatch does something else etc.) and I was wondering if anybody had any advice on how to write out ‘classes’ and those sorts of things before hand just to make the actual programming a little smoother.

-C

#26791
Jul 14, 2006 at 3:16am

this is what i use

max v2;
#N vpatcher 45 136 639 449;
#P origin 97 269;
#P user hint 479 219 572 285 ‘Use the Processed Control’ 100 100 0 65535 65535 52428 9 3 0 1 0 0 0;
#P user hint 395 6 508 158 ‘Use the Processed Source’ 100 100 0 65535 65535 52428 9 3 0 1 0 0 0;
#P user hint 267 211 475 284 ‘Process the Control’ 100 100 0 65535 65535 52428 9 3 0 1 0 0 0;
#P user hint 1 202 243 278 Control 100 100 0 65535 65535 52428 9 3 0 1 0 0 0;
#P user hint 188 6 356 150 ‘Process the Source’ 100 100 0 65535 65535 52428 9 3 0 1 0 0 0;
#P user hint 11 15 166 161 Source 100 100 0 65535 65535 52428 9 3 0 1 0 0 0;
#P user ubutton 479 220 93 64 0 0;
#P hidden message 366 -108 384 196617 frgb 0 255 255 , paintpoly 472 231 552 220 552 270 472 257 472 236 , frgb 0 0 0 , moveto 478 258 , write Out , frgb 0 255 255 , linesegment 447 244 447 192 , linesegment 447 192 84 192 , linesegment 272 192 272 158 , framearc 265 158 281 192 270 180 , linesegment 84 192 84 158 , framearc 77 158 92 192 270 180;
#P user ubutton 268 212 210 69 0 0;
#P user ubutton 2 202 237 71 0 0;
#P hidden message 45 -224 311 196617 paintrect 272 220 440 270 0 255 0 , frgb 0 0 0 , moveto 280 258 , write Process , frgb 0 255 255 , linesegment 440 244 472 244 , linesegment 452 236 472 244 , linesegment 452 252 472 244;
#P hidden message 45 -170 299 196617 paintoval 10 220 240 270 0 0 255 , frgb 0 0 0 , moveto 48 258 , write Control , frgb 0 0 255 , linesegment 240 244 272 244 , linesegment 252 236 272 244 , linesegment 252 252 272 244;
#P user ubutton 187 5 170 144 0 0;
#P hidden message 45 -128 264 196617 frgb 255 255 0 , paintpoly 398 64 472 10 472 158 398 102 398 64 , frgb 0 0 0 , moveto 402 95 , write Out;
#P hidden button -58 -53 15 0;
#P hidden message 45 -98 285 196617 paintrect 192 10 360 158 0 255 0 , frgb 0 0 0 , moveto 200 95 , write Process , frgb 255 255 0 , linesegment 360 84 398 84 , linesegment 378 76 398 84 , linesegment 378 92 398 84;
#P hidden newex -124 -267 45 196617 loadbang;
#P hidden message -124 -247 265 196617 size 577 296 , local 0 , brgb 0 0 0 , clear , font Chicago 36;
#P hidden message 45 -56 284 196617 paintoval 10 10 158 158 255 0 0 , frgb 0 0 0 , moveto 18 95 , write Source , frgb 255 0 0 , linesegment 158 84 190 84 , linesegment 170 76 190 84 , linesegment 170 92 190 84;
#P user ubutton 8 12 161 153 0 0;
#P user ubutton 395 6 109 146 0 0;
#P user lcd 1 1 577 296 0 0 0 0 0;
#P hidden connect 5 0 4 0;
#P hidden connect 7 0 4 0;
#P hidden connect 14 0 0 0;
#P hidden connect 3 0 0 0;
#P hidden connect 4 0 0 0;
#P hidden connect 6 0 0 0;
#P hidden connect 8 0 0 0;
#P hidden connect 10 0 0 0;
#P hidden connect 11 0 0 0;
#P hidden connect 13 1 11 0;
#P hidden connect 12 1 10 0;
#P hidden connect 1 1 8 0;
#P hidden connect 9 1 6 0;
#P hidden connect 2 1 3 0;
#P hidden connect 15 1 14 0;
#P pop;

it takes all of us
LoneMonad

http://faculty.roosevelt.edu/malone/downloads.htm

#80534
Jul 14, 2006 at 5:15am

ok….looked at the patch….don’t get it.

#80535
Jul 14, 2006 at 7:11am

Coffee, aderol, Beethoven’s 9th… that should get you started…

#80536
Jul 14, 2006 at 5:15pm

> 1) What things I want this prog to do and how I plan to do them.

> 2) What information you’ll need to give the user and how I plan to display it, and

> 3) What information I need to get from the user and how the user can best provide it.

you should not start with the GUI, though this is what most
people do and it can work for a fun project.
what could be done before making a software is creating
a socalled “machine model”, some kind of graphical layout
which shows off the most basic logical connections between
parts of the DSP or message system. – so that you do not
forget one part later on.

i must say i dont feel it is neccessary in an object
orientated enviroment like maxmsp .. or visual basic.

having one in mind can help you of course to find out
at which points to make abstractions and subpatches.
where are the modules and where are the interfaces
between them can be an important question in a music
app development process.

#80537

You must be logged in to reply to this topic.