TamTam:Development Tasks: Difference between revisions

From OLPC
Jump to navigation Jump to search
Line 50: Line 50:
=== GUI ===
=== GUI ===
* First selected page in Page Bank should be the first (not the last)
* First selected page in Page Bank should be the first (not the last)
* <strike>Notes aren't being displayed during Keyboard recording</strike>
* Need to move window on startup to show notes
* Need to move window on startup to show notes
* <strike>don't popup so many generate windows (when you click generate several times)</strike>
* <strike>Close mic recording window using the 'x' button, reopen it (it's tiny and empty!)</strike>
** <strike>workaround: use the "close" button to close the window</strike>
** <strike>workaround: use the "close" button to close the window</strike>
* Changing the number of bars needs to resize the notes
* Changing the number of bars needs to resize the notes
** workaround: resize window
** workaround: resize window
* <strike>Notes aren't being displayed during Keyboard recording</strike>
* <strike>don't popup so many generate windows (when you click generate several times)</strike>
* <strike>Close mic recording window using the 'x' button, reopen it (it's tiny and empty!)</strike>


=== Generation ===
=== Generation ===

Revision as of 04:14, 18 September 2006

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)
  • 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)
  • Close mic recording window using the 'x' button, reopen it (it's tiny and empty!)

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.