==== TODO list for SBaGen === Current Merge in ARTS patch An SBG file containing "-i pink/40 100+1.5/20 200-4/36 400+8/2" does not give the expected result, although adding -D before that DOES. It seems that all -i options in SBG files are broken. Write minimal GUI for SBaGen: (use fltk?) - Maybe menus for file load/open/save/save as/etc - Maybe "Select" tab allows file selection - "Editor" tab shows file contents, allows editing - "Test" tab shows -D output - "Play" tab plays file - "Write WAV" tab writes WAV to disc Add AIFF output as well as WAV. === Time permitting / version 2 rewrite / suggestions Add support for triggering WAV/MP3 samples at certain points in the sequence: for example, "You have now entered Theta at 7Hz", or whatever. Add 'mixspin:' and 'mixbeat:' options. The first would apply the spin effect to the mix stream. The second would use a Hilbert transform and a 'twist' of the resulting complex waveform to shift the L+R channels up and down in frequency to create a binaural beat out of any recording. The idea seems sound, it just needs implementing and testing. Give Mac users desktop access to the application, using double-click to run an SBG file, for example. Possibly add JACK support (jackit.sf.net); this is yet another good reason to rewrite the core code to fit a callback model. This would lead onto easier CoreAudio and Windows audio support too. Allow several channels that act independently, i.e. with independent slides going on through other activity on other channels. Create a sbagenlib to do all the play-time sequencing and audio generation, permitting several different front ends to be created. Make an 'easy' SDL-based clickable GUI interface for Windows users, separate from the more powerful command-line interface. Alternatively, rewrite completely for SDL, with a different file format, and automatic conversion of old SBG files. More: Maybe allow keyboard control to fade between different sequences in real-time. Actually this was suggested connected with rhybag. This might be achieved by a rewrite using SDL for the front-end and audio output code, effectively creating a completely new app. Maybe add a screen that flashes in sync with the beats, as a cheap light-glasses replacement. Maybe add a feature to record timing of user events during a session indicated by user clicks or keypresses. Maybe add a feature to add modulation of the volume level in addition to the beating. Add light glasses control with in the MagicJim / AudioStrobe method, i.e. adding high-frequency tones to trigger the flashes. Suggestion: Add LPT1 light glasses control. The coding would be significantly different between Linux and Windows. There are also synchronisation issues, with the timing different for each soundcard. Suggestion: "sinusoidal, gaussian or user defined sweep in a frequency range" (!?) Suggestion: Add coloured noise to SBaGen as mentioned on the mailing list. Add more organic feel to tones etc, by introducing very low-frequency variations in carrier frequency, or beat frequency, or whatever.