TamTam:Development Tasks

From OLPC
Revision as of 20:31, 22 September 2006 by Natcl (talk | contribs) (→‎GUI)
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

  • 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 clicking on sliders should reset the value to defaults.
  • 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.
    • Colour to indicate whether in solo/mute state?
  • Contextual Cursor
    • Change over the playback <->
    • Change over note hotspots
  • Ability to draw notes
  • When in tune mode, effects from right clic in the track should affect all page for this track (ex.: increase reverb level for this track over all tune )
  • 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)
  • Double click selects one track (single clicking selects multiple tracks)

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

  • Right click several times on note or track - several windows pop up
  • Should lockout main window while subwindows are up?
  • Changing the number of bars needs to resize the notes
    • workaround: resize window
  • First selected page in Page Bank should be the first (not the last)
    • workaround: use the "close" button to close the 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!)
  • Need to move window on startup to show notes

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.
  • GenerationParametersWindow should keep in memory modified parameters values

Csound

  • Csound server uses cpu cycles when idle ( CSoundServer.py )
  • Csound server seems to forget about certain instruments (init faster than table loading ? )
    • 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 ( also for muted track )
  • CSoundClient performs no error-checking, program crashes on broken pipe.