Notes

Meeting with Steve Larson on Saturday, May 29

Discussion

TODO List:

  1. Ask Dr. Larson to send a copy of "Step by Step"
  2. A techincal report describing how we hear two or three examples in the SeekWell domain, based on those examples we looked at earlier this year. (Perhaps this report would be similar in style to "Step by Step"?)
  3. A single-level model implementation that corrects the issues you pointed out in my current version as well as adding the visual interface.
  4. A technical report involving the implementation ideas discussed in my paper for Dr. Isaacon's class as well as musical examples.
  5. Continuing to work through Westergaard.

Detailed TODO:

Technical Report 1

  1. Outline 1st technical report
  2. Write introduction/background material
  3. Write 1st musical example
  4. Pick and write 2nd example
  5. Do a 3rd example if appropriate
  6. Complete writing

Single-Level Model

  1. Pick client platform: Windows Forms or ASP.NET? Consider which music font to use and how it works on each platform.
    1. Chose ASP.NET (with desire for making parallel versions as time permits)
    2. Music staff display will simply be a rendered image, drawn as an HTML <img> in ASP.NET
    3. I registered seekwell.org and set it up for ASP.NET hosting
    4. Note: To do animations later on, I can just do automatic page refreshes of the changing elements; these can be displayed in frames to avoid redrawing the entire screen.
  2. Complete a Staff control for the chosen platform (preferably it would work on either platform...), incorporating options for key signatures, enharmonic note display, and "smart" accidental display based on key signature (optional). No barlines necessary, horizontal spacing determined only by # of accidentals. Only support filled or open noteheads, monophonic, auto stem-direction, option to turn off stems on select notes. The Staff control could have an added "play" button that would generate and play a MIDI file of its contents.
  3. Create a keyboard input control for the chosen platform (or both if it's easy).
  4. Create dummy app with visual elements.
  5. Choose internal data structure
  6. Port Scheme version of model to C#, correcting existing problems.
  7. Implement remaining interface elements.