Csound Csound-dev Csound-tekno Search About

[Csnd] [ANN] Clumo: Clojurescript csound score pre-processor

Date2017-12-05 19:37
FromHlöðver Sigurðsson
Subject[Csnd] [ANN] Clumo: Clojurescript csound score pre-processor
I made clumo; a patched version of the self-hosted clojurescript compiler called lumo(https://github.com/anmonteiro/lumo) to enable easy access to the clojurescript language within the score section of Csound. It's basically just a binary that you can download directly for mac, linux and windows (all 64 bit) https://github.com/hlolli/clumo/releases or even easier download it via npm package manager (v5 or later (that's node v8 or later)) and it will be automatically available into your global path (like any other node cli-tools).

On windows this should work:
npm install -g clumo
On linux/mac, depending on chmod of the global node_modiles dir, you may need to do
sudo npm install -g clumo --unsafe-perm
(--unsafe-perm is here not unsafe, npm wants permission to extract the zip file)

Then you can start writing Scores like this

<CsScore bin="clumo">
(require '[clojure.string :as string])
(require '[goog.string :as gstring])
(require 'goog.string.format)

(defn generate-event [n]
  (gstring/format "i 1 %s 1 %s" n (+ 20 (rand-int 1000))))

(string/join "\n" (map #(generate-event %) (range 0 10)))


</CsScore>

There are many details I'm not mentioning here, planing to write more detailed documentation/article later. If you know lisp/clojure, just keep in mind, that this the code here is an expression with a return value, and that return value needs to be a legal csound score string. You can interop with the whole of google closure library, npm repository and natively with clojure/clojurescript libraries from clojars.

Let me know if you try to use this, and if you encounter any problems.

Best,
Hlödver
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2017-12-07 21:56
FromHlöðver Sigurðsson
SubjectRe: [Csnd] [ANN] Clumo: Clojurescript csound score pre-processor
I made a fix to the windows binary without bumping the version, so in case someone tried to run clumo on windows and encountered an error, then reinstalling/redownloading should work now.

On 5 December 2017 at 20:37, Hlöðver Sigurðsson <hlolli@gmail.com> wrote:
I made clumo; a patched version of the self-hosted clojurescript compiler called lumo(https://github.com/anmonteiro/lumo) to enable easy access to the clojurescript language within the score section of Csound. It's basically just a binary that you can download directly for mac, linux and windows (all 64 bit) https://github.com/hlolli/clumo/releases or even easier download it via npm package manager (v5 or later (that's node v8 or later)) and it will be automatically available into your global path (like any other node cli-tools).

On windows this should work:
npm install -g clumo
On linux/mac, depending on chmod of the global node_modiles dir, you may need to do
sudo npm install -g clumo --unsafe-perm
(--unsafe-perm is here not unsafe, npm wants permission to extract the zip file)

Then you can start writing Scores like this

<CsScore bin="clumo">
(require '[clojure.string :as string])
(require '[goog.string :as gstring])
(require 'goog.string.format)

(defn generate-event [n]
  (gstring/format "i 1 %s 1 %s" n (+ 20 (rand-int 1000))))

(string/join "\n" (map #(generate-event %) (range 0 10)))


</CsScore>

There are many details I'm not mentioning here, planing to write more detailed documentation/article later. If you know lisp/clojure, just keep in mind, that this the code here is an expression with a return value, and that return value needs to be a legal csound score string. You can interop with the whole of google closure library, npm repository and natively with clojure/clojurescript libraries from clojars.

Let me know if you try to use this, and if you encounter any problems.

Best,
Hlödver

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2017-12-07 21:57
FromRory Walsh
SubjectRe: [Csnd] [ANN] Clumo: Clojurescript csound score pre-processor
Are you going to share some of the music you're making with it? I'm not a closure user, but I quite enjoyed the music I've heard you create with it. 

On 7 December 2017 at 21:56, Hlöðver Sigurðsson <hlolli@gmail.com> wrote:
I made a fix to the windows binary without bumping the version, so in case someone tried to run clumo on windows and encountered an error, then reinstalling/redownloading should work now.

On 5 December 2017 at 20:37, Hlöðver Sigurðsson <hlolli@gmail.com> wrote:
I made clumo; a patched version of the self-hosted clojurescript compiler called lumo(https://github.com/anmonteiro/lumo) to enable easy access to the clojurescript language within the score section of Csound. It's basically just a binary that you can download directly for mac, linux and windows (all 64 bit) https://github.com/hlolli/clumo/releases or even easier download it via npm package manager (v5 or later (that's node v8 or later)) and it will be automatically available into your global path (like any other node cli-tools).

On windows this should work:
npm install -g clumo
On linux/mac, depending on chmod of the global node_modiles dir, you may need to do
sudo npm install -g clumo --unsafe-perm
(--unsafe-perm is here not unsafe, npm wants permission to extract the zip file)

Then you can start writing Scores like this

<CsScore bin="clumo">
(require '[clojure.string :as string])
(require '[goog.string :as gstring])
(require 'goog.string.format)

(defn generate-event [n]
  (gstring/format "i 1 %s 1 %s" n (+ 20 (rand-int 1000))))

(string/join "\n" (map #(generate-event %) (range 0 10)))


</CsScore>

There are many details I'm not mentioning here, planing to write more detailed documentation/article later. If you know lisp/clojure, just keep in mind, that this the code here is an expression with a return value, and that return value needs to be a legal csound score string. You can interop with the whole of google closure library, npm repository and natively with clojure/clojurescript libraries from clojars.

Let me know if you try to use this, and if you encounter any problems.

Best,
Hlödver

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2017-12-07 22:10
FromHlöðver Sigurðsson
SubjectRe: [Csnd] [ANN] Clumo: Clojurescript csound score pre-processor
Next step is to make music with this. This is not live-coding compatable, just a way to get access to GPPL without leaving csound file, great for black midis or any type of algorithmic music. Better yet if someone creates library and shares it (which may be myself in the end :) )

I'll be sure to spam some shit later on ;)
Cheers!

On 7 December 2017 at 22:57, Rory Walsh <rorywalsh@ear.ie> wrote:
Are you going to share some of the music you're making with it? I'm not a closure user, but I quite enjoyed the music I've heard you create with it. 

On 7 December 2017 at 21:56, Hlöðver Sigurðsson <hlolli@gmail.com> wrote:
I made a fix to the windows binary without bumping the version, so in case someone tried to run clumo on windows and encountered an error, then reinstalling/redownloading should work now.

On 5 December 2017 at 20:37, Hlöðver Sigurðsson <hlolli@gmail.com> wrote:
I made clumo; a patched version of the self-hosted clojurescript compiler called lumo(https://github.com/anmonteiro/lumo) to enable easy access to the clojurescript language within the score section of Csound. It's basically just a binary that you can download directly for mac, linux and windows (all 64 bit) https://github.com/hlolli/clumo/releases or even easier download it via npm package manager (v5 or later (that's node v8 or later)) and it will be automatically available into your global path (like any other node cli-tools).

On windows this should work:
npm install -g clumo
On linux/mac, depending on chmod of the global node_modiles dir, you may need to do
sudo npm install -g clumo --unsafe-perm
(--unsafe-perm is here not unsafe, npm wants permission to extract the zip file)

Then you can start writing Scores like this

<CsScore bin="clumo">
(require '[clojure.string :as string])
(require '[goog.string :as gstring])
(require 'goog.string.format)

(defn generate-event [n]
  (gstring/format "i 1 %s 1 %s" n (+ 20 (rand-int 1000))))

(string/join "\n" (map #(generate-event %) (range 0 10)))


</CsScore>

There are many details I'm not mentioning here, planing to write more detailed documentation/article later. If you know lisp/clojure, just keep in mind, that this the code here is an expression with a return value, and that return value needs to be a legal csound score string. You can interop with the whole of google closure library, npm repository and natively with clojure/clojurescript libraries from clojars.

Let me know if you try to use this, and if you encounter any problems.

Best,
Hlödver

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2017-12-07 22:12
FromRory Walsh
SubjectRe: [Csnd] [ANN] Clumo: Clojurescript csound score pre-processor
We look forward to it!

On 7 December 2017 at 22:10, Hlöðver Sigurðsson <hlolli@gmail.com> wrote:
Next step is to make music with this. This is not live-coding compatable, just a way to get access to GPPL without leaving csound file, great for black midis or any type of algorithmic music. Better yet if someone creates library and shares it (which may be myself in the end :) )

I'll be sure to spam some shit later on ;)
Cheers!

On 7 December 2017 at 22:57, Rory Walsh <rorywalsh@ear.ie> wrote:
Are you going to share some of the music you're making with it? I'm not a closure user, but I quite enjoyed the music I've heard you create with it. 

On 7 December 2017 at 21:56, Hlöðver Sigurðsson <hlolli@gmail.com> wrote:
I made a fix to the windows binary without bumping the version, so in case someone tried to run clumo on windows and encountered an error, then reinstalling/redownloading should work now.

On 5 December 2017 at 20:37, Hlöðver Sigurðsson <hlolli@gmail.com> wrote:
I made clumo; a patched version of the self-hosted clojurescript compiler called lumo(https://github.com/anmonteiro/lumo) to enable easy access to the clojurescript language within the score section of Csound. It's basically just a binary that you can download directly for mac, linux and windows (all 64 bit) https://github.com/hlolli/clumo/releases or even easier download it via npm package manager (v5 or later (that's node v8 or later)) and it will be automatically available into your global path (like any other node cli-tools).

On windows this should work:
npm install -g clumo
On linux/mac, depending on chmod of the global node_modiles dir, you may need to do
sudo npm install -g clumo --unsafe-perm
(--unsafe-perm is here not unsafe, npm wants permission to extract the zip file)

Then you can start writing Scores like this

<CsScore bin="clumo">
(require '[clojure.string :as string])
(require '[goog.string :as gstring])
(require 'goog.string.format)

(defn generate-event [n]
  (gstring/format "i 1 %s 1 %s" n (+ 20 (rand-int 1000))))

(string/join "\n" (map #(generate-event %) (range 0 10)))


</CsScore>

There are many details I'm not mentioning here, planing to write more detailed documentation/article later. If you know lisp/clojure, just keep in mind, that this the code here is an expression with a return value, and that return value needs to be a legal csound score string. You can interop with the whole of google closure library, npm repository and natively with clojure/clojurescript libraries from clojars.

Let me know if you try to use this, and if you encounter any problems.

Best,
Hlödver

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here