olaf hochherz | 17 Oct 17:31 2010

supernova blocks super


one reason why i don't work with supernova in the moment is, that it is 
able to block the computer.
scsynth is not able to deliver sound to jack and gets zombified  by jack 
immediately when i start to many Synth.

are there any plans to stop supernova from beeing able to block the 
computer on a rt-kernel linux?


Tim Blechmann | 2 Oct 23:46 2010

Re: Supernova install steps

> But perhaps a 'proper' solution is really only possible if Supernova
> is bundled with SuperCollider.

true ... there has been some discussion about including supernova into the 
next release of supercollider ...

cheers, tim


Trane was the Father...Pharoah was the son...I am the Holy Ghost.
  Albert Ayler
> But perhaps a 'proper' solution is really only possible if Supernova
> is bundled with SuperCollider.

true ... there has been some discussion about including supernova into the 
next release of supercollider ...

cheers, tim



Trane was the Father...Pharoah was the son...I am the Holy Ghost.
  Albert Ayler
(Continue reading)

e deleflie | 1 Oct 04:40 2010

Debugging Supernova


I've just tried running my code under Supernova, and I get no sound.
The test cases for all my SynthDefs work, but only if the output is to
Out bus 0. When I try and string up my Synthdefs as I normally would,
through audio busses they no longer work (i.e. I get no sound).

So I thought it might be a problem with routing and audio busses. But
a little test suggested this wasn't the case.

Now I'm a bit stuck about what to test. Are there any hints for testing?

I havn't created any PGroups for now ... I'm just testing a single
string of synths using no groups (bar the top level one). Should this
make a difference? How is Supernova and multi-channel expansion?

Has anyone else experienced any issues?

e deleflie | 1 Oct 04:01 2010

Supernova install steps


Firstly, I am no longer having my synthdef issues that I was having
several weeks ago ... so it looks like Supernova is coming along.
Also, all test cases now pass under 4.2.1. That's also great.

There are 2 steps in the compilation and installation of Supernova
that feel clunky.

1) needing to copy installed plugins to an other folder.
2) needing to specify the path to Supernova so that Supercollider can see it.

I'm wondering if it would be possible to add a path to the appropriate
Supercollider installation somehow (in cmake?)... so that the
Supernova make scripts can take care of these two steps?

e deleflie | 1 Oct 03:27 2010

Fresh compile of supernova fails

Hi all,

Just did a fresh git pull  to try and compile supernova again.

For me this cmake line fails:

cmake -DCMAKE_BUILD_TYPE=Release -DADDITIONAL_PATH=/opt/local ..

because the compiler cant see some SF format definitions ... (I assume
these are in libsndfile) yet libsndfile is in /opt/local/lib. I have
to use the following cmake line:

cmake -DCMAKE_BUILD_TYPE=Release -DADDITIONAL_PATH=/opt/local/lib
-DCMAKE_CXX_FLAGS:STRING='-I/usr/local/include -I/opt/local/include'
-DCMAKE_C_FLAGS:STRING='-I/usr/local/include -I/opt/local/include'
-DCMAKE_EXE_LINKER_FLAGS:STRING='-L/usr/local/lib -L/opt/local/lib'
-DCMAKE_MODULE_LINKER_FLAGS:STRING='-L/usr/local/lib -L/opt/local/lib'
-DCMAKE_SHARED_LINKER_FLAGS:STRING='-L/usr/local/lib -L/opt/local/lib'

I'm assuming that this is a problem on my computer ... but it may not be.

Then, when I compile I get an error here:

[ 35%] Building CXX object
Linking CXX shared module DiskIO_UGens.so
Undefined symbols:
  "_sf_readf_float", referenced from:
      (anonymous namespace)::disk_io_thread_func(void*)in DiskIO_UGens.cpp.o
(Continue reading)

e deleflie | 31 Aug 05:12 2010

loading Synths.

Hi there,

