Re: Open Sound Control

2015-07-31 Thread Robert Herman
Also, Openmusic. It's a visual patcher, but it is built on Lisp, and you
can write Lisp code for the patches and other items.

http://support.ircam.fr/docs/om/om6-manual/co/Lisp.html

On Fri, Jul 31, 2015 at 4:39 AM, Thorsten Jolitz  wrote:

> Robert Herman 
> writes:
>
> Hi Rob,
>
> > I have come the long way round to PicoLisp, and I have been tinkering
> > with livecoding (audio/video, not just programming) for fun.
> >
> > I started with fluxus: www.pawfal.org/fluxus/
> > It is a great environment where you code and 3D objects show behind
> > your code, and you can drive their parameters from an audio feed or
> > file. It was written in a scheme which is now Racket.
> >
> > I am not a fan of clojure, so I only tried overtone, which is a
> > Clojure wrapper for the Supercollider sound server. They also copied
> > Shadertoy with their 'Shadertone' which allows for the graphics part
> > of the livecoding of music and graphics.
>
> What I see in the livecoding scene is the combination of rather complex
> programming with rather simplistic music - relentless techno beats ;-)
> I would like it the other way around.
>
> > I personally like Extempore, but I couldn't get it built on my Windows
> > machine, the OS X install had some issues with Jack and timing, and my
> > Linux distro had a few issues too. All in all, it is very complete and
> > complex, but too much fuss for my skills.
> > http://extempore.moso.com.au/
>
> If it takes days to make it run it looses attraction ...
>
> > I have been sticking with learning PicoLisp, and I would like to
> > somehow get it to work with Grace (a single cross-platform executable,
> > that you program music pieces in a Scheme or simplified Scheme called
> > Sal). http://commonmusic.sourceforge.net/
> > Grace or CM lacks a video creation component or library. I was hoping
> > to hook into the CM libraries with PicoLisp, and then use Alex's z3d.l
> > library to do graphics in PicoLisp. I am not near enough of a
> > programmer to do so, only aware that it can be done (I think?).
> >
> > Livecoding video and audio in a Lisp! Pure heaven...maybe CEPL in
> > PicoLisp??? https://www.youtube.com/watch?v=I0kWZP9L9Kc
>
> What would be the minimalistic setup? A midi cmdline tool or a C shared
> library that can be called from PicoLisp?
> Or would Supercollider be the easiest thing to work with, now that the
> OSC Protocol is implemented in PicoLIsp?
>
> > Have fun!
> >
> > Rob
> >
> > On Thu, Jul 30, 2015 at 1:26 PM, Thorsten Jolitz 
> > wrote:
> >
> > Erik Gustafson
> >  writes:
> >
> > Hi Erik,
> >
> > > https://github.com/erdg/picolisp-osc
> >
> > > If interested, more info about OSC can be found here:
> > >
> > > opensoundcontrol.org/introduction-osc
> > > opensoundcontrol.org/spec-1_0
> >
> > I find the combination of sound & picolisp very interesting, are
> > you
> > aware of "SoundCollider" and the Clojure Libraries "Overtone" and
> > "Leipzig"
> > (both on Github)?
> >
> > There are interesting videos on Youtube about making music with
> > emacs/vim and clojure:
> >
> > ,
> > | 1.
> > | Functional Composition - Chris Ford - YouTube
> > |
> > | www.youtube.com/watch?v=Mfsnlbd-4xQ8. Jan. 2013 - 39 Min.
> > | ► - Hochgeladen von ClojureTV Music theory is one of the
> > | 39:21 most naturally elegant and functional domains. It's a
> > | perfect fit for ...
> > |
> > | 2.
> > | Creating music with Clojure and Overtone - YouTube
> > |
> > | www.youtube.com/watch?v=RYZeQ6t_5SA23. Juli 2014 - 71 Min.
> > | ► - Hochgeladen von Manchester Geek Nights Chris Ford shows
> > | 70:50 how to make music with Clojure, starting with the basic
> > | building block of ...
> > `
> >
> > And I noticed that you have another music related picolisp lib on
> > github:
> >
> > ,
> > | 1. erdg/picolisp-aubio · GitHub
> > |
> > | https://github.com/erdg/picolisp-aubio
> > `
> >
> > I'm not so much interested in the technical (syntheziser) stuff
> > but
> > rather in the musical side of it, and I have a few questions:
> >
> > 1. How much would it take not to rewrite Overtone in PicoLisp but
> > rather
> > to define a handfull of musical instruments that can easily be
> > used in a
> > music creating PicoLisp program? I'm thinking of a basic rhythm
> > section
> > with a few rhythm instruments (maybe just a snare drum for
> > creating
> > swing and a Cajon and maybe Handclaps for creating Flamenco/World
> > Music
> > beats) and, most important, a (acoustic contra) bass.
> >
> > With some musical instruments available, one could take some
> > inspiration
> > from Overtone and Leipzig and maybe a python program like
> >
> > ,
> > | 1. MMA Home Page - Mellowood
> > |
> > | www.mellowood.ca/mma/
> > | ‎
> > | + Im Cache
> > | + Ä hnliche Seit

