ScannerClient is a very simply client that provides visual scanner status and audio streamed over IP. This has enabled me to leave my SDS200 in the cold garage connected to a discone antenna on the roof while I listen anywhere inside my warm house.
ScannerClient makes no attempt to "program" the scanner, it is a simple program for listening with limited control functionality.
A short demo video is provided (ScannerClientDemo.mp4).
Internal design has the following major threads of execution:
The executable name is sc.exe
on Windows and sc
on Linux and OSX.
Written with C++20.
License is GPL2.0+.
During installation with the 'Visual Studio Installer' make sure you select at least the C++ Desktop development category or you'll be unable to compile the project due to the missing C++ tools. https://visualstudio.microsoft.com/vs/community/
Download https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.2.1/wxWidgets-3.2.2.1.zip and unzip it to somewhere such as ~/repos/wxWidgets-3.2.2.1
where ~
is your home directory.
Navigate to ~/repos/wxWidgets-3.2.2.1\build\msw
(or wherever you extracted) and open wx_vc17.sln
.
Choose Release and x64 for the build configuration and "Build Solution". All should compile successfully and you can close the project.
Create an environment variable named wxWidgets_ROOT_DIR containing the full path to your wxWidgets installation. For example "C:\Users\yourname\repos\wxWidgets-3.2.2.1", this will allow cmake to find your wxWidgets install.
https://git-scm.com/download/win
cd ~
mkdir repos
cd repos
git clone https://github.com/neilharvey94044/ScannerClient.git
cd ScannerClient
cmake -DCMAKE_BUILD_TYPE=Release -S . -B ./build
cmake --build ./build --config Release
cmake --install ./build
Note: do all the above from the top level ScannerClient directory.
$ sudo apt-get install git build-essential automake cmake
sudo apt-get install libgtk-3-dev libpulse-dev
First download wxWidgets source to ~/repos/wxWidgets-3.2.2.1
or similar, change the following to match.
cd ~
mkdir wx_install
cd ~/repos/wxWidgets-3.2.2.1
./autogen.sh
./configure --prefix ~/wx_install --disable-shared --enable-monolithic --enable-propgrid
make -j4
make install
Set an environment variable named WX_CONFIG
to the wx-config executable where you built wxWidgets, in the case above that would be ~/wx_install/bin/wx-config
.
This is the default used by the CMakeLists.txt for ScannerClient.
export WX_CONFIG=~/wx_install/bin/wx-config
cd ~
mkdir repos
cd repos
git clone https://github.com/neilharvey94044/ScannerClient.git
cd ScannerClient
mkdir build
cmake -S . -B ./build -DCMAKE_CONFIG_TYPE=Release
cmake --build ./build --config Release
Look for the executable in ~/repos/ScannerClient/build/Release, you can run from here or move to where you like.
If you have an older but capable mac you may need an older version of xcode that you won't easily find using brew or the App Store. Try https://xcodereleases.com which seems to have links to every version.
Install cmake version 3.25 minimum, earlier versions have bugs that fail to build wxWidgets with the required options. Brew may be a good option for installing or get directly from Kitware.
Follow the same instructions for Linux.
Follow the Linux instructions.
Follow instructions for Linux, however, look for the executable in ~/repos/ScannerClient/build/sc.app/Contents/MacOS
https://www.rfc-editor.org/rfc/rfc7826#page-25 https://www.w3.org/2008/WebVideo/Fragments/wiki/UA_Server_RTSP_Communication https://www.cs.columbia.edu/~hgs/rtsp/draft/draft-ietf-mmusic-rtsp-03.html#SECTION00020000000000000000
https://www.rfc-editor.org/rfc/rfc3550#page-4
https://en.wikipedia.org/wiki/G.711