March 28, 2025
License and Acknowledgements:

This code is licensed under the GPL 2+ & MIT licenses. The code uses VLC library APIs which themselves have various open source licences.


Spark Gap Radio Player
Free Open-Source
Internet Radio Automation & Media Player System
for Linux


Installer

sgr-player-amd64.deb
md5sum sgr-player-amd64.deb 93bf8d116ef9e7c9698ae390e3cbecfc

To install, on many systems, from an explorer window, double click the .deb file.

Alternatively, in the directory containing the .deb file, do the following (there may be errors indicating missing packages. Step 2 will fix this):

  • sudo dpkg -i sgr-player-amd64.deb
  • sudo apt install -f

Or, the following:

  • sudo apt install gdebi
  • sudo gdebi sgr-player-amd64.deb
Both will install the package and resolve dependencies.

This installer file has been checked with current (22.1 Xia) versions of Linux Mint {Mate, Cinnamon, and Xfce} and Ubuntu 24.04 (Noble Numbat). It should work on other similar recent Debian based systems. If not, try a re-build from the full source code below.

The player can be invoked from a terminal with the command sgr-player.

Please see:
sgr-player-README.txt


Source Code Distro

sgr-player-26-mar-2025.tgz


Installation and usage videos are listed below.

Examples:

Installion and Usage Videos

Windows 11

  1. Installation on Windows 11 with WSL2
Linux and General Program Information

  1. SGR Player installation
  2. Create an SGR program list
  3. How to play a file in SGR
  4. SGR Player settings
  5. Building SGR albums
  6. SGR Player web browsers
  7. Builtin SGR Player slide show
  8. Drag and drop (recursively)
  9. Player Glade layout file
  10. Locating widgets in the code part 1
  11. Locating widgets in the code part 2
  12. Locating widgets in the code part 3
  13. Locating widgets in the code part 4
  14. Program tile widgets
  15. Scrolling the tiles and entry boxes
  16. Audio data
  17. Converting audio data to visual metering
  18. Creating and executing an instance of a VLC player.
  19. Main Timer.
The Linux version was developed on Linux Mint with Mate (20.2). It assumes library names and locations consistent with a Debian/Ubuntu based system. The installation script uses apt. It has been tested and works with the following, subject to the notes stated:

  1. Ubuntu (with Wayland disabled)

    Ubuntu 21.04 uses Wayland by default. Wayland breaks many Xorg apps including this one. If you want to use the player with Ubuntu 21.04, you need, as root, to modify the file:

    /etc/gdm3/custom.conf

    and uncomment (remove #) from the line:

    #WaylandEnable=false

    and re-boot.

    The issue involves libvlc video embedding. This feature is not currently supported in Wayland by VLC. A version of the player without video embedding will be posted.

    If you are using Nvidia drivers, as of this writing, they are not compatible with Wayland and your system may already be in Xorg mode.

  2. Linux Mint LMDE

    No problems.

  3. Linux Mint Cinnamon

    No problems.

  4. Linux Mint Mate

    No problems.

  5. Linux Mint Xfce

    Use cut/paste to add file references to the Edit panel (rather than drag/drop).

  6. MX Linux

    Change GTK3 from Breeze to Default Theme.

    The MX default GTK3 theme is called 'Breeze'. This theme generates errors when used with the Player and WebKit. These result in misalignment of widgets on the screen. To compensate, change the setting from Breeze to Default. To do so, go to:

    Settings -> System Settings -> Application Style -> Gnome Application Style (GTK)

    and change 'Select GTK3 Theme' from Breeze to Default.

    This error appears to be a Breeze issue and may be fixed in future releases. Attempts to create a workaround will also be tried in future releases of SGR Player.

  7. Debian (with Wayland disabled)

    See notes above for Ubuntu. As above, Wayland needs to be disabled. Edit the file:

    /etc/gdm3/daemon.conf

    and uncomment (remove #) from the line:

    #WaylandEnable=false

For Linux, please run GeneralInstall.script as root. It will install (apt install) any standard system packages you may be missing. Compile scripts are provided. There is a 'Makefile' but it requires the system libraries which GeneralInstall.script installs.

All code is either GPL2 or MIT license.

Videos on the Windows project (development suspended due to MS removal of GTK3+) are at:

  1. Large Scale Native Windows 10 GTK Application - Part 1

    https://youtu.be/AtUi7pJFRjs

  2. Windows GTK App Part 2 Analysis of Glade file

    https://youtu.be/H96922tU_GQ

  3. Windows GTK App Part3 - C/C++ Code Overview

    https://youtu.be/NJfO8PQ75_o


Spark Gap Radio Casting Encoder

The following is a GTK frontend GUI for ffmpeg casting applications. Most of the documentation is in the tool tips which are shown if you mouse-over an object.

sgr-encoder-src-1.05.tgz