chrg127 / gmplayer Goto Github PK
View Code? Open in Web Editor NEWMusic player for game music
License: GNU General Public License v3.0
Music player for game music
License: GNU General Public License v3.0
GMPLAYER gmplayer is a music player for retro game music. It's a minimal player directed at a more casual audience, and offers the usual features such as playlists, playback speed, fade, MPRIS support and more. SUPPORTED FORMATS The supported formats correspond to GME's supported formats. Here's a comprehensive list: - SPC (SPC700, Super Nintendo Entertainment System) - GYM (Gensis YM2612, Sega Genesis) - NSF (Nintendo Entertainment System) - NSFE (Nintendo Entertainment System) - GBS (Game Boy) - AY (AY-3-8910 chip, used on Amstrad CPC, ZX Spectrum) - KSS (Konami Sound System chip, used in MSX, Sega Master System and Game Gear) - HES (NEC Home Entertainment System i.e. PC Engine/TurboGrafx) - VGM (Video Game Music, generic) - SAP (Slight Atari Player, used on Atari computers) OTHER FEATURES - Playlists, of course. - An MPRIS interface. - A small visualizer. - GUI and console/terminal interfaces. - Very, very small. DEPENDECIES The following libraries have been used for building this player and are required when installing: - Game_Music_Emu (GME): https://bitbucket.org/mpyne/game-music-emu/wiki/Home - Qt5 (base, gui, widgets): https://www.qt.io/ - SDL2: https://www.libsdl.org Assuming you are in a debian-based distribution, Qt5 and SDL2 can be installed with the following command: sudo apt install qtbase5-dev libsdl2-dev For other distributions the specific names of the package may vary. COMPILING AND INSTALLING Once the dependencies above have been installed, the project can simply be built using CMake: cmake . -B build -DCMAKE_BUILD_TYPE=Release make -C build make -C build install # currently may not work The commands should be run under the project's root directory. For cmake: - -B specifies the directory to put the build files - -DCMAKE_BUILD_TYPE=Release specifies to build in release mode - -DCMAKE_CXX_FLAGS="-mwindows" should be added in case you are doing a windows build: it will cause not to spanw a useless cmd window when running the program When running CMake, you can also choose what interface to compile using -DGMP_INTERFACE=[interfacename]. [interfacename] can be: - qt: the default interface. The program will use a full GUI interface that should be fully cross-platform. - console: a more minimal interface, intended for console/terminal/headless interfaces. It probably won't work on non-linux OSes. You can also choose to build with or without MPRIS support by passing -DBUILD_MPRIS=ON or OFF. For make, -C specifies the directory where to find the Makefile. When compilation is completed, the executable should be found inside build/. WINDOWS On Windows, you must install both conan and Qt already. You should install Qt through the online installer. When everything is installed, issue the following commands on the project root: set QT_DIR=/path/to/qt conan install . --output-folder=build --build=missing cd build cmake .. -DGMP_INTERFACE=qt -DBUILD_MPRIS=OFF -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DCMAKE_PREFIX_PATH=%QT_DIR% cmake --build . --config Release cmake --install . Where: - /path/to/qt is where your Qt installation is located. Note that it's not enough to specify C:\Qt here; for example, if you've got an installation with Qt 6.6.1 and MSVC 2019, you should specify C:\Qt\6.6.1\msvc2019_64 - conan will install the needed libraries (zlib, sdl, fmt) inside the build/ directory - The CMake command specifies the Qt interface and turns off MPRIS support - The second CMake command specifies to build in Release mode - In the third CMake command you may specify a directory to install to by using --prefix <dir>
Hello, any plans for a headless mode? I have a small project where i play a lot of these formats from a floppy disk on a headless pi, but only a few programs support playing these formats and even less have headless functionality.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.