TamTam:Development Tasks

From OLPC
Revision as of 04:10, 18 September 2006 by Natcl (talk | contribs) (→‎Look)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

  • Instruments buttons display the name of the instrument (eventually an image)
  • Add legend to Volume, Tempo and Beats sliders.
  • Note drawing
    • shadows
    • bezels
  • Button Images
  • Background Images
  • Custom slider drawing
  • Custom scroll bar drawing
  • Drawing for mini page widgets (display notes)
  • Incorporate mixer into instrument controls section
  • Mic Record buttons directly on the instrument button

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
  • Ability to insert pages into tune view (from page bank)

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

  • First selected page in Page Bank should be the first (not the last)
  • 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.