I'm having trouble loading up my synths into Supernova. I havn't quite
understood the relationship between SuperNova and SuperCollider ... do
I need to re-load all of my SynthDefs again?

Anyway, when I try to do a SynthDef(....).load(Server.local) I get:

ERROR: Message 'sendMsg' not understood.
class Server (1458D6E0) {
  instance variables [19]
    name : Symbol 'Server'
    nextclass : class ServerBoot (0x142c71b0)
    superclass : Symbol 'Model'
    subclasses : instance of Array (0x146179a0, size=1, set=1)
    methods : instance of Array (0x145c4980, size=133, set=8)
    instVarNames : instance of SymbolArray (0x1458dbd0, size=45, set=5)
    classVarNames : instance of SymbolArray (0x1458df30, size=7, set=2)
    iprototype : instance of Array (0x1458dd00, size=45, set=6)
    cprototype : instance of Array (0x1458df80, size=7, set=3)
    constNames : nil
    constValues : nil
    instanceFormat : Integer 0
    instanceFlags : Integer 0
    classIndex : Integer 5
    classFlags : Integer 0
    maxSubclassIndex : Integer 6
    filenameSymbol : Symbol
(Continue reading)

Dan S | 18 Aug 17:19 2010

nova questions for implementing arm neon code

Hi -

I'm thinking about implementing an ARM NEON flavour for nova-simd. I
have some questions...

In common/include/nova-simd/vec.hpp, vec_generic.hpp is always
included, even if SSE - so is there a kind of override semantics going
on here, i.e. anything not implemented in vec_sse.hpp falls back to
the vec_generic implementation?

Why does vec_generic say
  template <typename float_type>
  struct vec
when vec_sse says
  template <>
  struct vec<float>

Why "typedef __m128 internal_vector_type"? I don't see the latter used anywhere.

If implementing a NEON version, can I implement any subset of
optimised instructions that I choose, or are there risks of breakage?
(At the moment I'm not worrying whether the implementation is optimal
or not, just whether I can implement it incrementally without
jeopardising correctness.) For example, I might start with neon
versions of load() store() get() set() before getting on to the actual
manipulations after that.

It looks to me like I don't need to worry about leftovers (e.g. the
last 3 floats in an array of size 19), they're handled elsewhere and I
(Continue reading)

e deleflie | 16 Aug 14:12 2010

No more audio artefacts on OSX


Just to confirm, that with the recent changes, Supernova is now
working on OSX with no audio artefacts. thanks Tim!

I've got something like 600 white noise generators, on a Macbook Pro
(2 cores) with Supernova running at something like 153% CPU... i.e.
well spread over the 2 cores.

e deleflie | 16 Aug 13:34 2010

Re: defined(APPLE) is false ...

Hi Tim,

On Mon, Aug 16, 2010 at 9:28 PM, Tim Blechmann <tim@...> wrote:
>> 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
> that should already be part of the current version. can you pull the change?

no, you've still got:

#ifdef __APPLE__
#include <AvailabilityMacros.h>
#include <CoreAudio/CoreAudioTypes.h>
#include <CoreAudioTypes.h>

here's a "git diff" on it:

diff --git a/source/server/server.cpp b/source/server/server.cpp
index 40478da..4aade2f 100644
--- a/source/server/server.cpp
+++ b/source/server/server.cpp
 <at>  <at>  -31,8 +31,8  <at>  <at> 

(Continue reading)

e deleflie | 16 Aug 13:17 2010

Fwd: defined(APPLE) is false ...

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

       success =

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)
(Continue reading)

e deleflie | 16 Aug 13:16 2010

Fwd: defined(APPLE) is false ...

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>

(maybe I should look up how to write a patch ... (I use VI, is it easy?))


On Mon, Aug 16, 2010 at 8:27 PM, Tim Blechmann <tim@...> 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:
>> (APPLE)
> ah, stupid me ... fixed
> thnx, tim
> --
> tim@...
> http://tim.klingt.org
(Continue reading)