Files
ewsdr/native/dmr

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:

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.