"C" API / DLL
In order to support non-c++ environments, SoLoud also has a "C" API.
All of the existing interfaces can be used via the "C" API, but features that require extending SoLoud are not available.
Using the "C" API
The glue file soloud_c.cpp can be found under the "src/c_api" directory.
You can either link to the generated DLL, which exposes the "C" API, or you can include SoLoud C++ sources (or static library) to your project along with the soloud_c.cpp file.
In your C sources, include soloud_c.h header file.
"C" API Example
The "C" API mirrors the c++ API.
If the c++ API functions have default parameters, two functions are generated: one without the default parameters, and one with. The one where you can change the default parameters is post-fixed Ex, such as Soloud_init and Soloud_initEx.
As an example, here's a simple example in the C++ api:
Soloud soloud; SoLoud:: Speech speech; speech.setText("Hello c++ api"); soloud.init(SoLoud:: Soloud:: CLIP_ROUNDOFF | SoLoud:: Soloud:: ENABLE_VISUALIZATION) soloud.setGlobalVolume(4); soloud.play(speech); // ... soloud.deinit();
Converted to the "C" API, this becomes:
Soloud *soloud = Soloud_create(); Speech *speech = Speech_create(); Speech_setText(speech, "Hello c-api"); Soloud_initEx(soloud, SOLOUD_CLIP_ROUNDOFF | SOLOUD_ENABLE_VISUALIZATION, SOLOUD_AUTO, SOLOUD_AUTO, SOLOUD_AUTO); Soloud_setGlobalVolume(soloud, 4); Soloud_play(soloud, speech); // ... Soloud_deinit(soloud); Speech_destroy(speech); Soloud_destroy(soloud);
For a slightly longer example, check out the "c_test" demo.
Copyright©2013-2020 Jari Komppa