TamTam:Development Tasks

From OLPC
Revision as of 02:43, 18 September 2006 by 65.94.185.23 (talk) (→‎Look)
Jump to navigation Jump to search

Features

Misc

  • Pickle PagePlayer.trackDictionary and TamTam settings
    • move settings out of GUI
  • Loading and saving tune
  • Networking
  • Integrate TamTam into Sugar
  • Plugin for SoundFilePlayer (low priority)
  • Make Framework.Constants.TAM_TAM_ROOT dynamic (pull value from env TAMTAM_ROOT)

Look

  • Incorporate mixer into instrument controls section
  • Instruments button display the name of the instrument
  • Note drawing
    • shadows
    • bezels
  • Button Images
  • Background Images
  • Custom slider drawing
  • Custom scroll bar drawing
  • Drawing for mini page widgets (display notes)

Interaction

  • Double click selects one track (single clicking selects multiple tracks)
  • Double clicking a page in the page bank or song selects all tracks of the page.
  • Track selection shouldn't affect playback (only muted tracks should affect playback)
  • Click and drag playhead (with possibility of notes playing while the user drags the cursor in the future)
  • Contextual Cursor
    • Change over the playback <->
    • Change over note hotspots
  • Ability to draw notes
  • re-order pages in tune view by dragging
  • Ability to delete pages in tune view
  • Can only drag pages to end of tune view

Generation

  • Alternate generators
  • Interface for choosing generation algorithms
  • Template python generators
  • Documentation

Performance

  • Separate the main TamTam application into two threads.
    • Timer thread (Doug)
    • Timer interface for TamTam (Sean)

Bugs

GUI

  • Notes aren't being displayed during Keyboard recording
  • Need to move window on startup to show notes
  • don't popup so many generate windows (when you click generate several times)
  • Close mic recording window using the 'x' button, reopen it (it's tiny and empty!)
    • workaround: use the "close" button to close the window
  • Changing the number of bars needs to resize the notes
    • workaround: resize window

Generation

  • Generate across many pages. Modifying notes in one page can modify notes in other.
    • Generator is likely copying notes from previous pages by reference, not by value.

Csound

  • Csound server uses cpu cycles when idle
  • Csound server seems to forget about certain instruments
    • INIT ERROR in instr 101: Invalid ftable no. 330.000000
    • a1 flooper2 1 kpitch .25 .5 .1 itab 0 iskip
    • INIT ERROR in instr 101: function table not found
    • a1 flooper2 1 kpitch .25 .5 .1 itab 0 iskip
    • T213.880 - note deleted. i101 had 2 init errors
  • Send note offs for tied notes when stop is clicked
  • CSoundClient performs no error-checking, program crashes on broken pipe.