TamTam:Development Tasks

From OLPC
Revision as of 03:42, 3 October 2006 by Natcl (talk | contribs) (→‎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 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
  • Double clicking on a track to select only one track doesn't work anymore.

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
  • GenerationParametersWindow should never be destroyed...

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.