Compilation breaks (again in Server.cpp) ... because of a fourth
missing parameter:

       success =
thread_set_priority_rt(AudioConvertNanosToHostTime(ns_per_block),

AudioConvertNanosToHostTime(ns_per_block - 2),

AudioConvertNanosToHostTime(ns_per_block - 1), 1);

I've put a '1' in there ... its a boolean field (the field is called
"preemptible".... but I dont know if the '1' is correct.

The apple docs say: Say your computer reports 133 million for the
value of HZ. If you pass the example values given as arguments to this
function, your thread tells the scheduler that it needs approximately
40,000 (HZ/3300) out of the next 833,333 (HZ/160) bus cycles. The
preemptible value (1) indicates that those 40,000 bus cycles need not
be contiguous. However, the constraint value (HZ/2200) tells the
scheduler that there can be no more than 60,000 bus cycles between the
start of computation and the end of computation.

However ... whilst compilation gets further, there is now a linking error:

[ 29%] Building CXX object source/CMakeFiles/supernova.dir/server/main.cpp.o
Linking CXX executable supernova
Undefined symbols:
 "_AudioConvertNanosToHostTime", referenced from:
     nova::thread_init_functor::operator()(int)in libsupernova.a(server.cpp.o)
     nova::thread_init_functor::operator()(int)in libsupernova.a(server.cpp.o)
     nova::thread_init_functor::operator()(int)in libsupernova.a(server.cpp.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status

AudioConvertNanosToHostTime (without the underbar ... ) is supplied in
#include <CoreAudio/HostTime.h>


Etienne

On Mon, Aug 16, 2010 at 9:01 PM, e deleflie <[email protected]> wrote:
> thanks Tim,
>
> Here's some more corrections ... in server.cpp .... the includes
> should read thus:
>
> #ifdef __APPLE__
> #include <AvailabilityMacros.h>
> #include <CoreAudio/HostTime.h>
> #include <CoreAudio/CoreAudioTypes.h>
> #endif
>
> (maybe I should look up how to write a patch ... (I use VI, is it easy?))
>
> Etienne
>
>
> On Mon, Aug 16, 2010 at 8:27 PM, Tim Blechmann <[email protected]> wrote:
>>> After trying a few different values for CONSTRAINTS and COMPUTATION in
>>> server.cpp. I realised that the code was not actually being called....
>>> because the following line returns false:
>>>
>>> #if defined(NOVA_TT_PRIORITY_PERIOD_COMPUTATION_CONSTRAINT) && defined
>>> (APPLE)
>>
>> ah, stupid me ... fixed
>>
>> thnx, tim
>>
>> --
>> [email protected]
>> http://tim.klingt.org
>>
>> Im übrigen ist es gescheiter, sich warm zuzudecken als sich zu
>> betrinken.
>>  Werner Schwab
>>
>
_______________________________________________
nova-dev mailing list
[email protected]
http://klingt.org/cgi-bin/mailman/listinfo/nova-dev
http://tim.klingt.org/nova

Reply via email to