diff --git a/CMakeLists.txt b/CMakeLists.txt
index 84cb10750..efb5e20db 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -185,12 +185,14 @@ endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -fmax-errors=10 -ffast-math -ftree-vectorize ${EXTRA_FLAGS}")
##############################################################################
-# SDRbase library
+# base libraries
add_subdirectory(sdrbase)
+add_subdirectory(sdrgui)
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/sdrbase
+ ${CMAKE_SOURCE_DIR}/sdrgui
${OPENGL_INCLUDE_DIR}
)
@@ -208,6 +210,7 @@ add_executable(sdrangel
target_link_libraries(sdrangel
sdrbase
+ sdrgui
${QT_LIBRARIES}
${OPENGL_LIBRARIES}
)
diff --git a/app/app.pro b/app/app.pro
index bdd7bf26e..d39bdef7d 100644
--- a/app/app.pro
+++ b/app/app.pro
@@ -11,12 +11,14 @@ QMAKE_CXXFLAGS += -std=c++11
TEMPLATE = app
TARGET = sdrangel
INCLUDEPATH += $$PWD/../sdrbase
+INCLUDEPATH += $$PWD/../sdrgui
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
SOURCES += main.cpp
LIBS += -L../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../sdrgui/$${build_subdir} -lsdrgui
CONFIG(ANDROID):CONFIG += mobility
CONFIG(ANDROID):MOBILITY =
diff --git a/apple/deploy.sh b/apple/deploy.sh
index aee2afb8b..355f0a2b6 100755
--- a/apple/deploy.sh
+++ b/apple/deploy.sh
@@ -15,6 +15,7 @@ cp -v fcdhid/libfcdhid.dylib $APP_LIB
cp -v fcdlib/libfcdlib.dylib $APP_LIB
cp -v mbelib/libmbelib.dylib $APP_LIB
cp -v sdrbase/libsdrbase.dylib $APP_LIB
+cp -v sdrbase/libsdrgui.dylib $APP_LIB
cp -v devices/libdevices.dylib $APP_LIB
cp -v dsdcc/libdsdcc.dylib $APP_LIB
diff --git a/plugins/channelrx/chanalyzer/CMakeLists.txt b/plugins/channelrx/chanalyzer/CMakeLists.txt
index f1dfbbb6a..1d099f8fe 100644
--- a/plugins/channelrx/chanalyzer/CMakeLists.txt
+++ b/plugins/channelrx/chanalyzer/CMakeLists.txt
@@ -38,6 +38,7 @@ add_library(chanalyzer SHARED
target_link_libraries(chanalyzer
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(chanalyzer Core Widgets )
diff --git a/plugins/channelrx/chanalyzer/chanalyzer.pro b/plugins/channelrx/chanalyzer/chanalyzer.pro
index db8c770e7..67a4d5588 100644
--- a/plugins/channelrx/chanalyzer/chanalyzer.pro
+++ b/plugins/channelrx/chanalyzer/chanalyzer.pro
@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(ANDROID):INCLUDEPATH += /opt/softs/boost_1_60_0
CONFIG(MINGW32):INCLUDEPATH += "D:\boost_1_58_0"
@@ -39,5 +40,6 @@ chanalyzerplugin.h
FORMS += chanalyzergui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/channelrx/chanalyzer/chanalyzergui.ui b/plugins/channelrx/chanalyzer/chanalyzergui.ui
index d0c96d801..bec5d53ad 100644
--- a/plugins/channelrx/chanalyzer/chanalyzergui.ui
+++ b/plugins/channelrx/chanalyzer/chanalyzergui.ui
@@ -507,7 +507,7 @@
-
+
diff --git a/plugins/channelrx/chanalyzerng/CMakeLists.txt b/plugins/channelrx/chanalyzerng/CMakeLists.txt
index efedaadc0..773912188 100644
--- a/plugins/channelrx/chanalyzerng/CMakeLists.txt
+++ b/plugins/channelrx/chanalyzerng/CMakeLists.txt
@@ -38,6 +38,7 @@ add_library(chanalyzerng SHARED
target_link_libraries(chanalyzerng
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(chanalyzerng Core Widgets )
diff --git a/plugins/channelrx/chanalyzerng/chanalyzerng.pro b/plugins/channelrx/chanalyzerng/chanalyzerng.pro
index 65cb0023f..19a0d8987 100644
--- a/plugins/channelrx/chanalyzerng/chanalyzerng.pro
+++ b/plugins/channelrx/chanalyzerng/chanalyzerng.pro
@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(ANDROID):INCLUDEPATH += /opt/softs/boost_1_60_0
CONFIG(MINGW32):INCLUDEPATH += "D:\boost_1_58_0"
@@ -39,5 +40,6 @@ chanalyzerngplugin.h
FORMS += chanalyzernggui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/channelrx/chanalyzerng/chanalyzernggui.ui b/plugins/channelrx/chanalyzerng/chanalyzernggui.ui
index 4776e1e36..e909030cc 100644
--- a/plugins/channelrx/chanalyzerng/chanalyzernggui.ui
+++ b/plugins/channelrx/chanalyzerng/chanalyzernggui.ui
@@ -188,7 +188,7 @@
-
+
:/arrow_down.png:/arrow_down.png
@@ -614,35 +614,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/channelrx/demodam/CMakeLists.txt b/plugins/channelrx/demodam/CMakeLists.txt
index cbbd3ae9c..7ec8181dc 100644
--- a/plugins/channelrx/demodam/CMakeLists.txt
+++ b/plugins/channelrx/demodam/CMakeLists.txt
@@ -40,6 +40,7 @@ add_library(demodam SHARED
target_link_libraries(demodam
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(demodam Core Widgets)
diff --git a/plugins/channelrx/demodam/amdemodgui.ui b/plugins/channelrx/demodam/amdemodgui.ui
index bccc9f7ae..01b80ae3f 100644
--- a/plugins/channelrx/demodam/amdemodgui.ui
+++ b/plugins/channelrx/demodam/amdemodgui.ui
@@ -177,7 +177,7 @@
...
-
+
:/sound_on.png
:/sound_off.png:/sound_on.png
@@ -252,7 +252,7 @@
Toggle boxcar bandpass filter with 300 Hz low cuttof
-
+
:/filter_bandpass.png
:/filter_bandpass.png:/filter_bandpass.png
@@ -425,27 +425,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/channelrx/demodam/demodam.pro b/plugins/channelrx/demodam/demodam.pro
index ed42eeec6..1ab4a6d8b 100644
--- a/plugins/channelrx/demodam/demodam.pro
+++ b/plugins/channelrx/demodam/demodam.pro
@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
@@ -36,5 +37,6 @@ HEADERS += amdemod.h\
FORMS += amdemodgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/channelrx/demodatv/CMakeLists.txt b/plugins/channelrx/demodatv/CMakeLists.txt
index b1be5cbc3..7c783ecc1 100644
--- a/plugins/channelrx/demodatv/CMakeLists.txt
+++ b/plugins/channelrx/demodatv/CMakeLists.txt
@@ -42,6 +42,7 @@ add_library(demodatv SHARED
target_link_libraries(demodatv
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(demodatv Core Widgets)
diff --git a/plugins/channelrx/demodatv/atvdemodgui.ui b/plugins/channelrx/demodatv/atvdemodgui.ui
index 2e8d6cb9f..d48aa0577 100644
--- a/plugins/channelrx/demodatv/atvdemodgui.ui
+++ b/plugins/channelrx/demodatv/atvdemodgui.ui
@@ -123,7 +123,7 @@
-
+
:/arrow_down.png:/arrow_down.png
@@ -188,7 +188,7 @@
- :/carrier.png
+ :/carrier.png
@@ -383,7 +383,7 @@
-
+
:/filter_bandpass.png:/filter_bandpass.png
@@ -1142,34 +1142,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/channelrx/demodatv/demodatv.pro b/plugins/channelrx/demodatv/demodatv.pro
index 9bd4cf39d..a6d46d75e 100644
--- a/plugins/channelrx/demodatv/demodatv.pro
+++ b/plugins/channelrx/demodatv/demodatv.pro
@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
@@ -42,5 +43,6 @@ HEADERS += atvdemod.h\
FORMS += atvdemodgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/channelrx/demodbfm/CMakeLists.txt b/plugins/channelrx/demodbfm/CMakeLists.txt
index 17f901d0f..096dce3bb 100644
--- a/plugins/channelrx/demodbfm/CMakeLists.txt
+++ b/plugins/channelrx/demodbfm/CMakeLists.txt
@@ -47,6 +47,7 @@ add_library(demodbfm SHARED
target_link_libraries(demodbfm
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(demodbfm Core Widgets)
diff --git a/plugins/channelrx/demodbfm/bfmdemodgui.ui b/plugins/channelrx/demodbfm/bfmdemodgui.ui
index 926858447..31c050a94 100644
--- a/plugins/channelrx/demodbfm/bfmdemodgui.ui
+++ b/plugins/channelrx/demodbfm/bfmdemodgui.ui
@@ -181,7 +181,7 @@
-
+
:/mono.png
:/stereo.png:/mono.png
@@ -199,7 +199,7 @@
-
+
:/lsb.png:/lsb.png
@@ -219,7 +219,7 @@
-
+
:/carrier.png:/carrier.png
@@ -262,7 +262,7 @@
.
-
+
:/rds.png:/rds.png
@@ -801,7 +801,7 @@
-
+
:/recycle.png:/recycle.png
@@ -1889,27 +1889,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/channelrx/demodbfm/demodbfm.pro b/plugins/channelrx/demodbfm/demodbfm.pro
index 908d69982..4a8cd67df 100644
--- a/plugins/channelrx/demodbfm/demodbfm.pro
+++ b/plugins/channelrx/demodbfm/demodbfm.pro
@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(ANDROID):INCLUDEPATH += /opt/softs/boost_1_60_0
CONFIG(MINGW32):INCLUDEPATH += "D:\boost_1_58_0"
@@ -49,5 +50,6 @@ HEADERS += bfmdemod.h\
FORMS += bfmdemodgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/channelrx/demoddsd/CMakeLists.txt b/plugins/channelrx/demoddsd/CMakeLists.txt
index 02a1b533a..43faa4559 100644
--- a/plugins/channelrx/demoddsd/CMakeLists.txt
+++ b/plugins/channelrx/demoddsd/CMakeLists.txt
@@ -55,6 +55,7 @@ if (BUILD_DEBIAN)
target_link_libraries(demoddsd
${QT_LIBRARIES}
sdrbase
+ sdrgui
dsdcc
mbelib
)
@@ -62,6 +63,7 @@ else (BUILD_DEBIAN)
target_link_libraries(demoddsd
${QT_LIBRARIES}
sdrbase
+ sdrgui
${LIBDSDCC_LIBRARIES}
${LIBMBE_LIBRARY}
)
diff --git a/plugins/channelrx/demoddsd/demoddsd.pro b/plugins/channelrx/demoddsd/demoddsd.pro
index 1779fcd1c..ff90fb57a 100644
--- a/plugins/channelrx/demoddsd/demoddsd.pro
+++ b/plugins/channelrx/demoddsd/demoddsd.pro
@@ -31,6 +31,7 @@ CONFIG(macx):INCLUDEPATH += "../../../../../boost_1_64_0"
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
INCLUDEPATH += $$LIBDSDCCSRC
INCLUDEPATH += $$LIBMBELIBSRC
@@ -54,6 +55,7 @@ dsddemodsettings.h
FORMS = dsddemodgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
LIBS += -L../../../dsdcc/$${build_subdir} -ldsdcc
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/channelrx/demoddsd/dsddemodgui.ui b/plugins/channelrx/demoddsd/dsddemodgui.ui
index 32e9dc008..9dd65adb2 100644
--- a/plugins/channelrx/demoddsd/dsddemodgui.ui
+++ b/plugins/channelrx/demoddsd/dsddemodgui.ui
@@ -237,7 +237,7 @@
...
-
+
:/unlocked.png
:/locked.png:/unlocked.png
@@ -296,7 +296,7 @@
-
+
:/dsb.png:/dsb.png
@@ -310,7 +310,7 @@
-
+
:/constellation.png
:/slopep_icon.png:/constellation.png
@@ -673,7 +673,7 @@
-
+
:/slot1_off.png
:/slot1_on.png:/slot1_off.png
@@ -691,7 +691,7 @@
-
+
:/slot2_off.png
:/slot2_on.png:/slot2_off.png
@@ -709,7 +709,7 @@
-
+
:/mono.png
:/stereo.png:/mono.png
@@ -834,7 +834,7 @@
...
-
+
:/sound_on.png
:/sound_off.png:/sound_on.png
@@ -1002,27 +1002,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/channelrx/demodlora/CMakeLists.txt b/plugins/channelrx/demodlora/CMakeLists.txt
index ba22f3c7b..d8076dac0 100644
--- a/plugins/channelrx/demodlora/CMakeLists.txt
+++ b/plugins/channelrx/demodlora/CMakeLists.txt
@@ -40,6 +40,7 @@ add_library(demodlora SHARED
target_link_libraries(demodlora
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(demodlora Core Widgets)
diff --git a/plugins/channelrx/demodlora/demodlora.pro b/plugins/channelrx/demodlora/demodlora.pro
index 52ce48462..29438cf8f 100644
--- a/plugins/channelrx/demodlora/demodlora.pro
+++ b/plugins/channelrx/demodlora/demodlora.pro
@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
@@ -36,5 +37,6 @@ HEADERS += lorademod.h\
FORMS += lorademodgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/channelrx/demodnfm/CMakeLists.txt b/plugins/channelrx/demodnfm/CMakeLists.txt
index 7a3267b50..e90f874af 100644
--- a/plugins/channelrx/demodnfm/CMakeLists.txt
+++ b/plugins/channelrx/demodnfm/CMakeLists.txt
@@ -40,6 +40,7 @@ add_library(demodnfm SHARED
target_link_libraries(demodnfm
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(demodnfm Core Widgets)
diff --git a/plugins/channelrx/demodnfm/demodnfm.pro b/plugins/channelrx/demodnfm/demodnfm.pro
index 10775629a..ab9a447aa 100644
--- a/plugins/channelrx/demodnfm/demodnfm.pro
+++ b/plugins/channelrx/demodnfm/demodnfm.pro
@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
@@ -36,5 +37,6 @@ HEADERS += nfmdemod.h\
FORMS += nfmdemodgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/channelrx/demodnfm/nfmdemodgui.ui b/plugins/channelrx/demodnfm/nfmdemodgui.ui
index 88a03d65e..0abea44fa 100644
--- a/plugins/channelrx/demodnfm/nfmdemodgui.ui
+++ b/plugins/channelrx/demodnfm/nfmdemodgui.ui
@@ -589,7 +589,7 @@
...
-
+
:/sound_on.png
:/sound_off.png:/sound_on.png
@@ -642,27 +642,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/channelrx/demodssb/CMakeLists.txt b/plugins/channelrx/demodssb/CMakeLists.txt
index 53cf45296..f70d0a7e5 100644
--- a/plugins/channelrx/demodssb/CMakeLists.txt
+++ b/plugins/channelrx/demodssb/CMakeLists.txt
@@ -40,6 +40,7 @@ add_library(demodssb SHARED
target_link_libraries(demodssb
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(demodssb Core Widgets)
diff --git a/plugins/channelrx/demodssb/demodssb.pro b/plugins/channelrx/demodssb/demodssb.pro
index 6b347d66f..11e37b289 100644
--- a/plugins/channelrx/demodssb/demodssb.pro
+++ b/plugins/channelrx/demodssb/demodssb.pro
@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
@@ -36,5 +37,6 @@ HEADERS += ssbdemod.h\
FORMS += ssbdemodgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/channelrx/demodssb/ssbdemodgui.ui b/plugins/channelrx/demodssb/ssbdemodgui.ui
index 2d185d643..95e712e77 100644
--- a/plugins/channelrx/demodssb/ssbdemodgui.ui
+++ b/plugins/channelrx/demodssb/ssbdemodgui.ui
@@ -178,7 +178,7 @@
...
-
+
:/mono.png
:/stereo.png:/mono.png
@@ -196,7 +196,7 @@
...
-
+
:/flip_lr.png
:/flip_rl.png:/flip_lr.png
@@ -214,7 +214,7 @@
...
-
+
:/usb.png
:/dsb.png:/usb.png
@@ -638,7 +638,7 @@
-
+
:/sound_on.png
:/sound_off.png:/sound_on.png
@@ -739,35 +739,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/channelrx/demodwfm/CMakeLists.txt b/plugins/channelrx/demodwfm/CMakeLists.txt
index c4d1040c4..625af826b 100644
--- a/plugins/channelrx/demodwfm/CMakeLists.txt
+++ b/plugins/channelrx/demodwfm/CMakeLists.txt
@@ -40,6 +40,7 @@ add_library(demodwfm SHARED
target_link_libraries(demodwfm
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(demodwfm Core Widgets)
diff --git a/plugins/channelrx/demodwfm/demodwfm.pro b/plugins/channelrx/demodwfm/demodwfm.pro
index d4614bfbd..a07d4d6b6 100644
--- a/plugins/channelrx/demodwfm/demodwfm.pro
+++ b/plugins/channelrx/demodwfm/demodwfm.pro
@@ -18,7 +18,7 @@ QMAKE_CXXFLAGS += -msse4.1
QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
-INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
@@ -36,5 +36,6 @@ HEADERS += wfmdemod.h\
FORMS += wfmdemodgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/channelrx/demodwfm/wfmdemodgui.ui b/plugins/channelrx/demodwfm/wfmdemodgui.ui
index 1bee28707..6fabad5e6 100644
--- a/plugins/channelrx/demodwfm/wfmdemodgui.ui
+++ b/plugins/channelrx/demodwfm/wfmdemodgui.ui
@@ -380,7 +380,7 @@
-
+
:/sound_on.png
:/sound_off.png:/sound_on.png
@@ -415,7 +415,7 @@
-
+
diff --git a/plugins/channelrx/tcpsrc/CMakeLists.txt b/plugins/channelrx/tcpsrc/CMakeLists.txt
index b80fbc1e9..6986907b6 100644
--- a/plugins/channelrx/tcpsrc/CMakeLists.txt
+++ b/plugins/channelrx/tcpsrc/CMakeLists.txt
@@ -40,6 +40,7 @@ add_library(demodtcpsrc SHARED
target_link_libraries(demodtcpsrc
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(demodtcpsrc Core Widgets Network)
diff --git a/plugins/channelrx/tcpsrc/tcpsrc.pro b/plugins/channelrx/tcpsrc/tcpsrc.pro
index 52c03f591..0b50cace3 100644
--- a/plugins/channelrx/tcpsrc/tcpsrc.pro
+++ b/plugins/channelrx/tcpsrc/tcpsrc.pro
@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
@@ -36,5 +37,6 @@ HEADERS += tcpsrc.h\
FORMS += tcpsrcgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/channelrx/udpsrc/CMakeLists.txt b/plugins/channelrx/udpsrc/CMakeLists.txt
index 66a427bb1..c3bd55b6e 100644
--- a/plugins/channelrx/udpsrc/CMakeLists.txt
+++ b/plugins/channelrx/udpsrc/CMakeLists.txt
@@ -39,6 +39,7 @@ add_library(demodudpsrc SHARED
target_link_libraries(demodudpsrc
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(demodudpsrc Core Widgets Network)
diff --git a/plugins/channelrx/udpsrc/udpsrc.pro b/plugins/channelrx/udpsrc/udpsrc.pro
index 7a35582a1..87118283f 100644
--- a/plugins/channelrx/udpsrc/udpsrc.pro
+++ b/plugins/channelrx/udpsrc/udpsrc.pro
@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
@@ -36,5 +37,6 @@ HEADERS += udpsrc.h\
FORMS += udpsrcgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/channelrx/udpsrc/udpsrcgui.ui b/plugins/channelrx/udpsrc/udpsrcgui.ui
index d1bee88ca..9ab8bc856 100644
--- a/plugins/channelrx/udpsrc/udpsrcgui.ui
+++ b/plugins/channelrx/udpsrc/udpsrcgui.ui
@@ -479,7 +479,7 @@
...
-
+
:/sound_off.png
:/sound_on.png:/sound_off.png
@@ -497,7 +497,7 @@
...
-
+
:/mono.png
:/stereo.png:/mono.png
@@ -776,7 +776,7 @@
-
+
diff --git a/plugins/channeltx/modam/CMakeLists.txt b/plugins/channeltx/modam/CMakeLists.txt
index 5e7ee66b5..0be430f84 100644
--- a/plugins/channeltx/modam/CMakeLists.txt
+++ b/plugins/channeltx/modam/CMakeLists.txt
@@ -38,6 +38,7 @@ add_library(modam SHARED
target_link_libraries(modam
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(modam Core Widgets)
diff --git a/plugins/channeltx/modam/ammodgui.ui b/plugins/channeltx/modam/ammodgui.ui
index 74d88fec7..1b98dafa4 100644
--- a/plugins/channeltx/modam/ammodgui.ui
+++ b/plugins/channeltx/modam/ammodgui.ui
@@ -172,7 +172,7 @@
...
-
+
:/txon.png
:/txoff.png:/txon.png
@@ -376,7 +376,7 @@
...
-
+
:/carrier.png:/carrier.png
@@ -390,7 +390,7 @@
...
-
+
:/morsekey.png:/morsekey.png
@@ -455,7 +455,7 @@
...
-
+
:/microphone.png:/microphone.png
@@ -526,7 +526,7 @@
-
+
:/preset-load.png:/preset-load.png
@@ -540,7 +540,7 @@
...
-
+
:/playloop.png:/playloop.png
@@ -554,7 +554,7 @@
...
-
+
:/play.png
:/pause.png
:/play.png
@@ -690,29 +690,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/channeltx/modam/modam.pro b/plugins/channeltx/modam/modam.pro
index 9ac12eef5..239a16ddf 100644
--- a/plugins/channeltx/modam/modam.pro
+++ b/plugins/channeltx/modam/modam.pro
@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
@@ -36,5 +37,6 @@ HEADERS += ammod.h\
FORMS += ammodgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/channeltx/modatv/CMakeLists.txt b/plugins/channeltx/modatv/CMakeLists.txt
index 4188a2389..4d89f8fe7 100644
--- a/plugins/channeltx/modatv/CMakeLists.txt
+++ b/plugins/channeltx/modatv/CMakeLists.txt
@@ -42,6 +42,7 @@ target_link_libraries(modatv
${OpenCV_LIBS}
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(modatv Core Widgets)
diff --git a/plugins/channeltx/modatv/atvmodgui.ui b/plugins/channeltx/modatv/atvmodgui.ui
index 10f6bf925..e311e0f1d 100644
--- a/plugins/channeltx/modatv/atvmodgui.ui
+++ b/plugins/channeltx/modatv/atvmodgui.ui
@@ -136,7 +136,7 @@
-
+
:/arrow_down.png:/arrow_down.png
@@ -219,7 +219,7 @@
...
-
+
:/txon.png
:/txoff.png:/txon.png
@@ -936,7 +936,7 @@
-
+
:/picture.png:/picture.png
@@ -980,7 +980,7 @@
-
+
:/film_reel.png:/film_reel.png
@@ -1005,7 +1005,7 @@
...
-
+
:/playloop.png:/playloop.png
@@ -1019,7 +1019,7 @@
...
-
+
:/play.png
:/pause.png
:/play.png
@@ -1141,7 +1141,7 @@
- :/camera.png
+ :/camera.png
@@ -1157,7 +1157,7 @@
-
+
:/play.png
:/pause.png
:/play.png
@@ -1324,34 +1324,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/channeltx/modatv/modatv.pro b/plugins/channeltx/modatv/modatv.pro
index dc8acb30e..464796e74 100644
--- a/plugins/channeltx/modatv/modatv.pro
+++ b/plugins/channeltx/modatv/modatv.pro
@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
@@ -40,9 +41,10 @@ HEADERS += atvmod.h\
FORMS += atvmodgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
CONFIG(MINGW32):LIBS += -LD:\softs\opencv\build\mw32\install\x86\mingw\bin -llibopencv_core2413 -llibopencv_highgui2413 -llibopencv_imgproc2413
CONFIG(MINGW64):LIBS += -LD:\softs\opencv\build\mw64\install\x64\mingw\bin -llibopencv_core2413 -llibopencv_highgui2413 -llibopencv_imgproc2413
CONFIG(macx):LIBS += -L/opt/local/lib -lopencv_core -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_video -lopencv_videoio
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/channeltx/modnfm/CMakeLists.txt b/plugins/channeltx/modnfm/CMakeLists.txt
index 10d579e3a..d9d2d6ecb 100644
--- a/plugins/channeltx/modnfm/CMakeLists.txt
+++ b/plugins/channeltx/modnfm/CMakeLists.txt
@@ -38,6 +38,7 @@ add_library(modnfm SHARED
target_link_libraries(modnfm
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(modnfm Core Widgets)
diff --git a/plugins/channeltx/modnfm/modnfm.pro b/plugins/channeltx/modnfm/modnfm.pro
index 7a938e07f..f849c1f2b 100644
--- a/plugins/channeltx/modnfm/modnfm.pro
+++ b/plugins/channeltx/modnfm/modnfm.pro
@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
@@ -36,5 +37,6 @@ HEADERS += nfmmod.h\
FORMS += nfmmodgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/channeltx/modnfm/nfmmodgui.ui b/plugins/channeltx/modnfm/nfmmodgui.ui
index db9377cfe..3805fd725 100644
--- a/plugins/channeltx/modnfm/nfmmodgui.ui
+++ b/plugins/channeltx/modnfm/nfmmodgui.ui
@@ -172,7 +172,7 @@
...
-
+
:/txon.png
:/txoff.png:/txon.png
@@ -416,7 +416,7 @@
...
-
+
:/carrier.png:/carrier.png
@@ -430,7 +430,7 @@
...
-
+
:/morsekey.png:/morsekey.png
@@ -495,7 +495,7 @@
...
-
+
:/microphone.png:/microphone.png
@@ -603,7 +603,7 @@
-
+
:/preset-load.png:/preset-load.png
@@ -617,7 +617,7 @@
...
-
+
:/playloop.png:/playloop.png
@@ -631,7 +631,7 @@
...
-
+
:/play.png
:/pause.png
:/play.png
@@ -767,29 +767,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/channeltx/modssb/CMakeLists.txt b/plugins/channeltx/modssb/CMakeLists.txt
index 74df7ef54..fc652b3a4 100644
--- a/plugins/channeltx/modssb/CMakeLists.txt
+++ b/plugins/channeltx/modssb/CMakeLists.txt
@@ -38,6 +38,7 @@ add_library(modssb SHARED
target_link_libraries(modssb
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(modssb Core Widgets)
diff --git a/plugins/channeltx/modssb/modssb.pro b/plugins/channeltx/modssb/modssb.pro
index 6b928a460..5bc58f2c4 100644
--- a/plugins/channeltx/modssb/modssb.pro
+++ b/plugins/channeltx/modssb/modssb.pro
@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
@@ -36,5 +37,6 @@ HEADERS += ssbmod.h\
FORMS += ssbmodgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/channeltx/modssb/ssbmodgui.ui b/plugins/channeltx/modssb/ssbmodgui.ui
index 22ae22040..bdbd01702 100644
--- a/plugins/channeltx/modssb/ssbmodgui.ui
+++ b/plugins/channeltx/modssb/ssbmodgui.ui
@@ -178,7 +178,7 @@
...
-
+
:/mono.png
:/stereo.png:/mono.png
@@ -196,7 +196,7 @@
...
-
+
:/flip_lr.png
:/flip_rl.png:/flip_lr.png
@@ -214,7 +214,7 @@
...
-
+
:/usb.png
:/dsb.png:/usb.png
@@ -417,7 +417,7 @@
-
+
:/sound_on.png
:/sound_off.png:/sound_on.png
@@ -707,7 +707,7 @@
...
-
+
:/carrier.png:/carrier.png
@@ -721,7 +721,7 @@
...
-
+
:/morsekey.png:/morsekey.png
@@ -786,7 +786,7 @@
...
-
+
:/microphone.png:/microphone.png
@@ -850,7 +850,7 @@
-
+
:/preset-load.png:/preset-load.png
@@ -864,7 +864,7 @@
...
-
+
:/playloop.png:/playloop.png
@@ -881,7 +881,7 @@
...
-
+
:/play.png
:/pause.png
:/play.png
@@ -1078,27 +1078,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/channeltx/modwfm/CMakeLists.txt b/plugins/channeltx/modwfm/CMakeLists.txt
index 8c69d91bb..d712b8597 100644
--- a/plugins/channeltx/modwfm/CMakeLists.txt
+++ b/plugins/channeltx/modwfm/CMakeLists.txt
@@ -38,6 +38,7 @@ add_library(modwfm SHARED
target_link_libraries(modwfm
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(modwfm Core Widgets)
diff --git a/plugins/channeltx/modwfm/modwfm.pro b/plugins/channeltx/modwfm/modwfm.pro
index 5f495adc8..abe2358bd 100644
--- a/plugins/channeltx/modwfm/modwfm.pro
+++ b/plugins/channeltx/modwfm/modwfm.pro
@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
@@ -36,5 +37,6 @@ HEADERS += wfmmod.h\
FORMS += wfmmodgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/channeltx/modwfm/wfmmodgui.ui b/plugins/channeltx/modwfm/wfmmodgui.ui
index 69566c531..5291a1f21 100644
--- a/plugins/channeltx/modwfm/wfmmodgui.ui
+++ b/plugins/channeltx/modwfm/wfmmodgui.ui
@@ -172,7 +172,7 @@
...
-
+
:/txon.png
:/txoff.png:/txon.png
@@ -416,7 +416,7 @@
...
-
+
:/carrier.png:/carrier.png
@@ -430,7 +430,7 @@
...
-
+
:/morsekey.png:/morsekey.png
@@ -495,7 +495,7 @@
...
-
+
:/microphone.png:/microphone.png
@@ -566,7 +566,7 @@
-
+
:/preset-load.png:/preset-load.png
@@ -580,7 +580,7 @@
...
-
+
:/playloop.png:/playloop.png
@@ -594,7 +594,7 @@
...
-
+
:/play.png
:/pause.png
:/play.png
@@ -730,29 +730,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/channeltx/udpsink/CMakeLists.txt b/plugins/channeltx/udpsink/CMakeLists.txt
index c753e707d..b856fa4af 100644
--- a/plugins/channeltx/udpsink/CMakeLists.txt
+++ b/plugins/channeltx/udpsink/CMakeLists.txt
@@ -43,6 +43,7 @@ add_library(modudpsink SHARED
target_link_libraries(modudpsink
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(modudpsink Core Widgets Network)
diff --git a/plugins/channeltx/udpsink/udpsink.pro b/plugins/channeltx/udpsink/udpsink.pro
index 133e97dae..4904bbc8c 100644
--- a/plugins/channeltx/udpsink/udpsink.pro
+++ b/plugins/channeltx/udpsink/udpsink.pro
@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
@@ -40,5 +41,6 @@ HEADERS += udpsink.h\
FORMS += udpsinkgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/channeltx/udpsink/udpsinkgui.ui b/plugins/channeltx/udpsink/udpsinkgui.ui
index 13adbd7ec..4ad726adb 100644
--- a/plugins/channeltx/udpsink/udpsinkgui.ui
+++ b/plugins/channeltx/udpsink/udpsinkgui.ui
@@ -625,7 +625,7 @@
-
+
:/txon.png
:/txoff.png:/txon.png
@@ -868,7 +868,7 @@
-
+
:/mono.png
:/stereo.png:/mono.png
@@ -963,7 +963,7 @@
-
+
diff --git a/plugins/samplesink/bladerfoutput/CMakeLists.txt b/plugins/samplesink/bladerfoutput/CMakeLists.txt
index 8ec0cf45a..41779498f 100644
--- a/plugins/samplesink/bladerfoutput/CMakeLists.txt
+++ b/plugins/samplesink/bladerfoutput/CMakeLists.txt
@@ -56,6 +56,7 @@ target_link_libraries(outputbladerf
${QT_LIBRARIES}
bladerf
sdrbase
+ sdrgui
bladerfdevice
)
else (BUILD_DEBIAN)
@@ -63,6 +64,7 @@ target_link_libraries(outputbladerf
${QT_LIBRARIES}
${LIBBLADERF_LIBRARIES}
sdrbase
+ sdrgui
bladerfdevice
)
endif (BUILD_DEBIAN)
diff --git a/plugins/samplesink/bladerfoutput/bladerfoutput.pro b/plugins/samplesink/bladerfoutput/bladerfoutput.pro
index 2e80329f2..be58c5383 100644
--- a/plugins/samplesink/bladerfoutput/bladerfoutput.pro
+++ b/plugins/samplesink/bladerfoutput/bladerfoutput.pro
@@ -21,6 +21,7 @@ CONFIG(MINGW32):LIBBLADERFSRC = "D:\softs\bladeRF\host\libraries\libbladeRF\incl
CONFIG(MINGW64):LIBBLADERFSRC = "D:\softs\bladeRF\host\libraries\libbladeRF\include"
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
INCLUDEPATH += ../../../devices
INCLUDEPATH += $$LIBBLADERFSRC
@@ -42,7 +43,8 @@ HEADERS += bladerfoutputgui.h\
FORMS += bladerfoutputgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
LIBS += -L../../../libbladerf/$${build_subdir} -llibbladerf
LIBS += -L../../../devices/$${build_subdir} -ldevices
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/samplesink/bladerfoutput/bladerfoutputgui.ui b/plugins/samplesink/bladerfoutput/bladerfoutputgui.ui
index 97e462e49..d6902578b 100644
--- a/plugins/samplesink/bladerfoutput/bladerfoutputgui.ui
+++ b/plugins/samplesink/bladerfoutput/bladerfoutputgui.ui
@@ -65,7 +65,7 @@
-
+
:/play.png
:/stop.png:/play.png
@@ -573,31 +573,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/samplesink/filesink/CMakeLists.txt b/plugins/samplesink/filesink/CMakeLists.txt
index decb41d0c..813dd6f1b 100644
--- a/plugins/samplesink/filesink/CMakeLists.txt
+++ b/plugins/samplesink/filesink/CMakeLists.txt
@@ -40,6 +40,7 @@ add_library(outputfilesink SHARED
target_link_libraries(outputfilesink
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(outputfilesink Core Widgets)
diff --git a/plugins/samplesink/filesink/filesink.pro b/plugins/samplesink/filesink/filesink.pro
index 0c051f04e..8b26b5f35 100644
--- a/plugins/samplesink/filesink/filesink.pro
+++ b/plugins/samplesink/filesink/filesink.pro
@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
@@ -38,5 +39,6 @@ HEADERS += filesinkgui.h\
FORMS += filesinkgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/samplesink/filesink/filesinkgui.ui b/plugins/samplesink/filesink/filesinkgui.ui
index f396763fd..b500b42d4 100644
--- a/plugins/samplesink/filesink/filesinkgui.ui
+++ b/plugins/samplesink/filesink/filesinkgui.ui
@@ -65,7 +65,7 @@
-
+
:/play.png
:/stop.png:/play.png
@@ -197,7 +197,7 @@
-
+
:/preset-load.png:/preset-load.png
@@ -397,37 +397,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/samplesink/hackrfoutput/CMakeLists.txt b/plugins/samplesink/hackrfoutput/CMakeLists.txt
index cd9f2f590..c6fec4c68 100644
--- a/plugins/samplesink/hackrfoutput/CMakeLists.txt
+++ b/plugins/samplesink/hackrfoutput/CMakeLists.txt
@@ -57,6 +57,7 @@ target_link_libraries(outputhackrf
${QT_LIBRARIES}
hackrf
sdrbase
+ sdrgui
hackrfdevice
)
else (BUILD_DEBIAN)
@@ -64,6 +65,7 @@ target_link_libraries(outputhackrf
${QT_LIBRARIES}
${LIBHACKRF_LIBRARIES}
sdrbase
+ sdrgui
hackrfdevice
)
endif (BUILD_DEBIAN)
diff --git a/plugins/samplesink/hackrfoutput/hackrfoutput.pro b/plugins/samplesink/hackrfoutput/hackrfoutput.pro
index ed46f58ae..e99f4a8c7 100644
--- a/plugins/samplesink/hackrfoutput/hackrfoutput.pro
+++ b/plugins/samplesink/hackrfoutput/hackrfoutput.pro
@@ -21,6 +21,7 @@ CONFIG(MINGW32):LIBHACKRFSRC = "D:\softs\hackrf\host"
CONFIG(MINGW64):LIBHACKRFSRC = "D:\softs\hackrf\host"
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
INCLUDEPATH += ../../../devices
!macx:INCLUDEPATH += $$LIBHACKRFSRC
macx:INCLUDEPATH += /opt/local/include
@@ -43,8 +44,9 @@ HEADERS += hackrfoutputgui.h\
FORMS += hackrfoutputgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
!macx:LIBS += -L../../../libhackrf/$${build_subdir} -llibhackrf
macx:LIBS += -L/opt/local/lib -lhackrf
LIBS += -L../../../devices/$${build_subdir} -ldevices
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/samplesink/hackrfoutput/hackrfoutputgui.ui b/plugins/samplesink/hackrfoutput/hackrfoutputgui.ui
index 078483613..1c98afb3c 100644
--- a/plugins/samplesink/hackrfoutput/hackrfoutputgui.ui
+++ b/plugins/samplesink/hackrfoutput/hackrfoutputgui.ui
@@ -68,7 +68,7 @@
-
+
:/play.png
:/stop.png:/play.png
@@ -499,31 +499,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/samplesink/limesdroutput/CMakeLists.txt b/plugins/samplesink/limesdroutput/CMakeLists.txt
index 2316eaa56..c6de9456c 100644
--- a/plugins/samplesink/limesdroutput/CMakeLists.txt
+++ b/plugins/samplesink/limesdroutput/CMakeLists.txt
@@ -65,6 +65,7 @@ target_link_libraries(outputlimesdr
${QT_LIBRARIES}
limesuite
sdrbase
+ sdrgui
limesdrdevice
)
else (BUILD_DEBIAN)
@@ -72,6 +73,7 @@ target_link_libraries(outputlimesdr
${QT_LIBRARIES}
${LIMESUITE_LIBRARY}
sdrbase
+ sdrgui
limesdrdevice
)
endif (BUILD_DEBIAN)
diff --git a/plugins/samplesink/limesdroutput/limesdroutput.pro b/plugins/samplesink/limesdroutput/limesdroutput.pro
index 79677077f..d1bff8379 100644
--- a/plugins/samplesink/limesdroutput/limesdroutput.pro
+++ b/plugins/samplesink/limesdroutput/limesdroutput.pro
@@ -22,6 +22,7 @@ CONFIG(MINGW64):LIBLIMESUITESRC = "D:\softs\LimeSuite"
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
INCLUDEPATH += ../../../devices
INCLUDEPATH += ../../../liblimesuite/srcmw
INCLUDEPATH += $$LIBLIMESUITESRC/src
@@ -53,7 +54,8 @@ HEADERS += limesdroutputgui.h\
FORMS += limesdroutputgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
LIBS += -L../../../liblimesuite/$${build_subdir} -lliblimesuite
LIBS += -L../../../devices/$${build_subdir} -ldevices
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/samplesink/limesdroutput/limesdroutputgui.ui b/plugins/samplesink/limesdroutput/limesdroutputgui.ui
index c5d84b101..ef0755699 100644
--- a/plugins/samplesink/limesdroutput/limesdroutputgui.ui
+++ b/plugins/samplesink/limesdroutput/limesdroutputgui.ui
@@ -65,7 +65,7 @@
-
+
:/play.png
:/stop.png:/play.png
@@ -653,7 +653,7 @@
- :/antenna.png
+ :/antenna.png
@@ -729,7 +729,7 @@
- :/stream.png
+ :/stream.png
@@ -921,35 +921,7 @@ QToolTip{background-color: white; color: black;}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/samplesink/plutosdroutput/CMakeLists.txt b/plugins/samplesink/plutosdroutput/CMakeLists.txt
index 4bd08ca9a..6e54c74c9 100644
--- a/plugins/samplesink/plutosdroutput/CMakeLists.txt
+++ b/plugins/samplesink/plutosdroutput/CMakeLists.txt
@@ -55,6 +55,7 @@ target_link_libraries(outputplutosdr
${QT_LIBRARIES}
iio
sdrbase
+ sdrgui
plutosdrdevice
)
else (BUILD_DEBIAN)
@@ -62,6 +63,7 @@ target_link_libraries(outputplutosdr
${QT_LIBRARIES}
${LIBIIO_LIBRARIES}
sdrbase
+ sdrgui
plutosdrdevice
)
endif (BUILD_DEBIAN)
diff --git a/plugins/samplesink/plutosdroutput/plutosdroutput.pro b/plugins/samplesink/plutosdroutput/plutosdroutput.pro
index c79a94ddc..7128c214f 100644
--- a/plugins/samplesink/plutosdroutput/plutosdroutput.pro
+++ b/plugins/samplesink/plutosdroutput/plutosdroutput.pro
@@ -22,6 +22,7 @@ CONFIG(MINGW64):LIBIIOSRC = "D:\softs\libiio"
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
INCLUDEPATH += ../../../devices
INCLUDEPATH += ../../../libiio/includemw
INCLUDEPATH += $$LIBIIOSRC
@@ -44,7 +45,8 @@ HEADERS += plutosdroutputgui.h\
FORMS += plutosdroutputgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
LIBS += -L../../../libiio/$${build_subdir} -llibiio
LIBS += -L../../../devices/$${build_subdir} -ldevices
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/samplesink/plutosdroutput/plutosdroutputgui.ui b/plugins/samplesink/plutosdroutput/plutosdroutputgui.ui
index ea61bf9c4..a996fa364 100644
--- a/plugins/samplesink/plutosdroutput/plutosdroutputgui.ui
+++ b/plugins/samplesink/plutosdroutput/plutosdroutputgui.ui
@@ -65,7 +65,7 @@
-
+
:/play.png
:/stop.png:/play.png
@@ -342,7 +342,7 @@
-
- :/antenna.png
+ :/antenna.png
@@ -789,102 +789,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/samplesink/sdrdaemonsink/CMakeLists.txt b/plugins/samplesink/sdrdaemonsink/CMakeLists.txt
index 108ecd7e0..2e37b4482 100644
--- a/plugins/samplesink/sdrdaemonsink/CMakeLists.txt
+++ b/plugins/samplesink/sdrdaemonsink/CMakeLists.txt
@@ -66,6 +66,7 @@ if (BUILD_DEBIAN)
target_link_libraries(outputsdrdaemonsink
${QT_LIBRARIES}
sdrbase
+ sdrgui
cm256cc
${LIBNANOMSG_LIBRARIES}
)
@@ -73,6 +74,7 @@ else (BUILD_DEBIAN)
target_link_libraries(outputsdrdaemonsink
${QT_LIBRARIES}
sdrbase
+ sdrgui
${CM256CC_LIBRARIES}
${LIBNANOMSG_LIBRARIES}
)
diff --git a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.ui b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.ui
index 5a83c0d17..aa388601f 100644
--- a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.ui
+++ b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.ui
@@ -65,7 +65,7 @@
-
+
:/play.png
:/stop.png:/play.png
@@ -439,7 +439,7 @@
-
+
:/locked.png:/locked.png
@@ -682,34 +682,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/samplesource/airspy/CMakeLists.txt b/plugins/samplesource/airspy/CMakeLists.txt
index 0ab3d561f..56cd563f0 100644
--- a/plugins/samplesource/airspy/CMakeLists.txt
+++ b/plugins/samplesource/airspy/CMakeLists.txt
@@ -55,12 +55,14 @@ target_link_libraries(inputairspy
${QT_LIBRARIES}
airspy
sdrbase
+ sdrgui
)
else (BUILD_DEBIAN)
target_link_libraries(inputairspy
${QT_LIBRARIES}
${LIBAIRSPY_LIBRARIES}
sdrbase
+ sdrgui
)
endif (BUILD_DEBIAN)
diff --git a/plugins/samplesource/airspy/airspy.pro b/plugins/samplesource/airspy/airspy.pro
index f2db2fdaf..5cded93f4 100644
--- a/plugins/samplesource/airspy/airspy.pro
+++ b/plugins/samplesource/airspy/airspy.pro
@@ -15,6 +15,7 @@ CONFIG(MINGW32):LIBAIRSPYSRC = "D:\softs\libairspy"
CONFIG(MINGW64):LIBAIRSPYSRC = "D:\softs\libairspy"
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
INCLUDEPATH += $$LIBAIRSPYSRC
DEFINES += LIBAIRSPY_DYN_RATES
@@ -42,6 +43,7 @@ HEADERS += airspygui.h\
FORMS += airspygui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
LIBS += -L../../../libairspy/$${build_subdir} -llibairspy
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/samplesource/airspy/airspygui.ui b/plugins/samplesource/airspy/airspygui.ui
index f26919185..722d960e7 100644
--- a/plugins/samplesource/airspy/airspygui.ui
+++ b/plugins/samplesource/airspy/airspygui.ui
@@ -65,7 +65,7 @@
-
+
:/play.png
:/stop.png:/play.png
@@ -80,7 +80,7 @@
-
+
:/record_off.png:/record_off.png
@@ -668,7 +668,7 @@
-
+
diff --git a/plugins/samplesource/airspy/airspythread.cpp b/plugins/samplesource/airspy/airspythread.cpp
index 647d24df7..5576f4673 100644
--- a/plugins/samplesource/airspy/airspythread.cpp
+++ b/plugins/samplesource/airspy/airspythread.cpp
@@ -19,7 +19,7 @@
#include "airspythread.h"
-#include "../../../sdrbase/dsp/samplesinkfifo.h"
+#include "dsp/samplesinkfifo.h"
AirspyThread *AirspyThread::m_this = 0;
diff --git a/plugins/samplesource/airspy/airspythread.h b/plugins/samplesource/airspy/airspythread.h
index 35d72bc11..52fa601e3 100644
--- a/plugins/samplesource/airspy/airspythread.h
+++ b/plugins/samplesource/airspy/airspythread.h
@@ -22,7 +22,7 @@
#include
#include
-#include "../../../sdrbase/dsp/samplesinkfifo.h"
+#include "dsp/samplesinkfifo.h"
#include "dsp/decimators.h"
#define AIRSPY_BLOCKSIZE (1<<17)
diff --git a/plugins/samplesource/bladerfinput/CMakeLists.txt b/plugins/samplesource/bladerfinput/CMakeLists.txt
index 92d927007..a905044da 100644
--- a/plugins/samplesource/bladerfinput/CMakeLists.txt
+++ b/plugins/samplesource/bladerfinput/CMakeLists.txt
@@ -56,6 +56,7 @@ target_link_libraries(inputbladerf
${QT_LIBRARIES}
bladerf
sdrbase
+ sdrgui
bladerfdevice
)
else (BUILD_DEBIAN)
@@ -63,6 +64,7 @@ target_link_libraries(inputbladerf
${QT_LIBRARIES}
${LIBBLADERF_LIBRARIES}
sdrbase
+ sdrgui
bladerfdevice
)
endif (BUILD_DEBIAN)
diff --git a/plugins/samplesource/bladerfinput/bladerfinput.pro b/plugins/samplesource/bladerfinput/bladerfinput.pro
index 608b8b84b..2d452f5bd 100644
--- a/plugins/samplesource/bladerfinput/bladerfinput.pro
+++ b/plugins/samplesource/bladerfinput/bladerfinput.pro
@@ -21,6 +21,7 @@ CONFIG(MINGW32):LIBBLADERFSRC = "D:\softs\bladeRF\host\libraries\libbladeRF\incl
CONFIG(MINGW64):LIBBLADERFSRC = "D:\softs\bladeRF\host\libraries\libbladeRF\include"
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
INCLUDEPATH += ../../../devices
INCLUDEPATH += $$LIBBLADERFSRC
@@ -42,7 +43,8 @@ HEADERS += bladerfinputgui.h\
FORMS += bladerfinputgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
LIBS += -L../../../libbladerf/$${build_subdir} -llibbladerf
LIBS += -L../../../devices/$${build_subdir} -ldevices
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/samplesource/bladerfinput/bladerfinputgui.ui b/plugins/samplesource/bladerfinput/bladerfinputgui.ui
index ea5ecef05..744d3e7cf 100644
--- a/plugins/samplesource/bladerfinput/bladerfinputgui.ui
+++ b/plugins/samplesource/bladerfinput/bladerfinputgui.ui
@@ -65,7 +65,7 @@
-
+
:/play.png
:/stop.png:/play.png
@@ -80,7 +80,7 @@
-
+
:/record_off.png
:/record_on.png:/record_off.png
@@ -716,7 +716,7 @@
-
+
diff --git a/plugins/samplesource/fcdpro/CMakeLists.txt b/plugins/samplesource/fcdpro/CMakeLists.txt
index 426337b5c..559c461b6 100644
--- a/plugins/samplesource/fcdpro/CMakeLists.txt
+++ b/plugins/samplesource/fcdpro/CMakeLists.txt
@@ -47,6 +47,7 @@ target_link_libraries(inputfcdpro
fcdhid
fcdlib
sdrbase
+ sdrgui
)
qt5_use_modules(inputfcdpro Core Widgets)
diff --git a/plugins/samplesource/fcdpro/fcdprogui.ui b/plugins/samplesource/fcdpro/fcdprogui.ui
index f368fea64..d7a31d4c2 100644
--- a/plugins/samplesource/fcdpro/fcdprogui.ui
+++ b/plugins/samplesource/fcdpro/fcdprogui.ui
@@ -65,7 +65,7 @@
-
+
:/play.png
:/stop.png:/play.png
@@ -80,7 +80,7 @@
-
+
:/record_off.png:/record_off.png
@@ -507,7 +507,7 @@
-
+
diff --git a/plugins/samplesource/fcdpro/fcdprothread.cpp b/plugins/samplesource/fcdpro/fcdprothread.cpp
index 83be7c3cc..e1fbbb721 100644
--- a/plugins/samplesource/fcdpro/fcdprothread.cpp
+++ b/plugins/samplesource/fcdpro/fcdprothread.cpp
@@ -20,7 +20,7 @@
#include
#include "fcdprothread.h"
-#include "../../../sdrbase/dsp/samplesinkfifo.h"
+#include "dsp/samplesinkfifo.h"
#include "fcdtraits.h"
FCDProThread::FCDProThread(SampleSinkFifo* sampleFifo, QObject* parent) :
diff --git a/plugins/samplesource/fcdpro/fcdprothread.h b/plugins/samplesource/fcdpro/fcdprothread.h
index e7d8b72e5..ce3e47da5 100644
--- a/plugins/samplesource/fcdpro/fcdprothread.h
+++ b/plugins/samplesource/fcdpro/fcdprothread.h
@@ -22,7 +22,7 @@
#include
#include "dsp/inthalfbandfilter.h"
#include
-#include "../../../sdrbase/dsp/samplesinkfifo.h"
+#include "dsp/samplesinkfifo.h"
class FCDProThread : public QThread {
Q_OBJECT
diff --git a/plugins/samplesource/fcdproplus/CMakeLists.txt b/plugins/samplesource/fcdproplus/CMakeLists.txt
index 0a06d5ce4..96bd616b0 100644
--- a/plugins/samplesource/fcdproplus/CMakeLists.txt
+++ b/plugins/samplesource/fcdproplus/CMakeLists.txt
@@ -47,6 +47,7 @@ target_link_libraries(inputfcdproplus
fcdhid
fcdlib
sdrbase
+ sdrgui
)
qt5_use_modules(inputfcdproplus Core Widgets)
diff --git a/plugins/samplesource/fcdproplus/fcdproplus.pro b/plugins/samplesource/fcdproplus/fcdproplus.pro
index c6ea9344f..104c57167 100644
--- a/plugins/samplesource/fcdproplus/fcdproplus.pro
+++ b/plugins/samplesource/fcdproplus/fcdproplus.pro
@@ -18,6 +18,7 @@ QMAKE_CXXFLAGS += -msse4.1
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
INCLUDEPATH += ../../../fcdhid
INCLUDEPATH += ../../../fcdlib
@@ -41,3 +42,4 @@ FORMS += fcdproplusgui.ui
LIBS += -L../../../fcdlib/$${build_subdir} -lfcdlib
LIBS += -L../../../fcdhid/$${build_subdir} -lfcdhid
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
diff --git a/plugins/samplesource/fcdproplus/fcdproplusgui.ui b/plugins/samplesource/fcdproplus/fcdproplusgui.ui
index 270db02c2..82431d645 100644
--- a/plugins/samplesource/fcdproplus/fcdproplusgui.ui
+++ b/plugins/samplesource/fcdproplus/fcdproplusgui.ui
@@ -65,7 +65,7 @@
-
+
:/play.png
:/stop.png:/play.png
@@ -80,7 +80,7 @@
-
+
:/record_off.png:/record_off.png
@@ -414,7 +414,7 @@
-
+
diff --git a/plugins/samplesource/fcdproplus/fcdproplusreader.cpp b/plugins/samplesource/fcdproplus/fcdproplusreader.cpp
index ad392cec3..c12366a5c 100644
--- a/plugins/samplesource/fcdproplus/fcdproplusreader.cpp
+++ b/plugins/samplesource/fcdproplus/fcdproplusreader.cpp
@@ -26,7 +26,7 @@
#include
#include "fcdproplusreader.h"
-#include "../../../sdrbase/dsp/samplesinkfifo.h"
+#include "dsp/samplesinkfifo.h"
#include "fcdtraits.h"
FCDProPlusReader::FCDProPlusReader(SampleSinkFifo* sampleFifo, QObject* parent) :
diff --git a/plugins/samplesource/fcdproplus/fcdproplusreader.h b/plugins/samplesource/fcdproplus/fcdproplusreader.h
index 76aae634e..db78b5e29 100644
--- a/plugins/samplesource/fcdproplus/fcdproplusreader.h
+++ b/plugins/samplesource/fcdproplus/fcdproplusreader.h
@@ -22,7 +22,7 @@
#include
#include
-#include "../../../sdrbase/dsp/samplesinkfifo.h"
+#include "dsp/samplesinkfifo.h"
#include "dsp/inthalfbandfilter.h"
class QAudioInput;
diff --git a/plugins/samplesource/fcdproplus/fcdproplusthread.cpp b/plugins/samplesource/fcdproplus/fcdproplusthread.cpp
index 5bf083590..a29ca1411 100644
--- a/plugins/samplesource/fcdproplus/fcdproplusthread.cpp
+++ b/plugins/samplesource/fcdproplus/fcdproplusthread.cpp
@@ -20,7 +20,7 @@
#include
#include "fcdproplusthread.h"
-#include "../../../sdrbase/dsp/samplesinkfifo.h"
+#include "dsp/samplesinkfifo.h"
#include "fcdtraits.h"
FCDProPlusThread::FCDProPlusThread(SampleSinkFifo* sampleFifo, QObject* parent) :
diff --git a/plugins/samplesource/fcdproplus/fcdproplusthread.h b/plugins/samplesource/fcdproplus/fcdproplusthread.h
index 75629c726..74e7f6d75 100644
--- a/plugins/samplesource/fcdproplus/fcdproplusthread.h
+++ b/plugins/samplesource/fcdproplus/fcdproplusthread.h
@@ -23,7 +23,7 @@
#include
#include "dsp/inthalfbandfilter.h"
#include
-#include "../../../sdrbase/dsp/samplesinkfifo.h"
+#include "dsp/samplesinkfifo.h"
class FCDProPlusThread : public QThread {
Q_OBJECT
diff --git a/plugins/samplesource/filesource/CMakeLists.txt b/plugins/samplesource/filesource/CMakeLists.txt
index a0ffde4b6..d8df4336c 100644
--- a/plugins/samplesource/filesource/CMakeLists.txt
+++ b/plugins/samplesource/filesource/CMakeLists.txt
@@ -40,6 +40,7 @@ add_library(inputfilesource SHARED
target_link_libraries(inputfilesource
${QT_LIBRARIES}
sdrbase
+ sdrgui
)
qt5_use_modules(inputfilesource Core Widgets)
diff --git a/plugins/samplesource/filesource/filesource.pro b/plugins/samplesource/filesource/filesource.pro
index 35e22b06c..976aa4243 100644
--- a/plugins/samplesource/filesource/filesource.pro
+++ b/plugins/samplesource/filesource/filesource.pro
@@ -19,6 +19,7 @@ QMAKE_CXXFLAGS += -std=c++11
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
@@ -36,5 +37,6 @@ HEADERS += filesourcegui.h\
FORMS += filesourcegui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/samplesource/filesource/filesourcegui.ui b/plugins/samplesource/filesource/filesourcegui.ui
index 97309dbf9..f33b1e2a7 100644
--- a/plugins/samplesource/filesource/filesourcegui.ui
+++ b/plugins/samplesource/filesource/filesourcegui.ui
@@ -65,7 +65,7 @@
-
+
:/play.png
:/stop.png:/play.png
@@ -197,7 +197,7 @@
-
+
:/preset-load.png:/preset-load.png
@@ -306,7 +306,7 @@
-
+
:/playloop.png:/playloop.png
@@ -329,7 +329,7 @@
-
+
:/play.png
:/pause.png
:/stop.png
@@ -493,37 +493,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/samplesource/hackrfinput/CMakeLists.txt b/plugins/samplesource/hackrfinput/CMakeLists.txt
index 270820836..bb2c25c72 100644
--- a/plugins/samplesource/hackrfinput/CMakeLists.txt
+++ b/plugins/samplesource/hackrfinput/CMakeLists.txt
@@ -57,6 +57,7 @@ target_link_libraries(inputhackrf
${QT_LIBRARIES}
hackrf
sdrbase
+ sdrgui
hackrfdevice
)
else (BUILD_DEBIAN)
@@ -64,6 +65,7 @@ target_link_libraries(inputhackrf
${QT_LIBRARIES}
${LIBHACKRF_LIBRARIES}
sdrbase
+ sdrgui
hackrfdevice
)
endif (BUILD_DEBIAN)
diff --git a/plugins/samplesource/hackrfinput/hackrfinput.pro b/plugins/samplesource/hackrfinput/hackrfinput.pro
index 1ba5c9bfc..d031d124c 100644
--- a/plugins/samplesource/hackrfinput/hackrfinput.pro
+++ b/plugins/samplesource/hackrfinput/hackrfinput.pro
@@ -21,6 +21,7 @@ CONFIG(MINGW32):LIBHACKRFSRC = "D:\softs\hackrf\host"
CONFIG(MINGW64):LIBHACKRFSRC = "D:\softs\hackrf\host"
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
INCLUDEPATH += ../../../devices
!macx:INCLUDEPATH += $$LIBHACKRFSRC
macx:INCLUDEPATH += /opt/local/include
@@ -43,8 +44,9 @@ HEADERS += hackrfinputgui.h\
FORMS += hackrfinputgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
!macx:LIBS += -L../../../libhackrf/$${build_subdir} -llibhackrf
macx:LIBS += -L/opt/local/lib -lhackrf
LIBS += -L../../../devices/$${build_subdir} -ldevices
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/samplesource/hackrfinput/hackrfinputgui.ui b/plugins/samplesource/hackrfinput/hackrfinputgui.ui
index f45602539..dc2d7d917 100644
--- a/plugins/samplesource/hackrfinput/hackrfinputgui.ui
+++ b/plugins/samplesource/hackrfinput/hackrfinputgui.ui
@@ -68,7 +68,7 @@
-
+
:/play.png
:/stop.png:/play.png
@@ -83,7 +83,7 @@
-
+
:/record_off.png:/record_off.png
@@ -301,7 +301,7 @@
...
-
+
:/link.png:/link.png
@@ -684,7 +684,7 @@
-
+
diff --git a/plugins/samplesource/limesdrinput/CMakeLists.txt b/plugins/samplesource/limesdrinput/CMakeLists.txt
index 8287f7a5f..4d27c0bf1 100644
--- a/plugins/samplesource/limesdrinput/CMakeLists.txt
+++ b/plugins/samplesource/limesdrinput/CMakeLists.txt
@@ -65,6 +65,7 @@ target_link_libraries(inputlimesdr
${QT_LIBRARIES}
limesuite
sdrbase
+ sdrgui
limesdrdevice
)
else (BUILD_DEBIAN)
@@ -72,6 +73,7 @@ target_link_libraries(inputlimesdr
${QT_LIBRARIES}
${LIMESUITE_LIBRARY}
sdrbase
+ sdrgui
limesdrdevice
)
endif (BUILD_DEBIAN)
diff --git a/plugins/samplesource/limesdrinput/limesdrinput.pro b/plugins/samplesource/limesdrinput/limesdrinput.pro
index 12ef70008..38552c3af 100644
--- a/plugins/samplesource/limesdrinput/limesdrinput.pro
+++ b/plugins/samplesource/limesdrinput/limesdrinput.pro
@@ -24,6 +24,7 @@ CONFIG(MINGW64):LIBLIMESUITESRC = "D:\softs\LimeSuite"
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
INCLUDEPATH += ../../../devices
INCLUDEPATH += ../../../liblimesuite/srcmw
INCLUDEPATH += $$LIBLIMESUITESRC/src
@@ -55,7 +56,8 @@ HEADERS += limesdrinputgui.h\
FORMS += limesdrinputgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
LIBS += -L../../../liblimesuite/$${build_subdir} -lliblimesuite
LIBS += -L../../../devices/$${build_subdir} -ldevices
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/samplesource/limesdrinput/limesdrinputgui.ui b/plugins/samplesource/limesdrinput/limesdrinputgui.ui
index 82c290313..b15ecd167 100644
--- a/plugins/samplesource/limesdrinput/limesdrinputgui.ui
+++ b/plugins/samplesource/limesdrinput/limesdrinputgui.ui
@@ -65,7 +65,7 @@
-
+
:/play.png
:/stop.png:/play.png
@@ -80,7 +80,7 @@
-
+
:/record_off.png
:/record_on.png:/record_off.png
@@ -863,7 +863,7 @@
-
- :/antenna.png
+ :/antenna.png
@@ -954,7 +954,7 @@
- :/stream.png
+ :/stream.png
@@ -1149,7 +1149,7 @@ QToolTip{background-color: white; color: black;}
-
+
diff --git a/plugins/samplesource/plutosdrinput/CMakeLists.txt b/plugins/samplesource/plutosdrinput/CMakeLists.txt
index 4a9252d90..68a1fe431 100644
--- a/plugins/samplesource/plutosdrinput/CMakeLists.txt
+++ b/plugins/samplesource/plutosdrinput/CMakeLists.txt
@@ -55,6 +55,7 @@ target_link_libraries(inputplutosdr
${QT_LIBRARIES}
iio
sdrbase
+ sdrgui
plutosdrdevice
)
else (BUILD_DEBIAN)
@@ -62,6 +63,7 @@ target_link_libraries(inputplutosdr
${QT_LIBRARIES}
${LIBIIO_LIBRARIES}
sdrbase
+ sdrgui
plutosdrdevice
)
endif (BUILD_DEBIAN)
diff --git a/plugins/samplesource/plutosdrinput/plutosdrinput.pro b/plugins/samplesource/plutosdrinput/plutosdrinput.pro
index 0f6a7297c..5d335f85d 100644
--- a/plugins/samplesource/plutosdrinput/plutosdrinput.pro
+++ b/plugins/samplesource/plutosdrinput/plutosdrinput.pro
@@ -22,6 +22,7 @@ CONFIG(MINGW64):LIBIIOSRC = "D:\softs\libiio"
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
INCLUDEPATH += ../../../devices
INCLUDEPATH += ../../../libiio/includemw
INCLUDEPATH += $$LIBIIOSRC
@@ -44,7 +45,8 @@ HEADERS += plutosdrinputgui.h\
FORMS += plutosdrinputgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
LIBS += -L../../../libiio/$${build_subdir} -llibiio
LIBS += -L../../../devices/$${build_subdir} -ldevices
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/samplesource/plutosdrinput/plutosdrinputgui.ui b/plugins/samplesource/plutosdrinput/plutosdrinputgui.ui
index abdb83670..853cbad14 100644
--- a/plugins/samplesource/plutosdrinput/plutosdrinputgui.ui
+++ b/plugins/samplesource/plutosdrinput/plutosdrinputgui.ui
@@ -65,7 +65,7 @@
-
+
:/play.png
:/stop.png:/play.png
@@ -80,7 +80,7 @@
-
+
:/record_off.png
:/record_on.png:/record_off.png
@@ -417,7 +417,7 @@
-
- :/antenna.png
+ :/antenna.png
@@ -979,7 +979,7 @@
-
+
diff --git a/plugins/samplesource/rtlsdr/CMakeLists.txt b/plugins/samplesource/rtlsdr/CMakeLists.txt
index 7e127242d..2dc991b57 100644
--- a/plugins/samplesource/rtlsdr/CMakeLists.txt
+++ b/plugins/samplesource/rtlsdr/CMakeLists.txt
@@ -54,12 +54,14 @@ target_link_libraries(inputrtlsdr
${QT_LIBRARIES}
rtlsdr
sdrbase
+ sdrgui
)
else (BUILD_DEBIAN)
target_link_libraries(inputrtlsdr
${QT_LIBRARIES}
${LIBRTLSDR_LIBRARIES}
sdrbase
+ sdrgui
)
endif (BUILD_DEBIAN)
diff --git a/plugins/samplesource/rtlsdr/rtlsdr.pro b/plugins/samplesource/rtlsdr/rtlsdr.pro
index bd40d5c32..da86b8ad7 100644
--- a/plugins/samplesource/rtlsdr/rtlsdr.pro
+++ b/plugins/samplesource/rtlsdr/rtlsdr.pro
@@ -21,6 +21,7 @@ CONFIG(MINGW32):LIBRTLSDRSRC = "D:\softs\librtlsdr"
CONFIG(MINGW64):LIBRTLSDRSRC = "D:\softs\librtlsdr"
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
!macx:INCLUDEPATH += $$LIBRTLSDRSRC/include
macx:INCLUDEPATH += /opt/local/include
@@ -42,7 +43,8 @@ HEADERS += rtlsdrgui.h\
FORMS += rtlsdrgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
!macx:LIBS += -L../../../librtlsdr/$${build_subdir} -llibrtlsdr
macx:LIBS += -L/opt/local/lib -lrtlsdr
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
diff --git a/plugins/samplesource/rtlsdr/rtlsdrgui.ui b/plugins/samplesource/rtlsdr/rtlsdrgui.ui
index c09070110..358850187 100644
--- a/plugins/samplesource/rtlsdr/rtlsdrgui.ui
+++ b/plugins/samplesource/rtlsdr/rtlsdrgui.ui
@@ -65,7 +65,7 @@
-
+
:/play.png
:/stop.png:/play.png
@@ -80,7 +80,7 @@
-
+
:/record_off.png:/record_off.png
@@ -607,7 +607,7 @@
-
+
diff --git a/plugins/samplesource/sdrdaemonsource/CMakeLists.txt b/plugins/samplesource/sdrdaemonsource/CMakeLists.txt
index dc9ee1a84..327325e6e 100644
--- a/plugins/samplesource/sdrdaemonsource/CMakeLists.txt
+++ b/plugins/samplesource/sdrdaemonsource/CMakeLists.txt
@@ -67,6 +67,7 @@ target_link_libraries(inputsdrdaemonsource
cm256cc
${LIBNANOMSG_LIBRARIES}
sdrbase
+ sdrgui
)
else (BUILD_DEBIAN)
target_link_libraries(inputsdrdaemonsource
@@ -74,6 +75,7 @@ target_link_libraries(inputsdrdaemonsource
${CM256CC_LIBRARIES}
${LIBNANOMSG_LIBRARIES}
sdrbase
+ sdrgui
)
endif (BUILD_DEBIAN)
diff --git a/plugins/samplesource/sdrdaemonsource/sdrdaemonsource.pro b/plugins/samplesource/sdrdaemonsource/sdrdaemonsource.pro
index 93805a728..bd1208a55 100644
--- a/plugins/samplesource/sdrdaemonsource/sdrdaemonsource.pro
+++ b/plugins/samplesource/sdrdaemonsource/sdrdaemonsource.pro
@@ -19,6 +19,7 @@ CONFIG(MINGW64):LIBCM256CCSRC = "D:\softs\cm256cc"
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
+INCLUDEPATH += ../../../sdrgui
INCLUDEPATH += $$LIBNANOMSGSRC/src
INCLUDEPATH += $$LIBCM256CCSRC
@@ -53,9 +54,10 @@ sdrdaemonsourceudphandler.h
FORMS += sdrdaemonsourcegui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
+LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
LIBS += -L../../../nanomsg/$${build_subdir} -lnanomsg
LIBS += -L../../../cm256cc/$${build_subdir} -lcm256cc
-RESOURCES = ../../../sdrbase/resources/res.qrc
+RESOURCES = ../../../sdrgui/resources/res.qrc
CONFIG(MINGW32):DEFINES += USE_INTERNAL_TIMER=1
diff --git a/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcegui.ui b/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcegui.ui
index 82f103cb9..d337548c1 100644
--- a/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcegui.ui
+++ b/plugins/samplesource/sdrdaemonsource/sdrdaemonsourcegui.ui
@@ -59,7 +59,7 @@
-
+
:/play.png
:/stop.png:/play.png
@@ -74,7 +74,7 @@
-
+
:/record_off.png:/record_off.png
@@ -439,7 +439,7 @@
...
-
+
:/locked.png:/locked.png
@@ -1074,24 +1074,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/plugins/samplesource/sdrplay/CMakeLists.txt b/plugins/samplesource/sdrplay/CMakeLists.txt
index 6e0a81dd3..2b698a4f1 100644
--- a/plugins/samplesource/sdrplay/CMakeLists.txt
+++ b/plugins/samplesource/sdrplay/CMakeLists.txt
@@ -51,12 +51,14 @@ target_link_libraries(inputsdrplay
${QT_LIBRARIES}
mirisdr
sdrbase
+ sdrgui
)
else (BUILD_DEBIAN)
target_link_libraries(inputsdrplay
${QT_LIBRARIES}
${LIBMIRISDR_LIBRARIES}
sdrbase
+ sdrgui
)
endif (BUILD_DEBIAN)
diff --git a/plugins/samplesource/sdrplay/sdrplaygui.ui b/plugins/samplesource/sdrplay/sdrplaygui.ui
index f6c3045a1..95d7ecb82 100644
--- a/plugins/samplesource/sdrplay/sdrplaygui.ui
+++ b/plugins/samplesource/sdrplay/sdrplaygui.ui
@@ -65,7 +65,7 @@
-
+
:/play.png
:/stop.png:/play.png
@@ -80,7 +80,7 @@
-
+
:/record_off.png
:/record_on.png:/record_off.png
@@ -704,27 +704,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/sdrbase/CMakeLists.txt b/sdrbase/CMakeLists.txt
index d046a42ce..1ad0fc81d 100644
--- a/sdrbase/CMakeLists.txt
+++ b/sdrbase/CMakeLists.txt
@@ -1,8 +1,6 @@
project (sdrbase)
set(sdrbase_SOURCES
- mainwindow.cpp
-
audio/audiodeviceinfo.cpp
audio/audiofifo.cpp
audio/audiooutput.cpp
@@ -39,56 +37,14 @@ set(sdrbase_SOURCES
dsp/basebandsamplesource.cpp
dsp/nullsink.cpp
dsp/recursivefilters.cpp
- dsp/spectrumscopecombovis.cpp
- dsp/spectrumscopengcombovis.cpp
- dsp/scopevis.cpp
- dsp/scopevisng.cpp
- dsp/scopevismulti.cpp
- dsp/spectrumvis.cpp
dsp/threadedbasebandsamplesink.cpp
dsp/threadedbasebandsamplesource.cpp
dsp/wfir.cpp
- gui/aboutdialog.cpp
- gui/addpresetdialog.cpp
- gui/basicchannelsettingswidget.cpp
- gui/basicchannelsettingsdialog.cpp
- gui/buttonswitch.cpp
- gui/channelwindow.cpp
- gui/clickablelabel.cpp
- gui/colormapper.cpp
- gui/cwkeyergui.cpp
- gui/glscope.cpp
- gui/glscopegui.cpp
- gui/glscopeng.cpp
- gui/glscopemulti.cpp
- gui/glscopenggui.cpp
- gui/glscopemultigui.cpp
- gui/glshadersimple.cpp
- gui/glshadertextured.cpp
- gui/glspectrum.cpp
- gui/glspectrumgui.cpp
- gui/indicator.cpp
- gui/levelmeter.cpp
- gui/mypositiondialog.cpp
- gui/pluginsdialog.cpp
- gui/audiodialog.cpp
- gui/presetitem.cpp
- gui/rollupwidget.cpp
- gui/samplingdevicecontrol.cpp
- gui/scale.cpp
- gui/scaleengine.cpp
- gui/transverterbutton.cpp
- gui/transverterdialog.cpp
- gui/valuedial.cpp
- gui/valuedialz.cpp
-
dsp/devicesamplesource.cpp
dsp/devicesamplesink.cpp
- plugin/pluginapi.cpp
plugin/plugininterface.cpp
- plugin/pluginmanager.cpp
settings/preferences.cpp
settings/preset.cpp
@@ -103,14 +59,9 @@ set(sdrbase_SOURCES
util/samplesourceserializer.cpp
util/simpleserializer.cpp
#util/spinlock.cpp
-
- device/devicesourceapi.cpp
- device/devicesinkapi.cpp
)
set(sdrbase_HEADERS
- mainwindow.h
-
audio/audiodeviceinfo.h
audio/audiofifo.h
audio/audiooutput.h
@@ -163,57 +114,15 @@ set(sdrbase_HEADERS
dsp/basebandsamplesink.h
dsp/basebandsamplesource.h
dsp/nullsink.h
- dsp/spectrumscopecombovis.h
- dsp/spectrumscopengcombovis.h
- dsp/scopevis.h
- dsp/scopevisng.h
- dsp/scopevismulti.h
- dsp/spectrumvis.h
dsp/threadedbasebandsamplesink.h
dsp/threadedbasebandsamplesource.h
dsp/wfir.h
- gui/aboutdialog.h
- gui/addpresetdialog.h
- gui/basicchannelsettingswidget.h
- gui/basicchannelsettingsdialog.h
- gui/buttonswitch.h
- gui/channelwindow.h
- gui/colormapper.h
- gui/cwkeyergui.h
- gui/glscope.h
- gui/glscopegui.h
- gui/glscopeng.h
- gui/glscopemulti.h
- gui/glscopenggui.h
- gui/glscopemultigui.h
- gui/glshadersimple.h
- gui/glshadertextured.h
- gui/glspectrum.h
- gui/glspectrumgui.h
- gui/indicator.h
- gui/levelmeter.h
- gui/mypositiondialog.h
- gui/physicalunit.h
- gui/pluginsdialog.h
- gui/audiodialog.h
- gui/presetitem.h
- gui/rollupwidget.h
- gui/samplingdevicecontrol.h
- gui/scale.h
- gui/scaleengine.h
- gui/transverterbutton.h
- gui/transverterdialog.h
- gui/valuedial.h
- gui/valuedialz.h
-
dsp/devicesamplesource.h
dsp/devicesamplesink.h
- plugin/pluginapi.h
plugin/plugininstancegui.h
plugin/plugininterface.h
- plugin/pluginmanager.h
settings/preferences.h
settings/preset.h
@@ -231,9 +140,6 @@ set(sdrbase_HEADERS
util/samplesourceserializer.h
util/simpleserializer.h
#util/spinlock.h
-
- device/devicesourceapi.h
- device/devicesinkapi.h
)
set(sdrbase_SOURCES
@@ -241,29 +147,6 @@ set(sdrbase_SOURCES
${sdrbase_HEADERS}
)
-set(sdrbase_FORMS
- mainwindow.ui
-
- gui/aboutdialog.ui
- gui/addpresetdialog.ui
- gui/basicchannelsettingswidget.ui
- gui/basicchannelsettingsdialog.ui
- gui/cwkeyergui.ui
- gui/glscopegui.ui
- gui/glscopenggui.ui
- gui/glscopemultigui.ui
- gui/glspectrumgui.ui
- gui/pluginsdialog.ui
- gui/audiodialog.ui
- gui/samplingdevicecontrol.ui
- gui/myposdialog.ui
- gui/transverterdialog.ui
-)
-
-set(sdrbase_RESOURCES
- resources/res.qrc
-)
-
if(FFTW3F_FOUND)
set(sdrbase_SOURCES
${sdrbase_SOURCES}
diff --git a/sdrbase/mainwindow.ui b/sdrbase/mainwindow.ui
index e5a44eecb..316f1a48b 100644
--- a/sdrbase/mainwindow.ui
+++ b/sdrbase/mainwindow.ui
@@ -20,7 +20,7 @@
SDRangel
-
+
:/sdrangel_icon.png:/sdrangel_icon.png
@@ -327,7 +327,7 @@
...
-
+
:/preset-save.png:/preset-save.png
@@ -347,7 +347,7 @@
...
-
+
:/preset-load.png:/preset-load.png
@@ -380,7 +380,7 @@
...
-
+
:/preset-delete.png:/preset-delete.png
@@ -434,7 +434,7 @@
...
-
+
:/preset-update.png:/preset-update.png
@@ -467,7 +467,7 @@
...
-
+
:/preset-last.png:/preset-last.png
@@ -487,7 +487,7 @@
-
+
:/export.png:/export.png
@@ -514,7 +514,7 @@
-
+
:/import.png:/import.png
@@ -696,26 +696,7 @@
presetLoad
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/sdrgui/CMakeLists.txt b/sdrgui/CMakeLists.txt
new file mode 100644
index 000000000..2146018cc
--- /dev/null
+++ b/sdrgui/CMakeLists.txt
@@ -0,0 +1,166 @@
+project (sdrgui)
+
+set(sdrgui_SOURCES
+ mainwindow.cpp
+ gui/aboutdialog.cpp
+ gui/addpresetdialog.cpp
+ gui/basicchannelsettingswidget.cpp
+ gui/basicchannelsettingsdialog.cpp
+ gui/buttonswitch.cpp
+ gui/channelwindow.cpp
+ gui/clickablelabel.cpp
+ gui/colormapper.cpp
+ gui/cwkeyergui.cpp
+ gui/glscope.cpp
+ gui/glscopegui.cpp
+ gui/glscopeng.cpp
+ gui/glscopemulti.cpp
+ gui/glscopenggui.cpp
+ gui/glscopemultigui.cpp
+ gui/glshadersimple.cpp
+ gui/glshadertextured.cpp
+ gui/glspectrum.cpp
+ gui/glspectrumgui.cpp
+ gui/indicator.cpp
+ gui/levelmeter.cpp
+ gui/mypositiondialog.cpp
+ gui/pluginsdialog.cpp
+ gui/audiodialog.cpp
+ gui/presetitem.cpp
+ gui/rollupwidget.cpp
+ gui/samplingdevicecontrol.cpp
+ gui/scale.cpp
+ gui/scaleengine.cpp
+ gui/transverterbutton.cpp
+ gui/transverterdialog.cpp
+ gui/valuedial.cpp
+ gui/valuedialz.cpp
+
+ dsp/scopevis.cpp
+ dsp/scopevisng.cpp
+ dsp/scopevismulti.cpp
+ dsp/spectrumvis.cpp
+ dsp/spectrumscopecombovis.cpp
+ dsp/spectrumscopengcombovis.cpp
+
+ device/devicesourceapi.cpp
+ device/devicesinkapi.cpp
+
+ plugin/pluginapi.cpp
+ plugin/pluginmanager.cpp
+)
+
+set(sdrgui_HEADERS
+ mainwindow.h
+ gui/aboutdialog.h
+ gui/addpresetdialog.h
+ gui/basicchannelsettingswidget.h
+ gui/basicchannelsettingsdialog.h
+ gui/buttonswitch.h
+ gui/channelwindow.h
+ gui/colormapper.h
+ gui/cwkeyergui.h
+ gui/glscope.h
+ gui/glscopegui.h
+ gui/glscopeng.h
+ gui/glscopemulti.h
+ gui/glscopenggui.h
+ gui/glscopemultigui.h
+ gui/glshadersimple.h
+ gui/glshadertextured.h
+ gui/glspectrum.h
+ gui/glspectrumgui.h
+ gui/indicator.h
+ gui/levelmeter.h
+ gui/mypositiondialog.h
+ gui/physicalunit.h
+ gui/pluginsdialog.h
+ gui/audiodialog.h
+ gui/presetitem.h
+ gui/rollupwidget.h
+ gui/samplingdevicecontrol.h
+ gui/scale.h
+ gui/scaleengine.h
+ gui/transverterbutton.h
+ gui/transverterdialog.h
+ gui/valuedial.h
+ gui/valuedialz.h
+
+ dsp/scopevis.h
+ dsp/scopevisng.h
+ dsp/scopevismulti.h
+ dsp/spectrumvis.h
+ dsp/spectrumscopecombovis.h
+ dsp/spectrumscopengcombovis.h
+
+ device/devicesourceapi.h
+ device/devicesinkapi.h
+
+ plugin/pluginapi.h
+ plugin/pluginmanager.h
+)
+
+set(sdrgui_SOURCES
+ ${sdrgui_SOURCES}
+ ${sdrgui_HEADERS}
+)
+
+set(sdrgui_FORMS
+ mainwindow.ui
+ gui/aboutdialog.ui
+ gui/addpresetdialog.ui
+ gui/basicchannelsettingswidget.ui
+ gui/basicchannelsettingsdialog.ui
+ gui/cwkeyergui.ui
+ gui/glscopegui.ui
+ gui/glscopenggui.ui
+ gui/glscopemultigui.ui
+ gui/glspectrumgui.ui
+ gui/pluginsdialog.ui
+ gui/audiodialog.ui
+ gui/samplingdevicecontrol.ui
+ gui/myposdialog.ui
+ gui/transverterdialog.ui
+)
+
+set(sdrgui_RESOURCES
+ resources/res.qrc
+)
+
+add_definitions(${QT_DEFINITIONS})
+add_definitions(-DQT_SHARED)
+
+qt5_wrap_ui(sdrgui_FORMS_HEADERS ${sdrgui_FORMS})
+qt5_add_resources(sdrgui_RESOURCES_RCC ${sdrgui_RESOURCES})
+
+if(WIN32)
+ SET(sdrgui_SOURCES ${sdrgui_SOURCES} resources/sdrangel.rc)
+endif(WIN32)
+
+add_library(sdrgui SHARED
+ ${sdrgui_SOURCES}
+ ${sdrgui_HEADERS_MOC}
+ ${sdrgui_FORMS_HEADERS}
+ ${sdrgui_RESOURCES_RCC}
+)
+
+include_directories(
+ .
+ ${CMAKE_SOURCE_DIR}/sdrbase
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${OPENGL_INCLUDE_DIR}
+)
+
+target_link_libraries(sdrgui
+ ${QT_LIBRARIES}
+ ${OPENGL_LIBRARIES}
+ sdrbase
+)
+
+set_target_properties(sdrgui PROPERTIES DEFINE_SYMBOL "sdrangel_EXPORTS")
+target_compile_features(sdrgui PRIVATE cxx_generalized_initializers) # cmake >= 3.1.0
+
+qt5_use_modules(sdrgui Core Widgets OpenGL Multimedia)
+
+install(TARGETS sdrgui DESTINATION lib)
+
diff --git a/sdrbase/device/devicesinkapi.cpp b/sdrgui/device/devicesinkapi.cpp
similarity index 100%
rename from sdrbase/device/devicesinkapi.cpp
rename to sdrgui/device/devicesinkapi.cpp
diff --git a/sdrbase/device/devicesinkapi.h b/sdrgui/device/devicesinkapi.h
similarity index 100%
rename from sdrbase/device/devicesinkapi.h
rename to sdrgui/device/devicesinkapi.h
diff --git a/sdrbase/device/devicesourceapi.cpp b/sdrgui/device/devicesourceapi.cpp
similarity index 100%
rename from sdrbase/device/devicesourceapi.cpp
rename to sdrgui/device/devicesourceapi.cpp
diff --git a/sdrbase/device/devicesourceapi.h b/sdrgui/device/devicesourceapi.h
similarity index 100%
rename from sdrbase/device/devicesourceapi.h
rename to sdrgui/device/devicesourceapi.h
diff --git a/sdrbase/dsp/scopevis.cpp b/sdrgui/dsp/scopevis.cpp
similarity index 100%
rename from sdrbase/dsp/scopevis.cpp
rename to sdrgui/dsp/scopevis.cpp
diff --git a/sdrbase/dsp/scopevis.h b/sdrgui/dsp/scopevis.h
similarity index 100%
rename from sdrbase/dsp/scopevis.h
rename to sdrgui/dsp/scopevis.h
diff --git a/sdrbase/dsp/scopevismulti.cpp b/sdrgui/dsp/scopevismulti.cpp
similarity index 100%
rename from sdrbase/dsp/scopevismulti.cpp
rename to sdrgui/dsp/scopevismulti.cpp
diff --git a/sdrbase/dsp/scopevismulti.h b/sdrgui/dsp/scopevismulti.h
similarity index 100%
rename from sdrbase/dsp/scopevismulti.h
rename to sdrgui/dsp/scopevismulti.h
diff --git a/sdrbase/dsp/scopevisng.cpp b/sdrgui/dsp/scopevisng.cpp
similarity index 100%
rename from sdrbase/dsp/scopevisng.cpp
rename to sdrgui/dsp/scopevisng.cpp
diff --git a/sdrbase/dsp/scopevisng.h b/sdrgui/dsp/scopevisng.h
similarity index 100%
rename from sdrbase/dsp/scopevisng.h
rename to sdrgui/dsp/scopevisng.h
diff --git a/sdrbase/dsp/spectrumscopecombovis.cpp b/sdrgui/dsp/spectrumscopecombovis.cpp
similarity index 100%
rename from sdrbase/dsp/spectrumscopecombovis.cpp
rename to sdrgui/dsp/spectrumscopecombovis.cpp
diff --git a/sdrbase/dsp/spectrumscopecombovis.h b/sdrgui/dsp/spectrumscopecombovis.h
similarity index 100%
rename from sdrbase/dsp/spectrumscopecombovis.h
rename to sdrgui/dsp/spectrumscopecombovis.h
diff --git a/sdrbase/dsp/spectrumscopengcombovis.cpp b/sdrgui/dsp/spectrumscopengcombovis.cpp
similarity index 100%
rename from sdrbase/dsp/spectrumscopengcombovis.cpp
rename to sdrgui/dsp/spectrumscopengcombovis.cpp
diff --git a/sdrbase/dsp/spectrumscopengcombovis.h b/sdrgui/dsp/spectrumscopengcombovis.h
similarity index 100%
rename from sdrbase/dsp/spectrumscopengcombovis.h
rename to sdrgui/dsp/spectrumscopengcombovis.h
diff --git a/sdrbase/dsp/spectrumvis.cpp b/sdrgui/dsp/spectrumvis.cpp
similarity index 100%
rename from sdrbase/dsp/spectrumvis.cpp
rename to sdrgui/dsp/spectrumvis.cpp
diff --git a/sdrbase/dsp/spectrumvis.h b/sdrgui/dsp/spectrumvis.h
similarity index 98%
rename from sdrbase/dsp/spectrumvis.h
rename to sdrgui/dsp/spectrumvis.h
index 854c89970..b411956a0 100644
--- a/sdrbase/dsp/spectrumvis.h
+++ b/sdrgui/dsp/spectrumvis.h
@@ -4,7 +4,7 @@
#include
#include
#include "dsp/fftengine.h"
-#include "fftwindow.h"
+#include "dsp/fftwindow.h"
#include "util/export.h"
#include "util/message.h"
diff --git a/sdrbase/gui/aboutdialog.cpp b/sdrgui/gui/aboutdialog.cpp
similarity index 100%
rename from sdrbase/gui/aboutdialog.cpp
rename to sdrgui/gui/aboutdialog.cpp
diff --git a/sdrbase/gui/aboutdialog.h b/sdrgui/gui/aboutdialog.h
similarity index 100%
rename from sdrbase/gui/aboutdialog.h
rename to sdrgui/gui/aboutdialog.h
diff --git a/sdrbase/gui/aboutdialog.ui b/sdrgui/gui/aboutdialog.ui
similarity index 100%
rename from sdrbase/gui/aboutdialog.ui
rename to sdrgui/gui/aboutdialog.ui
diff --git a/sdrbase/gui/addpresetdialog.cpp b/sdrgui/gui/addpresetdialog.cpp
similarity index 100%
rename from sdrbase/gui/addpresetdialog.cpp
rename to sdrgui/gui/addpresetdialog.cpp
diff --git a/sdrbase/gui/addpresetdialog.h b/sdrgui/gui/addpresetdialog.h
similarity index 100%
rename from sdrbase/gui/addpresetdialog.h
rename to sdrgui/gui/addpresetdialog.h
diff --git a/sdrbase/gui/addpresetdialog.ui b/sdrgui/gui/addpresetdialog.ui
similarity index 100%
rename from sdrbase/gui/addpresetdialog.ui
rename to sdrgui/gui/addpresetdialog.ui
diff --git a/sdrbase/gui/audiodialog.cpp b/sdrgui/gui/audiodialog.cpp
similarity index 100%
rename from sdrbase/gui/audiodialog.cpp
rename to sdrgui/gui/audiodialog.cpp
diff --git a/sdrbase/gui/audiodialog.h b/sdrgui/gui/audiodialog.h
similarity index 100%
rename from sdrbase/gui/audiodialog.h
rename to sdrgui/gui/audiodialog.h
diff --git a/sdrbase/gui/audiodialog.ui b/sdrgui/gui/audiodialog.ui
similarity index 100%
rename from sdrbase/gui/audiodialog.ui
rename to sdrgui/gui/audiodialog.ui
diff --git a/sdrbase/gui/basicchannelsettingsdialog.cpp b/sdrgui/gui/basicchannelsettingsdialog.cpp
similarity index 100%
rename from sdrbase/gui/basicchannelsettingsdialog.cpp
rename to sdrgui/gui/basicchannelsettingsdialog.cpp
diff --git a/sdrbase/gui/basicchannelsettingsdialog.h b/sdrgui/gui/basicchannelsettingsdialog.h
similarity index 100%
rename from sdrbase/gui/basicchannelsettingsdialog.h
rename to sdrgui/gui/basicchannelsettingsdialog.h
diff --git a/sdrbase/gui/basicchannelsettingsdialog.ui b/sdrgui/gui/basicchannelsettingsdialog.ui
similarity index 100%
rename from sdrbase/gui/basicchannelsettingsdialog.ui
rename to sdrgui/gui/basicchannelsettingsdialog.ui
diff --git a/sdrbase/gui/basicchannelsettingswidget.cpp b/sdrgui/gui/basicchannelsettingswidget.cpp
similarity index 100%
rename from sdrbase/gui/basicchannelsettingswidget.cpp
rename to sdrgui/gui/basicchannelsettingswidget.cpp
diff --git a/sdrbase/gui/basicchannelsettingswidget.h b/sdrgui/gui/basicchannelsettingswidget.h
similarity index 100%
rename from sdrbase/gui/basicchannelsettingswidget.h
rename to sdrgui/gui/basicchannelsettingswidget.h
diff --git a/sdrbase/gui/basicchannelsettingswidget.ui b/sdrgui/gui/basicchannelsettingswidget.ui
similarity index 100%
rename from sdrbase/gui/basicchannelsettingswidget.ui
rename to sdrgui/gui/basicchannelsettingswidget.ui
diff --git a/sdrbase/gui/buttonswitch.cpp b/sdrgui/gui/buttonswitch.cpp
similarity index 100%
rename from sdrbase/gui/buttonswitch.cpp
rename to sdrgui/gui/buttonswitch.cpp
diff --git a/sdrbase/gui/buttonswitch.h b/sdrgui/gui/buttonswitch.h
similarity index 100%
rename from sdrbase/gui/buttonswitch.h
rename to sdrgui/gui/buttonswitch.h
diff --git a/sdrbase/gui/channelwindow.cpp b/sdrgui/gui/channelwindow.cpp
similarity index 100%
rename from sdrbase/gui/channelwindow.cpp
rename to sdrgui/gui/channelwindow.cpp
diff --git a/sdrbase/gui/channelwindow.h b/sdrgui/gui/channelwindow.h
similarity index 100%
rename from sdrbase/gui/channelwindow.h
rename to sdrgui/gui/channelwindow.h
diff --git a/sdrbase/gui/clickablelabel.cpp b/sdrgui/gui/clickablelabel.cpp
similarity index 100%
rename from sdrbase/gui/clickablelabel.cpp
rename to sdrgui/gui/clickablelabel.cpp
diff --git a/sdrbase/gui/clickablelabel.h b/sdrgui/gui/clickablelabel.h
similarity index 100%
rename from sdrbase/gui/clickablelabel.h
rename to sdrgui/gui/clickablelabel.h
diff --git a/sdrbase/gui/colormapper.cpp b/sdrgui/gui/colormapper.cpp
similarity index 100%
rename from sdrbase/gui/colormapper.cpp
rename to sdrgui/gui/colormapper.cpp
diff --git a/sdrbase/gui/colormapper.h b/sdrgui/gui/colormapper.h
similarity index 100%
rename from sdrbase/gui/colormapper.h
rename to sdrgui/gui/colormapper.h
diff --git a/sdrbase/gui/cwkeyergui.cpp b/sdrgui/gui/cwkeyergui.cpp
similarity index 100%
rename from sdrbase/gui/cwkeyergui.cpp
rename to sdrgui/gui/cwkeyergui.cpp
diff --git a/sdrbase/gui/cwkeyergui.h b/sdrgui/gui/cwkeyergui.h
similarity index 100%
rename from sdrbase/gui/cwkeyergui.h
rename to sdrgui/gui/cwkeyergui.h
diff --git a/sdrbase/gui/cwkeyergui.ui b/sdrgui/gui/cwkeyergui.ui
similarity index 100%
rename from sdrbase/gui/cwkeyergui.ui
rename to sdrgui/gui/cwkeyergui.ui
diff --git a/sdrbase/gui/glscope.cpp b/sdrgui/gui/glscope.cpp
similarity index 100%
rename from sdrbase/gui/glscope.cpp
rename to sdrgui/gui/glscope.cpp
diff --git a/sdrbase/gui/glscope.h b/sdrgui/gui/glscope.h
similarity index 100%
rename from sdrbase/gui/glscope.h
rename to sdrgui/gui/glscope.h
diff --git a/sdrbase/gui/glscopegui.cpp b/sdrgui/gui/glscopegui.cpp
similarity index 100%
rename from sdrbase/gui/glscopegui.cpp
rename to sdrgui/gui/glscopegui.cpp
diff --git a/sdrbase/gui/glscopegui.h b/sdrgui/gui/glscopegui.h
similarity index 100%
rename from sdrbase/gui/glscopegui.h
rename to sdrgui/gui/glscopegui.h
diff --git a/sdrbase/gui/glscopegui.ui b/sdrgui/gui/glscopegui.ui
similarity index 100%
rename from sdrbase/gui/glscopegui.ui
rename to sdrgui/gui/glscopegui.ui
diff --git a/sdrbase/gui/glscopemulti.cpp b/sdrgui/gui/glscopemulti.cpp
similarity index 100%
rename from sdrbase/gui/glscopemulti.cpp
rename to sdrgui/gui/glscopemulti.cpp
diff --git a/sdrbase/gui/glscopemulti.h b/sdrgui/gui/glscopemulti.h
similarity index 100%
rename from sdrbase/gui/glscopemulti.h
rename to sdrgui/gui/glscopemulti.h
diff --git a/sdrbase/gui/glscopemultigui.cpp b/sdrgui/gui/glscopemultigui.cpp
similarity index 100%
rename from sdrbase/gui/glscopemultigui.cpp
rename to sdrgui/gui/glscopemultigui.cpp
diff --git a/sdrbase/gui/glscopemultigui.h b/sdrgui/gui/glscopemultigui.h
similarity index 100%
rename from sdrbase/gui/glscopemultigui.h
rename to sdrgui/gui/glscopemultigui.h
diff --git a/sdrbase/gui/glscopemultigui.ui b/sdrgui/gui/glscopemultigui.ui
similarity index 100%
rename from sdrbase/gui/glscopemultigui.ui
rename to sdrgui/gui/glscopemultigui.ui
diff --git a/sdrbase/gui/glscopeng.cpp b/sdrgui/gui/glscopeng.cpp
similarity index 100%
rename from sdrbase/gui/glscopeng.cpp
rename to sdrgui/gui/glscopeng.cpp
diff --git a/sdrbase/gui/glscopeng.h b/sdrgui/gui/glscopeng.h
similarity index 100%
rename from sdrbase/gui/glscopeng.h
rename to sdrgui/gui/glscopeng.h
diff --git a/sdrbase/gui/glscopenggui.cpp b/sdrgui/gui/glscopenggui.cpp
similarity index 100%
rename from sdrbase/gui/glscopenggui.cpp
rename to sdrgui/gui/glscopenggui.cpp
diff --git a/sdrbase/gui/glscopenggui.h b/sdrgui/gui/glscopenggui.h
similarity index 100%
rename from sdrbase/gui/glscopenggui.h
rename to sdrgui/gui/glscopenggui.h
diff --git a/sdrbase/gui/glscopenggui.ui b/sdrgui/gui/glscopenggui.ui
similarity index 100%
rename from sdrbase/gui/glscopenggui.ui
rename to sdrgui/gui/glscopenggui.ui
diff --git a/sdrbase/gui/glshadersimple.cpp b/sdrgui/gui/glshadersimple.cpp
similarity index 100%
rename from sdrbase/gui/glshadersimple.cpp
rename to sdrgui/gui/glshadersimple.cpp
diff --git a/sdrbase/gui/glshadersimple.h b/sdrgui/gui/glshadersimple.h
similarity index 100%
rename from sdrbase/gui/glshadersimple.h
rename to sdrgui/gui/glshadersimple.h
diff --git a/sdrbase/gui/glshadertextured.cpp b/sdrgui/gui/glshadertextured.cpp
similarity index 100%
rename from sdrbase/gui/glshadertextured.cpp
rename to sdrgui/gui/glshadertextured.cpp
diff --git a/sdrbase/gui/glshadertextured.h b/sdrgui/gui/glshadertextured.h
similarity index 100%
rename from sdrbase/gui/glshadertextured.h
rename to sdrgui/gui/glshadertextured.h
diff --git a/sdrbase/gui/glspectrum.cpp b/sdrgui/gui/glspectrum.cpp
similarity index 100%
rename from sdrbase/gui/glspectrum.cpp
rename to sdrgui/gui/glspectrum.cpp
diff --git a/sdrbase/gui/glspectrum.h b/sdrgui/gui/glspectrum.h
similarity index 100%
rename from sdrbase/gui/glspectrum.h
rename to sdrgui/gui/glspectrum.h
diff --git a/sdrbase/gui/glspectrumgui.cpp b/sdrgui/gui/glspectrumgui.cpp
similarity index 100%
rename from sdrbase/gui/glspectrumgui.cpp
rename to sdrgui/gui/glspectrumgui.cpp
diff --git a/sdrbase/gui/glspectrumgui.h b/sdrgui/gui/glspectrumgui.h
similarity index 100%
rename from sdrbase/gui/glspectrumgui.h
rename to sdrgui/gui/glspectrumgui.h
diff --git a/sdrbase/gui/glspectrumgui.ui b/sdrgui/gui/glspectrumgui.ui
similarity index 100%
rename from sdrbase/gui/glspectrumgui.ui
rename to sdrgui/gui/glspectrumgui.ui
diff --git a/sdrbase/gui/indicator.cpp b/sdrgui/gui/indicator.cpp
similarity index 100%
rename from sdrbase/gui/indicator.cpp
rename to sdrgui/gui/indicator.cpp
diff --git a/sdrbase/gui/indicator.h b/sdrgui/gui/indicator.h
similarity index 100%
rename from sdrbase/gui/indicator.h
rename to sdrgui/gui/indicator.h
diff --git a/sdrbase/gui/levelmeter.cpp b/sdrgui/gui/levelmeter.cpp
similarity index 100%
rename from sdrbase/gui/levelmeter.cpp
rename to sdrgui/gui/levelmeter.cpp
diff --git a/sdrbase/gui/levelmeter.h b/sdrgui/gui/levelmeter.h
similarity index 100%
rename from sdrbase/gui/levelmeter.h
rename to sdrgui/gui/levelmeter.h
diff --git a/sdrbase/gui/myposdialog.ui b/sdrgui/gui/myposdialog.ui
similarity index 100%
rename from sdrbase/gui/myposdialog.ui
rename to sdrgui/gui/myposdialog.ui
diff --git a/sdrbase/gui/mypositiondialog.cpp b/sdrgui/gui/mypositiondialog.cpp
similarity index 100%
rename from sdrbase/gui/mypositiondialog.cpp
rename to sdrgui/gui/mypositiondialog.cpp
diff --git a/sdrbase/gui/mypositiondialog.h b/sdrgui/gui/mypositiondialog.h
similarity index 100%
rename from sdrbase/gui/mypositiondialog.h
rename to sdrgui/gui/mypositiondialog.h
diff --git a/sdrbase/gui/physicalunit.h b/sdrgui/gui/physicalunit.h
similarity index 100%
rename from sdrbase/gui/physicalunit.h
rename to sdrgui/gui/physicalunit.h
diff --git a/sdrbase/gui/pluginsdialog.cpp b/sdrgui/gui/pluginsdialog.cpp
similarity index 100%
rename from sdrbase/gui/pluginsdialog.cpp
rename to sdrgui/gui/pluginsdialog.cpp
diff --git a/sdrbase/gui/pluginsdialog.h b/sdrgui/gui/pluginsdialog.h
similarity index 100%
rename from sdrbase/gui/pluginsdialog.h
rename to sdrgui/gui/pluginsdialog.h
diff --git a/sdrbase/gui/pluginsdialog.ui b/sdrgui/gui/pluginsdialog.ui
similarity index 100%
rename from sdrbase/gui/pluginsdialog.ui
rename to sdrgui/gui/pluginsdialog.ui
diff --git a/sdrbase/gui/presetitem.cpp b/sdrgui/gui/presetitem.cpp
similarity index 100%
rename from sdrbase/gui/presetitem.cpp
rename to sdrgui/gui/presetitem.cpp
diff --git a/sdrbase/gui/presetitem.h b/sdrgui/gui/presetitem.h
similarity index 100%
rename from sdrbase/gui/presetitem.h
rename to sdrgui/gui/presetitem.h
diff --git a/sdrbase/gui/rollupwidget.cpp b/sdrgui/gui/rollupwidget.cpp
similarity index 100%
rename from sdrbase/gui/rollupwidget.cpp
rename to sdrgui/gui/rollupwidget.cpp
diff --git a/sdrbase/gui/rollupwidget.h b/sdrgui/gui/rollupwidget.h
similarity index 100%
rename from sdrbase/gui/rollupwidget.h
rename to sdrgui/gui/rollupwidget.h
diff --git a/sdrbase/gui/samplingdevicecontrol.cpp b/sdrgui/gui/samplingdevicecontrol.cpp
similarity index 100%
rename from sdrbase/gui/samplingdevicecontrol.cpp
rename to sdrgui/gui/samplingdevicecontrol.cpp
diff --git a/sdrbase/gui/samplingdevicecontrol.h b/sdrgui/gui/samplingdevicecontrol.h
similarity index 100%
rename from sdrbase/gui/samplingdevicecontrol.h
rename to sdrgui/gui/samplingdevicecontrol.h
diff --git a/sdrbase/gui/samplingdevicecontrol.ui b/sdrgui/gui/samplingdevicecontrol.ui
similarity index 100%
rename from sdrbase/gui/samplingdevicecontrol.ui
rename to sdrgui/gui/samplingdevicecontrol.ui
diff --git a/sdrbase/gui/scale.cpp b/sdrgui/gui/scale.cpp
similarity index 100%
rename from sdrbase/gui/scale.cpp
rename to sdrgui/gui/scale.cpp
diff --git a/sdrbase/gui/scale.h b/sdrgui/gui/scale.h
similarity index 100%
rename from sdrbase/gui/scale.h
rename to sdrgui/gui/scale.h
diff --git a/sdrbase/gui/scaleengine.cpp b/sdrgui/gui/scaleengine.cpp
similarity index 100%
rename from sdrbase/gui/scaleengine.cpp
rename to sdrgui/gui/scaleengine.cpp
diff --git a/sdrbase/gui/scaleengine.h b/sdrgui/gui/scaleengine.h
similarity index 100%
rename from sdrbase/gui/scaleengine.h
rename to sdrgui/gui/scaleengine.h
diff --git a/sdrbase/gui/scopewindow.ui b/sdrgui/gui/scopewindow.ui
similarity index 100%
rename from sdrbase/gui/scopewindow.ui
rename to sdrgui/gui/scopewindow.ui
diff --git a/sdrbase/gui/transverterbutton.cpp b/sdrgui/gui/transverterbutton.cpp
similarity index 100%
rename from sdrbase/gui/transverterbutton.cpp
rename to sdrgui/gui/transverterbutton.cpp
diff --git a/sdrbase/gui/transverterbutton.h b/sdrgui/gui/transverterbutton.h
similarity index 100%
rename from sdrbase/gui/transverterbutton.h
rename to sdrgui/gui/transverterbutton.h
diff --git a/sdrbase/gui/transverterdialog.cpp b/sdrgui/gui/transverterdialog.cpp
similarity index 100%
rename from sdrbase/gui/transverterdialog.cpp
rename to sdrgui/gui/transverterdialog.cpp
diff --git a/sdrbase/gui/transverterdialog.h b/sdrgui/gui/transverterdialog.h
similarity index 100%
rename from sdrbase/gui/transverterdialog.h
rename to sdrgui/gui/transverterdialog.h
diff --git a/sdrbase/gui/transverterdialog.ui b/sdrgui/gui/transverterdialog.ui
similarity index 100%
rename from sdrbase/gui/transverterdialog.ui
rename to sdrgui/gui/transverterdialog.ui
diff --git a/sdrbase/gui/valuedial.cpp b/sdrgui/gui/valuedial.cpp
similarity index 100%
rename from sdrbase/gui/valuedial.cpp
rename to sdrgui/gui/valuedial.cpp
diff --git a/sdrbase/gui/valuedial.h b/sdrgui/gui/valuedial.h
similarity index 100%
rename from sdrbase/gui/valuedial.h
rename to sdrgui/gui/valuedial.h
diff --git a/sdrbase/gui/valuedialz.cpp b/sdrgui/gui/valuedialz.cpp
similarity index 100%
rename from sdrbase/gui/valuedialz.cpp
rename to sdrgui/gui/valuedialz.cpp
diff --git a/sdrbase/gui/valuedialz.h b/sdrgui/gui/valuedialz.h
similarity index 100%
rename from sdrbase/gui/valuedialz.h
rename to sdrgui/gui/valuedialz.h
diff --git a/sdrgui/mainwindow.cpp b/sdrgui/mainwindow.cpp
new file mode 100644
index 000000000..6c5ecd10d
--- /dev/null
+++ b/sdrgui/mainwindow.cpp
@@ -0,0 +1,1161 @@
+///////////////////////////////////////////////////////////////////////////////////
+// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
+// written by Christian Daniel //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation as version 3 of the License, or //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License V3 for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program. If not, see . //
+///////////////////////////////////////////////////////////////////////////////////
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "mainwindow.h"
+#include "ui_mainwindow.h"
+#include "device/devicesourceapi.h"
+#include "device/devicesinkapi.h"
+#include "audio/audiodeviceinfo.h"
+#include "gui/indicator.h"
+#include "gui/presetitem.h"
+#include "gui/addpresetdialog.h"
+#include "gui/pluginsdialog.h"
+#include "gui/aboutdialog.h"
+#include "gui/rollupwidget.h"
+#include "gui/channelwindow.h"
+#include "gui/audiodialog.h"
+#include "gui/samplingdevicecontrol.h"
+#include "gui/mypositiondialog.h"
+#include "dsp/dspengine.h"
+#include "dsp/spectrumvis.h"
+#include "dsp/dspcommands.h"
+#include "dsp/devicesamplesource.h"
+#include "dsp/devicesamplesink.h"
+#include "plugin/pluginapi.h"
+#include "gui/glspectrum.h"
+#include "gui/glspectrumgui.h"
+
+#include
+#include
+
+MainWindow::MainWindow(QWidget* parent) :
+ QMainWindow(parent),
+ ui(new Ui::MainWindow),
+ m_settings(),
+ m_masterTabIndex(0),
+ m_dspEngine(DSPEngine::instance()),
+ m_lastEngineState((DSPDeviceSourceEngine::State)-1),
+ m_inputGUI(0),
+ m_sampleRate(0),
+ m_centerFrequency(0),
+ m_sampleFileName(std::string("./test.sdriq"))
+{
+ qDebug() << "MainWindow::MainWindow: start";
+
+ m_settings.setAudioDeviceInfo(&m_audioDeviceInfo);
+
+ ui->setupUi(this);
+ createStatusBar();
+
+ setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea);
+ setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
+ setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea);
+ setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);
+
+ // work around broken Qt dock widget ordering
+ removeDockWidget(ui->inputViewDock);
+ removeDockWidget(ui->inputSelectDock);
+ removeDockWidget(ui->spectraDisplayDock);
+ removeDockWidget(ui->presetDock);
+ removeDockWidget(ui->channelDock);
+ addDockWidget(Qt::LeftDockWidgetArea, ui->inputViewDock);
+ addDockWidget(Qt::LeftDockWidgetArea, ui->inputSelectDock);
+ addDockWidget(Qt::LeftDockWidgetArea, ui->spectraDisplayDock);
+ addDockWidget(Qt::LeftDockWidgetArea, ui->presetDock);
+ addDockWidget(Qt::RightDockWidgetArea, ui->channelDock);
+
+ ui->inputViewDock->show();
+ ui->inputSelectDock->show();
+ ui->spectraDisplayDock->show();
+ ui->presetDock->show();
+ ui->channelDock->show();
+
+ ui->menu_Window->addAction(ui->inputViewDock->toggleViewAction());
+ ui->menu_Window->addAction(ui->inputSelectDock->toggleViewAction());
+ ui->menu_Window->addAction(ui->spectraDisplayDock->toggleViewAction());
+ ui->menu_Window->addAction(ui->presetDock->toggleViewAction());
+ ui->menu_Window->addAction(ui->channelDock->toggleViewAction());
+
+ ui->tabInputsView->setStyleSheet("QWidget { background: rgb(50,50,50); } "
+ "QToolButton::checked { background: rgb(128,70,0); } "
+ "QComboBox::item:selected { color: rgb(255,140,0); } "
+ "QTabWidget::pane { border: 1px solid #C06900; } "
+ "QTabBar::tab:selected { background: rgb(128,70,0); }");
+ ui->tabInputsSelect->setStyleSheet("QWidget { background: rgb(50,50,50); } "
+ "QToolButton::checked { background: rgb(128,70,0); } "
+ "QComboBox::item:selected { color: rgb(255,140,0); } "
+ "QTabWidget::pane { border: 1px solid #808080; } "
+ "QTabBar::tab:selected { background: rgb(100,100,100); }");
+
+ m_pluginManager = new PluginManager(this);
+ m_pluginManager->loadPlugins();
+
+ connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleMessages()), Qt::QueuedConnection);
+
+ connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
+ m_statusTimer.start(1000);
+
+ m_masterTimer.start(50);
+
+ qDebug() << "MainWindow::MainWindow: add the first device...";
+
+ addSourceDevice(); // add the first device
+
+ qDebug() << "MainWindow::MainWindow: load settings...";
+
+ loadSettings();
+
+ qDebug() << "MainWindow::MainWindow: select SampleSource from settings...";
+
+ int sampleSourceIndex = m_settings.getSourceIndex();
+ sampleSourceIndex = m_pluginManager->selectSampleSourceByIndex(sampleSourceIndex, m_deviceUIs.back()->m_deviceSourceAPI);
+
+ if (sampleSourceIndex < 0)
+ {
+ qCritical("MainWindow::MainWindow: no sample source. Exit");
+ exit(0);
+ }
+
+ DeviceSampleSource *source = m_deviceUIs.back()->m_deviceSourceAPI->getPluginInterface()->createSampleSourcePluginInstanceInput(
+ m_deviceUIs.back()->m_deviceSourceAPI->getSampleSourceId(), m_deviceUIs.back()->m_deviceSourceAPI);
+ m_deviceUIs.back()->m_deviceSourceAPI->setSampleSource(source);
+ QWidget *gui;
+ PluginInstanceGUI *pluginGUI = m_deviceUIs.back()->m_deviceSourceAPI->getPluginInterface()->createSampleSourcePluginInstanceGUI(
+ m_deviceUIs.back()->m_deviceSourceAPI->getSampleSourceId(), &gui, m_deviceUIs.back()->m_deviceSourceAPI);
+ m_deviceUIs.back()->m_deviceSourceAPI->getSampleSource()->setMessageQueueToGUI(pluginGUI->getInputMessageQueue());
+ m_deviceUIs.back()->m_deviceSourceAPI->setSampleSourcePluginInstanceGUI(pluginGUI);
+ setDeviceGUI(0, gui, m_deviceUIs.back()->m_deviceSourceAPI->getSampleSourceDisplayName());
+
+ m_deviceUIs.back()->m_deviceSourceAPI->setBuddyLeader(true); // the first device is always the leader
+
+ bool sampleSourceSignalsBlocked = m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelector()->blockSignals(true);
+ m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelector()->setCurrentIndex(sampleSourceIndex);
+ m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelector()->blockSignals(sampleSourceSignalsBlocked);
+
+ qDebug() << "MainWindow::MainWindow: load current preset settings...";
+
+ loadPresetSettings(m_settings.getWorkingPreset(), 0);
+
+ qDebug() << "MainWindow::MainWindow: apply settings...";
+
+ applySettings();
+
+ qDebug() << "MainWindow::MainWindow: update preset controls...";
+
+ updatePresetControls();
+
+ connect(ui->tabInputsView, SIGNAL(currentChanged(int)), this, SLOT(tabInputViewIndexChanged()));
+
+ qDebug() << "MainWindow::MainWindow: end";
+}
+
+MainWindow::~MainWindow()
+{
+ delete m_pluginManager;
+ delete m_dateTimeWidget;
+ delete m_showSystemWidget;
+
+ delete ui;
+}
+
+void MainWindow::addSourceDevice()
+{
+ DSPDeviceSourceEngine *dspDeviceSourceEngine = m_dspEngine->addDeviceSourceEngine();
+ dspDeviceSourceEngine->start();
+
+ uint dspDeviceSourceEngineUID = dspDeviceSourceEngine->getUID();
+ char uidCStr[16];
+ sprintf(uidCStr, "UID:%d", dspDeviceSourceEngineUID);
+
+ m_deviceUIs.push_back(new DeviceUISet(m_masterTimer));
+ m_deviceUIs.back()->m_deviceSourceEngine = dspDeviceSourceEngine;
+
+ int deviceTabIndex = m_deviceUIs.size()-1;
+ char tabNameCStr[16];
+ sprintf(tabNameCStr, "R%d", deviceTabIndex);
+
+ DeviceSourceAPI *deviceSourceAPI = new DeviceSourceAPI(this, deviceTabIndex, dspDeviceSourceEngine, m_deviceUIs.back()->m_spectrum, m_deviceUIs.back()->m_channelWindow);
+
+ m_deviceUIs.back()->m_deviceSourceAPI = deviceSourceAPI;
+ m_deviceUIs.back()->m_samplingDeviceControl->setDeviceAPI(deviceSourceAPI);
+ m_deviceUIs.back()->m_samplingDeviceControl->setPluginManager(m_pluginManager);
+ m_pluginManager->populateRxChannelComboBox(m_deviceUIs.back()->m_samplingDeviceControl->getChannelSelector());
+
+ connect(m_deviceUIs.back()->m_samplingDeviceControl->getAddChannelButton(), SIGNAL(clicked(bool)), this, SLOT(on_channel_addClicked(bool)));
+
+ dspDeviceSourceEngine->addSink(m_deviceUIs.back()->m_spectrumVis);
+ ui->tabSpectra->addTab(m_deviceUIs.back()->m_spectrum, tabNameCStr);
+ ui->tabSpectraGUI->addTab(m_deviceUIs.back()->m_spectrumGUI, tabNameCStr);
+ ui->tabChannels->addTab(m_deviceUIs.back()->m_channelWindow, tabNameCStr);
+
+ bool sampleSourceSignalsBlocked = m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelector()->blockSignals(true);
+ m_pluginManager->duplicateLocalSampleSourceDevices(dspDeviceSourceEngineUID);
+ m_pluginManager->fillSampleSourceSelector(m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelector(), dspDeviceSourceEngineUID);
+
+ connect(m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelectionConfirm(), SIGNAL(clicked(bool)), this, SLOT(on_sampleSource_confirmClicked(bool)));
+
+ m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelector()->blockSignals(sampleSourceSignalsBlocked);
+ ui->tabInputsSelect->addTab(m_deviceUIs.back()->m_samplingDeviceControl, tabNameCStr);
+ ui->tabInputsSelect->setTabToolTip(deviceTabIndex, QString(uidCStr));
+
+ // Create a file source instance by default
+ m_pluginManager->selectSampleSourceBySerialOrSequence("sdrangel.samplesource.filesource", "0", 0, m_deviceUIs.back()->m_deviceSourceAPI);
+ DeviceSampleSource *source = m_deviceUIs.back()->m_deviceSourceAPI->getPluginInterface()->createSampleSourcePluginInstanceInput(
+ m_deviceUIs.back()->m_deviceSourceAPI->getSampleSourceId(), m_deviceUIs.back()->m_deviceSourceAPI);
+ m_deviceUIs.back()->m_deviceSourceAPI->setSampleSource(source);
+ QWidget *gui;
+ PluginInstanceGUI *pluginGUI = m_deviceUIs.back()->m_deviceSourceAPI->getPluginInterface()->createSampleSourcePluginInstanceGUI(
+ m_deviceUIs.back()->m_deviceSourceAPI->getSampleSourceId(), &gui, m_deviceUIs.back()->m_deviceSourceAPI);
+ m_deviceUIs.back()->m_deviceSourceAPI->getSampleSource()->setMessageQueueToGUI(pluginGUI->getInputMessageQueue());
+ m_deviceUIs.back()->m_deviceSourceAPI->setSampleSourcePluginInstanceGUI(pluginGUI);
+ setDeviceGUI(deviceTabIndex, gui, m_deviceUIs.back()->m_deviceSourceAPI->getSampleSourceDisplayName());
+
+}
+
+void MainWindow::addSinkDevice()
+{
+ DSPDeviceSinkEngine *dspDeviceSinkEngine = m_dspEngine->addDeviceSinkEngine();
+ dspDeviceSinkEngine->start();
+
+ uint dspDeviceSinkEngineUID = dspDeviceSinkEngine->getUID();
+ char uidCStr[16];
+ sprintf(uidCStr, "UID:%d", dspDeviceSinkEngineUID);
+
+ m_deviceUIs.push_back(new DeviceUISet(m_masterTimer));
+ m_deviceUIs.back()->m_deviceSourceEngine = 0;
+ m_deviceUIs.back()->m_deviceSinkEngine = dspDeviceSinkEngine;
+
+ int deviceTabIndex = m_deviceUIs.size()-1;
+ char tabNameCStr[16];
+ sprintf(tabNameCStr, "T%d", deviceTabIndex);
+
+ DeviceSinkAPI *deviceSinkAPI = new DeviceSinkAPI(this, deviceTabIndex, dspDeviceSinkEngine, m_deviceUIs.back()->m_spectrum, m_deviceUIs.back()->m_channelWindow);
+
+ m_deviceUIs.back()->m_deviceSourceAPI = 0;
+ m_deviceUIs.back()->m_deviceSinkAPI = deviceSinkAPI;
+ m_deviceUIs.back()->m_samplingDeviceControl->setDeviceAPI(deviceSinkAPI);
+ m_deviceUIs.back()->m_samplingDeviceControl->setPluginManager(m_pluginManager);
+ m_pluginManager->populateTxChannelComboBox(m_deviceUIs.back()->m_samplingDeviceControl->getChannelSelector());
+
+ connect(m_deviceUIs.back()->m_samplingDeviceControl->getAddChannelButton(), SIGNAL(clicked(bool)), this, SLOT(on_channel_addClicked(bool)));
+
+ dspDeviceSinkEngine->addSpectrumSink(m_deviceUIs.back()->m_spectrumVis);
+ ui->tabSpectra->addTab(m_deviceUIs.back()->m_spectrum, tabNameCStr);
+ ui->tabSpectraGUI->addTab(m_deviceUIs.back()->m_spectrumGUI, tabNameCStr);
+ ui->tabChannels->addTab(m_deviceUIs.back()->m_channelWindow, tabNameCStr);
+
+ bool sampleSourceSignalsBlocked = m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelector()->blockSignals(true);
+ m_pluginManager->duplicateLocalSampleSinkDevices(dspDeviceSinkEngineUID);
+ m_pluginManager->fillSampleSinkSelector(m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelector(), dspDeviceSinkEngineUID);
+
+ connect(m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelectionConfirm(), SIGNAL(clicked(bool)), this, SLOT(on_sampleSink_confirmClicked(bool)));
+
+ m_deviceUIs.back()->m_samplingDeviceControl->getDeviceSelector()->blockSignals(sampleSourceSignalsBlocked);
+ ui->tabInputsSelect->addTab(m_deviceUIs.back()->m_samplingDeviceControl, tabNameCStr);
+ ui->tabInputsSelect->setTabToolTip(deviceTabIndex, QString(uidCStr));
+
+ // create a file sink by default
+ m_pluginManager->selectSampleSinkBySerialOrSequence("sdrangel.samplesink.filesink", "0", 0, m_deviceUIs.back()->m_deviceSinkAPI);
+ DeviceSampleSink *sink = m_deviceUIs.back()->m_deviceSinkAPI->getPluginInterface()->createSampleSinkPluginInstanceOutput(
+ m_deviceUIs.back()->m_deviceSinkAPI->getSampleSinkId(), m_deviceUIs.back()->m_deviceSinkAPI);
+ m_deviceUIs.back()->m_deviceSinkAPI->setSampleSink(sink);
+ QWidget *gui;
+ PluginInstanceGUI *pluginUI = m_deviceUIs.back()->m_deviceSinkAPI->getPluginInterface()->createSampleSinkPluginInstanceGUI(
+ m_deviceUIs.back()->m_deviceSinkAPI->getSampleSinkId(), &gui, m_deviceUIs.back()->m_deviceSinkAPI);
+ m_deviceUIs.back()->m_deviceSinkAPI->getSampleSink()->setMessageQueueToGUI(pluginUI->getInputMessageQueue());
+ m_deviceUIs.back()->m_deviceSinkAPI->setSampleSinkPluginInstanceUI(pluginUI);
+ setDeviceGUI(deviceTabIndex, gui, m_deviceUIs.back()->m_deviceSinkAPI->getSampleSinkDisplayName(), false);
+}
+
+void MainWindow::removeLastDevice()
+{
+ if (m_deviceUIs.back()->m_deviceSourceEngine) // source tab
+ {
+ DSPDeviceSourceEngine *lastDeviceEngine = m_deviceUIs.back()->m_deviceSourceEngine;
+ lastDeviceEngine->stopAcquistion();
+ lastDeviceEngine->removeSink(m_deviceUIs.back()->m_spectrumVis);
+
+ ui->tabSpectraGUI->removeTab(ui->tabSpectraGUI->count() - 1);
+ ui->tabSpectra->removeTab(ui->tabSpectra->count() - 1);
+
+ // deletes old UI and input object
+ m_deviceUIs.back()->m_deviceSourceAPI->freeChannels(); // destroys the channel instances
+ m_deviceUIs.back()->m_deviceSourceAPI->getSampleSource()->setMessageQueueToGUI(0); // have source stop sending messages to the GUI
+ m_deviceUIs.back()->m_deviceSourceAPI->getPluginInterface()->deleteSampleSourcePluginInstanceGUI(
+ m_deviceUIs.back()->m_deviceSourceAPI->getSampleSourcePluginInstanceGUI());
+ m_deviceUIs.back()->m_deviceSourceAPI->resetSampleSourceId();
+ m_deviceUIs.back()->m_deviceSourceAPI->getPluginInterface()->deleteSampleSourcePluginInstanceInput(
+ m_deviceUIs.back()->m_deviceSourceAPI->getSampleSource());
+ m_deviceUIs.back()->m_deviceSourceAPI->clearBuddiesLists(); // clear old API buddies lists
+
+ ui->tabChannels->removeTab(ui->tabChannels->count() - 1);
+
+ ui->tabInputsSelect->removeTab(ui->tabInputsSelect->count() - 1);
+
+ m_deviceWidgetTabs.removeLast();
+ ui->tabInputsView->clear();
+
+ for (int i = 0; i < m_deviceWidgetTabs.size(); i++)
+ {
+ qDebug("MainWindow::removeLastDevice: adding back tab for %s", m_deviceWidgetTabs[i].displayName.toStdString().c_str());
+ ui->tabInputsView->addTab(m_deviceWidgetTabs[i].gui, m_deviceWidgetTabs[i].tabName);
+ ui->tabInputsView->setTabToolTip(i, m_deviceWidgetTabs[i].displayName);
+ }
+
+ delete m_deviceUIs.back();
+
+ lastDeviceEngine->stop();
+ m_dspEngine->removeLastDeviceSourceEngine();
+ }
+ else if (m_deviceUIs.back()->m_deviceSinkEngine) // sink tab
+ {
+ DSPDeviceSinkEngine *lastDeviceEngine = m_deviceUIs.back()->m_deviceSinkEngine;
+ lastDeviceEngine->stopGeneration();
+ lastDeviceEngine->removeSpectrumSink(m_deviceUIs.back()->m_spectrumVis);
+
+ ui->tabSpectraGUI->removeTab(ui->tabSpectraGUI->count() - 1);
+ ui->tabSpectra->removeTab(ui->tabSpectra->count() - 1);
+
+ // deletes old UI and output object
+ m_deviceUIs.back()->m_deviceSinkAPI->freeChannels();
+ m_deviceUIs.back()->m_deviceSinkAPI->getSampleSink()->setMessageQueueToGUI(0); // have sink stop sending messages to the GUI
+ m_deviceUIs.back()->m_deviceSinkAPI->getPluginInterface()->deleteSampleSourcePluginInstanceGUI(
+ m_deviceUIs.back()->m_deviceSinkAPI->getSampleSinkPluginInstanceGUI());
+ m_deviceUIs.back()->m_deviceSinkAPI->resetSampleSinkId();
+ m_deviceUIs.back()->m_deviceSinkAPI->getPluginInterface()->deleteSampleSinkPluginInstanceOutput(
+ m_deviceUIs.back()->m_deviceSinkAPI->getSampleSink());
+ m_deviceUIs.back()->m_deviceSinkAPI->clearBuddiesLists(); // clear old API buddies lists
+
+ ui->tabChannels->removeTab(ui->tabChannels->count() - 1);
+
+ ui->tabInputsSelect->removeTab(ui->tabInputsSelect->count() - 1);
+
+ m_deviceWidgetTabs.removeLast();
+ ui->tabInputsView->clear();
+
+ for (int i = 0; i < m_deviceWidgetTabs.size(); i++)
+ {
+ qDebug("MainWindow::removeLastDevice: adding back tab for %s", m_deviceWidgetTabs[i].displayName.toStdString().c_str());
+ ui->tabInputsView->addTab(m_deviceWidgetTabs[i].gui, m_deviceWidgetTabs[i].tabName);
+ ui->tabInputsView->setTabToolTip(i, m_deviceWidgetTabs[i].displayName);
+ }
+
+ delete m_deviceUIs.back();
+
+ lastDeviceEngine->stop();
+ m_dspEngine->removeLastDeviceSinkEngine();
+ }
+
+ m_deviceUIs.pop_back();
+}
+
+void MainWindow::addChannelRollup(int deviceTabIndex, QWidget* widget)
+{
+ if (deviceTabIndex < ui->tabInputsView->count())
+ {
+ DeviceUISet *deviceUI = m_deviceUIs[deviceTabIndex];
+ deviceUI->m_channelWindow->addRollupWidget(widget);
+ ui->channelDock->show();
+ ui->channelDock->raise();
+ }
+}
+
+void MainWindow::addViewAction(QAction* action)
+{
+ ui->menu_Window->addAction(action);
+}
+
+void MainWindow::setDeviceGUI(int deviceTabIndex, QWidget* gui, const QString& deviceDisplayName, bool sourceDevice)
+{
+ char tabNameCStr[16];
+
+ if (sourceDevice)
+ {
+ sprintf(tabNameCStr, "R%d", deviceTabIndex);
+ }
+ else
+ {
+ sprintf(tabNameCStr, "T%d", deviceTabIndex);
+ }
+
+ qDebug("MainWindow::setDeviceGUI: insert %s tab at %d", sourceDevice ? "Rx" : "Tx", deviceTabIndex);
+
+ if (deviceTabIndex < m_deviceWidgetTabs.size())
+ {
+ m_deviceWidgetTabs[deviceTabIndex] = {gui, deviceDisplayName, QString(tabNameCStr)};
+ }
+ else
+ {
+ m_deviceWidgetTabs.append({gui, deviceDisplayName, QString(tabNameCStr)});
+ }
+
+ ui->tabInputsView->clear();
+
+ for (int i = 0; i < m_deviceWidgetTabs.size(); i++)
+ {
+ qDebug("MainWindow::setDeviceGUI: adding tab for %s", m_deviceWidgetTabs[i].displayName.toStdString().c_str());
+ ui->tabInputsView->addTab(m_deviceWidgetTabs[i].gui, m_deviceWidgetTabs[i].tabName);
+ ui->tabInputsView->setTabToolTip(i, m_deviceWidgetTabs[i].displayName);
+ }
+
+ ui->tabInputsView->setCurrentIndex(deviceTabIndex);
+}
+
+void MainWindow::loadSettings()
+{
+ qDebug() << "MainWindow::loadSettings";
+
+ m_settings.load();
+ m_settings.sortPresets();
+
+ for(int i = 0; i < m_settings.getPresetCount(); ++i)
+ {
+ ui->presetTree->setCurrentItem(addPresetToTree(m_settings.getPreset(i)));
+ }
+}
+
+void MainWindow::loadPresetSettings(const Preset* preset, int tabIndex)
+{
+ qDebug("MainWindow::loadPresetSettings: preset [%s | %s]",
+ qPrintable(preset->getGroup()),
+ qPrintable(preset->getDescription()));
+
+ if (tabIndex >= 0)
+ {
+ DeviceUISet *deviceUI = m_deviceUIs[tabIndex];
+
+ if (deviceUI->m_deviceSourceEngine) // source device
+ {
+ deviceUI->m_spectrumGUI->deserialize(preset->getSpectrumConfig());
+ deviceUI->m_deviceSourceAPI->loadSourceSettings(preset);
+ deviceUI->m_deviceSourceAPI->loadChannelSettings(preset, &(m_pluginManager->m_pluginAPI));
+ }
+ else if (deviceUI->m_deviceSinkEngine) // sink device
+ {
+ deviceUI->m_spectrumGUI->deserialize(preset->getSpectrumConfig());
+ deviceUI->m_deviceSinkAPI->loadSinkSettings(preset);
+ deviceUI->m_deviceSinkAPI->loadChannelSettings(preset, &(m_pluginManager->m_pluginAPI));
+ }
+ }
+
+ // has to be last step
+ restoreState(preset->getLayout());
+}
+
+void MainWindow::savePresetSettings(Preset* preset, int tabIndex)
+{
+ qDebug("MainWindow::savePresetSettings: preset [%s | %s]",
+ qPrintable(preset->getGroup()),
+ qPrintable(preset->getDescription()));
+
+ // Save from currently selected source tab
+ //int currentSourceTabIndex = ui->tabInputsView->currentIndex();
+ DeviceUISet *deviceUI = m_deviceUIs[tabIndex];
+
+ if (deviceUI->m_deviceSourceEngine) // source device
+ {
+ preset->setSpectrumConfig(deviceUI->m_spectrumGUI->serialize());
+ preset->clearChannels();
+ deviceUI->m_deviceSourceAPI->saveChannelSettings(preset);
+ deviceUI->m_deviceSourceAPI->saveSourceSettings(preset);
+ }
+ else if (deviceUI->m_deviceSinkEngine) // sink device
+ {
+ preset->setSpectrumConfig(deviceUI->m_spectrumGUI->serialize());
+ preset->clearChannels();
+ preset->setSourcePreset(false);
+ deviceUI->m_deviceSinkAPI->saveChannelSettings(preset);
+ deviceUI->m_deviceSinkAPI->saveSinkSettings(preset);
+ }
+
+ preset->setLayout(saveState());
+}
+
+void MainWindow::createStatusBar()
+{
+ QString qtVersionStr = QString("Qt %1 ").arg(QT_VERSION_STR);
+#if QT_VERSION >= 0x050400
+ m_showSystemWidget = new QLabel("SDRangel v3.7.6 " + qtVersionStr + QSysInfo::prettyProductName(), this);
+#else
+ m_showSystemWidget = new QLabel("SDRangel v3.7.6 " + qtVersionStr, this);
+#endif
+ statusBar()->addPermanentWidget(m_showSystemWidget);
+
+ m_dateTimeWidget = new QLabel(tr("Date"), this);
+ m_dateTimeWidget->setToolTip(tr("Current date/time"));
+ statusBar()->addPermanentWidget(m_dateTimeWidget);
+}
+
+void MainWindow::closeEvent(QCloseEvent*)
+{
+}
+
+void MainWindow::updatePresetControls()
+{
+ ui->presetTree->resizeColumnToContents(0);
+
+ if(ui->presetTree->currentItem() != 0)
+ {
+ ui->presetDelete->setEnabled(true);
+ ui->presetLoad->setEnabled(true);
+ }
+ else
+ {
+ ui->presetDelete->setEnabled(false);
+ ui->presetLoad->setEnabled(false);
+ }
+}
+
+QTreeWidgetItem* MainWindow::addPresetToTree(const Preset* preset)
+{
+ QTreeWidgetItem* group = 0;
+
+ for(int i = 0; i < ui->presetTree->topLevelItemCount(); i++)
+ {
+ if(ui->presetTree->topLevelItem(i)->text(0) == preset->getGroup())
+ {
+ group = ui->presetTree->topLevelItem(i);
+ break;
+ }
+ }
+
+ if(group == 0)
+ {
+ QStringList sl;
+ sl.append(preset->getGroup());
+ group = new QTreeWidgetItem(ui->presetTree, sl, PGroup);
+ group->setFirstColumnSpanned(true);
+ group->setExpanded(true);
+ ui->presetTree->sortByColumn(0, Qt::AscendingOrder);
+ }
+
+ QStringList sl;
+ sl.append(QString("%1").arg(preset->getCenterFrequency() / 1e6f, 0, 'f', 3)); // frequency column
+ sl.append(QString("%1").arg(preset->isSourcePreset() ? 'R' : 'T')); // mode column
+ sl.append(preset->getDescription()); // description column
+ PresetItem* item = new PresetItem(group, sl, preset->getCenterFrequency(), PItem);
+ item->setTextAlignment(0, Qt::AlignRight);
+ item->setData(0, Qt::UserRole, qVariantFromValue(preset));
+ ui->presetTree->resizeColumnToContents(0); // Resize frequency column to minimum
+ ui->presetTree->resizeColumnToContents(1); // Resize mode column to minimum
+
+ updatePresetControls();
+ return item;
+}
+
+void MainWindow::applySettings()
+{
+}
+
+void MainWindow::handleMessages()
+{
+ Message* message;
+
+ while ((message = m_inputMessageQueue.pop()) != 0)
+ {
+ qDebug("MainWindow::handleMessages: message: %s", message->getIdentifier());
+ delete message;
+ }
+}
+
+void MainWindow::on_action_View_Fullscreen_toggled(bool checked)
+{
+ if(checked)
+ showFullScreen();
+ else showNormal();
+}
+
+void MainWindow::on_presetSave_clicked()
+{
+ QStringList groups;
+ QString group;
+ QString description = "";
+ for(int i = 0; i < ui->presetTree->topLevelItemCount(); i++)
+ groups.append(ui->presetTree->topLevelItem(i)->text(0));
+
+ QTreeWidgetItem* item = ui->presetTree->currentItem();
+ if(item != 0) {
+ if(item->type() == PGroup)
+ group = item->text(0);
+ else if(item->type() == PItem) {
+ group = item->parent()->text(0);
+ description = item->text(0);
+ }
+ }
+
+ AddPresetDialog dlg(groups, group, this);
+
+ if (description.length() > 0) {
+ dlg.setDescription(description);
+ }
+
+ if(dlg.exec() == QDialog::Accepted) {
+ Preset* preset = m_settings.newPreset(dlg.group(), dlg.description());
+ savePresetSettings(preset, ui->tabInputsView->currentIndex());
+
+ ui->presetTree->setCurrentItem(addPresetToTree(preset));
+ }
+}
+
+void MainWindow::on_presetUpdate_clicked()
+{
+ QTreeWidgetItem* item = ui->presetTree->currentItem();
+
+ if(item != 0) {
+ if(item->type() == PItem) {
+ const Preset* preset = qvariant_cast(item->data(0, Qt::UserRole));
+ if (preset != 0) {
+ Preset* preset_mod = const_cast(preset);
+ savePresetSettings(preset_mod, ui->tabInputsView->currentIndex());
+ }
+ }
+ }
+}
+
+void MainWindow::on_presetExport_clicked()
+{
+ QTreeWidgetItem* item = ui->presetTree->currentItem();
+
+ if(item != 0) {
+ if(item->type() == PItem)
+ {
+ const Preset* preset = qvariant_cast(item->data(0, Qt::UserRole));
+ QString base64Str = preset->serialize().toBase64();
+ QString fileName = QFileDialog::getSaveFileName(this,
+ tr("Open preset export file"), ".", tr("Preset export files (*.prex)"));
+
+ if (fileName != "")
+ {
+ QFileInfo fileInfo(fileName);
+
+ if (fileInfo.suffix() != "prex") {
+ fileName += ".prex";
+ }
+
+ QFile exportFile(fileName);
+
+ if (exportFile.open(QIODevice::WriteOnly | QIODevice::Text))
+ {
+ QTextStream outstream(&exportFile);
+ outstream << base64Str;
+ exportFile.close();
+ }
+ else
+ {
+ QMessageBox::information(this, tr("Message"), tr("Cannot open file for writing"));
+ }
+ }
+ }
+ }
+}
+
+void MainWindow::on_presetImport_clicked()
+{
+ QTreeWidgetItem* item = ui->presetTree->currentItem();
+
+ if(item != 0)
+ {
+ QString group;
+
+ if (item->type() == PGroup) {
+ group = item->text(0);
+ } else if (item->type() == PItem) {
+ group = item->parent()->text(0);
+ } else {
+ return;
+ }
+
+ QString fileName = QFileDialog::getOpenFileName(this,
+ tr("Open preset export file"), ".", tr("Preset export files (*.prex)"));
+
+ if (fileName != "")
+ {
+ QFile exportFile(fileName);
+
+ if (exportFile.open(QIODevice::ReadOnly | QIODevice::Text))
+ {
+ QByteArray base64Str;
+ QTextStream instream(&exportFile);
+ instream >> base64Str;
+ exportFile.close();
+
+ Preset* preset = m_settings.newPreset("", "");
+ preset->deserialize(QByteArray::fromBase64(base64Str));
+ preset->setGroup(group); // override with current group
+
+ ui->presetTree->setCurrentItem(addPresetToTree(preset));
+ }
+ else
+ {
+ QMessageBox::information(this, tr("Message"), tr("Cannot open file for reading"));
+ }
+ }
+ }
+}
+
+void MainWindow::on_settingsSave_clicked()
+{
+ savePresetSettings(m_settings.getWorkingPreset(), ui->tabInputsView->currentIndex());
+ m_settings.save();
+}
+
+void MainWindow::on_presetLoad_clicked()
+{
+ qDebug() << "MainWindow::on_presetLoad_clicked";
+
+ QTreeWidgetItem* item = ui->presetTree->currentItem();
+
+ if(item == 0)
+ {
+ qDebug("MainWindow::on_presetLoad_clicked: item null");
+ updatePresetControls();
+ return;
+ }
+
+ const Preset* preset = qvariant_cast(item->data(0, Qt::UserRole));
+
+ if(preset == 0)
+ {
+ qDebug("MainWindow::on_presetLoad_clicked: preset null");
+ return;
+ }
+
+ loadPresetSettings(preset, ui->tabInputsView->currentIndex());
+ applySettings();
+}
+
+void MainWindow::on_presetDelete_clicked()
+{
+ QTreeWidgetItem* item = ui->presetTree->currentItem();
+ if(item == 0) {
+ updatePresetControls();
+ return;
+ }
+ const Preset* preset = qvariant_cast(item->data(0, Qt::UserRole));
+ if(preset == 0)
+ return;
+
+ if(QMessageBox::question(this, tr("Delete Preset"), tr("Do you want to delete preset '%1'?").arg(preset->getDescription()), QMessageBox::No | QMessageBox::Yes, QMessageBox::No) == QMessageBox::Yes) {
+ delete item;
+ m_settings.deletePreset(preset);
+ }
+}
+
+void MainWindow::on_presetTree_currentItemChanged(QTreeWidgetItem *current __attribute__((unused)), QTreeWidgetItem *previous __attribute__((unused)))
+{
+ updatePresetControls();
+}
+
+void MainWindow::on_presetTree_itemActivated(QTreeWidgetItem *item __attribute__((unused)), int column __attribute__((unused)))
+{
+ on_presetLoad_clicked();
+}
+
+void MainWindow::on_action_Loaded_Plugins_triggered()
+{
+ PluginsDialog pluginsDialog(m_pluginManager, this);
+ pluginsDialog.exec();
+}
+
+void MainWindow::on_action_Audio_triggered()
+{
+ AudioDialog audioDialog(&m_audioDeviceInfo, this);
+ audioDialog.exec();
+ m_dspEngine->setAudioInputVolume(m_audioDeviceInfo.getInputVolume());
+ m_dspEngine->setAudioInputDeviceIndex(m_audioDeviceInfo.getInputDeviceIndex());
+ m_dspEngine->setAudioOutputDeviceIndex(m_audioDeviceInfo.getOutputDeviceIndex());
+}
+
+void MainWindow::on_action_My_Position_triggered()
+{
+ MyPositionDialog myPositionDialog(m_settings, this);
+ myPositionDialog.exec();
+}
+
+void MainWindow::on_action_DV_Serial_triggered(bool checked)
+{
+ m_dspEngine->setDVSerialSupport(checked);
+
+ if (checked)
+ {
+ std::vector deviceNames;
+ m_dspEngine->getDVSerialNames(deviceNames);
+
+ if (deviceNames.size() == 0)
+ {
+ QMessageBox::information(this, tr("Message"), tr("No DV serial devices found"));
+ }
+ else
+ {
+ std::vector::iterator it = deviceNames.begin();
+ std::string deviceNamesStr = "DV Serial devices found: ";
+
+ while (it != deviceNames.end())
+ {
+ if (it != deviceNames.begin()) {
+ deviceNamesStr += ",";
+ }
+
+ deviceNamesStr += *it;
+ ++it;
+ }
+
+ QMessageBox::information(this, tr("Message"), tr(deviceNamesStr.c_str()));
+ }
+ }
+}
+
+void MainWindow::on_sampleSource_confirmClicked(bool checked __attribute__((unused)))
+{
+ // Do it in the currently selected source tab
+ int currentSourceTabIndex = ui->tabInputsSelect->currentIndex();
+
+ if (currentSourceTabIndex >= 0)
+ {
+ qDebug("MainWindow::on_sampleSource_confirmClicked: tab at %d", currentSourceTabIndex);
+ DeviceUISet *deviceUI = m_deviceUIs[currentSourceTabIndex];
+ deviceUI->m_deviceSourceAPI->saveSourceSettings(m_settings.getWorkingPreset()); // save old API settings
+ int selectedComboIndex = deviceUI->m_samplingDeviceControl->getDeviceSelector()->currentIndex();
+ void *devicePtr = deviceUI->m_samplingDeviceControl->getDeviceSelector()->itemData(selectedComboIndex).value();
+ deviceUI->m_deviceSourceAPI->stopAcquisition();
+
+ // deletes old UI and input object
+ deviceUI->m_deviceSourceAPI->getSampleSource()->setMessageQueueToGUI(0); // have source stop sending messages to the GUI
+ deviceUI->m_deviceSourceAPI->getPluginInterface()->deleteSampleSourcePluginInstanceGUI(
+ deviceUI->m_deviceSourceAPI->getSampleSourcePluginInstanceGUI());
+ deviceUI->m_deviceSourceAPI->resetSampleSourceId();
+ deviceUI->m_deviceSourceAPI->getPluginInterface()->deleteSampleSourcePluginInstanceInput(
+ deviceUI->m_deviceSourceAPI->getSampleSource());
+ deviceUI->m_deviceSourceAPI->clearBuddiesLists(); // clear old API buddies lists
+
+ m_pluginManager->selectSampleSourceByDevice(devicePtr, deviceUI->m_deviceSourceAPI); // sets the new API
+
+ // add to buddies list
+ std::vector::iterator it = m_deviceUIs.begin();
+ int nbOfBuddies = 0;
+
+ for (; it != m_deviceUIs.end(); ++it)
+ {
+ if (*it != deviceUI) // do not add to itself
+ {
+ if ((*it)->m_deviceSourceEngine) // it is a source device
+ {
+ if ((deviceUI->m_deviceSourceAPI->getHardwareId() == (*it)->m_deviceSourceAPI->getHardwareId()) &&
+ (deviceUI->m_deviceSourceAPI->getSampleSourceSerial() == (*it)->m_deviceSourceAPI->getSampleSourceSerial()))
+ {
+ (*it)->m_deviceSourceAPI->addSourceBuddy(deviceUI->m_deviceSourceAPI);
+ nbOfBuddies++;
+ }
+ }
+
+ if ((*it)->m_deviceSinkEngine) // it is a sink device
+ {
+ if ((deviceUI->m_deviceSourceAPI->getHardwareId() == (*it)->m_deviceSinkAPI->getHardwareId()) &&
+ (deviceUI->m_deviceSourceAPI->getSampleSourceSerial() == (*it)->m_deviceSinkAPI->getSampleSinkSerial()))
+ {
+ (*it)->m_deviceSinkAPI->addSourceBuddy(deviceUI->m_deviceSourceAPI);
+ nbOfBuddies++;
+ }
+ }
+ }
+ }
+
+ if (nbOfBuddies == 0) {
+ deviceUI->m_deviceSourceAPI->setBuddyLeader(true);
+ }
+
+ // constructs new GUI and input object
+ DeviceSampleSource *source = deviceUI->m_deviceSourceAPI->getPluginInterface()->createSampleSourcePluginInstanceInput(
+ deviceUI->m_deviceSourceAPI->getSampleSourceId(), deviceUI->m_deviceSourceAPI);
+ deviceUI->m_deviceSourceAPI->setSampleSource(source);
+ QWidget *gui;
+ PluginInstanceGUI *pluginUI = deviceUI->m_deviceSourceAPI->getPluginInterface()->createSampleSourcePluginInstanceGUI(
+ deviceUI->m_deviceSourceAPI->getSampleSourceId(), &gui, deviceUI->m_deviceSourceAPI);
+ deviceUI->m_deviceSourceAPI->getSampleSource()->setMessageQueueToGUI(pluginUI->getInputMessageQueue());
+ deviceUI->m_deviceSourceAPI->setSampleSourcePluginInstanceGUI(pluginUI);
+ setDeviceGUI(currentSourceTabIndex, gui, deviceUI->m_deviceSourceAPI->getSampleSourceDisplayName());
+
+ deviceUI->m_deviceSourceAPI->loadSourceSettings(m_settings.getWorkingPreset()); // load new API settings
+
+ if (currentSourceTabIndex == 0)
+ {
+ m_settings.setSourceIndex(deviceUI->m_samplingDeviceControl->getDeviceSelector()->currentIndex());
+ }
+ }
+}
+
+void MainWindow::on_sampleSink_confirmClicked(bool checked __attribute__((unused)))
+{
+ // Do it in the currently selected source tab
+ int currentSinkTabIndex = ui->tabInputsSelect->currentIndex();
+
+ if (currentSinkTabIndex >= 0)
+ {
+ qDebug("MainWindow::on_sampleSink_confirmClicked: tab at %d", currentSinkTabIndex);
+ DeviceUISet *deviceUI = m_deviceUIs[currentSinkTabIndex];
+ deviceUI->m_deviceSinkAPI->saveSinkSettings(m_settings.getWorkingPreset()); // save old API settings
+ int selectedComboIndex = deviceUI->m_samplingDeviceControl->getDeviceSelector()->currentIndex();
+ void *devicePtr = deviceUI->m_samplingDeviceControl->getDeviceSelector()->itemData(selectedComboIndex).value();
+ deviceUI->m_deviceSinkAPI->stopGeneration();
+
+ // deletes old UI and output object
+ deviceUI->m_deviceSinkAPI->getSampleSink()->setMessageQueueToGUI(0); // have sink stop sending messages to the GUI
+ deviceUI->m_deviceSinkAPI->getPluginInterface()->deleteSampleSourcePluginInstanceGUI(
+ deviceUI->m_deviceSinkAPI->getSampleSinkPluginInstanceGUI());
+ deviceUI->m_deviceSinkAPI->resetSampleSinkId();
+ deviceUI->m_deviceSinkAPI->getPluginInterface()->deleteSampleSinkPluginInstanceOutput(
+ deviceUI->m_deviceSinkAPI->getSampleSink());
+ deviceUI->m_deviceSinkAPI->clearBuddiesLists(); // clear old API buddies lists
+
+ m_pluginManager->selectSampleSinkByDevice(devicePtr, deviceUI->m_deviceSinkAPI); // sets the new API
+
+ // add to buddies list
+ std::vector::iterator it = m_deviceUIs.begin();
+ int nbOfBuddies = 0;
+
+ for (; it != m_deviceUIs.end(); ++it)
+ {
+ if (*it != deviceUI) // do not add to itself
+ {
+ if ((*it)->m_deviceSourceEngine) // it is a source device
+ {
+ if ((deviceUI->m_deviceSinkAPI->getHardwareId() == (*it)->m_deviceSourceAPI->getHardwareId()) &&
+ (deviceUI->m_deviceSinkAPI->getSampleSinkSerial() == (*it)->m_deviceSourceAPI->getSampleSourceSerial()))
+ {
+ (*it)->m_deviceSourceAPI->addSinkBuddy(deviceUI->m_deviceSinkAPI);
+ nbOfBuddies++;
+ }
+ }
+
+ if ((*it)->m_deviceSinkEngine) // it is a sink device
+ {
+ if ((deviceUI->m_deviceSinkAPI->getHardwareId() == (*it)->m_deviceSinkAPI->getHardwareId()) &&
+ (deviceUI->m_deviceSinkAPI->getSampleSinkSerial() == (*it)->m_deviceSinkAPI->getSampleSinkSerial()))
+ {
+ (*it)->m_deviceSinkAPI->addSinkBuddy(deviceUI->m_deviceSinkAPI);
+ nbOfBuddies++;
+ }
+ }
+ }
+ }
+
+ if (nbOfBuddies == 0) {
+ deviceUI->m_deviceSinkAPI->setBuddyLeader(true);
+ }
+
+ // constructs new GUI and output object
+ DeviceSampleSink *sink = deviceUI->m_deviceSinkAPI->getPluginInterface()->createSampleSinkPluginInstanceOutput(
+ deviceUI->m_deviceSinkAPI->getSampleSinkId(), deviceUI->m_deviceSinkAPI);
+ deviceUI->m_deviceSinkAPI->setSampleSink(sink);
+ QWidget *gui;
+ PluginInstanceGUI *pluginUI = deviceUI->m_deviceSinkAPI->getPluginInterface()->createSampleSinkPluginInstanceGUI(
+ deviceUI->m_deviceSinkAPI->getSampleSinkId(), &gui, deviceUI->m_deviceSinkAPI);
+ deviceUI->m_deviceSinkAPI->getSampleSink()->setMessageQueueToGUI(pluginUI->getInputMessageQueue());
+ deviceUI->m_deviceSinkAPI->setSampleSinkPluginInstanceUI(pluginUI);
+ setDeviceGUI(currentSinkTabIndex, gui, deviceUI->m_deviceSinkAPI->getSampleSinkDisplayName(), false);
+
+ deviceUI->m_deviceSinkAPI->loadSinkSettings(m_settings.getWorkingPreset()); // load new API settings
+ }
+}
+
+void MainWindow::on_channel_addClicked(bool checked __attribute__((unused)))
+{
+ // Do it in the currently selected source tab
+ int currentSourceTabIndex = ui->tabInputsSelect->currentIndex();
+
+ if (currentSourceTabIndex >= 0)
+ {
+ DeviceUISet *deviceUI = m_deviceUIs[currentSourceTabIndex];
+
+ if (deviceUI->m_deviceSourceEngine) // source device => Rx channels
+ {
+ m_pluginManager->createRxChannelInstance(deviceUI->m_samplingDeviceControl->getChannelSelector()->currentIndex(), deviceUI->m_deviceSourceAPI);
+ }
+ else if (deviceUI->m_deviceSinkEngine) // sink device => Tx channels
+ {
+ uint32_t nbSources = deviceUI->m_deviceSinkAPI->getNumberOfSources();
+
+ if (nbSources > 0) {
+ QMessageBox::information(this, tr("Message"), tr("%1 channel(s) already in use. Multiple transmission channels is experimental. You may experience performance problems").arg(nbSources));
+ }
+
+ m_pluginManager->createTxChannelInstance(deviceUI->m_samplingDeviceControl->getChannelSelector()->currentIndex(), deviceUI->m_deviceSinkAPI);
+ }
+ }
+
+}
+
+void MainWindow::on_action_About_triggered()
+{
+ AboutDialog dlg(this);
+ dlg.exec();
+}
+
+void MainWindow::on_action_addSourceDevice_triggered()
+{
+ addSourceDevice();
+}
+
+void MainWindow::on_action_addSinkDevice_triggered()
+{
+ addSinkDevice();
+}
+
+void MainWindow::on_action_removeLastDevice_triggered()
+{
+ if (m_deviceUIs.size() > 1)
+ {
+ removeLastDevice();
+ }
+}
+
+void MainWindow::on_action_reloadDevices_triggered()
+{
+ // all devices must be stopped
+ std::vector::iterator it = m_deviceUIs.begin();
+ for (; it != m_deviceUIs.end(); ++it)
+ {
+ if ((*it)->m_deviceSourceEngine) // it is a source device
+ {
+ if ((*it)->m_deviceSourceEngine->state() == DSPDeviceSourceEngine::StRunning)
+ {
+ QMessageBox::information(this, tr("Message"), tr("Stop all devices for reload to take effect"));
+ return;
+ }
+ }
+
+ if ((*it)->m_deviceSinkEngine) // it is a sink device
+ {
+ if ((*it)->m_deviceSinkEngine->state() == DSPDeviceSinkEngine::StRunning)
+ {
+ QMessageBox::information(this, tr("Message"), tr("Stop all devices for reload to take effect"));
+ return;
+ }
+ }
+ }
+
+ // re-scan devices
+ m_pluginManager->updateSampleSourceDevices();
+ m_pluginManager->updateSampleSinkDevices();
+
+ // re-populate device selectors keeping the same selection
+ it = m_deviceUIs.begin();
+ for (; it != m_deviceUIs.end(); ++it)
+ {
+ if ((*it)->m_deviceSourceEngine) // it is a source device
+ {
+ QComboBox *deviceSelectorComboBox = (*it)->m_samplingDeviceControl->getDeviceSelector();
+ bool sampleSourceSignalsBlocked = deviceSelectorComboBox->blockSignals(true);
+ uint dspDeviceSourceEngineUID = (*it)->m_deviceSourceEngine->getUID();
+ m_pluginManager->duplicateLocalSampleSourceDevices(dspDeviceSourceEngineUID);
+ m_pluginManager->fillSampleSourceSelector(deviceSelectorComboBox, dspDeviceSourceEngineUID);
+ int newIndex = m_pluginManager->getSampleSourceSelectorIndex(deviceSelectorComboBox, (*it)->m_deviceSourceAPI);
+ deviceSelectorComboBox->setCurrentIndex(newIndex);
+ deviceSelectorComboBox->blockSignals(sampleSourceSignalsBlocked);
+ }
+
+ if ((*it)->m_deviceSinkEngine) // it is a sink device
+ {
+ QComboBox *deviceSelectorComboBox = (*it)->m_samplingDeviceControl->getDeviceSelector();
+ bool sampleSinkSignalsBlocked = deviceSelectorComboBox->blockSignals(true);
+ uint dspDeviceSinkEngineUID = (*it)->m_deviceSinkEngine->getUID();
+ m_pluginManager->duplicateLocalSampleSinkDevices(dspDeviceSinkEngineUID);
+ m_pluginManager->fillSampleSinkSelector(deviceSelectorComboBox, dspDeviceSinkEngineUID);
+ int newIndex = m_pluginManager->getSampleSinkSelectorIndex(deviceSelectorComboBox, (*it)->m_deviceSinkAPI);
+ deviceSelectorComboBox->setCurrentIndex(newIndex);
+ deviceSelectorComboBox->blockSignals(sampleSinkSignalsBlocked);
+ }
+ }
+}
+
+void MainWindow::on_action_Exit_triggered()
+{
+ savePresetSettings(m_settings.getWorkingPreset(), 0);
+ m_settings.save();
+
+ while (m_deviceUIs.size() > 0)
+ {
+ removeLastDevice();
+ }
+}
+
+void MainWindow::tabInputViewIndexChanged()
+{
+ int inputViewIndex = ui->tabInputsView->currentIndex();
+
+ if ((inputViewIndex >= 0) && (m_masterTabIndex >= 0) && (inputViewIndex != m_masterTabIndex))
+ {
+ DeviceUISet *deviceUI = m_deviceUIs[inputViewIndex];
+ DeviceUISet *lastdeviceUI = m_deviceUIs[m_masterTabIndex];
+ lastdeviceUI->m_mainWindowState = saveState();
+ restoreState(deviceUI->m_mainWindowState);
+ m_masterTabIndex = inputViewIndex;
+ }
+
+ ui->tabSpectra->setCurrentIndex(inputViewIndex);
+ ui->tabChannels->setCurrentIndex(inputViewIndex);
+ ui->tabInputsSelect->setCurrentIndex(inputViewIndex);
+ ui->tabSpectraGUI->setCurrentIndex(inputViewIndex);
+}
+
+void MainWindow::updateStatus()
+{
+ m_dateTimeWidget->setText(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss t"));
+}
+
+MainWindow::DeviceUISet::DeviceUISet(QTimer& timer)
+{
+ m_spectrum = new GLSpectrum;
+ m_spectrumVis = new SpectrumVis(m_spectrum);
+ m_spectrum->connectTimer(timer);
+ m_spectrumGUI = new GLSpectrumGUI;
+ m_spectrumGUI->setBuddies(m_spectrumVis->getInputMessageQueue(), m_spectrumVis, m_spectrum);
+ m_channelWindow = new ChannelWindow;
+ m_samplingDeviceControl = new SamplingDeviceControl;
+ m_deviceSourceEngine = 0;
+ m_deviceSourceAPI = 0;
+ m_deviceSinkEngine = 0;
+ m_deviceSinkAPI = 0;
+
+ // m_spectrum needs to have its font to be set since it cannot be inherited from the main window
+ QFont font;
+ font.setFamily(QStringLiteral("Sans Serif"));
+ font.setPointSize(9);
+ m_spectrum->setFont(font);
+
+}
+
+MainWindow::DeviceUISet::~DeviceUISet()
+{
+ delete m_samplingDeviceControl;
+ delete m_channelWindow;
+ delete m_spectrumGUI;
+ delete m_spectrumVis;
+ delete m_spectrum;
+}
diff --git a/sdrgui/mainwindow.h b/sdrgui/mainwindow.h
new file mode 100644
index 000000000..3137730b2
--- /dev/null
+++ b/sdrgui/mainwindow.h
@@ -0,0 +1,170 @@
+///////////////////////////////////////////////////////////////////////////////////
+// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
+// written by Christian Daniel //
+// //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation as version 3 of the License, or //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License V3 for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program. If not, see . //
+///////////////////////////////////////////////////////////////////////////////////
+
+#ifndef INCLUDE_MAINWINDOW_H
+#define INCLUDE_MAINWINDOW_H
+
+#include
+#include
+#include
+
+#include "settings/mainsettings.h"
+#include "util/messagequeue.h"
+#include "util/export.h"
+
+class QLabel;
+class QTreeWidgetItem;
+class QDir;
+class SamplingDeviceControl;
+
+class AudioDeviceInfo;
+class DSPEngine;
+class DSPDeviceSourceEngine;
+class DSPDeviceSinkEngine;
+class Indicator;
+class SpectrumVis;
+class GLSpectrum;
+class GLSpectrumGUI;
+class ChannelWindow;
+class PluginAPI;
+class PluginInstanceGUI;
+class ChannelMarker;
+class PluginManager;
+class DeviceSourceAPI;
+class DeviceSinkAPI;
+class PluginInterface;
+class QWidget;
+
+namespace Ui {
+ class MainWindow;
+}
+
+class SDRANGEL_API MainWindow : public QMainWindow {
+ Q_OBJECT
+
+public:
+ struct DeviceUISet
+ {
+ SpectrumVis *m_spectrumVis;
+ GLSpectrum *m_spectrum;
+ GLSpectrumGUI *m_spectrumGUI;
+ ChannelWindow *m_channelWindow;
+ SamplingDeviceControl *m_samplingDeviceControl;
+ DSPDeviceSourceEngine *m_deviceSourceEngine;
+ DeviceSourceAPI *m_deviceSourceAPI;
+ DSPDeviceSinkEngine *m_deviceSinkEngine;
+ DeviceSinkAPI *m_deviceSinkAPI;
+ QByteArray m_mainWindowState;
+
+ DeviceUISet(QTimer& timer);
+ ~DeviceUISet();
+ };
+
+ explicit MainWindow(QWidget* parent = 0);
+ ~MainWindow();
+
+ MessageQueue* getInputMessageQueue() { return &m_inputMessageQueue; }
+
+ void addViewAction(QAction* action);
+
+ void addChannelRollup(int deviceTabIndex, QWidget* widget);
+ void setDeviceGUI(int deviceTabIndex, QWidget* gui, const QString& deviceDisplayName, bool sourceDevice = true);
+
+ const QTimer& getMasterTimer() const { return m_masterTimer; }
+ const MainSettings& getMainSettings() const { return m_settings; }
+
+private:
+ enum {
+ PGroup,
+ PItem
+ };
+
+ struct DeviceWidgetTabData
+ {
+ QWidget *gui;
+ QString displayName;
+ QString tabName;
+ };
+
+ Ui::MainWindow* ui;
+ AudioDeviceInfo m_audioDeviceInfo;
+ MessageQueue m_inputMessageQueue;
+ MainSettings m_settings;
+ std::vector m_deviceUIs;
+ QList m_deviceWidgetTabs;
+ int m_masterTabIndex;
+
+ DSPEngine* m_dspEngine;
+ PluginManager* m_pluginManager;
+
+ QTimer m_masterTimer;
+ QTimer m_statusTimer;
+ int m_lastEngineState;
+
+ QLabel* m_dateTimeWidget;
+ QLabel* m_showSystemWidget;
+
+ QWidget* m_inputGUI;
+
+ int m_sampleRate;
+ quint64 m_centerFrequency;
+ std::string m_sampleFileName;
+
+ void loadSettings();
+ void loadPresetSettings(const Preset* preset, int tabIndex);
+ void savePresetSettings(Preset* preset, int tabIndex);
+
+ void createStatusBar();
+ void closeEvent(QCloseEvent*);
+ void updatePresetControls();
+ QTreeWidgetItem* addPresetToTree(const Preset* preset);
+ void applySettings();
+
+ void addSourceDevice();
+ void addSinkDevice();
+ void removeLastDevice();
+
+private slots:
+ void handleMessages();
+ void updateStatus();
+ void on_action_View_Fullscreen_toggled(bool checked);
+ void on_presetSave_clicked();
+ void on_presetUpdate_clicked();
+ void on_presetExport_clicked();
+ void on_presetImport_clicked();
+ void on_settingsSave_clicked();
+ void on_presetLoad_clicked();
+ void on_presetDelete_clicked();
+ void on_presetTree_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
+ void on_presetTree_itemActivated(QTreeWidgetItem *item, int column);
+ void on_action_Audio_triggered();
+ void on_action_DV_Serial_triggered(bool checked);
+ void on_action_My_Position_triggered();
+ void on_sampleSource_confirmClicked(bool checked);
+ void on_sampleSink_confirmClicked(bool checked);
+ void on_channel_addClicked(bool checked);
+ void on_action_Loaded_Plugins_triggered();
+ void on_action_About_triggered();
+ void on_action_addSourceDevice_triggered();
+ void on_action_addSinkDevice_triggered();
+ void on_action_removeLastDevice_triggered();
+ void on_action_reloadDevices_triggered();
+ void on_action_Exit_triggered();
+ void tabInputViewIndexChanged();
+};
+
+#endif // INCLUDE_MAINWINDOW_H
diff --git a/sdrgui/mainwindow.ui b/sdrgui/mainwindow.ui
new file mode 100644
index 000000000..316f1a48b
--- /dev/null
+++ b/sdrgui/mainwindow.ui
@@ -0,0 +1,719 @@
+
+
+ MainWindow
+
+
+
+ 0
+ 0
+ 1012
+ 767
+
+
+
+
+ Sans Serif
+ 9
+
+
+
+ SDRangel
+
+
+
+ :/sdrangel_icon.png:/sdrangel_icon.png
+
+
+ true
+
+
+
+
+ Sans Serif
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+
+ Sans Serif
+ 9
+
+
+
+ QTabWidget::East
+
+
+ QTabWidget::Rounded
+
+
+ -1
+
+
+ Qt::ElideNone
+
+
+
+
+
+
+
+
+
+ Sans Serif
+ 9
+
+
+
+
+
+ Sampling devices
+
+
+ 1
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 3
+
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
+ 2
+
+ -
+
+
+
+ 0
+ 200
+
+
+
+
+
+
+
+
+
+ Sampling devices control
+
+
+ 1
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 3
+
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
+ 2
+
+ -
+
+
+
+ 0
+ 110
+
+
+
+ -1
+
+
+
+
+
+
+
+
+ Spectrum Display
+
+
+ 1
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 3
+
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
+ 2
+
+ -
+
+
+ -1
+
+
+
+
+
+
+
+
+ Presets
+
+
+ 1
+
+
+
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
+ 3
+
+ -
+
+
+ Save current settings as new preset
+
+
+ ...
+
+
+
+ :/preset-save.png:/preset-save.png
+
+
+
+ 16
+ 16
+
+
+
+
+ -
+
+
+ Load selected preset
+
+
+ ...
+
+
+
+ :/preset-load.png:/preset-load.png
+
+
+
+ 16
+ 16
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Delete selected preset
+
+
+ ...
+
+
+
+ :/preset-delete.png:/preset-delete.png
+
+
+
+ 16
+ 16
+
+
+
+
+ -
+
+
+ 10
+
+
+ true
+
+
+ 5
+
+
+
+ Freq (MHz)
+
+
+ Center frequency in MHz
+
+
+
+
+ M
+
+
+ Mode: R: Rx or source, T: Tx or sink
+
+
+
+
+ Description
+
+
+
+
+ -
+
+
+ Update selected preset with current settings
+
+
+ ...
+
+
+
+ :/preset-update.png:/preset-update.png
+
+
+
+ 16
+ 16
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Save the current settings (inc. presets)
+
+
+ ...
+
+
+
+ :/preset-last.png:/preset-last.png
+
+
+
+ 16
+ 16
+
+
+
+
+ -
+
+
+ Export current preset to file
+
+
+
+
+
+
+ :/export.png:/export.png
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Import preset from file into current group
+
+
+
+
+
+
+ :/import.png:/import.png
+
+
+
+
+
+
+
+
+ Channels
+
+
+ 2
+
+
+
+
+ 3
+
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
+ 2
+
+ -
+
+
+ QTabWidget::East
+
+
+ -1
+
+
+
+
+
+
+
+
+ E&xit
+
+
+
+
+
+ Ctrl+Q
+
+
+
+
+ &Start
+
+
+
+
+
+ F5
+
+
+
+
+ &Stop
+
+
+
+
+
+ F6
+
+
+
+
+ true
+
+
+ &Fullscreen
+
+
+
+
+
+ F11
+
+
+
+
+ true
+
+
+ &Oscilloscope
+
+
+ F8
+
+
+
+
+ &About SDRangel...
+
+
+
+
+
+
+
+ &Preferences...
+
+
+
+
+
+
+
+ Loaded &Plugins...
+
+
+
+
+
+
+
+ Add source device
+
+
+
+
+
+
+
+ Remove last device
+
+
+
+
+
+
+
+ &Audio
+
+
+
+
+ true
+
+
+ DV Serial
+
+
+
+
+ My Position
+
+
+
+
+ Add sink device
+
+
+
+
+ Reload devices
+
+
+ presetDock
+ channelDock
+
+
+
+ presetTree
+ presetSave
+ presetDelete
+ presetLoad
+
+
+
+
+
+
+ action_Exit
+ triggered()
+ MainWindow
+ close()
+
+
+ -1
+ -1
+
+
+ 462
+ 332
+
+
+
+
+
diff --git a/sdrbase/plugin/pluginapi.cpp b/sdrgui/plugin/pluginapi.cpp
similarity index 100%
rename from sdrbase/plugin/pluginapi.cpp
rename to sdrgui/plugin/pluginapi.cpp
diff --git a/sdrbase/plugin/pluginapi.h b/sdrgui/plugin/pluginapi.h
similarity index 100%
rename from sdrbase/plugin/pluginapi.h
rename to sdrgui/plugin/pluginapi.h
diff --git a/sdrbase/plugin/pluginmanager.cpp b/sdrgui/plugin/pluginmanager.cpp
similarity index 100%
rename from sdrbase/plugin/pluginmanager.cpp
rename to sdrgui/plugin/pluginmanager.cpp
diff --git a/sdrbase/plugin/pluginmanager.h b/sdrgui/plugin/pluginmanager.h
similarity index 100%
rename from sdrbase/plugin/pluginmanager.h
rename to sdrgui/plugin/pluginmanager.h
diff --git a/sdrbase/resources/antenna.png b/sdrgui/resources/antenna.png
similarity index 100%
rename from sdrbase/resources/antenna.png
rename to sdrgui/resources/antenna.png
diff --git a/sdrbase/resources/appicon.png b/sdrgui/resources/appicon.png
similarity index 100%
rename from sdrbase/resources/appicon.png
rename to sdrgui/resources/appicon.png
diff --git a/sdrbase/resources/arrow_down.png b/sdrgui/resources/arrow_down.png
similarity index 100%
rename from sdrbase/resources/arrow_down.png
rename to sdrgui/resources/arrow_down.png
diff --git a/sdrbase/resources/arrow_up.png b/sdrgui/resources/arrow_up.png
similarity index 100%
rename from sdrbase/resources/arrow_up.png
rename to sdrgui/resources/arrow_up.png
diff --git a/sdrbase/resources/camera.png b/sdrgui/resources/camera.png
similarity index 100%
rename from sdrbase/resources/camera.png
rename to sdrgui/resources/camera.png
diff --git a/sdrbase/resources/carrier.png b/sdrgui/resources/carrier.png
similarity index 100%
rename from sdrbase/resources/carrier.png
rename to sdrgui/resources/carrier.png
diff --git a/sdrbase/resources/checkmark.png b/sdrgui/resources/checkmark.png
similarity index 100%
rename from sdrbase/resources/checkmark.png
rename to sdrgui/resources/checkmark.png
diff --git a/sdrbase/resources/clear.png b/sdrgui/resources/clear.png
similarity index 100%
rename from sdrbase/resources/clear.png
rename to sdrgui/resources/clear.png
diff --git a/sdrbase/resources/compressed.png b/sdrgui/resources/compressed.png
similarity index 100%
rename from sdrbase/resources/compressed.png
rename to sdrgui/resources/compressed.png
diff --git a/sdrbase/resources/constellation.png b/sdrgui/resources/constellation.png
similarity index 100%
rename from sdrbase/resources/constellation.png
rename to sdrgui/resources/constellation.png
diff --git a/sdrbase/resources/current.png b/sdrgui/resources/current.png
similarity index 100%
rename from sdrbase/resources/current.png
rename to sdrgui/resources/current.png
diff --git a/sdrbase/resources/display1.png b/sdrgui/resources/display1.png
similarity index 100%
rename from sdrbase/resources/display1.png
rename to sdrgui/resources/display1.png
diff --git a/sdrbase/resources/display1_w.png b/sdrgui/resources/display1_w.png
similarity index 100%
rename from sdrbase/resources/display1_w.png
rename to sdrgui/resources/display1_w.png
diff --git a/sdrbase/resources/display2.png b/sdrgui/resources/display2.png
similarity index 100%
rename from sdrbase/resources/display2.png
rename to sdrgui/resources/display2.png
diff --git a/sdrbase/resources/display2_w.png b/sdrgui/resources/display2_w.png
similarity index 100%
rename from sdrbase/resources/display2_w.png
rename to sdrgui/resources/display2_w.png
diff --git a/sdrbase/resources/dsb.png b/sdrgui/resources/dsb.png
similarity index 100%
rename from sdrbase/resources/dsb.png
rename to sdrgui/resources/dsb.png
diff --git a/sdrbase/resources/export.png b/sdrgui/resources/export.png
similarity index 100%
rename from sdrbase/resources/export.png
rename to sdrgui/resources/export.png
diff --git a/sdrbase/resources/film.png b/sdrgui/resources/film.png
similarity index 100%
rename from sdrbase/resources/film.png
rename to sdrgui/resources/film.png
diff --git a/sdrbase/resources/film_reel.png b/sdrgui/resources/film_reel.png
similarity index 100%
rename from sdrbase/resources/film_reel.png
rename to sdrgui/resources/film_reel.png
diff --git a/sdrbase/resources/filter_bandpass.png b/sdrgui/resources/filter_bandpass.png
similarity index 100%
rename from sdrbase/resources/filter_bandpass.png
rename to sdrgui/resources/filter_bandpass.png
diff --git a/sdrbase/resources/flip_lr.png b/sdrgui/resources/flip_lr.png
similarity index 100%
rename from sdrbase/resources/flip_lr.png
rename to sdrgui/resources/flip_lr.png
diff --git a/sdrbase/resources/flip_rl.png b/sdrgui/resources/flip_rl.png
similarity index 100%
rename from sdrbase/resources/flip_rl.png
rename to sdrgui/resources/flip_rl.png
diff --git a/sdrbase/resources/grid.png b/sdrgui/resources/grid.png
similarity index 100%
rename from sdrbase/resources/grid.png
rename to sdrgui/resources/grid.png
diff --git a/sdrbase/resources/histogram.png b/sdrgui/resources/histogram.png
similarity index 100%
rename from sdrbase/resources/histogram.png
rename to sdrgui/resources/histogram.png
diff --git a/sdrbase/resources/horizontal.png b/sdrgui/resources/horizontal.png
similarity index 100%
rename from sdrbase/resources/horizontal.png
rename to sdrgui/resources/horizontal.png
diff --git a/sdrbase/resources/horizontal_w.png b/sdrgui/resources/horizontal_w.png
similarity index 100%
rename from sdrbase/resources/horizontal_w.png
rename to sdrgui/resources/horizontal_w.png
diff --git a/sdrbase/resources/iambickey.png b/sdrgui/resources/iambickey.png
similarity index 100%
rename from sdrbase/resources/iambickey.png
rename to sdrgui/resources/iambickey.png
diff --git a/sdrbase/resources/import.png b/sdrgui/resources/import.png
similarity index 100%
rename from sdrbase/resources/import.png
rename to sdrgui/resources/import.png
diff --git a/sdrbase/resources/invertspectrum.png b/sdrgui/resources/invertspectrum.png
similarity index 100%
rename from sdrbase/resources/invertspectrum.png
rename to sdrgui/resources/invertspectrum.png
diff --git a/sdrbase/resources/link.png b/sdrgui/resources/link.png
similarity index 100%
rename from sdrbase/resources/link.png
rename to sdrgui/resources/link.png
diff --git a/sdrbase/resources/locked.png b/sdrgui/resources/locked.png
similarity index 100%
rename from sdrbase/resources/locked.png
rename to sdrgui/resources/locked.png
diff --git a/sdrbase/resources/lsb.png b/sdrgui/resources/lsb.png
similarity index 100%
rename from sdrbase/resources/lsb.png
rename to sdrgui/resources/lsb.png
diff --git a/sdrbase/resources/maxhold.png b/sdrgui/resources/maxhold.png
similarity index 100%
rename from sdrbase/resources/maxhold.png
rename to sdrgui/resources/maxhold.png
diff --git a/sdrbase/resources/mem.png b/sdrgui/resources/mem.png
similarity index 100%
rename from sdrbase/resources/mem.png
rename to sdrgui/resources/mem.png
diff --git a/sdrbase/resources/microphone.png b/sdrgui/resources/microphone.png
similarity index 100%
rename from sdrbase/resources/microphone.png
rename to sdrgui/resources/microphone.png
diff --git a/sdrbase/resources/minus.png b/sdrgui/resources/minus.png
similarity index 100%
rename from sdrbase/resources/minus.png
rename to sdrgui/resources/minus.png
diff --git a/sdrbase/resources/minusrx.png b/sdrgui/resources/minusrx.png
similarity index 100%
rename from sdrbase/resources/minusrx.png
rename to sdrgui/resources/minusrx.png
diff --git a/sdrbase/resources/minusw.png b/sdrgui/resources/minusw.png
similarity index 100%
rename from sdrbase/resources/minusw.png
rename to sdrgui/resources/minusw.png
diff --git a/sdrbase/resources/mono.png b/sdrgui/resources/mono.png
similarity index 100%
rename from sdrbase/resources/mono.png
rename to sdrgui/resources/mono.png
diff --git a/sdrbase/resources/morsekey.png b/sdrgui/resources/morsekey.png
similarity index 100%
rename from sdrbase/resources/morsekey.png
rename to sdrgui/resources/morsekey.png
diff --git a/sdrbase/resources/pause.png b/sdrgui/resources/pause.png
similarity index 100%
rename from sdrbase/resources/pause.png
rename to sdrgui/resources/pause.png
diff --git a/sdrbase/resources/picture.png b/sdrgui/resources/picture.png
similarity index 100%
rename from sdrbase/resources/picture.png
rename to sdrgui/resources/picture.png
diff --git a/sdrbase/resources/play.png b/sdrgui/resources/play.png
similarity index 100%
rename from sdrbase/resources/play.png
rename to sdrgui/resources/play.png
diff --git a/sdrbase/resources/playloop.png b/sdrgui/resources/playloop.png
similarity index 100%
rename from sdrbase/resources/playloop.png
rename to sdrgui/resources/playloop.png
diff --git a/sdrbase/resources/plus.png b/sdrgui/resources/plus.png
similarity index 100%
rename from sdrbase/resources/plus.png
rename to sdrgui/resources/plus.png
diff --git a/sdrbase/resources/plusrx.png b/sdrgui/resources/plusrx.png
similarity index 100%
rename from sdrbase/resources/plusrx.png
rename to sdrgui/resources/plusrx.png
diff --git a/sdrbase/resources/plusw.png b/sdrgui/resources/plusw.png
similarity index 100%
rename from sdrbase/resources/plusw.png
rename to sdrgui/resources/plusw.png
diff --git a/sdrbase/resources/preset-delete.png b/sdrgui/resources/preset-delete.png
similarity index 100%
rename from sdrbase/resources/preset-delete.png
rename to sdrgui/resources/preset-delete.png
diff --git a/sdrbase/resources/preset-last.png b/sdrgui/resources/preset-last.png
similarity index 100%
rename from sdrbase/resources/preset-last.png
rename to sdrgui/resources/preset-last.png
diff --git a/sdrbase/resources/preset-load.png b/sdrgui/resources/preset-load.png
similarity index 100%
rename from sdrbase/resources/preset-load.png
rename to sdrgui/resources/preset-load.png
diff --git a/sdrbase/resources/preset-save.png b/sdrgui/resources/preset-save.png
similarity index 100%
rename from sdrbase/resources/preset-save.png
rename to sdrgui/resources/preset-save.png
diff --git a/sdrbase/resources/preset-update.png b/sdrgui/resources/preset-update.png
similarity index 100%
rename from sdrbase/resources/preset-update.png
rename to sdrgui/resources/preset-update.png
diff --git a/sdrbase/resources/questionmark.png b/sdrgui/resources/questionmark.png
similarity index 100%
rename from sdrbase/resources/questionmark.png
rename to sdrgui/resources/questionmark.png
diff --git a/sdrbase/resources/rds.png b/sdrgui/resources/rds.png
similarity index 100%
rename from sdrbase/resources/rds.png
rename to sdrgui/resources/rds.png
diff --git a/sdrbase/resources/record_off.png b/sdrgui/resources/record_off.png
similarity index 100%
rename from sdrbase/resources/record_off.png
rename to sdrgui/resources/record_off.png
diff --git a/sdrbase/resources/record_on.png b/sdrgui/resources/record_on.png
similarity index 100%
rename from sdrbase/resources/record_on.png
rename to sdrgui/resources/record_on.png
diff --git a/sdrbase/resources/recycle.png b/sdrgui/resources/recycle.png
similarity index 100%
rename from sdrbase/resources/recycle.png
rename to sdrgui/resources/recycle.png
diff --git a/sdrbase/resources/res.qrc b/sdrgui/resources/res.qrc
similarity index 100%
rename from sdrbase/resources/res.qrc
rename to sdrgui/resources/res.qrc
diff --git a/sdrbase/resources/sdrangel.rc b/sdrgui/resources/sdrangel.rc
similarity index 100%
rename from sdrbase/resources/sdrangel.rc
rename to sdrgui/resources/sdrangel.rc
diff --git a/sdrbase/resources/sdrangel_icon.ico b/sdrgui/resources/sdrangel_icon.ico
similarity index 100%
rename from sdrbase/resources/sdrangel_icon.ico
rename to sdrgui/resources/sdrangel_icon.ico
diff --git a/sdrbase/resources/sdrangel_icon.png b/sdrgui/resources/sdrangel_icon.png
similarity index 100%
rename from sdrbase/resources/sdrangel_icon.png
rename to sdrgui/resources/sdrangel_icon.png
diff --git a/sdrbase/resources/sdrangel_logo.png b/sdrgui/resources/sdrangel_logo.png
similarity index 100%
rename from sdrbase/resources/sdrangel_logo.png
rename to sdrgui/resources/sdrangel_logo.png
diff --git a/sdrbase/resources/slopeb_icon.png b/sdrgui/resources/slopeb_icon.png
similarity index 100%
rename from sdrbase/resources/slopeb_icon.png
rename to sdrgui/resources/slopeb_icon.png
diff --git a/sdrbase/resources/slopen_icon.png b/sdrgui/resources/slopen_icon.png
similarity index 100%
rename from sdrbase/resources/slopen_icon.png
rename to sdrgui/resources/slopen_icon.png
diff --git a/sdrbase/resources/slopep_icon.png b/sdrgui/resources/slopep_icon.png
similarity index 100%
rename from sdrbase/resources/slopep_icon.png
rename to sdrgui/resources/slopep_icon.png
diff --git a/sdrbase/resources/slot1_off.png b/sdrgui/resources/slot1_off.png
similarity index 100%
rename from sdrbase/resources/slot1_off.png
rename to sdrgui/resources/slot1_off.png
diff --git a/sdrbase/resources/slot1_on.png b/sdrgui/resources/slot1_on.png
similarity index 100%
rename from sdrbase/resources/slot1_on.png
rename to sdrgui/resources/slot1_on.png
diff --git a/sdrbase/resources/slot2_off.png b/sdrgui/resources/slot2_off.png
similarity index 100%
rename from sdrbase/resources/slot2_off.png
rename to sdrgui/resources/slot2_off.png
diff --git a/sdrbase/resources/slot2_on.png b/sdrgui/resources/slot2_on.png
similarity index 100%
rename from sdrbase/resources/slot2_on.png
rename to sdrgui/resources/slot2_on.png
diff --git a/sdrbase/resources/sound_off.png b/sdrgui/resources/sound_off.png
similarity index 100%
rename from sdrbase/resources/sound_off.png
rename to sdrgui/resources/sound_off.png
diff --git a/sdrbase/resources/sound_on.png b/sdrgui/resources/sound_on.png
similarity index 100%
rename from sdrbase/resources/sound_on.png
rename to sdrgui/resources/sound_on.png
diff --git a/sdrbase/resources/stereo.png b/sdrgui/resources/stereo.png
similarity index 100%
rename from sdrbase/resources/stereo.png
rename to sdrgui/resources/stereo.png
diff --git a/sdrbase/resources/stop.png b/sdrgui/resources/stop.png
similarity index 100%
rename from sdrbase/resources/stop.png
rename to sdrgui/resources/stop.png
diff --git a/sdrbase/resources/stream.png b/sdrgui/resources/stream.png
similarity index 100%
rename from sdrbase/resources/stream.png
rename to sdrgui/resources/stream.png
diff --git a/sdrbase/resources/txoff.png b/sdrgui/resources/txoff.png
similarity index 100%
rename from sdrbase/resources/txoff.png
rename to sdrgui/resources/txoff.png
diff --git a/sdrbase/resources/txon.png b/sdrgui/resources/txon.png
similarity index 100%
rename from sdrbase/resources/txon.png
rename to sdrgui/resources/txon.png
diff --git a/sdrbase/resources/unlocked.png b/sdrgui/resources/unlocked.png
similarity index 100%
rename from sdrbase/resources/unlocked.png
rename to sdrgui/resources/unlocked.png
diff --git a/sdrbase/resources/usb.png b/sdrgui/resources/usb.png
similarity index 100%
rename from sdrbase/resources/usb.png
rename to sdrgui/resources/usb.png
diff --git a/sdrbase/resources/vertical.png b/sdrgui/resources/vertical.png
similarity index 100%
rename from sdrbase/resources/vertical.png
rename to sdrgui/resources/vertical.png
diff --git a/sdrbase/resources/vertical_w.png b/sdrgui/resources/vertical_w.png
similarity index 100%
rename from sdrbase/resources/vertical_w.png
rename to sdrgui/resources/vertical_w.png
diff --git a/sdrbase/resources/waterfall.png b/sdrgui/resources/waterfall.png
similarity index 100%
rename from sdrbase/resources/waterfall.png
rename to sdrgui/resources/waterfall.png