GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — tinyfoo/README.md at main · Pixelsuft/tinyfoo

Expand file tree

/

README.md

Copy path
More file actions
More file actions

Latest commit

 

History

History
History
56 lines (56 loc) · 2.28 KB
/

README.md

Copy path

File metadata and controls

56 lines (56 loc) · 2.28 KB
Raw
Copy raw file
Download raw file
Outline
Edit and raw actions

tinyfoo

Simple music player written in C++11 with SDL3 and ImGui
Logo

Suppored audio backends

Backends are loaded dynamically in runtime. Only dynamic (shared) lib files are required to make them working.

  • SDL2_mixer/SDL-Mixer-X via sdl2-compat (because there is no stable SDL3_mixer release yet)
  • FMOD
  • BASS
  • SoLoud
  • VLC (Doesn't support audio fading)

External dependencies

All of them (except SDL3 for non-msvc and non-mingw builds) are fetched automatically using LBS script

  • SDL3
  • nlohmann json
  • toml11 or toml++
  • ImGui

Building (Visual Studio)

python lbs.py msvc init --msvc
python lbs.py msvc fetch
python lbs.py msvc conf
python lbs.py msvc gen_res

Then open VS project and build in Debug/Release mode

Building (CMake)

Note: when using in debug mode, assets folder must be in executable cwd

python lbs.py build init
python lbs.py build fetch
# Optionally add --release
python lbs.py build conf
python lbs.py build gen_res
cd build
cmake ..
make

Example building using MinGW in release mode

# --mingw is not required for MSYS2
python lbs.py release init --mingw
python lbs.py release fetch
python lbs.py release conf --release
python lbs.py release gen_res
python lbs.py release join_code
cd release
windres ../tinyfoo.rc -O coff -o tinyfoo.res
# MinGW64
g++ 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
# MSYS2
g++ tinyfoo.cpp tinyfoo.res -o tinyfoo.exe -std=gnu++23 -Ofast -fno-rtti -fno-exceptions -Iimgui -Ilbs -lSDL3 -lgdiplus

TODO

  • Improve UI
  • Support configuring tab columns
  • Add support for libpng (useful on linux?)
  • Fix TODOs in code and code cleanup
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.