https://github.com/extism/extism-miniaudio
https://github.com/extism/extism-miniaudio
Last synced: over 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/extism/extism-miniaudio
- Owner: extism
- License: bsd-3-clause
- Created: 2023-10-20T22:43:53.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-22T17:46:43.000Z (over 2 years ago)
- Last Synced: 2025-04-28T11:16:39.886Z (over 1 year ago)
- Language: C++
- Size: 30.3 KB
- Stars: 2
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Extism Miniaudio
Use [miniaudio](https://github.com/mackron/miniaudio) with a decoder sandboxed in Wasm via Extism.
## Download and Configure (for building with deps in-tree)
```bash
git clone --recurse-submodules -j4 https://github.com/extism/extism-miniaudio
cd extism-miniaudio
cmake -B build
```
## OR Download and Configure (using installed extism, extism-cpp, and jsoncpp)
Install libextism and cpp-sdk as described in: [cpp-sdk building-and-installation](https://github.com/extism/cpp-sdk#building-and-installation)
```bash
git clone https://github.com/extism/extism-miniaudio
cd extism-miniaudio
git submodule update --init third_party/extism-pdk
git submodule update --init third_party/miniaudio
cmake -B build -DEXTISM_CPP_BUILD_IN_TREE=OFF
```
## Wasm Setup: Setup WASI-SDK
https://github.com/WebAssembly/wasi-sdk
Make sure `WASI_SDK_PATH` is set in your environment.
## Build
```bash
cmake --build build
```
## Demo example audio player
```bash
cd build
./extism-miniaudio-player
```
or
```bash
cd build
./extism-miniaudio-player
```
## Using `miniaudio_decoder_extism` in your projects
In one source file:
```cpp
#define MINIAUDIO_IMPLEMENTATION
#include "miniaudio.h"
#include "miniaudio_decoder_extism.hpp"
```
In any other source file:
```cpp
#include "miniaudio.h"
#include "miniaudio_decoder_extism.hpp"
```
`miniaudio_decoder_extism_wasm.h` (generated file containing Extism plugin Wasm) must be accessible to
`miniaudio_decoder_extism.hpp`
## Questions and Feedback
Ping @G4Vi in the `#cpp-sdk` channel in the [Extism Discord](https://extism.org/discord).