Impromptu is an OSX programming environment for composers, sound artists, VJ’s and graphic artists with an interest in live or interactive programming. Impromptu is a Scheme language environment, a member of the Lisp family of languages.
Time plays a major role in the Impromptu environment allowing accurate real-time scheduling of events and code blocks. Impromptu is a dynamic environment designed for the creation and manipulation of running programs in live performance.
Impromptu is a programmable AudioUnit host. A powerful environment for creating AudioUnit graphs of arbitrary complexity with precise programmatic control over individual AU nodes. Musical material can be precisely scheduled for performance by any AudioUnit instrument node and parameters, program changes and presets can be programmatically changed on-the-fly as well as directly via the AU’s user interface.
Quartz drawing routines can be applied with the same temporal accuracy as audio material allowing composers to tightly integrate audio and visual components. Quicktime movies, bezier paths, images, CoreImage filters and beautiful text rendering are a few of the graphics features available for artists to play with.
Impromptu also includes a bidirectional, runtime, ObjC-Bridge allowing Scheme to instantiate and call ObjC objects and ObjC objects to call back into the Scheme interpreter.