Content deleted Content added
Jerryobject (talk | contribs) m Templates added. Links: updated, non-proper nouns decapitalized, needless underscores removed. Minor copy edits. |
m →Other sources: HTTP to HTTPS for Blogspot |
||
(21 intermediate revisions by 17 users not shown) | |||
Line 1:
{{Infobox programming language
| name = Impromptu
| logo =
| caption =
| file_ext =
Line 16:
| implementations =
| dialects =
| influenced by = {{hlist |[[Lisp programming language|Lisp]] |[[Scheme (programming language)|Scheme]]}}
| influenced = [[Extempore (software)|Extempore]]
| operating_system = [[Mac OS X]]
| license =
Line 24:
}}
'''Impromptu''' is a [[Mac OS X]] [[computer program|programming]] environment for [[live coding]]. Impromptu is built around the [[Scheme (programming language)|Scheme]] language, which is a member of the [[Lisp (programming language)|Lisp]] family of languages. The source code of its core has been opened as the [[Extempore (software)|Extempore project]].
== Description ==
The environment allows to make changes to a program at [[run time (program lifecycle phase)|runtime]], so variables and functions may be
The library allows communicating with [[Audio Units]] for audio synthesis, and with graphics layers such as [[QuickTime]], [[Quartz (graphics layer)|Quartz]], [[Core Image]], [[OpenGL]] for [[video composition]]. Code written in [[Objective-C]] can be called from the editor, and also Objective-C frameworks can perform calls to the Scheme interpreter.
Impromptu's Scheme interpreter was initially built from the [[TinyScheme]] 1.35 baseline, but it has been substantially modified since to better suit the live coding context. A real-time [[garbage collection (computer science)|garbage collector]], and [[Objective-C]] integration were added. Also, a new statically typed language called the ''Extempore Language'' has been integrated to the system. This language is syntactically Scheme-like, but semantically closer to C, and is designed for real-time sound synthesis and other computationally heavy tasks. It provides [[type inference]] and is compiled to [[machine language]] by [[LLVM]].
Line 42:
== Extempore ==
▲| accessdate = 2011-06-12}}</ref> under a BSD style licence. It runs under both [[Linux]] and Mac OS X. The project is as of June 2011 at an early stage and is intended as a developer preview, not suited for end users. It includes the Scheme interpreter, the Extempore Language compiler and the scheduler. The bindings to [[Apple Inc.|Apple]] libraries are absent, but the environment can interface with dynamic libraries.<ref name="extempore_github" />
==External links==▼
* {{Official website|impromptu.moso.com.au}}▼
==See also==
*
*[[Comparison of audio synthesis environments]] * [[SuperCollider]]
* [[Processing (programming language)]]
* [[OpenFrameworks]]
* [[ChucK]]
* [[
* [[Max (software)]]
* [[Pure Data]]
== References ==
<references />
=== Academic papers ===
* Sorensen, A (2010) "[http://impromptu.moso.com.au/extras/icmc2010.pdf A Distributed Memory For Networked Livecoding Performance] {{Webarchive|url=https://web.archive.org/web/20210226081451/http://impromptu.moso.com.au/extras/icmc2010.pdf |date=2021-02-26 }}" International Computer Music Conference 2010, New York
* Sorensen, A & Brown, A (2008) "[http://impromptu.moso.com.au/extras/acmc08_orchestral.pdf A Computational Model For The Generation Of Orchestral Music In The Germanic Symphonic Tradition: A progress report]" paper presented to the Australasian Computer Music Conference 2008, Sydney
* Sorensen, A & Brown, A (2007) "[http://impromptu.moso.com.au/extras/aa-cell-icmc07.pdf aa-cell in Practice: An Approach to Musical Live Coding]" paper presented to the International Computer Music Conference 2007, Copenhagen
* Sorensen, A. (2005) "[http://impromptu.moso.com.au/extras/sorensen_acmc_05.pdf Impromptu: An interactive programming environment for composition and performance]" a paper presented to the Australasian Computer Music Conference 2005, Brisbane: ACMA, pp.
* Sorensen, A. "[http://impromptu.moso.com.au/extras/ICR.html ICR - Impromptu Compiler Runtime]"
*
=== Other sources ===
* Peter Kirn, "[http://createdigitalmusic.com/2010/07/thought-and-performance-live-coding-music-explained-to-anyone-really/ Thought and Performance, Live Coding Music, Explained to Anyone - Really]", Create Digital Music, 2011
* Mitchell Whitelaw, "[
▲==External links==
[[Category:Audio programming languages]]
[[Category:Live coding]]
[[Category:Articles containing video clips]]
|