# DokuWiki

### Site Tools

tracy444a:todocmt

## TODOS

—- July 14, 2011

• To guide the study of Nels' Sequence class, make a Class Diagram listing the attributes and methods. Also determine where the getNextNote method is called (both within the class and in other files).
• The main attributes are the melody and duration arrays. melody holds integer midi values representing each note, while duration holds values representing the length of each note. Based on this and the comments in the code, try to write out (either in paragraph form or step-by-step) what the getNextNote method does. I can help with this.
• One alternative way of experimenting with a chaos-melody version of getNextNote is to “fork” the Grid project and rewrite the getNextNote method, right in the Sequence class. That way you can test your ideas for making it work without having to write a subclass and fixing up the places in the program which create Sequence objects to be the new class type, etc. Of course, eventually we'll have to do all that.

—- June 23, 2011

• Review pages 7-10 of Chaos Melody Theory for help with implementation details. Post questions to the wiki.
• Test complex classes by attempting to reproduce Figures 12-18. Note this includes implmenting an object (or a derived class) for the complex version of 1-rx^2 (algorithm - Figure 8 on page 13).

—- May 28, 2011

• Read through page 19 of Chaos Melody Theory
• Create and test polynomials using a Polynomial class. It should have a method to modify the coefficient of the x-squared term and another to print the polynomial in the form c - bx - ax2 to mimic equations like 1 - rx2 from the thesis.
• Here's an idea - add a method `eval2` that takes two parameters `x` and `r`. It changes the coefficient `a` to `r` and evaluates the polynomial given `x`.
• We'll need a test harness that graphs the results of evaluating this way as `r` varies from 0 to 2 (non inclusive). I will try to find time to work up a simple Processing sketch for a starting point this week, but if you figure something out first, great!
• AFTER ALL THAT WORKS - move on to the transcendental functions for the complex versions of the non-linear functions developed in the next section of the thesis. Two more classes: one represents the complex-valued function, and one represents a transcendental function of the form ex(a cos(w) - b sin(w)) or ex(a sin(w) + b cos(w)) for the real/imaginary breakdown given by Figure 12 on page 16. The complex function class will have two of the transcendental function objects representing the real/imaginary parts.
• The actual class relationships for the complex functions need a bit more thought. Feel free to suggest alternatives.

—- May 13, 2011

• Read AI Methods for Algorithmic Composition
• Read through page 6 of Chaos Melody Theory
• Become familiar with Processing and particularly the Minim Library.
• Try to run each of the examples on the Minim Quickstart page (and modify them a bit if you like).
• Important note: the GridClient program will not run in Processing “out of the box” because it uses a beta version of the Minim library. Minim 2.1.0 Beta must be downloaded and installed in the folder ~/sketchbook/libraries first.