Skip to content

A Glyph composition player written with the Qt6 framework in C++ that plays Glyph compositions from Nothing Phones.

License

Notifications You must be signed in to change notification settings

SebiAi/GlyphVisualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a1ac799 · Mar 18, 2025
Jan 30, 2025
Feb 11, 2025
Mar 10, 2025
Jan 29, 2025
Mar 9, 2025
Mar 9, 2025
Jan 29, 2025
Mar 9, 2025
Feb 11, 2025
Feb 11, 2025
Feb 11, 2025
Dec 1, 2023
Mar 18, 2025
Mar 9, 2025

Repository files navigation

GlyphVisualizer

A Glyph composition player written with the Qt6 framework in C++ that plays Glyph compositions from Nothing Phones.
GitHub release (with filter) GitHub License

ko-fi



GlyphVisualizer.Demo.mp4
Credit: First composition by Mr Steel, Second composition by ImSteazyy


✍️ Table of contents


🌟 Features

  • View any composition - an audio file with light data embeded in the metadata - on your desktop, on your OS of choice (Windows, Linux, MacOS)
  • Render the composition to a mp4 video file and share it with your friends (ffmpeg required)
  • Plays compositions from all current Nothing devices
    • Nothing Phone (1)
    • Nothing Phone (2)
    • Nothing Phone (2a) / Nothing Phone (2a) Plus
    • Nothing Phone (3a) / Nothing Phone (3a) Pro

Important

This is not a composition generator! It is a viewer - like a photo viewer. It does not create images, it just displays them.

Tip

This is a tool that is meant to be used in combination with my custom-nothing-glyph-tools scripts (GlyphTranslator, GlyphModder). When you create a custom ringtone or notification tone with these scripts, you want to test them as often as possible. You can use this tool to visualize your composition and rapidly iterate on it - no file transfer to your phone is needed.


📌 Disclaimer

This software is provided as-is without any warranty. I and all other contributors are not responsible for any damage, misuse or other kind of physical or mental damage that results from the use of this software. This repo is in no way, shape or form affiliated with Nothing Technology Limited (NOTHING).


🚀 How to use

Only the composition itself is needed:

  1. Open GlyphVisualizer
  2. Drag and drop your composition 👀
  3. Done 🎉

📥 Installation

Windows portable

  1. Download the latest portable version (GlyphVisualizer-*_windows-x64-portable.zip) from the latest release.
  2. (Optional) Verify file integrity by executing this in PowerShell: CertUtil -hashfile GlyphVisualizer_windows-x64.zip SHA256. Compare that output with the GlyphVisualizer-*_windows-x64-portable.zip.sha256.txt sha256 hash file. If they match, you are good.
  3. Extract the zip file
  4. Install vc_redist.x64.exe which is inside the zip
  5. Run GlyphVisualizer.exe

🐧 Linux

Ubuntu and derivatives

  1. Download the latest version (GlyphVisualizer-*_linux-ubuntu-x64.AppImage) from the latest release.
  2. (Optional) Verify file integrity by downloading GlyphVisualizer-*_linux-ubuntu-x64.AppImage.sha256 to the same directory as the AppImage and running shasum -a 256 -c ./GlyphVisualizer-*_linux-ubuntu-x64.AppImage.sha256. If it outputs 'OK', you are good.
  3. Install dependencies for AppImages: sudo apt install -y libfuse2*
  4. Make the AppImage executable: chmod +x ./GlyphVisualizer-*_linux-ubuntu-x64.AppImage
  5. Run the AppImage - you can use AppImageLauncher to update and integrate the application into your dekstop environment.

MacOS

  1. Download the latest version (GlyphVisualizer-*_macOS-13-x64.dmg) from the latest release.
  2. (Optional) Verify file integrity by downloading GlyphVisualizer-*_macOS-13-x64.dmg.sha256 to the same directory as the disk image file and running shasum -a 256 -c ./GlyphVisualizer-*_macOS-13-x64.dmg.sha256. If it outputs 'OK', you are good.
  3. Run the application

🦺 Need help?

If you need help, look at the Troubleshooting chapter. If this does not help either feel free to use the discussion feature on GitHub or join the Discord Server:


📃 Roadmap

You can find the full roadmap here.


🚧 Compilation

🔩 Build Dependencies

You can use the Qt Online Installer to install Qt, Ninja, CMake and a C++ compiler

⚒️ Build

Clone the repo

git clone https://github.com/SebiAi/GlyphVisualizer.git
cd GlyphVisualizer

Set DCMAKE_PREFIX_PATH to the Qt location and build the application (This command assumes that the libraries like TagLib are properly installed and can be found by CMake)

Windows portable

You can get started quickly by just downloading the Buildtools for Visual Studio and selecting the Desktop development with C++ workload in the installer.

Important

This code assumes that you used vcpkg to install the dependencies for taglib and that the VCPKG_ROOT environment variable is set correctly. See the workflow file for windows on how to install these and how to properly build taglib.

Warning

Set CMAKE_PREFIX_PATH to the location where your Qt installation is located!

set "CMAKE_PREFIX_PATH=%USERPROFILE%\Qt\QTVERSION\PLATFORM"
set "PATH=%CMAKE_PREFIX_PATH%\bin;%PATH%"
set "CMAKE_TOOLCHAIN_FILE=%VCPKG_ROOT%\scripts\buildsystems\vcpkg.cmake"
devscripts\clean-build.bat
devscripts\make-portable.bat

The zip file build\GlyphVisualizer-*_windows-x64-portable.zip contains the portable windows build.

Ubuntu and derivatives

Note

I would recommend to use docker for the build process because it is repeatable and no dependencies need to be installed to the system.

If you don't want that you can use the similar named scripts without docker instead. Then make sure that taglib and Qt (CMAKE_PREFIX_PATH="/path/to/Qt/QTVERSION/PLATFORM") can be found and that you can execute AppImages (apt install libfuse2 libxcb-cursor0).

./devscripts/clean-build-with-docker.sh && ./devscripts/make-appimage-with-docker.sh

The AppImage build/GlyphVisualizer-*_linux-ubuntu-x64.AppImage is the final result.

MacOS

Warning

Set CMAKE_PREFIX_PATH to the location where your Qt installation is located!

CMAKE_PREFIX_PATH="/path/to/Qt/QTVERSION/PLATFORM"
PATH="${CMAKE_PREFIX_PATH}/bin:${PATH}"
./devscripts/clean-build.sh
./devscripts/make-dmg.sh

The disk image file build/GlyphVisualizer-*_macOS-13-x64.dmg is the final result.

⁉️ Troubleshooting

Windows portable

Missing dlls

Missing dll error popup
GlyphVisualizer.exe - System Error

The code execution cannot proceed because MSVCP140.dll was not found. Reinstalling the program may fix this problem.

If you get the error popup above, you need to install the Microsoft Visual C++ Redistributable, which is shipped alongside GlyphVisualizer. Please execute vc_redist.x64.exe to install it.

Important

This also applies if the missing dll is one of the following:

  • MSVCP140.dll
  • VCRUNTIME140_1.dll
  • VCRUNTIME140.dll