Giter Site home page Giter Site logo

agbplay-gui's Introduction

agbplay-gui

agbplay-gui is a music player for Game Boy Advance ROMs that use the MusicPlayer2000 (mp2k/m4a/"Sappy") sound engine. It is based on agbplay by ipatix.

agbplay-gui screenshot

Building

agbplay-gui depends on the following libraries:

  • Qt 5
  • PortAudio

A build script is provided for compiling on Windows using MSYS2. This script will download and build the required dependencies automatically. This script also supports cross compiling agbplay-gui from a non-Windows system with MinGW.

First ensure that the agbplay submodule is checked out and up to date:

  • git submodule update --init --recursive

To build on Windows using the automatic build script:

  • make -C windows

To cross-compile a 32-bit binary using MinGW:

  • make -C windows CROSS=mingw32

To cross-compile a 64-bit binary using MinGW:

  • make -C windows CROSS=mingw64

To build using locally-installed libraries:

  • qmake
  • make

License

agbplay-gui is created by Adam Higerd. It is derived from agbplay by ipatix. Both agbplay and agbplay-gui are distributed under the terms of the LGPLv3.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

For more information about the GNU Lesser General Public License, see https://www.gnu.org/licenses.

agbplay source code: https://github.com/ipatix/agbplay

agbplay-gui's People

Contributors

ahigerd avatar

Stargazers

SatyrDiamond avatar  avatar Simone avatar  avatar  avatar  avatar Akatsuki avatar loveemu avatar Liu Wenyuan avatar  avatar  avatar RayCarrot avatar Avery avatar

Watchers

 avatar

Forkers

kurausukun

agbplay-gui's Issues

Multiple song table support

Some games such as Mother 1+2 and Dr. Mario & Puzzle League have more than one song table. Add support for scanning for and selecting between multiple song tables.

Per-game preferences

agbplay.json exposes a lot of per-game options that should be pretty straightforward to expose in a settings window.

Cannot export

Hello, there is a problem when I export a track.
When it finishes, it doesn't show an output file. So, what is wrong?

JSON playlist import/export

agbplay.json isn't the most convenient way to exchange playlists with other users. Being able to import and export playlists so that the user doesn't have to manually edit agbplay.json would help with usability.

It might also be a good idea to support playlists that can be loaded directly and link to a ROM file in order to support ROM hacks that have the same four-character code.

Illegal Byte Sequence

Whenever I load a ROM this error appears.
image
However this is fixed when I move it to C:/

Popping noises in exported WAVEs.

I've only noticed this in one game, Kuru Kuru Kururin (Europe), but it's happened after multiple exports. This doesn't occur in the player, only exports.

GSF playlist import

agbplay has playlist_from_gsf.py for creating agbplay playlists from a collection of minigsf files. agbplay-gui doesn't want to add a Python dependency, so this script will need to be ported.

Build Script Broken

Build Script does not currently seem to work on Windows 10.

The following Error is the result

The build script does not currently recognize all
platforms supported by Qt.
Rerun this script with a -platform option listed to
set the system/compiler combination you use.

gsflib playback

Playing back gsflibs ought to be possible. Unfortunately, agbplay doesn't expose an API for loading data from a buffer instead of from disk, and does a validity check on the ROM header, which gsflibs might not have preserved.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.