Re: Open Sound Control

2015-07-30 Thread Thorsten Jolitz
Robert Herman 
writes:

Hi Rob,

> I have come the long way round to PicoLisp, and I have been tinkering
> with livecoding (audio/video, not just programming) for fun.
>
> I started with fluxus: www.pawfal.org/fluxus/
> It is a great environment where you code and 3D objects show behind
> your code, and you can drive their parameters from an audio feed or
> file. It was written in a scheme which is now Racket.
>
> I am not a fan of clojure, so I only tried overtone, which is a
> Clojure wrapper for the Supercollider sound server. They also copied
> Shadertoy with their 'Shadertone' which allows for the graphics part
> of the livecoding of music and graphics.

What I see in the livecoding scene is the combination of rather complex
programming with rather simplistic music - relentless techno beats ;-)
I would like it the other way around.

> I personally like Extempore, but I couldn't get it built on my Windows
> machine, the OS X install had some issues with Jack and timing, and my
> Linux distro had a few issues too. All in all, it is very complete and
> complex, but too much fuss for my skills.
> http://extempore.moso.com.au/

If it takes days to make it run it looses attraction ...

> I have been sticking with learning PicoLisp, and I would like to
> somehow get it to work with Grace (a single cross-platform executable,
> that you program music pieces in a Scheme or simplified Scheme called
> Sal). http://commonmusic.sourceforge.net/
> Grace or CM lacks a video creation component or library. I was hoping
> to hook into the CM libraries with PicoLisp, and then use Alex's z3d.l
> library to do graphics in PicoLisp. I am not near enough of a
> programmer to do so, only aware that it can be done (I think?).
>
> Livecoding video and audio in a Lisp! Pure heaven...maybe CEPL in
> PicoLisp??? https://www.youtube.com/watch?v=I0kWZP9L9Kc

What would be the minimalistic setup? A midi cmdline tool or a C shared
library that can be called from PicoLisp?
Or would Supercollider be the easiest thing to work with, now that the
OSC Protocol is implemented in PicoLIsp? 

