{"id":13728154,"url":"https://github.com/BambooTracker/BambooTracker","last_synced_at":"2025-05-08T00:31:18.966Z","repository":{"id":37088479,"uuid":"138806664","full_name":"BambooTracker/BambooTracker","owner":"BambooTracker","description":"YM2608 music tracker 🎍🎋","archived":false,"fork":false,"pushed_at":"2024-10-18T12:59:06.000Z","size":16405,"stargazers_count":486,"open_issues_count":48,"forks_count":28,"subscribers_count":26,"default_branch":"master","last_synced_at":"2024-10-19T20:35:38.680Z","etag":null,"topics":["chiptune","chiptune-tracker","opna","pc98","tracker","ym2608"],"latest_commit_sha":null,"homepage":"https://bambooTracker.github.io/BambooTracker/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BambooTracker.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-27T00:00:23.000Z","updated_at":"2024-10-18T12:59:09.000Z","dependencies_parsed_at":"2022-08-08T19:15:21.465Z","dependency_job_id":"7defd578-3cb3-43e8-a74c-bf0bb78ef8db","html_url":"https://github.com/BambooTracker/BambooTracker","commit_stats":null,"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BambooTracker%2FBambooTracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BambooTracker%2FBambooTracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BambooTracker%2FBambooTracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BambooTracker%2FBambooTracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BambooTracker","download_url":"https://codeload.github.com/BambooTracker/BambooTracker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224679833,"owners_count":17351875,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chiptune","chiptune-tracker","opna","pc98","tracker","ym2608"],"created_at":"2024-08-03T02:00:37.930Z","updated_at":"2024-11-14T19:30:42.500Z","avatar_url":"https://github.com/BambooTracker.png","language":"C++","funding_links":[],"categories":["Demomaking"],"sub_categories":["Audio \u0026 Synths"],"readme":"\u003c!-- Icon \u0026 Title --\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./data/icons/128x128/apps/BambooTracker.png\" alt=\"BambooTracker-icon\"\u003e\n  \u003ch1 align=\"center\"\u003eBambooTracker\u003c/h1\u003e\n\u003c/p\u003e\n\u003c!-- Badges --\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/BambooTracker/BambooTracker/releases\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/BambooTracker/BambooTracker?color=brightgreen\" alt=\"BambooTracker Version Number (autogenerated image)\"\u003e\n  \u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/platforms-windows%20|%20macos%20|%20linux%20|%20bsd-yellow.svg\" alt=\"BambooTracker Platforms: Windows, macOS, Linux, BSD\"\u003e\n  \u003ca href=\"./LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/license-GPL--2.0%2B-orange\" alt=\"BambooTracker License: GPL-2.0 or later\"\u003e\n  \u003c/a\u003e\n  \u003cbr\u003e\n  [Build Tests]\u003cbr\u003e\n  \u003ca href=\"https://github.com/BambooTracker/BambooTracker/actions?query=workflow%3A%22Windows+10+%2864-bit%2C+Qt6%29%22\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/BambooTracker/BambooTracker/windows-10-qt6.yml?label=Windows%2010\u0026logo=windows\" alt=\"BambooTracker Build-Test Status on Windows (Qt6)\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/BambooTracker/BambooTracker/actions?query=workflow%3AmacOS\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/BambooTracker/BambooTracker/macos.yml?label=macOS\u0026logo=apple\" alt=\"BambooTracker Build-Test Status on macOS\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/BambooTracker/BambooTracker/actions?query=workflow%3A%22Linux+%28Ubuntu%29%22\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/BambooTracker/BambooTracker/ubuntu.yml?label=Ubuntu\u0026logo=ubuntu\u0026logoColor=white\" alt=\"BambooTracker Build-Test Status on Linux (Ubuntu)\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/BambooTracker/BambooTracker/actions?query=workflow%3A%22Linux+%28Nixpkgs%29%22\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/BambooTracker/BambooTracker/ubuntu.yml?label=Nixpkgs\u0026logo=nixos\u0026logoColor=white\" alt=\"BambooTracker Build-Test Status on Linux (Nixpkgs)\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://ci.appveyor.com/project/BambooTracker/bambootracker\"\u003e\n    \u003cimg src=\"https://img.shields.io/appveyor/build/BambooTracker/BambooTracker?label=Appveyor\u0026logo=appveyor\u0026logoColor=white\" alt=\"BambooTracker Development-Build Status\"\u003e\n  \u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"./README.md\"\u003eEnglish\u003c/a\u003e | \u003ca href=\"./README_ja.md\"\u003e日本語\u003c/a\u003e\n\u003c/p\u003e\n\nBambooTracker is a cross-platform music tracker for the Yamaha YM2608 (OPNA) sound chip which was used in NEC PC-8801/9801 series computers.\n\n## Table of Contents\n\n1. [Wiki](#wiki)\n2. [Community](#community)\n3. [Translations](#translations)\n4. [Downloads](#downloads)  \n  4.1. [Releases (Windows, macOS, Linux)](#releases-windows-macos-linux)  \n  4.2. [Development Builds (Windows, macOS)](#development-builds-windows-macos)  \n  4.3. [Packages (macOS, Linux, BSD)](#packages-macos-linux-bsd)\n5. [Key Commands](#key-commands)\n6. [Effect List](#effect-list)\n7. [File I/O](#file-io)\n8. [Building](#building)  \n  8.1. [Dependencies](#dependencies)  \n  8.2. [Compilation](#compilation)\n9. [Changelog](#changelog)\n10. [License](#license)\n11. [Credits](#credits)\n\n## Wiki\n\nOn the [BambooTracker GitHub Wiki](https://github.com/BambooTracker/BambooTracker/wiki), you can find some more details on:\n\n- what a Tracker is\n- what BambooTracker is \u0026 what it supports\n- how to navigate \u0026 use BambooTracker's interface\n- how to control the Yamaha YM2608 sound chip in the context of BambooTracker\n\n## Community\n\nWe have an [official Discord server](https://discord.gg/gBscTMF) where you can chat with BambooTracker users, developers and package maintainers, ask for help, help others and share your tunes on.\n\n## Translations\n\nBambooTracker currently supports the following languages:\n\n- English (default)\n- 日本語 / Japanese\n- Français / French\n- Polski / Polish\n- Español / Spanish\n\nIf 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.\n\n## Downloads\n\n### Releases (Windows, macOS, Linux)\n\nReleases are recommended for most users, as they should provide a good \u0026 stable experience.\n\n[![Release](https://img.shields.io/badge/Download-Release-brightgreen?style=for-the-badge)](https://github.com/BambooTracker/BambooTracker/releases/latest)\n\n### Development Builds (Windows, macOS)\n\nDevelopment builds are built \u0026 uploaded whenever a code change has been committed to the base repository *or a pull request*.\nThey thus offer the latest or in-development features and fixes, but are not optimised for regular use.\n\n[![Development Build](https://img.shields.io/badge/Download-Development%20Build-yellow?style=for-the-badge)](https://ci.appveyor.com/project/BambooTracker/bambootracker)\n\n- If you're looking for\n  - the latest merged commit, make sure **ONLY**  \n    `master -o- (some numbers \u0026 letters)`  \n    is displayed at the top instead of  \n    `master -o- (some numbers \u0026 letters) ← in_development-bugfix (some numbers \u0026 letters)`\n  - a specific Pull Request, make sure that it says  \n    `Pull request #(Pull Request ID)`  \n    in the top left  \n\n  ... otherwise check the History tab to find whichever of those you need.\n- In the \"Job name\" column, find the row that says `APPVEYOR_JOB_NAME=for (your OS)` and click on it.\n- On the new page, click on the `Artifacts` tab on the right to get to the download page.\n\n### Packages (macOS, Linux, BSD)\n\n[![Packaging status](https://repology.org/badge/vertical-allrepos/bambootracker.svg)](https://repology.org/project/bambootracker/versions)\n\n#### Nixpkgs (macOS, Linux)\n\nNixpkgs package: \u003chttps://search.nixos.org/packages?query=bambootracker\u003e\n\nDeclarative installation:\n\n```nix\n{\n  environment.systemPackages = with pkgs; [\n    bambootracker\n  ];\n}\n```\n\nImperative installation:\n\n```sh\nnix-env -iA nixpkgs.bambootracker\n```\n\n#### Debian / Ubuntu\n\n```sh\nsudo apt install bambootracker\n```\n\n#### Arch / Manjaro\n\nAUR package: \u003chttps://aur.archlinux.org/packages/bambootracker-git/\u003e\n\n#### FreeBSD\n\n```sh\npkg install bambootracker\n```\n\n#### Other\n\nSee [Building](#building)\n\n## Key Commands\n\n*See [KEYCOMMANDS.md](./KEYCOMMANDS.md).*\n\n## Effect List\n\n*See [EFFECTLIST.md](./EFFECTLIST.md).*\n\n## File I/O\n\n*See [FILEIO.md](./FILEIO.md).*\n\n## Building\n\n### Dependencies\n\nTo build BambooTracker, you'll need the following dependencies across all platforms:\n\n- Qt (5.5 or higher)\n- Qt Tools (qmake, lrelease, ...)\n- A Qt-supported C++ compiler (GCC, Clang, MSVC, ...)\n- make\n\nHow to acquire these and further required / optional dependencies are specific to your OS (distribution).\n\n#### Windows\n\n- C++ compiler: You can use either of these options\n  - MinGW  \n    Should be a bundled option in the Qt installer.  \n    Otherwise check the Qt docs for your Qt version's compatible GCC version.\n  - Clang  \n    Untested but might work.\n  - MSVC  \n    Either bundled with [Visual Studio](https://visualstudio.microsoft.com) or standalone (check \"Build Tools for Visual Studio 2019\" download).\n- [Qt](https://www.qt.io/download-qt-installer):\n  Older Qt versions (e.g. for an XP builds) may require you to checkout \u0026 compile Qt yourself, official prebuilt versions were removed by Qt.\n\n#### macOS\n\nFor simplicity, these instructions assume the use of [Homebrew](https://brew.sh/) \u0026 Qt5.\n\n- C++ compiler: Xcode Command Line Tools  \n  The challenge of acquiring these is left to the reader.  \n  (The developer writing this doesn't use macOS, try looking on the web for a guide perhaps)\n- Qt5:  \n\n```bash\nbrew install qt5\n```\n\n**Optional dependencies**:\n\n- JACK: Support for connecting to a JACK server in vendored RtAudio / RtMidi.  \n  Requires JACK (version 1 or 2) headers \u0026 libraries.  \n\n  ```bash\n  brew install jack\n  ```\n\n  Optional: pkg-config, can be skipped but may make finding JACK headers \u0026 libraries harder.  \n\n  ```bash\n  brew install pkg-config\n  ```\n\n- RtAudio / RtMidi: Use a precompiled RtAudio / RtMidi installation instead of our vendored one.  \n  (Obsoletes the optional dependencies above)  \n  Requires RtAudio (5.1.0 or higher) and/or RtMidi (4.0.0 or higher) + pkg-config.\n\n  ```bash\n  brew install rt-audio rt-midi pkg-config\n  ```\n\n#### Linux\n\nInstalling 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.\n\n**Additional dependencies**:\n\n- ALSA: Required for minimal audio \u0026 MIDI support.  \n  Requires ALSA headers \u0026 libraries.\n\n**Optional dependencies**:\n\n- PulseAudio: Support for connecting to a PulseAudio server in vendored RtAudio.  \n  Requires PulseAudio headers \u0026 libraries.  \n  Optional: pkg-config, can be skipped but may make finding PulseAudio headers \u0026 libraries harder.\n- JACK: Support for connecting to a JACK server in vendored RtAudio / RtMidi.  \n  Requires JACK (version 1 or 2) headers \u0026 libraries.  \n  Optional: pkg-config, can be skipped but may make finding JACK headers \u0026 libraries harder.\n- RtAudio / RtMidi: Use a precompiled RtAudio / RtMidi installation instead of our vendored one.  \n  (Obsoletes the optional dependencies above)  \n  Requires RtAudio (5.1.0 or higher) and/or RtMidi (4.0.0 or higher) + pkg-config.\n\n##### Debian / Ubuntu\n\n```bash\n# Optional dependencies\nOPTIONALDEPS=\"\"\n\n# PulseAudio\nOPTIONALDEPS=\"$OPTIONALDEPS libpulse-dev\"\n\n# Either:\n# JACK 1\nOPTIONALDEPS=\"$OPTIONALDEPS libjack-dev\"\n# JACK 2\nOPTIONALDEPS=\"$OPTIONALDEPS libjack-jackd2-dev\"\n\n# Either / Both:\n# System-RtAudio\nOPTIONALDEPS=\"$OPTIONALDEPS librtaudio-dev\"\n# System-RtMidi\nOPTIONALDEPS=\"$OPTIONALDEPS librtmidi-dev\"\n\n# Install dependencies\napt install \\\n  build-essential \\\n  qt5-default qttools5-dev-tools \\\n  libasound2-dev \\\n  $OPTIONALDEPS\n```\n\n##### Arch Linux / Manjaro\n\n```bash\n# Optional dependencies\nOPTIONALDEPS=\"\"\n\n# PulseAudio\nOPTIONALDEPS=\"$OPTIONALDEPS libpulse\"\n\n# Either:\n# JACK 1\nOPTIONALDEPS=\"$OPTIONALDEPS jack\"\n# JACK 2\nOPTIONALDEPS=\"$OPTIONALDEPS jack2\"\n\n# Either / Both:\n# System-RtAudio\nOPTIONALDEPS=\"$OPTIONALDEPS rtaudio\"\n# System-RtMidi\nOPTIONALDEPS=\"$OPTIONALDEPS rtmidi\"\n\n# Install dependencies\npacman -S \\\n  qt5-tools \\\n  alsa-plugins \\\n  $OPTIONALDEPS\n```\n\n#### BSD\n\nMostly like Linux:\n\n- ALSA is optional\n- OSS4 headers \u0026 libraries is required instead\n\nIf 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!\n\n### Compilation\n\nThese 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.\n\nQmake options (flags/switches):\n\n- PREFIX: Where to install the completed build.  \n  Default:  \n  - Windows: `C:\\BambooTracker`\n  - macOS/Linux/BSD: `/usr/local`  \n  Example: `PREFIX=C:\\Users\\Owner\\Programs\\BambooTracker`\n- CONFIG  \n  Can be specified multiple times to add multiple options.  \n  Use `+=` to add \u0026 `-=` to remove an option.\n  - debug: A debug build, may be helpful for debugging crashes.\n  - release: A release build, more optimised \u0026 slimmer than a debug one.\n  - install_flat: Don't use Linux FHS paths under PREFIX during installation. (Default on Windows)\n  - install_minimal: Skip installation of non-essential files.\n  - use_alsa: Compile vendored RtAudio \u0026 RtMidi with explicit support for ALSA\u003csup\u003e1\u003c/sup\u003e. (Default on Linux)\n  - use_oss: Compile with explicit support for OSS4\u003csup\u003e2\u003c/sup\u003e. (Default on BSD)\n  - use_pulse: Compile vendored RtAudio with explicit support for PulseAudio\u003csup\u003e1\u003c/sup\u003e.\n  - use_jack: Compile with explicit support for JACK 1/2\u003csup\u003e13\u003c/sup\u003e.\n  - system_rtaudio: Skips RtAudio compilation and links against the system's RtAudio installation instead.\n  - system_rtmidi: Skips RtMidi compilation and links against the system's RtMidi installation instead.\n  - real_chip: Compile with support for SCCI and C86CTL interfaces to a real OPNA chip\u003csup\u003e4\u003c/sup\u003e. (Default on Windows)\n\n\u003csup\u003e1\u003c/sup\u003e: Only works on Linux and BSD.  \n\u003csup\u003e2\u003c/sup\u003e: Shipped \u0026 auto-detected(?) on FreeBSD but possibly not functional in RtAudio.  \n\u003csup\u003e3\u003c/sup\u003e: API technically supported on Windows but unlikely to compile in Rt library.  \n\u003csup\u003e4\u003c/sup\u003e: Builds code that doesn't use an OSI-certified license. Only supported on Windows.\n\nExample:\n\n```bash\n# Where you want to locally keep the source code clone\ncd /home/owner/devel\n\n# Replace --recurse-submodules with --recurse-submodules=submodules/emu2149/src if CONFIG+=system_rtaudio AND CONFIG+=system_rtmidi will be used\ngit clone https://github.com/BambooTracker/BambooTracker --recurse-submodules\ncd BambooTracker\n\n# Configure\nqmake PREFIX=/usr/local CONFIG-=debug CONFIG+=release CONFIG+=use_alsa CONFIG+=use_pulse CONFIG+=use_jack\n\n# Recursively initialises subprojects properly, dependency tests may be flakey if run multithreaded\nmake qmake_all\n\n# Compile with 4 threads\nmake -j4\n\n# Installs to PREFIX\nmake install\n```\n\n#### Windows\n\nEnter a shell with Qt + your compiler set up before starting the above steps. (Qt installer adds scripts you can use for this)\n\n- If you're using MinGW, use `mingw32-make` / `mingw64-make` instead of `make`.\n- If you're using MSVC, **TODO**.\n\nQt Creator may be used for a more graphical compilation process instead.\n\n#### macOS\n\nIf you decided to use Homebrew's JACK without pkg-config, you may need to help the build process out by\npassing `qmake` some additional arguments: `LIBS+=-L/usr/local/opt/jack/lib INCLUDEPATH+=/usr/local/opt/jack/include`.\n\n##### FreeBSD\n\nBambooTracker can be built via FreeBSD ports instead:\n\n```bash\ncd /usr/ports/audio/bambootracker\nmake install clean\n```\n\n## Changelog\n\n*See [CHANGELOG.md](./CHANGELOG.md).*\n\n## License\n\nThis program and its source code are licensed under the GNU General License Version 2 or later.\n\n*See [LICENSE](./LICENSE) and [licenses/list.md](./licenses/list.md) for details.*\n\n## Credits\n\nI would like to thank the following people for making it:\n\n- Qt team for Qt framework\n- Tatsuyuki Satoh, Jarek Burczynski and Valley Bell for the codes of MAME YM2608 chip emulation\n- Digital Sound Antiques for emu2149\n- Decidetto for the application icon\n- Mark James for Silk icons used for some other icons\n- VGMRips team for the VGM file format documentation\n- Some tracker creators, especially HertzDevil of 0CC-FamiTracker, Leonardo Demartino (delek) of Deflemask Tracker, Lasse Öörni (Cadaver) of GoatTracker for UI and routines of the tracker and tildearrow of Furnace Tracker\n- Vitaly Novichkov (Wohlstand) for WOPN instrument format files\n- maak, SuperJet Spade, Dippy, RigidatoMS and ImATrackMan for sample modules\n- papiezak and Takeshi Abo for sample instruments\n- Yuzu4K for sample skin\n- Ru^3 for S98 file format documentation\n- がし３ (gasshi) for SCCI libraries\n- honet for C86CTL libraries\n- Gary P. Scavone and others for RtAudio and RtMidi libraries\n- Thanks Alexey Khokholov (Nuke.YKT) and Jean Pierre Cimalando for Nuked OPN-Mod emulation\n- Jean Pierre Cimalando and Olivier Humbert for French translation\n- freq-mod and Midori for Polish translation\n- binarycasper for Spanish translation\n- Ian Karlsson for ADPCM encoder/decoder\n- Aaron Giles for ymfm\n- Shay Green for resampling library\n- And everyone who helps this project!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBambooTracker%2FBambooTracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBambooTracker%2FBambooTracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBambooTracker%2FBambooTracker/lists"}