TamTam:Development Tasks

From OLPC
Revision as of 18:28, 18 September 2006 by 132.204.255.61 (talk) (→‎GUI)
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.
  • Click and drag playhead (with possibility of notes playing while the user drags the cursor in the future)
  • Left cliking the mute buttons mutes the track, right cliking it solos the track. Cliking it when in mute/solo with any button reverts to normal.
  • 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)
  • Track selection shouldn't affect playback (only muted tracks should affect playback)

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)
  • Need to move window on startup to show notes
    • workaround: use the "close" button to close the window
  • Changing the number of bars needs to resize the notes
    • workaround: resize window
  • Notes aren't being displayed during Keyboard recording
  • don't popup so many generate windows (when you click generate several times)
    • (repeat)Repeatedly Clicking the Generate button brings up multiple windows
  • Close mic recording window using the 'x' button, reopen it (it's tiny and empty!)
  • Should lockout main window while subwindows are up?

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.