Errata

Programming Interactivity

Errata for Programming Interactivity

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
Other Digital Version location 1526
Sentence starts with "Mathematical operators work pretty much as expected..."

(Kindle version location 1526 - sorry but no page numbers...)

I am a newbie and was wondering if there should be a semicolon at the end of the line that reads?

int aples = 5

Like this?
int apples = 5;

Thanks for the great instruction!!!

Darren Koepp  Apr 25, 2011 
Printed Page xvii
4th paragraph

In the preface, it states that all code included in the book are available for download from the companion website (http://www.oreilly.com/catalog/9780596154141); however, the sample code zip file only includes a handful of code (examples from chapters 13 & 14 and a few others). Where can I find the full download with all the code?

jiwon paik  Jul 20, 2011 
Printed Page 28
String paragraph

string is mentioned here as a simple type in c++. This is not correct. in C++ string is a class. This can be confusing for instance by trying out the examples on p. 139 and p. 147, where you have to #include <string> before they will work. Using strings as a simple type goes the same way as with the Arduino, with char[]. Great book btw!

Hans Lasschuit  Jul 07, 2011 
Printed Page 36
Table 2-2

In the line starting "+=,-=,*=,/" the final '=' wrapped to the line below.

Bill Morgan  Aug 06, 2009 
Printed Page 42
in figure 2-6

the function in the diagram differs from the one specified in the text within the parenthesis the text specifies

int money

the diagram specifies

int x

Richard Dawson  Jan 05, 2011 
PDF Page 65
3rd paragraph

Final sentence on the page reads:

"This draws a rectangular shape with yellow lines, 5 pixels thick."

Should be:

"This draws a triangular shape with yellow lines, 5 pixels thick."

Anonymous  Dec 01, 2010 
Printed Page 77
"Downloading Libraries"

The version in use is Processing 1.1 with Windows Vista. On page 77 of the book there is the section describing how to download and install a library. It says to extract the zip file into the libraries folder of the Processing sketchbook directory. Processing automatically calls the sketchbook directory "Processing" whereas the installation of Processing (by unzipping the Processing zip file) calls its home directory "processing-1.1".

The library must be downloaded, the root directory of the program found, the "libraries" directory found, and a "controlP5" directory made manually. The next step is to extract the zip file into the "controlP5" directory. At this point the command:

import controlP5.*;

will work.

Note that I have not tried installing other libraries, but this works for controlP5.

I wonder is this problem is a Processing updated version problem where the new program root directory is "processng-1.1" and the sketchbook folder has not been updated to reflect that.

Anonymous  Jul 06, 2010 
Printed Page 82
last paragraph

Program is within asterisks but does not include asterisks:
**************
import processing.video.*;
Movie mov;

void setup(){
size(720, 540);
mov = new Movie(this, "MOV00C.mov");
mov.play();
}

void moviEvent(Movie m){
m.read();
}

void draw(){
image(mov, 0, 0);
}
**************
I made changes to the program such as using a movie of my own at 740 x 520 and changing the name to MOV00C.mov.

Using the program as listed on page 82 and 83 of the book results in the following error to come up in the Console window:

processing.app.debug.RunnerException: ArrayIndexOutOfBoundsException: Coordinate out of bounds!
at processing.app.Sketch.placeException(Unknown Source)
at processing.app.debug.Runner.findException(Unknown Source)
at processing.app.debug.Runner.reportException(Unknown Source)
at processing.app.debug.Runner.exception(Unknown Source)
at processing.app.debug.EventThread.exceptionEvent(Unknown Source)
at processing.app.debug.EventThread.handleEvent(Unknown Source)
at processing.app.debug.EventThread.run(Unknown Source)
Exception in thread "Animation Thread" java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!
at sun.awt.image.IntegerInterleavedRaster.setDataElements(IntegerInterleavedRaster.java:404)
at processing.core.PGraphicsJava2D$ImageCache.update(Unknown Source)
at processing.core.PGraphicsJava2D.imageImpl(Unknown Source)
at processing.core.PGraphics.image(Unknown Source)
at processing.core.PApplet.image(Unknown Source)
at CH3_pg82_1st.draw(CH3_pg82_1st.java:36)
at processing.core.PApplet.handleDraw(Unknown Source)
at processing.core.PApplet.run(Unknown Source)
at java.lang.Thread.run(Thread.java:619)

Upon doing a little research on the Processing site, specifically:
http://wiki.processing.org/w/Video_Issues
I found that the video handling capabilities are not very good.

Do you have any suggestions on how to get a movie to play properly? Quicktime has been updated to version 7.6.6.

If not, on to the next example in the book.

Anonymous  Jul 22, 2010 
Printed Page 82
Movie code example

A reader reported that this example is generating the error "ArrayIndexOutOfBoundsException: Coordinate out of bounds" (see http://getsatisfaction.com/oreilly/topics/movie_clip_coordinate_out_of_bounds_error_wont_play?utm_content=topic_link&utm_medium=email&utm_source=new_topic).

This problem can be remedied by replacing:

size(320, 240);

with:


size(320, 240, P2D);

Brian Jepson
Brian Jepson
 
May 15, 2011 
Printed Page 99
5th paragraph

it says the definitions for power, voltage, and ground are in the back of the book, but only voltage it defined.

Dusty B  Sep 05, 2009 
Printed Page 121
Figure 4-24

I believe that the 10 K resistor should go to either 5V or to ground, not to the input of the digital input/output. Constructing as shown grounds out the power supply.

Jesse Drew  Jan 24, 2012 
Printed Page 147
last paragraph

In addition to my other remark. Because string is a class and not a simple type, you can't use the printf statement at all.One has to use the cout statement instead like this:
std::cout<< myName;

Hans Lasschuit  Jul 07, 2011 
Printed Page 168
Last paragraph (runs for rest of chapter)

I have the same problem as Nicholas Economos. I would like to see corrections in this forum.

Arun Kumar  May 18, 2011 
Printed Page 248
Just before "Controlling Controls" heading

Paragraph on page 248 reads:
"For everything else, please refer to the later section 'Getting Gear for This Chapter' on page 247, which will include names, models, manufacturers, and likely sources for all the controls and components in this chapter."

This paragraph is at the end of the "Getting Gear for This Chapter" section, and so refers the reader to the same section, which begins on the previous page (despite being described as a "later section"). Unfortunately, infinite recursion doesn't work too well in books. ;)

In addition, I couldn't find a list including the "names, models, manufacturers, and likely sources" for the components anywhere in the book.

Dan Will  May 30, 2010 
Printed Page 248
Just before "Controlling Controls" heading

I have the same issue as Dan Will (and I wonder why it is still not confirmed):
Where is the promised list with the needed gear for this book? It?s quite a challenge to get all the gear without a complete list.

Thomas Schmalfeldt  Jan 01, 2012 
Printed Page 284

Function definition for Ball::addForce(ofVec2f force) is missing.

I assume it has to be the following:

void Ball::addForce(ofVec2f force){
force /= mass;
acceleration += force;
}

Marko Ciciliani  Aug 06, 2013 
Printed Page 327
4th paragraph, "Then add it to the ControlP5..."

s = control.addSlider("slider",0,255,128,100,160,10,100);

should be:

s = controlP5.addSlider("slider",0,255,128,100,160,10,100);

Ryan Dombrowski  Aug 15, 2011 
Printed Page 347
Top code segment

edgeImg.updatePixels();
image(edgeImg, 0, );


should be:

kerneledImg.updatePixels();
image(kerneledImg, 0, 0);

Ryan Dombrowski  Aug 15, 2011 
Printed Page 505
last two lines

The book states that the rest of the code for the Blending Modes in OpenGL section (chapter 13) is available via the code downloads for the book however, it doesn't seem to be included. (9.30.2010)

Anonymous  Sep 30, 2010 
Printed Page 527
527-532

Pg. 527 -532
I couldn't get the samples to work after several attempts, days. Working in Xcode and Snow Leopard. Do they work? Is there some place I can find them together. The downloads also don't seem to coordinate very well. They seem to be missing some files. Really want to learn this.
You could use a forum for this book, great stuff otherwise.

Anonymous  Mar 15, 2010 
Printed Page 551
2nd paragraph

the book states that "In the downloads for this chapter, you'll find the haarcascade-frontalface_alt_tree.xml file. I have downloaded the file twice but failed to find this file.

david morgan  Mar 03, 2010 
Printed Page 688
4th paragraph: byte

glossary specification of byte command contradicts the description on page 29 paragraph 1.

The glossary specifies a byte as not storing negative numbers in arduino and processing - correct for arduino

(http://arduino.cc/en/Reference/Byte)

but processing reference/language states a byte can be negative
(http://processing.org/reference/byte.html)

Richard Dawson  Jan 03, 2011 
Other Digital Version 1306-1320

'?' >= 'h' // true, since '?' is 63 in ASCII and 'h' is 104

It should be

'?' >= 'h' // false, since...

Michele Mendel  Dec 29, 2010