[PD] First time PD troubles: A programmers confusion.

Andy Farnell padawan12 at obiwannabe.co.uk
Fri Nov 9 12:46:19 CET 2007

On Thu, 8 Nov 2007 15:12:19 -0600
Timothy Sikes <trs164 at hotmail.com> wrote:

> HiFirst of all, this is my first email to this email group, so, I want to 
> make sure that asking 'newb' questions is okay, and that this would be the
> place to email those 'newb' questions.

Welcome Tim,

Certainly you can ask noob questions, it's what the list is for
and things are pretty friendly here, you won't get any RTFM nonsense
unless the question is a really obvious FAQ that you would find with
a simple Google search.

> I went through the documentation, and just got confused. 

Out of interest, which documentation are you refering to? 
Some of it is for reference and is rather terse, like any
programming language I suppose. 

> Next, I tried to find some basic tutorials on the web with no avail. 

I have written some new tutorials which are very basic, hopefully 
I'll get time to web publish them ahead of the textbook from which
they are taken. Meanwhile have another look because there are
several others here on this list who have written excellent tuts.
The Pd community is currently in a phase of intensive documentation
and reordering existing stuff with a new multi-language wiki. Try
using different search terms such as "Puredata tutorials" and
"Pd tutorials". "Pure data" (two words) tends to lead to poor results.
There's also a searchable forum with lots of beginner questions

> Finally, I looked at the examples that came with the installation. 
> These were by far the best introduction to PD, and I understood them...

Yes they are well thought out and simple. Don't forget that you can access
help on any object by right clicking it and choosing "help".

> Until I got to the flow of control ones.  It's the one where the counter
> counts up to ten, then stops, with another that is a counter that goes up by
>  one, and you clear it by pressing the -1 button. Remember, I program,  so
> if it could be explained as if I were programming, that would probably help me.

Dataflow is a programing language, but rarely do any tutorials take the longest
view and step back to explain it in detail. It is a bit like the "canned loop" you
get in GUI frameworks, an event driven system where the entire ensemble of
objects is periodically evaluated.

> I don't understand what the term 'bang' refers to in these examples,

A bang is a message. It is a most primitive message that just means
"compute something". A bang causes the object that receives it to update
its state, which usually means outputing its current value or moving
to its next state.

> along with why certain 'inlets' connect to certain 'outlets',  or the
> flow of control in the programs

Stop thinking about flow of control so much and think about flow of data
In visual dataflow programs each box is an object. From an OO point of
view you can think of objects as things that only have methods which
take data and only return values that are data. Data drives everything.

> where the 'count' variable is and how to manipulate it.

The count "variable" is an internal part of the [float] object. 
You can't read it directly except by banging the float which accesses
a method to retrieve the current value.

Don't be afraid to ask more questions. Like all languages doing it
practically will cement the principles in place. The curve is quite
steep, however you will find that after a few weeks it all suddenly falls
into place rather quickly.

Use the source

More information about the Pd-list mailing list