Module containing user-facing playback classes: Ensemble, ScampInstrument, and NoteHandle/ ChordHandle

The underlying implementation of playback is done by PlaybackImplementation and all of its subclasses, which are found in


ChordHandle(note_handles, intervals)

This handle, returned by instrument.start_chord, allows us to manipulate a chord that we have started, (i.e.

Ensemble(default_soundfont, …)

Host for multiple ScampInstrument objects, keeping shared resources, and shared default settings.

NoteHandle(note_id, instrument)

This handle, which is returned by instrument.start_note, allows us to manipulate the note that we have started, (i.e.

ScampInstrument(name, ensemble, …[, …])

Instrument class that does the playing of the notes.