A terminal-based music player written using SDL, FTXUI, SQLite and FFmpeg.
TerMusic_demo.mp4
- Download the latest release.
- Extract the contents of the archive to a directory of your choice.
- Modify the
user/playlist.txtfile to point to the directory containing your mp3 files. - Execute
TerMusic.exe.
Note
Controls are as follows:
- j, k to navigate by 1 item.
- ctrl + d, ctrl + u to navigate by 12 items.
- g, G to navigate to the top/bottom.
- / to enable search mode (searches using substrings).
- return to apply the search or, if not searching, to play the hovered song.
- esc to clear the search and disable search mode.
- p to pause/unpause.
- h, l to seek -5%/+5% of the current song.
- 0, 1... 9 to seek to 0%, 10%... 90% of the song.
- n to skip the current song.
- u, d to change the volume by 1%.
- U, D to change the volume by 5%.
- q to close the player.
This project is optimized to be built on Windows using MSVC.
- Ensure that you have MSVC installed.
- Ensure that you have CMake installed, you can run
winget install Kitware.CMakeif you don't. - Ensure that you have LLVM installed, you can run
winget install LLVM.LLVMand put the install location in your environment variables if you don't (for language server and clang-format support). - Execute
script/build.shfollowed byscript/run.sh.
All dependencies are managed by either CPM.cmake or VCPKG. After changing the version of a dependency, do a full clean
build using script/clean.sh before script/build.sh.
Change the [MANAGER]_VERSION variable inside cmake/Manager.cmake to the desired version.
Change the [DEPENDENCY]_VERSION variable inside cmake/External.cmake to the desired version.
Change the version field inside the ffmpeg override in vcpkg.json to the desired version.