TamTam:Development Tasks: Difference between revisions

From OLPC
Jump to navigation Jump to search
Line 24: Line 24:


=== Interaction ===
=== Interaction ===
* <strike>Double click selects one track (single clicking selects multiple tracks)</strike>
* Double clicking a page in the page bank or song selects all tracks of the page.
* 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)
* Click and drag playhead (with possibility of notes playing while the user drags the cursor in the future)
Line 37: Line 36:
* Ability to insert pages into tune view (from page bank)
* Ability to insert pages into tune view (from page bank)
* <strike>Track selection shouldn't affect playback (only muted tracks should affect playback)</strike>
* <strike>Track selection shouldn't affect playback (only muted tracks should affect playback)</strike>
* <strike>Double click selects one track (single clicking selects multiple tracks)</strike>


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

Revision as of 18:49, 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 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
  • 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

  • Need to move window on startup to show notes
  • Changing the number of bars needs to resize the notes
    • workaround: resize window
  • Should lockout main window while subwindows are up?
  • 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!)

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.