From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: [PATCH 0/7] Add Extempore. Date: Wed, 14 Sep 2016 11:38:05 +0200 Message-ID: <20160914093812.28422-1-rekado@elephly.net> Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54556) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bk6eB-0004WY-QW for guix-devel@gnu.org; Wed, 14 Sep 2016 05:38:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bk6e5-0003DQ-SI for guix-devel@gnu.org; Wed, 14 Sep 2016 05:38:26 -0400 Received: from sender163-mail.zoho.com ([74.201.84.163]:21433) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bk6e5-0003DM-K9 for guix-devel@gnu.org; Wed, 14 Sep 2016 05:38:21 -0400 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org Hi Guix, This patch set adds Extempore, a Scheme-like language for live coding of audio and graphics. Extempore comes with an Emacs mode to facilitate live coding from within Emacs (much like using Geiser for Guile). Extempore depends on a few libraries that have been forked from their upstream releases, hence the many "*-for-extempore" packages. "llvm-for-extempore" annoys me most, because it's almost exactly the same as upstream LLVM with just a tiny fix that the developers say upstream isn't interested in. It takes a lot of time to compile. I've tried to ensure that the AOT compilation of the language's libraries are done in a generic fashion to allow for binary substitutes. I've tested the very basics only because I'm not yet familiar with Extempore. Here's an example that works for me: (bind-func sine:DSP (lambda (in time chan dat) (* .1 (cos (* (convert time) .04))))) ;; tell Extempore to use `sine` as the audio output sink (dsp:set! sine) Thanks in advance to the brave soul willing to review this! ~~ Ricardo Ricardo Wurmus (7): gnu: Add nanovg-for-extempore. gnu: Add assimp. gnu: Add stb-image-for-extempore. gnu: Add llvm-for-extempore. gnu: Add kiss-fft-for-extempore. gnu: Add portmidi-for-extempore. gnu: Add Extempore. gnu/packages/algebra.scm | 24 +++++++ gnu/packages/gl.scm | 25 +++++++ gnu/packages/graphics.scm | 31 ++++++++- gnu/packages/image.scm | 26 ++++++++ gnu/packages/llvm.scm | 8 +++ gnu/packages/music.scm | 164 ++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 277 insertions(+), 1 deletion(-) -- 2.10.0