{"id":29554382,"url":"https://github.com/alberto-lazari/fmod-launchpad","last_synced_at":"2025-07-18T07:09:46.500Z","repository":{"id":303607335,"uuid":"1015670591","full_name":"alberto-lazari/fmod-launchpad","owner":"alberto-lazari","description":"TUI sound player and mixer using FMOD Core API","archived":false,"fork":false,"pushed_at":"2025-07-08T13:59:02.000Z","size":554,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-08T14:03:17.271Z","etag":null,"topics":["fmod","fmod-api","music","music-player","sound","tui"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alberto-lazari.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-07-07T21:31:41.000Z","updated_at":"2025-07-08T13:50:24.000Z","dependencies_parsed_at":"2025-07-08T14:03:18.907Z","dependency_job_id":"1cf2d7f0-bb15-43f6-be83-2086d6c56284","html_url":"https://github.com/alberto-lazari/fmod-launchpad","commit_stats":null,"previous_names":["alberto-lazari/fmod-launchpad"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/alberto-lazari/fmod-launchpad","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberto-lazari%2Ffmod-launchpad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberto-lazari%2Ffmod-launchpad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberto-lazari%2Ffmod-launchpad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberto-lazari%2Ffmod-launchpad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alberto-lazari","download_url":"https://codeload.github.com/alberto-lazari/fmod-launchpad/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberto-lazari%2Ffmod-launchpad/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265716329,"owners_count":23816356,"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":["fmod","fmod-api","music","music-player","sound","tui"],"created_at":"2025-07-18T07:09:45.787Z","updated_at":"2025-07-18T07:09:46.489Z","avatar_url":"https://github.com/alberto-lazari.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FMOD Launchpad\n\nA terminal-based sound player built using the FMOD Core API.\n\nThe project consists of a library and an executable demo that includes audio assets and a TUI (Text-based UI) to interact with the system.\n\nDeveloped as a final project of the *Sound Programming* course for the Master in Computer Game Development.\n\n![screenshot](.media/screenshot.png)\n\n\n## Library\n\n[`launchpad`](launchpad) is a static library that wraps FMOD's low-level Core API in a more accessible interface,\nresembling the behavior of a Launchpad or a general audio player:\n- Support for single-shot and looping audio tracks\n- Control over multiple audio channels, with individual volume, mute, panning, and play/pause states\n\nThe library handles the lifetime of FMOD primitive objects internally,\nwrapping them in RAII-style classes that provide safe allocation and release.\n\n\n## Demo\n\n[`launchpad-demo`](launchpad-demo) is a standalone executable that links against `liblaunchpad` and allows to interact with their objects.\nInteraction happen via the terminal, in the form of a TUI,\ndesigned for performing operations quickly,\nlike playing multiple tracks at the same time.\n\nIt comes bundled with a collection of audio samples you can mix and match in real-time to recreate a cover of\n[Dreams by Fleetwood Mac](https://www.youtube.com/watch?v=PgagPdVM7bk\u0026list=RDPgagPdVM7bk\u0026start_radio=1).\n\nInteraction is keyboard-based:\n- Commands use capital letters (Shift + Key)\n- Sounds are assigned a specific key and can be triggered with a single key press\n- Press `?` at any time to see the full list of commands and controls\n\n### FAQ\n\n#### **How do I quit? I've been stuck in my terminal for two days!**\nI'm glad you asked, it's always important to tell people how to quit your program:\njust press `Q` (that's **Shift + Q**).\nThank me later.\n\n\n## How to Build and Run\n\nCompiled binaries are provided in the Releases section for Windows and macOS,\nhowever if you want to build the project yourself you can:\n1. Open `fmod-launchpad.sln` in Visual Studio and Run with the Release configuration\n2. Run `make` on macOS from `launchpad-demo/`\n\n\n## Credits\n\n- Music: myself and my guitar\n- Original song: Dreams – Rumours by Fleetwood Mac\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falberto-lazari%2Ffmod-launchpad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falberto-lazari%2Ffmod-launchpad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falberto-lazari%2Ffmod-launchpad/lists"}