https://github.com/alberto-lazari/fmod-launchpad
TUI sound player and mixer using FMOD Core API
https://github.com/alberto-lazari/fmod-launchpad
fmod fmod-api music music-player sound tui
Last synced: 11 months ago
JSON representation
TUI sound player and mixer using FMOD Core API
- Host: GitHub
- URL: https://github.com/alberto-lazari/fmod-launchpad
- Owner: alberto-lazari
- Created: 2025-07-07T21:31:41.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-08T13:59:02.000Z (12 months ago)
- Last Synced: 2025-07-08T14:03:17.271Z (12 months ago)
- Topics: fmod, fmod-api, music, music-player, sound, tui
- Language: C++
- Homepage:
- Size: 541 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# FMOD Launchpad
A terminal-based sound player built using the FMOD Core API.
The project consists of a library and an executable demo that includes audio assets and a TUI (Text-based UI) to interact with the system.
Developed as a final project of the *Sound Programming* course for the Master in Computer Game Development.

## Library
[`launchpad`](launchpad) is a static library that wraps FMOD's low-level Core API in a more accessible interface,
resembling the behavior of a Launchpad or a general audio player:
- Support for single-shot and looping audio tracks
- Control over multiple audio channels, with individual volume, mute, panning, and play/pause states
The library handles the lifetime of FMOD primitive objects internally,
wrapping them in RAII-style classes that provide safe allocation and release.
## Demo
[`launchpad-demo`](launchpad-demo) is a standalone executable that links against `liblaunchpad` and allows to interact with their objects.
Interaction happen via the terminal, in the form of a TUI,
designed for performing operations quickly,
like playing multiple tracks at the same time.
It comes bundled with a collection of audio samples you can mix and match in real-time to recreate a cover of
[Dreams by Fleetwood Mac](https://www.youtube.com/watch?v=PgagPdVM7bk&list=RDPgagPdVM7bk&start_radio=1).
Interaction is keyboard-based:
- Commands use capital letters (Shift + Key)
- Sounds are assigned a specific key and can be triggered with a single key press
- Press `?` at any time to see the full list of commands and controls
### FAQ
#### **How do I quit? I've been stuck in my terminal for two days!**
I'm glad you asked, it's always important to tell people how to quit your program:
just press `Q` (that's **Shift + Q**).
Thank me later.
## How to Build and Run
Compiled binaries are provided in the Releases section for Windows and macOS,
however if you want to build the project yourself you can:
1. Open `fmod-launchpad.sln` in Visual Studio and Run with the Release configuration
2. Run `make` on macOS from `launchpad-demo/`
## Credits
- Music: myself and my guitar
- Original song: Dreams – Rumours by Fleetwood Mac