Nulloy
Music player with a waveform progress bar
Install / Use
/learn @nulloy/NulloyREADME
Nulloy Music Player

More screenshots: https://nulloy.com/screenshots/
Build Instructions
<details> <summary>Windows</summary>Prerequisites
- Qt 5 offline installer https://www.qt.io/offline-installers/
- GStreamer 1.0 MinGW 32-bit (runtime and development installers) http://gstreamer.freedesktop.org/download/
- pkg-config and its dependencies (glib and gettext-runtime) https://download.gnome.org/binaries/win32/dependencies/, https://download.gnome.org/binaries/win32/glib/
- CMake http://www.cmake.org/
- TagLib source code https://github.com/taglib/taglib/
- ImageMagick https://imagemagick.org/script/download.php#windows
- 7zip http://www.7-zip.org/
Disconnect from the Internet to skip creating Qt account. Run Qt 5 offline installer and select only the following components:
+ Qt
+ Qt 5
- Qt Prebuilt Components for MinGW 32-bit
- Qt Script
+ Developer and Designer Tools
- MinGW 32-bit toolchain
Extract pkg-config and its dependencies into C:\Downloads\pkg-config.
Install GStreamer runtime and development packages. Open command prompt and execute:
del C:\gstreamer\1.0\mingw_x86\lib\libstdc++.a
Extract and / or install the rest of the prerequisites.
Build TagLib
Run Qt MinGW terminal and execute:
C:\Downloads\taglib
cmake.exe -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DZLIB_INCLUDE_DIR=C:\gstreamer\1.0\mingw_x86\include -DCMAKE_INSTALL_PREFIX="."
mingw32-make
mingw32-make install
Build & Run Nulloy
In the same terminal execute:
set PATH=C:\Program Files\7-Zip;%PATH%
set PATH=C:\gstreamer\1.0\mingw_x86\bin;%PATH%
set PATH=C:\Downloads\pkg-config\bin;%PATH%
set PKG_CONFIG_PATH=C:\gstreamer\1.0\mingw_x86\lib\pkgconfig;%PKG_CONFIG_PATH%
set PKG_CONFIG_PATH=C:\Downloads\taglib\lib\pkgconfig;%PKG_CONFIG_PATH%
set GST_PLUGIN_PATH=C:\gstreamer\1.0\mingw_x86\lib
cd C:\Downloads\nulloy
configure.bat
mingw32-make
copy /B /Y C:\gstreamer\1.0\mingw_x86\bin\*.dll .
del libstdc++-6.dll
copy /B /Y C:\Downloads\taglib\bin\libtag.dll .
windeployqt Nulloy.exe
Nulloy.exe
</details>
<details>
<summary>macOS</summary>
Prerequisites
- Xcode Command Line Tools
- MacPorts http://www.macports.org/ or HomeBrew https://brew.sh/
Environment
Install Xcode Command Line Tools:
xcode-select --install
Dependences
First install either MacPorts or HomeBrew.
MacPorts
After installing MacPorts:
sudo port install pkgconfig qt5 qt5-qtscript qt5-qttools gstreamer1 gstreamer1-gst-plugins-base taglib ImageMagick librsvg
export PATH=/opt/local/libexec/qt5/bin:$PATH
# install extra GStreamer plugins for more audio formats
sudo port install gstreamer1-gst-plugins-good gstreamer1-gst-plugins-bad gstreamer1-gst-plugins-ugly
cd nulloy.git
./configure
make
open nulloy.app
HomeBrew
After installing HomeBrew:
brew install pkgconfig qt5 gstreamer gst-plugins-base taglib imagemagick librsvg
export PATH=/usr/local/opt/qt/bin:$PATH
# install extra GStreamer plugins for more audio formats
brew install gst-plugins-good gst-plugins-bad gst-plugins-ugly
cd nulloy.git
./configure
make
open nulloy.app
Xcode
Generate Xcode project file:
cd nulloy.git
./configure --xcode
open nulloy.xcodeproj
Build widget_collection, plugin_taglib and plugin_gstreamer targets. It may take several attempts to build, but it should succeed eventually.
Build and run nulloy target.
Dependences
DEB-based distro
apt install g++ qttools5-dev qtscript5-dev qtbase5-private-dev libqt5x11extras5-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev zip libx11-dev libx11-xcb-dev libtag1-dev imagemagick librsvg2-bin libqt5svg5-dev
# install extra GStreamer plugins for more audio formats
apt install gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly
RPM-based distro
yum install gcc-c++ qt5-qtbase-devel qt5-qttools-devel qt5-qttools-static qt5-qtscript-devel qt5-qtbase-private-devel qt5-linguist gstreamer1-plugins-base-devel gstreamer1-devel zip libX11-devel libxcb-devel taglib-devel ImageMagick librsvg2 qt5-qtsvg-devel
# install extra GStreamer plugins for more audio formats
yum install gstreamer1-plugins-good gstreamer1-plugins-bad gstreamer1-plugins-ugly
Build & Run Nulloy
cd nulloy.git
./configure
make
./nulloy
</details>
License
Related Skills
node-connect
337.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
337.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.2kCommit, push, and open a PR
