2017-05-13 18:52 GMT+02:00 Tim <[email protected]>:
>
>
> On 2017-05-13 08:40 AM, Robert Jonsson wrote:
> > Hi guys,
> >
> > I've been experimenting with adding RtAudio support to get additional
> > audio backends, sadly RtAudio works really badly unless you can have
> > exceptions (not a good design of that part of the library IMO, but
> > still).
> > Thought I would just ask, as we define no-exceptions, is there a known
> > reason for this or is it just out of old habit?
> > Probably the binary is a little bit smaller with no-exceptions but
> > otherwise I'm uncertain it makes any real difference.
> >
> > /Robert
> >
> Hi Robert.
> I didn't know we defined no-exceptions.
>
> When I first came to Linux, I was a C++/Pascal Windows coder
> using Borland Delphi and C++Builder, where using exceptions
> is the RULE rather than the... exception, if you'll excuse the pun.
>
> So I was surprised to find not much using them in Linux,
> especially in a big C++ app like MusE.
> No problem, I thought, less to worry about if we can avoid them.
> So I have never used them in Linux yet. I don't relish the thought
> of worrying about hidden system 'cancellation points' and so on.
>
> Still curious, a few years ago I Googled exceptions + Linux.
> Wow, some folks said exceptions are evil.
>
> Well, do what you must, to support this feature :-)
>
>
I've done a first try and I'm hoping there are no important drawbacks.
Actually I got it to make sound last night, bad sound, but still :)
> -----
> Random thoughts on native driver support:
>
> When you use a native sound system directly,
> say ALSA or DirectX etc, best results (full access)
> are when the device is opened in exclusive mode.
> That's why Jack is an important program because
> it ALONE is the one central place that opens the
> device in exclusive mode, blocking other programs
> from opening it.
>
> However, I fully agree that native support is important.
> I have had my eye on that very old muse-0.6 ALSA
> audio driver, as you know. Thinking of returning it.
>
Oh, I forgot about that!
>
> The thing is, native support means we get access
> to the TRUE native analogue-to-digital data format,
> without float precision headaches: INTEGERS !
>
My thinking with adding a library based backend is to add something which
would work fine for the simple use-cases e.g. only using softsynths with
output in stereo, a more functional replacement for dummy backend. Our PRO
use case can (and probably should) still be jack.
Using something like RtAudio, Portaudio or libsoundio give access to a lot
of backends without having to do that much coding, it already gives you
float for instance, the drawback being that it might not have the
performance to support really short latencies. due to it being an extra
abstraction layer (then again it might).
I chose RtAudio as I used it before and it's very easy to configure. It
should, (with little effort) give us support for for Alsa, OSS, Pulse, OSX
Core, Direct Sound, Win Wasapi and Asio in stereo. My focus is on pulse for
now.
I'll try to get it going one of these days and check it into a branch.
Regards,
Robert
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Lmuse-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lmuse-developer