From 213d19eb42bffa14a0421bbe9d675dc4603a34cb Mon Sep 17 00:00:00 2001 From: f4exb Date: Tue, 29 May 2018 20:52:44 +0200 Subject: [PATCH] Server: added SDRplay input plugin --- plugins/samplesource/sdrplay/sdrplayinput.cpp | 1 - .../samplesource/sdrplay/sdrplayplugin.cpp | 15 ++++- pluginssrv/samplesource/CMakeLists.txt | 11 +++- .../samplesource/sdrplay/CMakeLists.txt | 63 +++++++++++++++++++ 4 files changed, 87 insertions(+), 3 deletions(-) create mode 100644 pluginssrv/samplesource/sdrplay/CMakeLists.txt diff --git a/plugins/samplesource/sdrplay/sdrplayinput.cpp b/plugins/samplesource/sdrplay/sdrplayinput.cpp index 781ef22b3..cc970b956 100644 --- a/plugins/samplesource/sdrplay/sdrplayinput.cpp +++ b/plugins/samplesource/sdrplay/sdrplayinput.cpp @@ -27,7 +27,6 @@ #include "dsp/dspcommands.h" #include "dsp/dspengine.h" #include -#include "sdrplaygui.h" #include "sdrplayinput.h" #include diff --git a/plugins/samplesource/sdrplay/sdrplayplugin.cpp b/plugins/samplesource/sdrplay/sdrplayplugin.cpp index cb1ed4660..ebb5698ce 100644 --- a/plugins/samplesource/sdrplay/sdrplayplugin.cpp +++ b/plugins/samplesource/sdrplay/sdrplayplugin.cpp @@ -15,11 +15,14 @@ /////////////////////////////////////////////////////////////////////////////////// #include -#include #include #include "plugin/pluginapi.h" #include "util/simpleserializer.h" +#ifdef SERVER_MODE +#include "sdrplayinput.h" +#else #include "sdrplaygui.h" +#endif #include "sdrplayplugin.h" #include @@ -87,6 +90,15 @@ PluginInterface::SamplingDevices SDRPlayPlugin::enumSampleSources() return result; } +#ifdef SERVER_MODE +PluginInstanceGUI* SDRPlayPlugin::createSampleSourcePluginInstanceGUI( + const QString& sourceId __attribute((unused)), + QWidget **widget __attribute((unused)), + DeviceUISet *deviceUISet __attribute((unused))) +{ + return 0; +} +#else PluginInstanceGUI* SDRPlayPlugin::createSampleSourcePluginInstanceGUI( const QString& sourceId, QWidget **widget, @@ -103,6 +115,7 @@ PluginInstanceGUI* SDRPlayPlugin::createSampleSourcePluginInstanceGUI( return 0; } } +#endif DeviceSampleSource *SDRPlayPlugin::createSampleSourcePluginInstanceInput(const QString& sourceId, DeviceSourceAPI *deviceAPI) { diff --git a/pluginssrv/samplesource/CMakeLists.txt b/pluginssrv/samplesource/CMakeLists.txt index a93c57bed..05984ae57 100644 --- a/pluginssrv/samplesource/CMakeLists.txt +++ b/pluginssrv/samplesource/CMakeLists.txt @@ -69,6 +69,14 @@ if(CM256CC_FOUND AND LIBNANOMSG_FOUND) add_subdirectory(sdrdaemonsource) endif(CM256CC_FOUND AND LIBNANOMSG_FOUND) +find_package(LibMiriSDR) +if(LIBUSB_FOUND AND LIBMIRISDR_FOUND) + add_subdirectory(sdrplay) + message(STATUS "LibMiriSDR found") +else(LIBUSB_FOUND AND LIBMIRISDR_FOUND) + message(STATUS "LibMiriSDR NOT found") +endif(LIBUSB_FOUND AND LIBMIRISDR_FOUND) + if (BUILD_DEBIAN) add_subdirectory(airspy) add_subdirectory(airspyhf) @@ -79,7 +87,8 @@ if (BUILD_DEBIAN) add_subdirectory(rtlsdr) if (LIBNANOMSG_FOUND) add_subdirectory(sdrdaemonsource) - endif (LIBNANOMSG_FOUND) + endif (LIBNANOMSG_FOUND) + add_subdirectory(sdrplay) endif (BUILD_DEBIAN) add_subdirectory(filesource) diff --git a/pluginssrv/samplesource/sdrplay/CMakeLists.txt b/pluginssrv/samplesource/sdrplay/CMakeLists.txt new file mode 100644 index 000000000..37a6d4eb8 --- /dev/null +++ b/pluginssrv/samplesource/sdrplay/CMakeLists.txt @@ -0,0 +1,63 @@ +project(sdrplay) + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +set(PLUGIN_PREFIX "../../../plugins/samplesource/sdrplay") + +set(sdrplay_SOURCES + ${PLUGIN_PREFIX}/sdrplayinput.cpp + ${PLUGIN_PREFIX}/sdrplayplugin.cpp + ${PLUGIN_PREFIX}/sdrplaysettings.cpp + ${PLUGIN_PREFIX}/sdrplaythread.cpp +) + +set(sdrplay_HEADERS + ${PLUGIN_PREFIX}/sdrplayinput.h + ${PLUGIN_PREFIX}/sdrplayplugin.h + ${PLUGIN_PREFIX}/sdrplaysettings.h + ${PLUGIN_PREFIX}/sdrplaythread.h +) + +if (BUILD_DEBIAN) +include_directories( + . + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client + ${LIBMIRISDRSRC}/include + ${LIBMIRISDRSRC}/src +) +else (BUILD_DEBIAN) +include_directories( + . + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client + ${LIBMIRISDR_INCLUDE_DIR} +) +endif (BUILD_DEBIAN) + +add_definitions(-DQT_PLUGIN) +add_definitions(-DQT_SHARED) + +add_library(inputsdrplaysrv SHARED + ${sdrplay_SOURCES} + ${sdrplay_HEADERS_MOC} +) + +if (BUILD_DEBIAN) +target_link_libraries(inputsdrplaysrv + ${QT_LIBRARIES} + mirisdr + sdrbase + swagger +) +else (BUILD_DEBIAN) +target_link_libraries(inputsdrplaysrv + ${QT_LIBRARIES} + ${LIBMIRISDR_LIBRARIES} + sdrbase + swagger +) +endif (BUILD_DEBIAN) + +qt5_use_modules(inputsdrplaysrv Core) + +install(TARGETS inputsdrplaysrv DESTINATION lib/pluginssrv/samplesource)