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
(1) |
8
|
9
|
|
10
|
11
|
12
|
13
|
14
|
15
(2) |
16
(2) |
|
17
|
18
|
19
|
20
|
21
|
22
(1) |
23
|
|
24
|
25
(2) |
26
|
27
|
28
|
29
|
30
|
|
From: Stephen S. <rad...@gm...> - 2017-09-25 12:46:55
|
Sounds great :)
For what it's worth, the "server threads" feature of liblo basically
just allows you to receive messages on a dedicated background thread.
Depending on your use case you could benefit from skipping wrapping
these and just use whatever Lua threading mechanism exists. (I don't
know Lua, but I assume there is some threading support.)
Congrats on the callback support, that's the hard part with bindings.
Remember that if you are using server threads, the callback will be on
a different thread than the function that called
lo_server_thread_start(), so you may need a synchronization mechanism
if you call back into the Lua interpreter. This may or may not defeat
the purpose of threading, depending on your scenario.
Steve
On Sun, Sep 24, 2017 at 9:28 PM, Thomas Brand <to...@tr...> wrote:
>
> Hello Steve,
>
> thanks for the insights, the $$ is interesting to know!
> I will happily share the binding file, it turns out to be more difficult
> than i thought.. This weekend server_thread_add_method() works for the
> first time with a lua callback method, this is pretty awesome IMHO.
> I'll be back :)
> Greetings
> Thomas
>
> On Sat, September 23, 2017 00:25, Stephen Sinclair wrote:
>> Hi Thomas,
>>
>>
>> If you get nice luajit bindings working perhaps we can even include
>> them with liblo. Let me know how it goes.
>>
>> As for lo_send, indeed you should call lo_send_internal directly.
>> What the macro does is add these numbers called LO_MARKER_A and
>> LO_MARKER_B at the end of the variadic call, which are only there for
>> error checking. This can be a hassle for bindings purposes, so if you add
>> $$ to the end of the typestring it won't check those numbers.
>>
>>
>> But it's probably easier to skip the varargs stuff entirely and just
>> use the lo_message_add_ interface, then call lo_send_message(). If you do
>> this just add your own variadic lo_send() that does the right thing for
>> Lua.
>>
>>
>> Steve
>>
>>
>>
>> On Sat, Sep 16, 2017 at 4:53 AM, Thomas Brand <to...@tr...> wrote:
>>
>>>
>>> Follow-up: pre-processing the header seems to work for lo_send with lua
>>> ffi:
>>> gcc -E /usr/include/lo/lo.h|grep -v "^#" >lo_preprocessed.h I start to
>>> understand :)
>>>
>>> ---------------------------- Original Message
>>> ----------------------------
>>> Subject: Re: [liblo] Visibility of symbols in liblo.so
>>> From: "Thomas Brand" <to...@tr...>
>>> Date: Sat, September 16, 2017 09:54
>>> To: "liblo development list" <lib...@li...>
>>> ------------------------------------------------------------------------
>>> --
>>>
>>>
>>> Hi,
>>> thanks Erik and Steve for your answers. I'm thinking about this for a few
>>> days, this question was pretty dumb (!). Nevertheless here is what
>>> brought me to it, i was playing with luajit [1], it allows to use shared
>>> objects (load('lo')) and then use them without complicated mappings. The
>>> mapping is sort of replicating the header file BUT it doesn't support
>>> macros. This lua code:
>>> --snip
>>> local ffi = require("ffi") ffi.cdef[[ int printf(const char *fmt, ...); ]]
>>> ffi.C.printf("Hello %s!", "world") --snap
>>> I was thinking i could do the same with lo_send(xx ,...) but since
>>> lo_send isn't visible in the .so this woulnd't work :) The solution was
>>> to wrap the ... part in lua, and simply lo_add_xxx for the variadic
>>> args. Still i don't understand if a macro is "only" syntactic sugar for
>>> the compiler. Or if a macro can always also be expressed as a regular
>>> method, that in given case would make a difference. Greetings
>>> Thomas
>>>
>>>
>>> [1] http://luajit.org/ext_ffi.html
>>>
>>>
>>> On Sat, September 16, 2017 01:03, Stephen Sinclair wrote:
>>>
>>>> Hi, yes lo_send is a macro that expands to lo_send_internal.
>>>>
>>>>
>>>>
>>>> On Windows the compiler for MSVC at least in older versions did not
>>>> support the variadic macros needed for the LO_MARKER trick, so it was
>>>> made a real function in that case. You can check lo_macro.h and the
>>>> "#if
>>>> defined(USE_ANSI_C)" clause for details.
>>>>
>>>> Is there a reason you need to detect the lo_send symbol? If you
>>>> describe the problem perhaps we can help.
>>>>
>>>> Steve
>>>>
>>>>
>>>>
>>>>
>>>> On Fri, Sep 15, 2017 at 10:56 AM, Erik Ronström
>>>> <eri...@do...> wrote:
>>>>
>>>>
>>>>> If it’s a macro, it needs to be expanded at compile time, which
>>>>> means that it won’t be available in a dynamic library.
>>>>>
>>>>> Erik
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> 7 sep. 2017 kl. 20:34 skrev Thomas Brand <to...@tr...>:
>>>>>>
>>>>>>
>>>>>>
>>>>>> Hi,
>>>>>> i found out that the lo_send() method isn't visible in the
>>>>>> generated .so
>>>>>> file. I'm bulding "normal" like mkdir _build && cd _build && cmake
>>>>>> ../cmake && make && sudo make
>>>>>> install This gives liblo.so.7.3.0. nm liblo.so.7.3.0 | grep lo_send
>>>>>> shows some instances but not the pure lo_send. Looking at the code
>>>>>> lo_send is a macro and uses the "..." arguments list. Can that
>>>>>> make the difference? Could lo_send be available in the shared
>>>>>> object or not because of other reasons? I also saw that lo_send is
>>>>>> in src/liblo.def (@65). I'm not sure if i understand correctly
>>>>>> what's going on, any hints are welcome. Thanks + best regards
>>>>>> Thomas
>>>>>>
>>>>>>
>>>
>>>
>>>
>>> -----------------------------------------------------------------------
>>> -------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>> _______________________________________________
>>> liblo-devel mailing list lib...@li...
>>> https://lists.sourceforge.net/lists/listinfo/liblo-devel
>>>
>>>
>>>
>>>
>>> -----------------------------------------------------------------------
>>> -------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>> _______________________________________________
>>> liblo-devel mailing list lib...@li...
>>> https://lists.sourceforge.net/lists/listinfo/liblo-devel
>>>
>>
>> -------------------------------------------------------------------------
>> -----
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> liblo-devel mailing list lib...@li...
>> https://lists.sourceforge.net/lists/listinfo/liblo-devel
>>
>>
>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> liblo-devel mailing list
> lib...@li...
> https://lists.sourceforge.net/lists/listinfo/liblo-devel
|
|
From: Thomas B. <to...@tr...> - 2017-09-25 00:28:52
|
Hello Steve,
thanks for the insights, the $$ is interesting to know!
I will happily share the binding file, it turns out to be more difficult
than i thought.. This weekend server_thread_add_method() works for the
first time with a lua callback method, this is pretty awesome IMHO.
I'll be back :)
Greetings
Thomas
On Sat, September 23, 2017 00:25, Stephen Sinclair wrote:
> Hi Thomas,
>
>
> If you get nice luajit bindings working perhaps we can even include
> them with liblo. Let me know how it goes.
>
> As for lo_send, indeed you should call lo_send_internal directly.
> What the macro does is add these numbers called LO_MARKER_A and
> LO_MARKER_B at the end of the variadic call, which are only there for
> error checking. This can be a hassle for bindings purposes, so if you add
> $$ to the end of the typestring it won't check those numbers.
>
>
> But it's probably easier to skip the varargs stuff entirely and just
> use the lo_message_add_ interface, then call lo_send_message(). If you do
> this just add your own variadic lo_send() that does the right thing for
> Lua.
>
>
> Steve
>
>
>
> On Sat, Sep 16, 2017 at 4:53 AM, Thomas Brand <to...@tr...> wrote:
>
>>
>> Follow-up: pre-processing the header seems to work for lo_send with lua
>> ffi:
>> gcc -E /usr/include/lo/lo.h|grep -v "^#" >lo_preprocessed.h I start to
>> understand :)
>>
>> ---------------------------- Original Message
>> ----------------------------
>> Subject: Re: [liblo] Visibility of symbols in liblo.so
>> From: "Thomas Brand" <to...@tr...>
>> Date: Sat, September 16, 2017 09:54
>> To: "liblo development list" <lib...@li...>
>> ------------------------------------------------------------------------
>> --
>>
>>
>> Hi,
>> thanks Erik and Steve for your answers. I'm thinking about this for a few
>> days, this question was pretty dumb (!). Nevertheless here is what
>> brought me to it, i was playing with luajit [1], it allows to use shared
>> objects (load('lo')) and then use them without complicated mappings. The
>> mapping is sort of replicating the header file BUT it doesn't support
>> macros. This lua code:
>> --snip
>> local ffi = require("ffi") ffi.cdef[[ int printf(const char *fmt, ...); ]]
>> ffi.C.printf("Hello %s!", "world") --snap
>> I was thinking i could do the same with lo_send(xx ,...) but since
>> lo_send isn't visible in the .so this woulnd't work :) The solution was
>> to wrap the ... part in lua, and simply lo_add_xxx for the variadic
>> args. Still i don't understand if a macro is "only" syntactic sugar for
>> the compiler. Or if a macro can always also be expressed as a regular
>> method, that in given case would make a difference. Greetings
>> Thomas
>>
>>
>> [1] http://luajit.org/ext_ffi.html
>>
>>
>> On Sat, September 16, 2017 01:03, Stephen Sinclair wrote:
>>
>>> Hi, yes lo_send is a macro that expands to lo_send_internal.
>>>
>>>
>>>
>>> On Windows the compiler for MSVC at least in older versions did not
>>> support the variadic macros needed for the LO_MARKER trick, so it was
>>> made a real function in that case. You can check lo_macro.h and the
>>> "#if
>>> defined(USE_ANSI_C)" clause for details.
>>>
>>> Is there a reason you need to detect the lo_send symbol? If you
>>> describe the problem perhaps we can help.
>>>
>>> Steve
>>>
>>>
>>>
>>>
>>> On Fri, Sep 15, 2017 at 10:56 AM, Erik Ronström
>>> <eri...@do...> wrote:
>>>
>>>
>>>> If it’s a macro, it needs to be expanded at compile time, which
>>>> means that it won’t be available in a dynamic library.
>>>>
>>>> Erik
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>> 7 sep. 2017 kl. 20:34 skrev Thomas Brand <to...@tr...>:
>>>>>
>>>>>
>>>>>
>>>>> Hi,
>>>>> i found out that the lo_send() method isn't visible in the
>>>>> generated .so
>>>>> file. I'm bulding "normal" like mkdir _build && cd _build && cmake
>>>>> ../cmake && make && sudo make
>>>>> install This gives liblo.so.7.3.0. nm liblo.so.7.3.0 | grep lo_send
>>>>> shows some instances but not the pure lo_send. Looking at the code
>>>>> lo_send is a macro and uses the "..." arguments list. Can that
>>>>> make the difference? Could lo_send be available in the shared
>>>>> object or not because of other reasons? I also saw that lo_send is
>>>>> in src/liblo.def (@65). I'm not sure if i understand correctly
>>>>> what's going on, any hints are welcome. Thanks + best regards
>>>>> Thomas
>>>>>
>>>>>
>>
>>
>>
>> -----------------------------------------------------------------------
>> -------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> liblo-devel mailing list lib...@li...
>> https://lists.sourceforge.net/lists/listinfo/liblo-devel
>>
>>
>>
>>
>> -----------------------------------------------------------------------
>> -------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> liblo-devel mailing list lib...@li...
>> https://lists.sourceforge.net/lists/listinfo/liblo-devel
>>
>
> -------------------------------------------------------------------------
> -----
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> liblo-devel mailing list lib...@li...
> https://lists.sourceforge.net/lists/listinfo/liblo-devel
>
>
|
|
From: Stephen S. <rad...@gm...> - 2017-09-22 21:25:26
|
Hi Thomas,
If you get nice luajit bindings working perhaps we can even include
them with liblo. Let me know how it goes.
As for lo_send, indeed you should call lo_send_internal directly.
What the macro does is add these numbers called LO_MARKER_A and
LO_MARKER_B at the end of the variadic call, which are only there for
error checking. This can be a hassle for bindings purposes, so if you
add $$ to the end of the typestring it won't check those numbers.
But it's probably easier to skip the varargs stuff entirely and just
use the lo_message_add_ interface, then call lo_send_message(). If
you do this just add your own variadic lo_send() that does the right
thing for Lua.
Steve
On Sat, Sep 16, 2017 at 4:53 AM, Thomas Brand <to...@tr...> wrote:
>
> Follow-up: pre-processing the header seems to work for lo_send with lua ffi:
> gcc -E /usr/include/lo/lo.h|grep -v "^#" >lo_preprocessed.h
> I start to understand :)
>
> ---------------------------- Original Message ----------------------------
> Subject: Re: [liblo] Visibility of symbols in liblo.so
> From: "Thomas Brand" <to...@tr...>
> Date: Sat, September 16, 2017 09:54
> To: "liblo development list" <lib...@li...>
> --------------------------------------------------------------------------
>
> Hi,
> thanks Erik and Steve for your answers.
> I'm thinking about this for a few days, this question was pretty dumb (!).
> Nevertheless here is what brought me to it, i was playing with luajit [1],
> it allows to use shared objects (load('lo')) and then use them without
> complicated mappings. The mapping is sort of replicating the header file
> BUT it doesn't support macros.
> This lua code:
> --snip
> local ffi = require("ffi")
> ffi.cdef[[
> int printf(const char *fmt, ...);
> ]]
> ffi.C.printf("Hello %s!", "world")
> --snap
> I was thinking i could do the same with lo_send(xx ,...) but since lo_send
> isn't visible in the .so this woulnd't work :)
> The solution was to wrap the ... part in lua, and simply lo_add_xxx for
> the variadic args.
> Still i don't understand if a macro is "only" syntactic sugar for the
> compiler. Or if a macro can always also be expressed as a regular method,
> that in given case would make a difference.
> Greetings
> Thomas
>
> [1] http://luajit.org/ext_ffi.html
>
> On Sat, September 16, 2017 01:03, Stephen Sinclair wrote:
>> Hi, yes lo_send is a macro that expands to lo_send_internal.
>>
>>
>> On Windows the compiler for MSVC at least in older versions did not
>> support the variadic macros needed for the LO_MARKER trick, so it was made
>> a real function in that case. You can check lo_macro.h and the "#if
>> defined(USE_ANSI_C)" clause for details.
>>
>> Is there a reason you need to detect the lo_send symbol? If you
>> describe the problem perhaps we can help.
>>
>> Steve
>>
>>
>>
>> On Fri, Sep 15, 2017 at 10:56 AM, Erik Ronström
>> <eri...@do...> wrote:
>>
>>> If it’s a macro, it needs to be expanded at compile time, which means
>>> that it won’t be available in a dynamic library.
>>>
>>> Erik
>>>
>>>
>>>
>>>
>>>> 7 sep. 2017 kl. 20:34 skrev Thomas Brand <to...@tr...>:
>>>>
>>>>
>>>> Hi,
>>>> i found out that the lo_send() method isn't visible in the generated
>>>> .so
>>>> file. I'm bulding "normal" like
>>>> mkdir _build && cd _build && cmake ../cmake && make && sudo make
>>>> install This gives liblo.so.7.3.0.
>>>> nm liblo.so.7.3.0 | grep lo_send shows some instances but not the pure
>>>> lo_send. Looking at the code lo_send is a macro and uses the "..."
>>>> arguments list. Can that make the difference? Could lo_send be
>>>> available in the shared object or not because of other reasons? I also
>>>> saw that lo_send is in src/liblo.def (@65). I'm not sure if i
>>>> understand correctly what's going on, any hints are welcome. Thanks +
>>>> best regards Thomas
>>>>
>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> liblo-devel mailing list
> lib...@li...
> https://lists.sourceforge.net/lists/listinfo/liblo-devel
>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> liblo-devel mailing list
> lib...@li...
> https://lists.sourceforge.net/lists/listinfo/liblo-devel
|
|
From: Thomas B. <to...@tr...> - 2017-09-16 07:54:02
|
Follow-up: pre-processing the header seems to work for lo_send with lua ffi:
gcc -E /usr/include/lo/lo.h|grep -v "^#" >lo_preprocessed.h
I start to understand :)
---------------------------- Original Message ----------------------------
Subject: Re: [liblo] Visibility of symbols in liblo.so
From: "Thomas Brand" <to...@tr...>
Date: Sat, September 16, 2017 09:54
To: "liblo development list" <lib...@li...>
--------------------------------------------------------------------------
Hi,
thanks Erik and Steve for your answers.
I'm thinking about this for a few days, this question was pretty dumb (!).
Nevertheless here is what brought me to it, i was playing with luajit [1],
it allows to use shared objects (load('lo')) and then use them without
complicated mappings. The mapping is sort of replicating the header file
BUT it doesn't support macros.
This lua code:
--snip
local ffi = require("ffi")
ffi.cdef[[
int printf(const char *fmt, ...);
]]
ffi.C.printf("Hello %s!", "world")
--snap
I was thinking i could do the same with lo_send(xx ,...) but since lo_send
isn't visible in the .so this woulnd't work :)
The solution was to wrap the ... part in lua, and simply lo_add_xxx for
the variadic args.
Still i don't understand if a macro is "only" syntactic sugar for the
compiler. Or if a macro can always also be expressed as a regular method,
that in given case would make a difference.
Greetings
Thomas
[1] http://luajit.org/ext_ffi.html
On Sat, September 16, 2017 01:03, Stephen Sinclair wrote:
> Hi, yes lo_send is a macro that expands to lo_send_internal.
>
>
> On Windows the compiler for MSVC at least in older versions did not
> support the variadic macros needed for the LO_MARKER trick, so it was made
> a real function in that case. You can check lo_macro.h and the "#if
> defined(USE_ANSI_C)" clause for details.
>
> Is there a reason you need to detect the lo_send symbol? If you
> describe the problem perhaps we can help.
>
> Steve
>
>
>
> On Fri, Sep 15, 2017 at 10:56 AM, Erik Ronström
> <eri...@do...> wrote:
>
>> If it’s a macro, it needs to be expanded at compile time, which means
>> that it won’t be available in a dynamic library.
>>
>> Erik
>>
>>
>>
>>
>>> 7 sep. 2017 kl. 20:34 skrev Thomas Brand <to...@tr...>:
>>>
>>>
>>> Hi,
>>> i found out that the lo_send() method isn't visible in the generated
>>> .so
>>> file. I'm bulding "normal" like
>>> mkdir _build && cd _build && cmake ../cmake && make && sudo make
>>> install This gives liblo.so.7.3.0.
>>> nm liblo.so.7.3.0 | grep lo_send shows some instances but not the pure
>>> lo_send. Looking at the code lo_send is a macro and uses the "..."
>>> arguments list. Can that make the difference? Could lo_send be
>>> available in the shared object or not because of other reasons? I also
>>> saw that lo_send is in src/liblo.def (@65). I'm not sure if i
>>> understand correctly what's going on, any hints are welcome. Thanks +
>>> best regards Thomas
>>>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
liblo-devel mailing list
lib...@li...
https://lists.sourceforge.net/lists/listinfo/liblo-devel
|
|
From: Thomas B. <to...@tr...> - 2017-09-16 06:54:52
|
Hi,
thanks Erik and Steve for your answers.
I'm thinking about this for a few days, this question was pretty dumb (!).
Nevertheless here is what brought me to it, i was playing with luajit [1],
it allows to use shared objects (load('lo')) and then use them without
complicated mappings. The mapping is sort of replicating the header file
BUT it doesn't support macros.
This lua code:
--snip
local ffi = require("ffi")
ffi.cdef[[
int printf(const char *fmt, ...);
]]
ffi.C.printf("Hello %s!", "world")
--snap
I was thinking i could do the same with lo_send(xx ,...) but since lo_send
isn't visible in the .so this woulnd't work :)
The solution was to wrap the ... part in lua, and simply lo_add_xxx for
the variadic args.
Still i don't understand if a macro is "only" syntactic sugar for the
compiler. Or if a macro can always also be expressed as a regular method,
that in given case would make a difference.
Greetings
Thomas
[1] http://luajit.org/ext_ffi.html
On Sat, September 16, 2017 01:03, Stephen Sinclair wrote:
> Hi, yes lo_send is a macro that expands to lo_send_internal.
>
>
> On Windows the compiler for MSVC at least in older versions did not
> support the variadic macros needed for the LO_MARKER trick, so it was made
> a real function in that case. You can check lo_macro.h and the "#if
> defined(USE_ANSI_C)" clause for details.
>
> Is there a reason you need to detect the lo_send symbol? If you
> describe the problem perhaps we can help.
>
> Steve
>
>
>
> On Fri, Sep 15, 2017 at 10:56 AM, Erik Ronström
> <eri...@do...> wrote:
>
>> If it’s a macro, it needs to be expanded at compile time, which means
>> that it won’t be available in a dynamic library.
>>
>> Erik
>>
>>
>>
>>
>>> 7 sep. 2017 kl. 20:34 skrev Thomas Brand <to...@tr...>:
>>>
>>>
>>> Hi,
>>> i found out that the lo_send() method isn't visible in the generated
>>> .so
>>> file. I'm bulding "normal" like
>>> mkdir _build && cd _build && cmake ../cmake && make && sudo make
>>> install This gives liblo.so.7.3.0.
>>> nm liblo.so.7.3.0 | grep lo_send shows some instances but not the pure
>>> lo_send. Looking at the code lo_send is a macro and uses the "..."
>>> arguments list. Can that make the difference? Could lo_send be
>>> available in the shared object or not because of other reasons? I also
>>> saw that lo_send is in src/liblo.def (@65). I'm not sure if i
>>> understand correctly what's going on, any hints are welcome. Thanks +
>>> best regards Thomas
>>>
|
|
From: Stephen S. <rad...@gm...> - 2017-09-15 22:03:37
|
Hi, yes lo_send is a macro that expands to lo_send_internal. On Windows the compiler for MSVC at least in older versions did not support the variadic macros needed for the LO_MARKER trick, so it was made a real function in that case. You can check lo_macro.h and the "#if defined(USE_ANSI_C)" clause for details. Is there a reason you need to detect the lo_send symbol? If you describe the problem perhaps we can help. Steve On Fri, Sep 15, 2017 at 10:56 AM, Erik Ronström <eri...@do...> wrote: > If it’s a macro, it needs to be expanded at compile time, which means that it won’t be available in a dynamic library. > > Erik > > > >> 7 sep. 2017 kl. 20:34 skrev Thomas Brand <to...@tr...>: >> >> Hi, >> i found out that the lo_send() method isn't visible in the generated .so >> file. >> I'm bulding "normal" like >> mkdir _build && cd _build && cmake ../cmake && make && sudo make install >> This gives liblo.so.7.3.0. >> nm liblo.so.7.3.0 | grep lo_send >> shows some instances but not the pure lo_send. >> Looking at the code lo_send is a macro and uses the "..." arguments list. >> Can that make the difference? Could lo_send be available in the shared >> object or not because of other reasons? I also saw that lo_send is in >> src/liblo.def (@65). I'm not sure if i understand correctly what's going >> on, any hints are welcome. >> Thanks + best regards >> Thomas >> >> >> >> ------------------------------------------------------------------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> _______________________________________________ >> liblo-devel mailing list >> lib...@li... >> https://lists.sourceforge.net/lists/listinfo/liblo-devel > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > liblo-devel mailing list > lib...@li... > https://lists.sourceforge.net/lists/listinfo/liblo-devel |
|
From: Erik R. <eri...@do...> - 2017-09-15 14:15:34
|
If it’s a macro, it needs to be expanded at compile time, which means that it won’t be available in a dynamic library. Erik > 7 sep. 2017 kl. 20:34 skrev Thomas Brand <to...@tr...>: > > Hi, > i found out that the lo_send() method isn't visible in the generated .so > file. > I'm bulding "normal" like > mkdir _build && cd _build && cmake ../cmake && make && sudo make install > This gives liblo.so.7.3.0. > nm liblo.so.7.3.0 | grep lo_send > shows some instances but not the pure lo_send. > Looking at the code lo_send is a macro and uses the "..." arguments list. > Can that make the difference? Could lo_send be available in the shared > object or not because of other reasons? I also saw that lo_send is in > src/liblo.def (@65). I'm not sure if i understand correctly what's going > on, any hints are welcome. > Thanks + best regards > Thomas > > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > liblo-devel mailing list > lib...@li... > https://lists.sourceforge.net/lists/listinfo/liblo-devel |
|
From: Thomas B. <to...@tr...> - 2017-09-07 18:34:59
|
Hi, i found out that the lo_send() method isn't visible in the generated .so file. I'm bulding "normal" like mkdir _build && cd _build && cmake ../cmake && make && sudo make install This gives liblo.so.7.3.0. nm liblo.so.7.3.0 | grep lo_send shows some instances but not the pure lo_send. Looking at the code lo_send is a macro and uses the "..." arguments list. Can that make the difference? Could lo_send be available in the shared object or not because of other reasons? I also saw that lo_send is in src/liblo.def (@65). I'm not sure if i understand correctly what's going on, any hints are welcome. Thanks + best regards Thomas |