Nov 17, 2022
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.

Note: In the Windows-11 WSL2 apps, only sound that is played within WSL2 (i.e., PulseAudio) is accessible to the metering graphics. Sound played by Windows apps on the Windows desktop are not forwarded to WSL2/PulseAudio. Thus, if you start VLC in Windows, the meters will not see the audio. If you start VLC in WSL2 (Ubuntu), they will.

Spark Gap Radio Player
Free Open-Source
Internet Radio Automation & Media Player System
for Linux and Windows 11 with WSL2


README.txt which contains important information for Windows 11 users.

Installation and usage videos are listed below.


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:


    and uncomment (remove #) from the line:


    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:


    and uncomment (remove #) from the line:


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.

Old Windows Native Version - Requires GTK3

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

  2. Windows GTK App Part 2 Analysis of Glade file

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

VU Meters for Linux Pulse Audio (Windows 11 WSL2 Compatible)

A collection of VU meters for Pulse Audio. Requires appropriate GTK and development libraries. Use GeneralInstall.script in the Player code above for installation of needed libraries. Works with Windows-11 WSL2 Ubuntu.


Spark Gap Radio Clock (Works with Windows 11 WSL2 Ubuntu)

A simple desktop clock application giving examples of GTK/Glade/Cairo/C programming. Some development libraries may be required. Use GeneralInstall.script in the Player code above for installation of needed libraries. Works with Windows-11 WSL2 Ubuntu.


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.