Incubator To-DO. Small and big things, roughly ordered in priority from top to bottom.
###TODO:
- Enable audio file writing of main output
- Create method to selectively delete individual, groups, and all serpents
- Create a GUI to show statistics of active population and individual selected serpents, and enable control of audio input/output recording, volume control, and FX processing
- Enhance visuals to clearly depict diffusion of specific audio samples through population via autogenerated colors (e.g. sound 1 == green, sound 2 == purple, sound 3 == pink, etc.)
- Enhance visuals (SoundVocClass) to more clearly depict active serpent vocalization and their virtual audio transmission range
- Implement 'cross-breeding' of sounds between pairs of serpents via audio convolution operations to generate new 'offspring' sounds and serpents
- REFACTOR!!! (especially the serpent class)
- Add various audio FX processing to serpent vocalizations
###Longer-term TODO:
- Use Supercollider as the audio-processing engine instead of Minim library. Processing can interface w/ SC via OSC.
- Create additional sub-classes of alternate automata morphologies and behaviors
- Interface with Raspberry Pi for integration with larger interactive installation environments
- Implement a univeral tuning system such that playback rate (pitch) transformations of sounds confrom to user-selected tunings / temperaments (e.g. Just intonation, Pythagorean, Equal temperament, etc.)
- Consider implementing simple genetic algorithm that mutates sample playback and FX parameters between 'cross-breeding' serpents to produce new 'offspring' sounds and serpents