> Have fun!
>
> Rob
>
> On Thu, Jul 30, 2015 at 1:26 PM, Thorsten Jolitz 
> wrote:
>
> Erik Gustafson
>  writes:
> 
> Hi Erik,
> 
> > https://github.com/erdg/picolisp-osc
> 
> > If interested, more info about OSC can be found here:
> >
> > opensoundcontrol.org/introduction-osc
> > opensoundcontrol.org/spec-1_0
> 
> I find the combination of sound & picolisp very interesting, are
> you
> aware of "SoundCollider" and the Clojure Libraries "Overtone" and
> "Leipzig"
> (both on Github)?
> 
> There are interesting videos on Youtube about making music with
> emacs/vim and clojure:
> 
> ,
> | 1.
> | Functional Composition - Chris Ford - YouTube
> |
> | www.youtube.com/watch?v=Mfsnlbd-4xQ8. Jan. 2013 - 39 Min.
> | ► - Hochgeladen von ClojureTV Music theory is one of the
> | 39:21 most naturally elegant and functional domains. It's a
> | perfect fit for ...
> |
> | 2.
> | Creating music with Clojure and Overtone - YouTube
> |
> | www.youtube.com/watch?v=RYZeQ6t_5SA23. Juli 2014 - 71 Min.
> | ► - Hochgeladen von Manchester Geek Nights Chris Ford shows
> | 70:50 how to make music with Clojure, starting with the basic
> | building block of ...
> `
> 
> And I noticed that you have another music related picolisp lib on
> github:
> 
> ,
> | 1. erdg/picolisp-aubio · GitHub
> |
> | https://github.com/erdg/picolisp-aubio
> `
> 
> I'm not so much interested in the technical (syntheziser) stuff
> but
> rather in the musical side of it, and I have a few questions:
> 
> 1. How much would it take not to rewrite Overtone in PicoLisp but
> rather
> to define a handfull of musical instruments that can easily be
> used in a
> music creating PicoLisp program? I'm thinking of a basic rhythm
> section
> with a few rhythm instruments (maybe just a snare drum for
> creating
> swing and a Cajon and maybe Handclaps for creating Flamenco/World
> Music
> beats) and, most important, a (acoustic contra) bass.
> 
> With some musical instruments available, one could take some
> inspiration
> from Overtone and Leipzig and maybe a python program like
> 
> ,
> | 1. MMA Home Page - Mellowood
> |
> | www.mellowood.ca/mma/
> | ‎
> | + Im Cache
> | + Ä hnliche Seiten
> | 13 Jun 2015 ... "MMA-Musical MIDI Accompaniment" is an
> | accompaniment generator. ... MMA's templating track system
> | puts you in control of your music.
> `
> 
> and create background tracks for practising in PicoLisp. I think
> that
> would be fun ;-)
> 
> 2. How to use (picolisp-)aubio to get a score of what I play?
> 
> Reading about Aubio, it seems that I could 

Re: Open Sound Control

2015-07-30 Thread Thorsten Jolitz
Erik Gustafson
 writes:

Hi Erik,

> I find the combination of sound & picolisp very interesting
>
> Me too! One of my long term goals is to write audio software in
> PicoLisp. Gotta have the most dynamic language for one of the most
> dynamic human processes ;)

after reading the replies here and reconsidering the mentioned tools I
think I will just use MMA for now, its written in Python and has a
simple syntax and abstracts away all the sound creation stuff. 

What I was looking for was probably something similar, but as a
(Pico)Lisp, i.e. a real programming language not only for
implementation, but to write down the music - instead of text syntax.

I don't want to have to build the guitar before I strum a chord, so to
say, and the other tools described require so much effort to bring them
up and master them.

Thanks for you answer.

-- 
cheers,
Thorsten

-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Open Sound Control

2015-07-30 Thread Robert Herman
I have come the long way round to PicoLisp, and I have been tinkering with
livecoding (audio/video, not just programming) for fun.

I started with fluxus: www.pawfal.org/fluxus/
It is a great environment where you code and 3D objects show behind your
code, and you can drive their parameters from an audio feed or file. It was
written in a scheme which is now Racket.

I am not a fan of clojure, so I only tried overtone, which is a Clojure
wrapper for the Supercollider sound server. They also copied Shadertoy with
their 'Shadertone' which allows for the graphics part of the livecoding of
music and graphics.

I personally like Extempore, but I couldn't get it built on my Windows
machine, the OS X install had some issues with Jack and timing, and my
Linux distro had a few issues too. All in all, it is very complete and
complex, but too much fuss for my skills. http://extempore.moso.com.au/

I have been sticking with learning PicoLisp, and I would like to somehow
get it to work with Grace (a single cross-platform executable, that you
program music pieces in a Scheme or simplified Scheme called Sal).
http://commonmusic.sourceforge.net/
Grace or CM lacks a video creation component or library. I was hoping to
hook into the CM libraries with PicoLisp, and then use Alex's z3d.l library
to do graphics in PicoLisp. I am not near enough of a programmer to do so,
only aware that it can be done (I think?).

Livecoding video and audio in a Lisp! Pure heaven...maybe CEPL in
PicoLisp??? https://www.youtube.com/watch?v=I0kWZP9L9Kc

Have fun!

Rob



On Thu, Jul 30, 2015 at 1:26 PM, Thorsten Jolitz  wrote:

> Erik Gustafson
>  writes:
>
> Hi Erik,
>
> > https://github.com/erdg/picolisp-osc
>
> > If interested, more info about OSC can be found here:
> >
> > opensoundcontrol.org/introduction-osc
> > opensoundcontrol.org/spec-1_0
>
> I find the combination of sound & picolisp very interesting, are you
> aware of "SoundCollider" and the Clojure Libraries "Overtone" and "Leipzig"
> (both on Github)?
>
> There are interesting videos on Youtube about making music with
> emacs/vim and clojure:
>
> ,
> |  1.
> | Functional Composition - Chris Ford - YouTube
> |
> |   www.youtube.com/watch?v=Mfsnlbd-4xQ8. Jan. 2013 - 39 Min.
> | ► - Hochgeladen von ClojureTV Music theory is one of the
> | 39:21 most naturally elegant and functional domains. It's a
> |   perfect fit for ...
> |
> |  2.
> | Creating music with Clojure and Overtone - YouTube
> |
> |   www.youtube.com/watch?v=RYZeQ6t_5SA23. Juli 2014 - 71 Min.
> | ► - Hochgeladen von Manchester Geek Nights Chris Ford shows
> | 70:50 how to make music with Clojure, starting with the basic
> |   building block of ...
> `
>
> And I noticed that you have another music related picolisp lib on
> github:
>
> ,
> |  1. erdg/picolisp-aubio · GitHub
> |
> | https://github.com/erdg/picolisp-aubio
> `
>
> I'm not so much interested in the technical (syntheziser) stuff but
> rather in the musical side of it, and I have a few questions:
>
> 1. How much would it take not to rewrite Overtone in PicoLisp but rather
> to define a handfull of musical instruments that can easily be used in a
> music creating PicoLisp program? I'm thinking of a basic rhythm section
> with a few rhythm instruments (maybe just a snare drum for creating
> swing and a Cajon and maybe Handclaps for creating Flamenco/World Music
> beats) and, most important, a (acoustic contra) bass.
>
> With some musical instruments available, one could take some inspiration
> from Overtone and Leipzig and maybe a python program like
>
> ,
> |  1. MMA Home Page - Mellowood
> |
> | www.mellowood.ca/mma/
> | ‎
> |   + Im Cache
> |   + Ä hnliche Seiten
> | 13 Jun 2015 ... "MMA-Musical MIDI Accompaniment" is an
> | accompaniment generator. ... MMA's templating track system
> | puts you in control of your music.
> `
>
> and create background tracks for practising in PicoLisp. I think that
> would be fun ;-)
>
> 2. How to use (picolisp-)aubio to get a score of what I play?
>
> Reading about Aubio, it seems that I could plugin my guitar into my
> computer, record some stuff, and the use Aubio to extract a midi score
> of what I played (and then use other programs to convert that midi score
> to conventional musical notation).
>
> ,
> |  1. aubio, a library for audio labelling
> |
> | aubio.org/
> | ‎
> |   + Im Cache
> |   + Ä hnliche Seiten
> | aubio, a collection of algorithms and tools to extract
> | musical meaning from audio signals, such as tempo, pitch, and
> | onset.
> `
>
> A fascinating perspective, but how to do that in practice? I tried to
> use aubio on mp3 and ogg files as input
>
> ,
> | $ aubionotes --help
> | usage: aubionotes [ options ]
> |-i  --inputinput file
> |-r  --samplerate   select samplerate
> |-B  --bufsize  set

Re: Open Sound Control

2015-07-29 Thread Thorsten Jolitz
Erik Gustafson
 writes:

Hi Erik,

> https://github.com/erdg/picolisp-osc

> If interested, more info about OSC can be found here:
>
> opensoundcontrol.org/introduction-osc
> opensoundcontrol.org/spec-1_0

I find the combination of sound & picolisp very interesting, are you
aware of "SoundCollider" and the Clojure Libraries "Overtone" and "Leipzig"
(both on Github)?

There are interesting videos on Youtube about making music with
emacs/vim and clojure:

,
|  1.   
   
| Functional Composition - Chris Ford - YouTube 
   
|   
   
|   www.youtube.com/watch?v=Mfsnlbd-4xQ8. Jan. 2013 - 39 Min.   
   
| ► - Hochgeladen von ClojureTV Music theory is one of the  
   
| 39:21 most naturally elegant and functional domains. It's a   
   
|   perfect fit for ... 
   
|   
   
|  2.   
   
| Creating music with Clojure and Overtone - YouTube
   
|   
   
|   www.youtube.com/watch?v=RYZeQ6t_5SA23. Juli 2014 - 71 Min.  
   
| ► - Hochgeladen von Manchester Geek Nights Chris Ford shows   
   
| 70:50 how to make music with Clojure, starting with the basic 
   
|   building block of ...   
   
`

