Csound Csound-dev Csound-tekno Search About

[CSOUND-DEV] OSC arguments

Date2015-10-18 11:56
Fromjoachim heintz
Subject[CSOUND-DEV] OSC arguments
hi -

i am writing something about the OSC opcodes and usage in csound, and 
saw that the argument specifications for OSClisten and OSCsend are not 
the same.

OSClisten (http://csound.github.io/docs/manual/OSClisten.html)
"The string can contain the characters "cdfhis" which stand for 
character, double, float, 64-bit integer, 32-bit integer, and string. 
All types other than 's' require a k-rate variable, while 's' requires a 
string variable."

OSCsend (http://csound.github.io/docs/manual/OSCsend.html)
"The string can contain the characters "bcdfilmst" which stand for 
Boolean, character, double, float, 32-bit integer, 64-bit integer, MIDI, 
string and timestamp."

these are my questions:

1. ist the argument list for OSCsend (which has Boolean, MIDI and 
timestamp additionally) also valid for OSClisten?  should we update the 
manual page for OSClisten?

2. what is the usage for
a) Boolean (1 / 0 ? or keywords?)
b) MIDI
c) timestamp

thanks -

Date2015-10-19 14:27
FromOeyvind Brandtsegg
SubjectRe: [CSOUND-DEV] OSC arguments
There is also the 'T' type that might allow sending tables as a blob.
I did some preliminary testing, but could not figure out the syntax
for using it.

2015-10-18 12:56 GMT+02:00 joachim heintz :
> hi -
>
> i am writing something about the OSC opcodes and usage in csound, and saw
> that the argument specifications for OSClisten and OSCsend are not the same.
>
> OSClisten (http://csound.github.io/docs/manual/OSClisten.html)
> "The string can contain the characters "cdfhis" which stand for character,
> double, float, 64-bit integer, 32-bit integer, and string. All types other
> than 's' require a k-rate variable, while 's' requires a string variable."
>
> OSCsend (http://csound.github.io/docs/manual/OSCsend.html)
> "The string can contain the characters "bcdfilmst" which stand for Boolean,
> character, double, float, 32-bit integer, 64-bit integer, MIDI, string and
> timestamp."
>
> these are my questions:
>
> 1. ist the argument list for OSCsend (which has Boolean, MIDI and timestamp
> additionally) also valid for OSClisten?  should we update the manual page
> for OSClisten?
>
> 2. what is the usage for
> a) Boolean (1 / 0 ? or keywords?)
> b) MIDI
> c) timestamp
>
> thanks -
>         joachim



-- 

Oeyvind Brandtsegg
Professor of Music Technology
NTNU
7491 Trondheim
Norway
Cell: +47 92 203 205

http://flyndresang.no/
http://www.partikkelaudio.com/
http://soundcloud.com/brandtsegg

Date2015-10-20 15:53
Fromjpff
SubjectRe: [Csnd-dev] [CSOUND-DEV] OSC arguments
Regarding OSC types there are 3 constraints:

1;  What liblo will allow; I would rather not have to change library

2:  OSCSend can only send csound data types

3:  OSCListen can onlr deliver csound types.

liblo knows
i        /** 32 bit signed integer. */
f        /** 32 bit IEEE-754 float. */
s        /** Standard C, NULL terminated string. */
b        /** OSC binary blob type. Accessed using the lo_blob_*() functions. */
h        /** 64 bit signed integer. */
t        /** OSC TimeTag type, represented by the lo_timetag structure. */
d        /** 64 bit IEEE-754 double. */
S        /** Standard C, NULL terminated, string. Used in systems which
          * distinguish strings and symbols. */
c        /** Standard C, 8 bit, char variable. */
m        /** A 4 byte MIDI packet. */
T        /** Symbol representing the value True. */
F        /** Symbol representing the value False. */
N        /** Symbol representing the value Nil. */
I        /** Symbol representing the value Infinitum. */

Of these "ifshd" map easily.  We could use blobs for audio data or
arrays, or tables.  What should we do wen receiving the types
"tcSmTFNI"?

I am sure it makes sense to look at this again, but it all depends on
use-cases.  I have only used OSC for csound>-

Date2015-10-20 21:32
Fromjoachim heintz
SubjectRe: [Csnd-dev] [CSOUND-DEV] OSC arguments
this sounds really promising!!

i would be glad about two extensions:

1) blobs for arrays
2) make possible to use adress patterns like "/*" in OSClisten. (i read 
in 
http://www.music.mcgill.ca/musictech/nime/onlineproceedings/Papers/NIME03_Wright.pdf 
that all common shell file name extensions should be possible — not sure 
though this is implemented in liblo.)

thanks!
	joachim


On 20/10/15 16:53, jpff wrote:
> Regarding OSC types there are 3 constraints:
>
> 1;  What liblo will allow; I would rather not have to change library
>
> 2:  OSCSend can only send csound data types
>
> 3:  OSCListen can onlr deliver csound types.
>
> liblo knows
> i        /** 32 bit signed integer. */
> f        /** 32 bit IEEE-754 float. */
> s        /** Standard C, NULL terminated string. */
> b        /** OSC binary blob type. Accessed using the lo_blob_*() functions. */
> h        /** 64 bit signed integer. */
> t        /** OSC TimeTag type, represented by the lo_timetag structure. */
> d        /** 64 bit IEEE-754 double. */
> S        /** Standard C, NULL terminated, string. Used in systems which
>            * distinguish strings and symbols. */
> c        /** Standard C, 8 bit, char variable. */
> m        /** A 4 byte MIDI packet. */
> T        /** Symbol representing the value True. */
> F        /** Symbol representing the value False. */
> N        /** Symbol representing the value Nil. */
> I        /** Symbol representing the value Infinitum. */
>
> Of these "ifshd" map easily.  We could use blobs for audio data or
> arrays, or tables.  What should we do wen receiving the types
> "tcSmTFNI"?
>
> I am sure it makes sense to look at this again, but it all depends on
> use-cases.  I have only used OSC for csound>- the dark.
>
> ==John ffitch