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

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

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


✍️ Table of contents


❔ What is this? Why would I need that?

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.

And apart from that, you can use it if you want to view the composition without having access to a Nothing Phone.


πŸ“Œ 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. Go to File->Open Composition OR press CTRL + O
  3. Make sure Audio file (ogg) is selected
  4. Select your composition and hit Open

πŸ“₯ 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

About

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

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages