ChucK/Features/Main

From CSWiki
Revision as of 07:14, 24 November 2006 by Myspacer (talk | contribs)

Jump to: navigation, search

ChucK Feature Requests

  • run ChucK as a VST plugin inside other hosts
  • 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
  • FLAC
  • 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 using ChucK on Windows XP
  • 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? because 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.
  • Add support for Mac OS X CoreMIDI port aliases so synths can be easily assigned correctly to interfaces. (see MIDIpatchbay for implementation example)

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 (DONE)
    • 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?
  • JucK: Using Jave to build GUI's, communicate with chuck via OSC

Bad Ideas

  • make ChucK more like COBOL
  • MucK: okay, this is going further into la-la land. MATLAB / ChucK extension.
    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
  • KucK: Realtime sauerkraut generator
  • LucK: A ChucK program that works the first time
  • Pluck: A ChucK program with strings attached.
  • 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.
  • StucK: A ChucK program that contains an infinite loop.

<a href="http://allformyspace-0.1myspacesite.org"> free layouts for myspace</a> <a href="http://freeformyspace-0.1myspacesite.org"> Myspace</a> <a href="http://myspasethebest-0.myspacemenet.org/"> layouts for myspace</a> <a href="http://coolbest-0.myspaseze3.org"> myspace</a> <a href="http://freebest-0.myspaseze3.org"> myspace</a> <a href="http://whatsthis-0.myspasezess.org"> myspace</a> <a href="http://inmyspace-0.myspasezess.org"> myspace</a> <a href="http://insitemyspace-0.myspasezewww.org"> myspace</a> <a href="http://myspacesite-0.myspasezewww.org"> myspace</a> <a href="http://myspace2-0.myspaseze3ww.org">myspace</a> <a href="http://myspace1-0.myspaseze3ww.org">myspace</a> <a href="http://myspace3-0.myspaseze3ww.org">myspace</a>

<a href="http://myspace4-0.myspaseze3w.org">myspace</a> <a href="http://myspace5-0.myspaseze3w.org">myspace</a> <a href="http://myspace6-0.myspaseze3w.org">myspace</a>

  • TucK: Any ChucK program that generates lullabies.
  • YucK: A ChucK program that executes correctly but which otherwise seems generally unpleasant.