{"id":30858911,"url":"https://github.com/pixelsuft/tinyfoo","last_synced_at":"2026-05-14T23:08:30.456Z","repository":{"id":304326964,"uuid":"994106498","full_name":"Pixelsuft/tinyfoo","owner":"Pixelsuft","description":"Simple music player written in C++ with SDL3 and ImGui","archived":false,"fork":false,"pushed_at":"2025-08-12T06:18:25.000Z","size":536,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-12T08:22:48.024Z","etag":null,"topics":["audio","bass","cpp","cross-platform","fmod","foobar","foobar2000","gui","imgui","mixer","music","player","sdl","sdl3","soloud","un4seen-bass","vlc"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pixelsuft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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-06-01T08:08:23.000Z","updated_at":"2025-08-12T06:18:28.000Z","dependencies_parsed_at":"2025-07-12T12:25:07.520Z","dependency_job_id":"a7c4efa0-6b96-48f6-83ed-0c2f2019b905","html_url":"https://github.com/Pixelsuft/tinyfoo","commit_stats":null,"previous_names":["pixelsuft/tinyfoo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Pixelsuft/tinyfoo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pixelsuft%2Ftinyfoo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pixelsuft%2Ftinyfoo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pixelsuft%2Ftinyfoo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pixelsuft%2Ftinyfoo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pixelsuft","download_url":"https://codeload.github.com/Pixelsuft/tinyfoo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pixelsuft%2Ftinyfoo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274051961,"owners_count":25214030,"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","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["audio","bass","cpp","cross-platform","fmod","foobar","foobar2000","gui","imgui","mixer","music","player","sdl","sdl3","soloud","un4seen-bass","vlc"],"created_at":"2025-09-07T14:55:21.277Z","updated_at":"2026-05-14T23:08:30.425Z","avatar_url":"https://github.com/Pixelsuft.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tinyfoo\r\nSimple music player written in C++11 with SDL3 and ImGui \u003cbr /\u003e\r\n![Logo](assets/icon.png)\r\n## Suppored audio backends\r\nBackends are loaded dynamically in runtime. Only dynamic (shared) lib files are required to make them working. \u003cbr /\u003e\r\n - [SDL2_mixer](https://wiki.libsdl.org/SDL2_mixer/FrontPage)/[SDL-Mixer-X](https://wohlsoft.github.io/SDL-Mixer-X/) via [sdl2-compat](https://github.com/libsdl-org/sdl2-compat) (because there is no stable [SDL3_mixer](https://github.com/libsdl-org/SDL_mixer) release yet)\r\n - [FMOD](https://www.fmod.com/)\r\n - [BASS](https://www.un4seen.com/)\r\n - [SoLoud](https://solhsa.com/soloud/)\r\n - [VLC](https://www.videolan.org/vlc/) (Doesn't support audio fading)\r\n## External dependencies\r\nAll of them (except SDL3 for non-msvc and non-mingw builds) are fetched automatically using LBS script\r\n - [SDL3](https://github.com/libsdl-org/SDL)\r\n - [nlohmann json](https://github.com/nlohmann/json)\r\n - [toml11](https://github.com/ToruNiina/toml11) or [toml++](https://github.com/marzer/tomlplusplus)\r\n - [ImGui](https://github.com/ocornut/imgui)\r\n## Building (Visual Studio)\r\n```sh\r\npython lbs.py msvc init --msvc\r\npython lbs.py msvc fetch\r\npython lbs.py msvc conf\r\npython lbs.py msvc gen_res\r\n```\r\nThen open VS project and build in Debug/Release mode\r\n## Building (CMake)\r\nNote: when using in debug mode, assets folder must be in executable cwd\r\n```sh\r\npython lbs.py build init\r\npython lbs.py build fetch\r\n# Optionally add --release\r\npython lbs.py build conf\r\npython lbs.py build gen_res\r\ncd build\r\ncmake ..\r\nmake\r\n```\r\n## Example building using MinGW in release mode\r\n```sh\r\n# --mingw is not required for MSYS2\r\npython lbs.py release init --mingw\r\npython lbs.py release fetch\r\npython lbs.py release conf --release\r\npython lbs.py release gen_res\r\npython lbs.py release join_code\r\ncd release\r\nwindres ../tinyfoo.rc -O coff -o tinyfoo.res\r\n# MinGW64\r\ng++ tinyfoo.cpp tinyfoo.res -o tinyfoo.exe -std=gnu++2a -Ofast -fno-rtti -Iimgui -Ilbs -ISDL/x86_64-w64-mingw32/include -LSDL/x86_64-w64-mingw32/lib -lSDL3 -lgdiplus\r\n# MSYS2\r\ng++ tinyfoo.cpp tinyfoo.res -o tinyfoo.exe -std=gnu++23 -Ofast -fno-rtti -fno-exceptions -Iimgui -Ilbs -lSDL3 -lgdiplus\r\n```\r\n## TODO\r\n - Improve UI\r\n - Support configuring tab columns\r\n - Add support for libpng (useful on linux?)\r\n - Fix TODOs in code and code cleanup\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpixelsuft%2Ftinyfoo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpixelsuft%2Ftinyfoo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpixelsuft%2Ftinyfoo/lists"}