Lotta moving parts here -- but here's the code, fresh on GitHub.

I'm working on Rust bindings for the C API, and would love a hand solving one particular problem. For whatever reason, my render() callback is not being called until I hit Ctrl-C and abort the program. I'm seeing bela-audio in stat and sched , so the thread is spawning and all that. The setup() callback is also being called, which I know because when I put a panic!() (Rust's version of aborting) in that function it gets called right away. And finally, I am actually calling render() , but it only gets called when I call Bela_stopAudio() ; it seems something is getting flushed at the last second there.

It's totally possible that I have a problem with linking to the wrong libraries. I'm cross-compiling this from a Windows 10 machine using LLVM and Clang 6.0. I copied over all the include/ and lib/ directories from the various xenomai stuff to my local search paths (pretty much what's suggested in the compiling on Eclipse guide).

Thoughts? I'd love to organize all this and contribute to the documentation, not to mention make a safe Rust wrapper for the Bela C API.

stat and sched

CPU PID CLASS PRI TIMEOUT TIMEBASE STAT NAME 0 0 idle -1 - master R ROOT 0 5345 rt 95 31us master D bela-audio CPU PID MSW CSW PF STAT %CPU NAME 0 0 0 111398906 0 00500080 83.8 ROOT 0 5345 0 86424 0 00300184 13.7 bela-audio 0 0 0 118857782 0 00000000 1.8 IRQ67: [timer]

Addition: the output when verbose = 1