Difference between revisions of "ChucK Features"

From CSWiki
Jump to: navigation, search
Line 1: Line 1:
=== [[ChucK]] Feature Requests ===
#REDIRECT [[ChucK/Features]]
* a debug/trace option and/or debugger for easier debugging and ChucK learning.
* [Linux] ALSA sequencer support for MIDI control.
* Ability to compile support for several IO schemes.
** Maybe by making this kind of stuff modular (welcome to plugin land).
* Maybe support for using/controlling LADSPA plugins? http://www.ladspa.org
* Include statement. Would make it easier to reuse code
* Ogg/Vorbis
* ChucK for Puredata
* envelope ugen capable of curved envelopes
* Auto-Fades for + - =
* ChucK as a DSSI plugin, http://dssi.sourceforge.net/
* Instructions/tips for people usin ChucK on Windows XP
**Installer for Windows (posssible installer links)
**http://nsis.sourceforge.net/ Nullsoft Installer
* when using --add print out the status line (to VM console)
* Function pointer types, so that sporked code can be pointed at controls as well as ugens.
* anonymous function blocks. e.g. spork ~ { dosomething }. Why? becuase it would be really useful for scoring multiple voices when playing melodic instruments. Makes it possible to easily write scores in ChucK.
* Either support for include files, or support for #line directives in the parser so that a C preprocessor can be used.
* support for timed OSC messages.
* Ability to pass in command-line parameters: Place any command-line arguments of the form "NAME=VALUE" into the environment, so that they it be access with getenv(). (or maybe -"-defineNAME=VALUE"). Or both.
== Good Ideas ==
* arrays ('''DONE''')
* file inclusion (header files)
* objects ('''DONE''')
* synchronous / asynchronous events ('''DONE''')
* implicit casting ('''DONE''')
* global value map
* shred local adc/dac
* cross chucking
** what is cross chucking?
* stereo ('''DONE''')
* multi-channel
** wow, it's only mono? (not anymore!)
* OSC (OpenSound Control) ( '''SOME''' )
* [[automatic OSC address spaces]] ;  /machine/shred[1]/variables/foo    , /machine/add  (''' ON THE WAY ''')
* midi parsing/routing object ( '''SOME''' )
* [[sndbuf]] proper sndbuf / sndplayer / sndrecorder collection
* duration expressions
* widgets ( once visuals are up )
* synchronization
* ability to remove a shred AND the shreds it sporked (its children) from the command line. ('''DONE''')
== (potential) parallel efforts ==
* GLucK (OpenGL for ChucK) this is almost ready for release
* TrucK: ChucK to C/C++ translator (for embedded platforms, and for non-on-the-fly native compilation). Paul Botelho and I talked about this last night.  (I just now made up the name)
** Would it be possible to run it on processors without floating point support, like StrongARM / Xscale?
== Bad Ideas ==
* make ChucK more like COBOL
* MucK: okay, this is going further into la-la land.  MATLAB / ChucK extension.<br/>Diemo Schwarz and I had once envisioned this renegade concept of doing analysis in MATLAB and (somehow) using ChucK from within MATLAB to quickly (and concurrently) playback/synthesize/audisize on-the-spot.  I wonder if anyone still wishes for this.
* MUSHCK: Multi-User Shared Hallucination ChucK. Multiple users can log in to the VM process, chat with each other and interact with ChucK remotely, while ChucK sends audio streams back to them.
* SucK: we need a really bad idea to go with this.
* BucK: the commercial version
* DucK: ChucK for migrating fowl
* HucK: ChucK for those lazy afternoons floating down the Mississippi River
* JucK: ChucK running on top of Java
* KucK: Realtime sauerkraut generator
* LucK: A ChucK program that works the first time
* PucK: Live performance version of ChucK in which the program is controlled by hockey players.
* QucK: A ugen for DucK
* RucK: A ChucK concert given by an unemployed Wall Street television personality.
* TucK: Any Chuck program that generates lullabies.
* YucK: A ChucK program that executes correctly but which otherwise seems generally unpleasant.

Latest revision as of 17:30, 21 February 2006

Redirect to: