You can subscribe to this list here.
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(4) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(3) |
Jul
|
Aug
(7) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
(7) |
| 2006 |
Jan
(1) |
Feb
(2) |
Mar
(3) |
Apr
(3) |
May
(5) |
Jun
(1) |
Jul
|
Aug
(2) |
Sep
(4) |
Oct
(17) |
Nov
(18) |
Dec
(1) |
| 2007 |
Jan
|
Feb
|
Mar
(8) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(6) |
Dec
(1) |
| 2008 |
Jan
(17) |
Feb
(20) |
Mar
(8) |
Apr
(8) |
May
(10) |
Jun
(4) |
Jul
(5) |
Aug
(6) |
Sep
(9) |
Oct
(19) |
Nov
(4) |
Dec
(35) |
| 2009 |
Jan
(40) |
Feb
(16) |
Mar
(7) |
Apr
(6) |
May
|
Jun
(5) |
Jul
(5) |
Aug
(4) |
Sep
(1) |
Oct
(2) |
Nov
(15) |
Dec
(15) |
| 2010 |
Jan
(5) |
Feb
(20) |
Mar
(12) |
Apr
|
May
(2) |
Jun
(4) |
Jul
|
Aug
(11) |
Sep
(1) |
Oct
(1) |
Nov
(3) |
Dec
|
| 2011 |
Jan
(8) |
Feb
(19) |
Mar
|
Apr
(12) |
May
(7) |
Jun
(8) |
Jul
|
Aug
(1) |
Sep
(21) |
Oct
(7) |
Nov
(4) |
Dec
|
| 2012 |
Jan
(3) |
Feb
(25) |
Mar
(8) |
Apr
(10) |
May
|
Jun
(14) |
Jul
(5) |
Aug
(12) |
Sep
(3) |
Oct
(14) |
Nov
|
Dec
|
| 2013 |
Jan
(10) |
Feb
(4) |
Mar
(10) |
Apr
(14) |
May
(6) |
Jun
(13) |
Jul
(37) |
Aug
(20) |
Sep
(11) |
Oct
(1) |
Nov
(34) |
Dec
|
| 2014 |
Jan
(8) |
Feb
(26) |
Mar
(24) |
Apr
(5) |
May
|
Jun
|
Jul
|
Aug
(4) |
Sep
(28) |
Oct
(4) |
Nov
(4) |
Dec
(2) |
| 2015 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
(13) |
Jul
|
Aug
(3) |
Sep
(8) |
Oct
(11) |
Nov
(16) |
Dec
|
| 2016 |
Jan
|
Feb
(6) |
Mar
|
Apr
(9) |
May
(23) |
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2017 |
Jan
|
Feb
|
Mar
|
Apr
(7) |
May
(3) |
Jun
|
Jul
(3) |
Aug
|
Sep
(8) |
Oct
|
Nov
|
Dec
(3) |
| 2018 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
(4) |
Feb
|
Mar
(2) |
Apr
(6) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2020 |
Jan
|
Feb
|
Mar
|
Apr
(31) |
May
|
Jun
|
Jul
|
Aug
(7) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2021 |
Jan
(2) |
Feb
(2) |
Mar
(5) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2022 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
1
|
2
|
3
|
4
|
5
|
6
|
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
|
28
(2) |
|
|
|
|
|
|
|
From: Mark H. <Ma...@re...> - 2021-02-28 22:34:53
|
Hi Fernando,
I assume that you are talking about fetching the passed values out from a
received message in the message handler. The values are each passed in a
union.
Here is one of my message handlers (sorry if it doesn't format well in an
email):
// Callback handler for "/request/write <id> <node> <location>
<parameter size> <parameter ID> <parameter format> <value>"
// or <id> <node>
<location> <parameter name> <parameter format> <value>"
int handler_reqwrite(const char *path, const char *types, lo_arg
**argv, int argc, lo_message msg, void *user_data)
{
if ( *(types+3) == 'i')
// if the forth parameter is a size and not a name . . .
if ( argv[2]->i == -1 )
// and if the location is ram and not a flash page . . .
requestWrite( (void*)argv[0]->i, argv[1]->i,
argv[3]->i, argv[4]->i, argv[5]->i, argv[6]);
else
requestWriteFlash( (void*)argv[0]->i, argv[1]->i,
argv[3]->i, argv[4]->i, argv[5]->i, argv[6]);
else
// if the forth parameter is a name and not a size . . .
if ( argv[2]->i == -1 )
// and if the location is ram and not a flash page . . .
requestWriteByName( (void*)argv[0]->i, argv[1]->i,
&argv[3]->s, argv[4]->i, argv[5]);
else
requestWriteFlashByName( (void*)argv[0]->i,
argv[1]->i, &argv[3]->s, argv[4]->i, argv[5]);
return 0;
}
Each 'lo_arg' type is a union of all of the OSC types and each 'argv' is a
pointer to a union. As an example, if the second value passed was an 'int',
then I would access it as:
int size = argv[1]->i ;
and if it was a string (which is actually a character-pointer, so we have a
pointer to a pointer):
char* name = &argv[1]->s ;
Of course, the 'types' parameter would tell you the true type of the
parameter so that you can access it correctly, and I have caused
segmentation faults when I made the wrong assumption of the type.
Is that what you needed? Let me know if you would like anything else. I have
a ton of code now.
Mark
-----Original Message-----
From: Fernando Carello [mailto:fca...@gm...]
Sent: Sunday, February 28, 2021 9:00 AM
To: liblo development list
Subject: Re: [liblo] how to connect to a liblo TCP OSC server?
Hello,
I've successfully tested liblo in C, writing both client and server
implementations.
Now I'm faced with a maybe silly problem...
I can compose an OSC message from native C types using
lo_message_new() and appropriate
lo_message_add_* methods.
But, how may I convert OSC arguments from lo_arg to native C types?
Thanks!
Fernando
_______________________________________________
liblo-devel mailing list
lib...@li...
https://lists.sourceforge.net/lists/listinfo/liblo-devel
|
|
From: Fernando C. <fca...@gm...> - 2021-02-28 17:00:18
|
Hello, I've successfully tested liblo in C, writing both client and server implementations. Now I'm faced with a maybe silly problem... I can compose an OSC message from native C types using lo_message_new() and appropriate lo_message_add_* methods. But, how may I convert OSC arguments from lo_arg to native C types? Thanks! Fernando |