And I noticed that you have another music related picolisp lib on
github:

,
|  1. erdg/picolisp-aubio · GitHub
| 
| https://github.com/erdg/picolisp-aubio  
`

I'm not so much interested in the technical (syntheziser) stuff but
rather in the musical side of it, and I have a few questions:

1. How much would it take not to rewrite Overtone in PicoLisp but rather
to define a handfull of musical instruments that can easily be used in a
music creating PicoLisp program? I'm thinking of a basic rhythm section
with a few rhythm instruments (maybe just a snare drum for creating
swing and a Cajon and maybe Handclaps for creating Flamenco/World Music
beats) and, most important, a (acoustic contra) bass.

With some musical instruments available, one could take some inspiration
from Overtone and Leipzig and maybe a python program like

,
|  1. MMA Home Page - Mellowood   
| 
| www.mellowood.ca/mma/   
| ‎   
|   + Im Cache
|   + Ä hnliche Seiten
| 13 Jun 2015 ... "MMA-Musical MIDI Accompaniment" is an  
| accompaniment generator. ... MMA's templating track system  
| puts you in control of your music.  
`
 
and create background tracks for practising in PicoLisp. I think that
would be fun ;-)

2. How to use (picolisp-)aubio to get a score of what I play?

Reading about Aubio, it seems that I could plugin my guitar into my
computer, record some stuff, and the use Aubio to extract a midi score
of what I played (and then use other programs to convert that midi score
to conventional musical notation). 

