djfroofy/beatlounge — Issue #4: Refactor bl.player into something more extensible
Author: djfroofy
Created: 2012-03-07 16:40:24+00:00
State: open

Right now, Player/NotePlayer, ChordPlayer and SchedulePlayer are built around the use of fixed use case of:

1. Schedule calls to playnote()
2. Modulate parameters to playnote() calls (specificially: note, velocity)
3. Instrument calls to stopnote() - via callable for "release" time which is currently named stop()

This is limited to MIDI like instruments (and really only supports a fixed subset of MIDI instrument control) and becomes rather awkward in the context of other types of Instruments.

There should be more useful building block in BeatLounge for creating a variety of different types of instruments. The current player classes mentioned above should build upon these and other types of players (PYO, for example) can be easily introduced as well.

No specifics on design yet. This ticket is intended for beginning that discussion.