Some of you may have seen this already when I was asking licensing questions, but others may still be curious.

In the course of other development efforts, I had a need for an abstraction layer that had more features than ExtIO.  In particular, I wanted transmit support (for my bladeRF), as well as better control over gain and other settings.

What I have come up with is SDRIO: a straightforward C interface for interacting with SDR devices.  I currently support rtl-sdr, bladeRF, and the Funcube Dongle.  Each driver lives in its own module: SDRIO_bladeRF.dll, etc.  Applications can load these modules, query if devices are present, and then interact with them.  All data transfer is asynchronous.

Currently I only support Windows, though the API is OS-agnostic and the drivers (particularly rtl-sdr) should be able to be ported in a straightforward manner.

SDRIO is licensed as LGPL.  However, because it uses GPL code, it may not be distributed with non-GPL applications.  It may still be used with non-GPL applications as long as the distributions are kept wholly separate (no bundling, auto-downloaders, etc.).

Code is currently kept at:
https://github.com/spcutler/SDRIO

Right now it is in a very alpha state, and subject to change.  Documentation is also currently minimal, although I hope the API is clear enough to be obvious.  I hope to stabilize things once I get some outside feedback and suggestions.  Thanks!

-Scott

PS: Mirics dongle support should be coming soon due to the generosity of a fellow member of this mailing list.