,
|  1. aubio, a library for audio labelling
| 
| aubio.org/  
| ‎   
|   + Im Cache
|   + Ä hnliche Seiten
| aubio, a collection of algorithms and tools to extract  
| musical meaning from audio signals, such as tempo, pitch, and   
| onset.  
`

A fascinating perspective, but how to do that in practice? I tried to
use aubio on mp3 and ogg files as input

,
| $ aubionotes --help
| usage: aubionotes [ options ]
|-i  --inputinput file
|-r  --samplerate   select samplerate
|-B  --bufsize  set buffer size
|-H  --hopsize  set hopsize
|-O  --onsetselect onset detection algorithm
|-t  --onset-threshold  set onset detection threshold
|-p  --pitchselect pitch detection algor

Re: Open Sound Control

2015-07-26 Thread Alexander Burger
Hi Erik,

> Another question about methods, while we're on the topic... For most of my
> 'dm's the first argument is implied. For example,
> 
>   [dm message-add-int32> (N)
>  ... ]
> 
> is expected to be called with the message (external symbol) followed by the
> number to be added to the message. The message is then accessed by the '(:
> ptr)' in the body. Is this the right way to do it, or should I make it more
> explicit? Seemed to work as I was playing around with it, so I kept it,
> even though I don't fully understand why it works.

As far as I understand it, this seems fine to me. In any case,
experimenting with the various ways is the best.

♪♫ Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Open Sound Control

2015-07-26 Thread Alexander Burger
Hi Erik,

On Sun, Jul 26, 2015 at 12:04:06PM -0500, Erik Gustafson wrote:
> >
> > It might work on 'emu'. We must just keep in mind that 'native'
> > calls under emu cannot pass more than 6 arguments to a function.
> >
> 
> I was wondering about this, as Macs are the standard in the music world.
> I'd also like to get my Rasperry Pi and similar devices speaking OSC
> through PicoLisp. Just gave it a roll with 'emu' on my laptop (a ThinkPad

Raspberry and PicoLisp are fine, but only pil32 of course.

For 'emu' I see a speed problem, because that little machine is not the
fastest. On the other hand, most things will happen in the OSC libs, so
the interpreter speed doesn't matter much.

I think it would be better to write native glue functions for pil32.
That is, either a shared library (in the same way the built-in shared
libraries "lib/ext" and "lib/ht" are build) or inline-C code with the
'gcc' function (as an example, see "misc/crc.l" in the PicoLisp distro).

♪♫ Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Open Sound Control

2015-07-26 Thread Erik Gustafson
Alex,


> Thanks for sharing this!
>

Of course!

A small note about the places where you assign a value to 'ptr':
>
>(=: ptr
>(liblo~ffi ...
>
> This works, because 'ptr' is defined as a plain number property
>
>(rel ptr (+Number))
>
> without any entity/relation side effects. But if you make, for example,
> an index later
>
>(rel ptr (+Ref +Number))
>
> then it will break because the index will not be maintained when a value
> is assigned.
>
> So in general, you should use 'put>' to assign properties to entities:
>
>(put> This 'ptr
>   (liblo~ffi ...
>

Good to know! I'll make that change, as I'm sure '+Ref' and it's cousins
will be helpful as I move beyond sending a single message to a single
server on the same machine :)

Another question about methods, while we're on the topic... For most of my
'dm's the first argument is implied. For example,

  [dm message-add-int32> (N)
 ... ]

is expected to be called with the message (external symbol) followed by the
number to be added to the message. The message is then accessed by the '(:
ptr)' in the body. Is this the right way to do it, or should I make it more
explicit? Seemed to work as I was playing around with it, so I kept it,
even though I don't fully understand why it works.

Thanks!


Re: Open Sound Control

2015-07-26 Thread Erik Gustafson
>
> It might work on 'emu'. We must just keep in mind that 'native'
> calls under emu cannot pass more than 6 arguments to a function.
>

I was wondering about this, as Macs are the standard in the music world.
I'd also like to get my Rasperry Pi and similar devices speaking OSC
through PicoLisp. Just gave it a roll with 'emu' on my laptop (a ThinkPad
with Arch Linux) and went through the sample in the GitHub repo. Everything
worked fine for me. I'm hoping later this week I'll have a chance to test
it out on a MacBook and my RasPi.

I don't think the 6 argument limit should be a problem (for this library,
at least); most functions take 0-3 arguments.


Re: Open Sound Control

2015-07-26 Thread Alexander Burger
Hi Jon,

> Do you know if your library will work with 32-bit PicoLisp?

Unfortunately not, because it uses 'native' calls. As you know, for
pil32 the library calls have to handled a little differently, using glue
functions.


> I’m a Mac user, and 32-bit (and Ersatz) is the only PicoLisp version
> that I can use.

It might work on 'emu'. We must just keep in mind that 'native'
calls under emu cannot pass more than 6 arguments to a function.

♪♫ Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Open Sound Control

2015-07-26 Thread Alexander Burger
Hi Erik,

> I'm working on my first PicoLisp library, native C bindings for Liblo. What
> I have so far, which is enough for the most basic use case, can be found at:
> 
>   https://github.com/erdg/picolisp-osc

Thanks for sharing this!


> Now I'm wondering if this is a worthwhile path to pursue. I like the idea
> of using the PicoLisp DB, as one could be able to query a bunch of OSC
> servers and their methods, keep a log of messages sent/received, etc., all
> from PicoLisp. But the whole thing could be terribly redundant as far as
> memory use is concerned(?)

I think the memory use should not be a problem here.


A small note about the places where you assign a value to 'ptr':

   (=: ptr
   (liblo~ffi ...

This works, because 'ptr' is defined as a plain number property

   (rel ptr (+Number))

without any entity/relation side effects. But if you make, for example,
an index later

   (rel ptr (+Ref +Number))

then it will break because the index will not be maintained when a value
is assigned.

So in general, you should use 'put>' to assign properties to entities:

   (put> This 'ptr
  (liblo~ffi ...

♪♫ Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Open Sound Control

2015-07-26 Thread Jon Kleiser
Hi Erik,

Do you know if your library will work with 32-bit PicoLisp? I’m a Mac user, and 
32-bit (and Ersatz) is the only PicoLisp version that I can use.

I have no experience with OSC (Open Sound Control is a protocol for 
communication among computers, sound synthesizers, and other multimedia devices 
that is optimized for modern networking technology), but I have played a little 
with MIDI music. At the moment I’m trying out Web Audio.

/Jon

On 25. jul. 2015, at 23.13, Erik Gustafson 
mailto:erik.d.gustaf...@gmail.com>> wrote:

Hi all,

I'm working on my first PicoLisp library, native C bindings for Liblo. What I 
have so far, which is enough for the most basic use case, can be found at:

  https://github.com/erdg/picolisp-osc

The file 'liblo.l' contains the direct ffi-bindings to the C library. I stole 
Alex Williams' idea of a "rule-based solution" from his 'picolisp-json' 
library; it's a great way to get up and running with C functions at the repl.

From there, I decided to scoop it all up into the PicoLisp DB. The files 
'server.l', 'address.l', and 'message.l' contain the code for this. They should 
probably be condensed into one file, 'osc.l', but that hasn't happened yet. You 
can follow along with a sample repl session in the README.

Now I'm wondering if this is a worthwhile path to pursue. I like the idea of 
using the PicoLisp DB, as one could be able to query a bunch of OSC servers and 
their methods, keep a log of messages sent/received, etc., all from PicoLisp. 
But the whole thing could be terribly redundant as far as memory use is 
concerned(?), and because a lot of that functionality exists in the C library 
already. I'm still learning how PicoLisp and C work together.

I'd love any feedback! Apologies in advance, it's all pretty rough right now... 
I've never written a library before, in any language, and this one is nowhere 
near complete. You'll need liblo installed prior, as I have no Makefile magic 
happening yet.

If interested, more info about OSC can be found here:

  
opensoundcontrol.org/introduction-osc
  opensoundcontrol.org/spec-1_0

Many thanks!



Re: Open Sound Control

2015-07-25 Thread Erik Gustafson
>
> They should probably be condensed into one file, 'osc.l', but that hasn't
> happened yet.
>
Done :)