bmx-ng / maxmod2.mod

BlitzMax module for audio streaming - updated for NG
1 stars 3 forks source link

Add runtime library checks #3

Open GWRon opened 5 years ago

GWRon commented 5 years ago

Is it possible to prepend some runtime library checks?

Why? rtAudio seems (at least on linux) to always (tries to) load pulseaudio-libs. On a particular (heavy) TVTower user's "Knoppix" (a linux distribution) there is no pulseaudio installed (and he never was able to install it...). All normal builds crash on this computer installation as rtAudio tries to load a lib which is not available.

I think it would be pretty cool if it checked "during runtime" if lib loading was successful and if not - just tries the next (eg. Alsa or the now deprecated OSS).

Think You ( @woollybah ) already tried something regarding this some many months ago but as it seems still to be a problem ... I thought I better open up a new issue

woollybah commented 5 years ago

It's doable. Basically, it would work in the same way as you create Global function pointers for DLL functions in BlitzMax. Plus a bit where it attempts to load the shared object.

GWRon commented 5 years ago

I am sure you already tried (many months ago) so I am sure that the library and the way it handles stuff puts some spanners in the works.

Just to get you right - so the basic idea is to have some "function pointers leading to nowhere" - and if the library could be loaded, these functions were filled with life (their pointers target the real library functions)? So it might even be better to have function pointers leading to "stub functions" (null audio or so) as default?