godot-FLMusicLib
GDNative library that plays mp3, chiptune and tracker music files using Game Music Emu, Minimp3 and openmpt
YM2608 music tracker ππ
git clone https://github.com/BambooTracker/BambooTracker.gitBambooTracker/BambooTracker
[Build Tests]
English | ζ₯ζ¬θͺ
BambooTracker is a cross-platform music tracker for the Yamaha YM2608 (OPNA) sound chip which was used in NEC PC-8801/9801 series computers.
On the BambooTracker GitHub Wiki, you can find some more details on:
We have an official Discord server where you can chat with BambooTracker users, developers and package maintainers, ask for help, help others and share your tunes on.
BambooTracker currently supports the following languages:
If you'd like to see your language of choice added to the list, join the Discord server and let us know! We can walk you through the steps required to set up the translation tool.
Releases are recommended for most users, as they should provide a good & stable experience.
Nixpkgs package: https://search.nixos.org/packages?query=bambootracker
Declarative installation:
{
environment.systemPackages = with pkgs; [
bambootracker
];
}
Imperative installation:
nix-env -iA nixpkgs.bambootracker
sudo apt install bambootracker
AUR package: https://aur.archlinux.org/packages/bambootracker-git/
pkg install bambootracker
See Building
See KEYCOMMANDS.md.
See EFFECTLIST.md.
See FILEIO.md.
To build BambooTracker, you'll need the following dependencies across all platforms:
How to acquire these and further required / optional dependencies are specific to your OS (distribution).
For simplicity, these instructions assume the use of Homebrew & Qt5.
brew install qt5
Optional dependencies:
JACK: Support for connecting to a JACK server in vendored RtAudio / RtMidi.
Requires JACK (version 1 or 2) headers & libraries.
brew install jack
Optional: pkg-config, can be skipped but may make finding JACK headers & libraries harder.
brew install pkg-config
RtAudio / RtMidi: Use a precompiled RtAudio / RtMidi installation instead of our vendored one.
(Obsoletes the optional dependencies above)
Requires RtAudio (5.1.0 or higher) and/or RtMidi (4.0.0 or higher) + pkg-config.
brew install rt-audio rt-midi pkg-config
Installing dependencies highly depends on your distribution and package manager of choice, search the subsections below for your distribution to find a tested set of install instructions.
Additional dependencies:
Optional dependencies:
# Optional dependencies OPTIONALDEPS="" # PulseAudio OPTIONALDEPS="$OPTIONALDEPS libpulse-dev" # Either: # JACK 1 OPTIONALDEPS="$OPTIONALDEPS libjack-dev" # JACK 2 OPTIONALDEPS="$OPTIONALDEPS libjack-jackd2-dev" # Either / Both: # System-RtAudio OPTIONALDEPS="$OPTIONALDEPS librtaudio-dev" # System-RtMidi OPTIONALDEPS="$OPTIONALDEPS librtmidi-dev" # Install dependencies apt install \ build-essential \ qt5-default qttools5-dev-tools \ libasound2-dev \ $OPTIONALDEPS
# Optional dependencies OPTIONALDEPS="" # PulseAudio OPTIONALDEPS="$OPTIONALDEPS libpulse" # Either: # JACK 1 OPTIONALDEPS="$OPTIONALDEPS jack" # JACK 2 OPTIONALDEPS="$OPTIONALDEPS jack2" # Either / Both: # System-RtAudio OPTIONALDEPS="$OPTIONALDEPS rtaudio" # System-RtMidi OPTIONALDEPS="$OPTIONALDEPS rtmidi" # Install dependencies pacman -S \ qt5-tools \ alsa-plugins \ $OPTIONALDEPS
Mostly like Linux:
If you managed to get BambooTracker manually compiled on a BSD system, feel free to open a Pull Request and add your dependency install instructions here!
These compilation instructions assume CLI usage, though it's possible to use an IDE like Qt Creator instead. They should generally work on all platforms, specific changes are mentioned in the subsections below.
Qmake options (flags/switches):
C:\BambooTracker/usr/localPREFIX=C:\Users\Owner\Programs\BambooTracker+= to add & -= to remove an option.
1: Only works on Linux and BSD.
2: Shipped & auto-detected(?) on FreeBSD but possibly not functional in RtAudio.
3: API technically supported on Windows but unlikely to compile in Rt library.
4: Builds code that doesn't use an OSI-certified license. Only supported on Windows.
Example:
# Where you want to locally keep the source code clone cd /home/owner/devel # Replace --recurse-submodules with --recurse-submodules=submodules/emu2149/src if CONFIG+=system_rtaudio AND CONFIG+=system_rtmidi will be used git clone https://github.com/BambooTracker/BambooTracker --recurse-submodules cd BambooTracker # Configure qmake PREFIX=/usr/local CONFIG-=debug CONFIG+=release CONFIG+=use_alsa CONFIG+=use_pulse CONFIG+=use_jack # Recursively initialises subprojects properly, dependency tests may be flakey if run multithreaded make qmake_all # Compile with 4 threads make -j4 # Installs to PREFIX make install
Enter a shell with Qt + your compiler set up before starting the above steps. (Qt installer adds scripts you can use for this)
mingw32-make / mingw64-make instead of make.Qt Creator may be used for a more graphical compilation process instead.
If you decided to use Homebrew's JACK without pkg-config, you may need to help the build process out by
passing qmake some additional arguments: LIBS+=-L/usr/local/opt/jack/lib INCLUDEPATH+=/usr/local/opt/jack/include.
BambooTracker can be built via FreeBSD ports instead:
cd /usr/ports/audio/bambootracker make install clean
See CHANGELOG.md.
This program and its source code are licensed under the GNU General License Version 2 or later.
See LICENSE and licenses/list.md for details.
I would like to thank the following people for making it:
more like this
GDNative library that plays mp3, chiptune and tracker music files using Game Music Emu, Minimp3 and openmpt
search projects, people, and tags