-
Notifications
You must be signed in to change notification settings - Fork 14
Module Quick Start
Lunae Mons Research edited this page Sep 1, 2025
·
1 revision
A condensed quick-start guide for experienced developers who want to jump straight into module development.
Note: For detailed tutorial, see Module Development Guide.
// main.cpp - Minimal working module
#include <module.h>
#include <gui/gui.h>
SDRPP_MOD_INFO{
"quick_module", "Quick start module", "Developer", "1.0.0", 1
};
class QuickModule : public ModuleManager::Instance {
std::string _name;
bool _enabled = false;
public:
QuickModule(std::string name) : _name(name) {}
void postInit() override {
gui::menu.registerEntry(_name, [](void* ctx) {
auto* mod = (QuickModule*)ctx;
if (SmGui::BeginMenu(mod->_name.c_str())) {
if (SmGui::Button("Toggle")) mod->_enabled = !mod->_enabled;
SmGui::Text("Status: %s", mod->_enabled ? "ON" : "OFF");
SmGui::EndMenu();
}
}, this);
}
void enable() override { _enabled = true; }
void disable() override { _enabled = false; }
bool isEnabled() override { return _enabled; }
};
MOD_EXPORT void _INIT_() {}
MOD_EXPORT ModuleManager::Instance* _CREATE_INSTANCE_(std::string name) {
return new QuickModule(name);
}
MOD_EXPORT void _DELETE_INSTANCE_(ModuleManager::Instance* inst) {
delete (QuickModule*)inst;
}
MOD_EXPORT void _END_() {}# CMakeLists.txt
cmake_minimum_required(VERSION 3.13)
project(quick_module)
add_library(quick_module SHARED main.cpp)
target_link_libraries(quick_module PRIVATE sdrpp_core)
# Build
mkdir build && cd build && cmake .. && make
cp libquick_module.so /path/to/sdrpp/modules/Next: Module Development Guide for complete tutorial