User Tools

Site Tools



New tasks and items to explore will be posted here periodically. When a task is complete, link a new page under that todo item and state your results there, or link to Reports. Note that you can use HTML to link to specific places on a page (as in <a name> tags).

Advice from Workshop

- Mark showed that BIO2010 could be searched for computer or CS and the results are worthwhile in making the following case: get the scientists to say what they want their students to know…and write the professional development stuff about supporting interaction with CS faculty (simulation course? viz course? scientific computer course with all this stuff?)…possibly including collaborative research, not what I was thinking…my students research their prepackaged stuff ;^).

- Mail program chair from Visual and Computational Teaching and Learning

- Greg Pond - workshop? studio?

- Take a standard 6 Mpixel image, scale down to 640×480, link a scaled down image of each quadrant of the original to that image, now: zoom, pan, zoom back out, etc. This is a graph with multiresolution images. You need zoom by quadrant, pan left, pan right.

get Squeak 3.2 here


This library is a wrapper for jMusic, extending it for Processing. Using it exposes either my ignorance or inconsistencies when using existing libraries with Processing. For example, I can use createScore to read a MIDI file. However if I put it in the data folder expecting Processing to find it, I am disappointed. The reason is that the underlying jMusic classes expect the complete filename with path. Once I figured that out, however, I managed to load and play a MIDI file no problem.

See jm-Etude.

In any case is it worth exploring the idea of wrapping the book classes so we can have them in one place - the /…/processing/libraries folder - rather than sprinkled (and possibly duplicated) around the various code directories. The file /…/processing/libraries/howto.txt describes creating Processing libraries.

See the “Importing” section of Reports. There was some confusion (I couldn't get a .jar to work for the book's classes before today), but it's been cleared up and I've edited this section accordingly.

MediaComp Projects

The most common form of project on Images is the collage. Take an image, manipulate it in various ways, and compose the results in a window. Project description with examples is on the Ga. Tech webpages and they showed examples of student work at the conference earlier this year. Can one tile images on an oversized drawing window by specifying where they go? Or do you have to go low-level and draw copies of the pixel arrays to specific points on the window?

Variation: Using draw() in Continuous mode to add or remove parts of the collage.

A similar idea is the Sound Collage (or Rhythm Collage) looping an array, ArrayList, or List of short percussive sounds from WAV files.

Check out the Collages page. If I can get my hands on some good .wav files, I'll try sound collages as well.

WAV files

-All of the WAV files on the book's CD can be opened with both ESS and Sonia (follow links for more info). However, not all WAV files can be opened. Check the respective pages for more.

Commentary on Sound

I installed JSyn and a simple Sonia sketch works on my Windows partition. However, even with JSyn I managed to get a Null Pointer exception because I did not have the input file where it expected it. The error was thrown in setup, when it says:

mySample = new Sample("sine.aiff");

I did not have the AIFF file in the data subdirectory. Did you have it? If not you can get it by downloading the entire sketch.

I have been worried about sound on Linux from the beginning for a number of reasons. All of these libraries count on underlying Java classes working properly with the sound system and I have no way to check that. I can always use my laptop for presentations if necessary but I need an option for students to use.

One thing to try with ESS is if you can hear output from the example applets on their website. If so, I'd expect ESS would work when installed.

A work-around for Sonia: Sound-Response

A few notes on ESS: ESS

A few notes on Sonia: Sonia

And a few notes on jm-Etude: jm-Etude

Sound: Chapters 8 and 9

There are two options for manipulating sample data: Sonia and ESS. For example Sonia has a class Sample with methods like readChannel to get access to the sample data from a loaded file. ESS has similar classes/methods such as samples[].

Try both! There may be one that is easier to use (programming-wise) or performs better. Another consideration is the different types of sound file formats they support (MP3, wav, aiff, etc.) Please list these for each. (See the ESS and Sonia pages).

General info about Multimedia Projects

As you do the multimedia projects, be sure to comment where in the book I can find the original. A page number and figure number, if used, would be enough. Also document in the comments which have problems in regular run mode and if using Present works. It will be useful for me to compare these with the other platforms Processing supports, and provide Linux bug reports if so.

As a benchmark, upload the sketches produced to at the end of each chapter and/or tar them up and e-mail to

Keep thinking about a tutorial

Study Processing

A good way to get the project narrative going is to sketch out a tutorial on using Processing, beginning with using the IDE. The reader of the tutorial would get a hands-on introduction to the system, rather than learning piece-by-piece from the on-line documentation. One thing the tutorial could emphasize is how things look from a Java programmer's perspective. Explore working with sketches, what object interaction looks like (using multiple objects in a sketch), turning a sketch into an applet or application, and so on.

Of course, we may want to get some experience with the system before trying a tutorial format. Think in terms of what a student just sitting down to use Processing for the first time (or needing a refresher) might want to learn to do.

note to self: NTS

todo.txt · Last modified: 2007/08/30 13:53 (external edit)