# EWSDR DMR native adapter

This optional shared library isolates `mbelib` and the imported DMR core from
the Lazarus application. It intentionally does not depend on PulseAudio,
ncurses, libsndfile or the DSD-FME command-line frontend.

Build on Linux:

```sh
cmake -S native/dmr -B build/dmr -DCMAKE_BUILD_TYPE=Release
cmake --build build/dmr
```

The Pascal burst/FEC layer extracts three row-major `char[4][24]` AMBE+2
frames from each selected voice-slot burst and feeds them through this ABI.
Decoded 8 kHz mono PCM is resampled to EWSDR's 48 kHz speaker/web route.

For a build-tree run, either copy `libewsdr_dmr.so` beside the EWSDR executable
or add `build/dmr` to `LD_LIBRARY_PATH`. `cmake --install build/dmr` installs the
adapter system-wide. The GUI and daemon remain usable (with metadata but no
voice) when this optional library is absent.
