C++ 17 Terminal Media Player
- Playing Audio and Video Files
- Displaying Image files
- Displaying Colored and Grayscale output
- Audio and Video Controls (Seeking, Changing Volume, Muting, Pausing, Looping)
- Playing multiple files
- Reading directories for multiple files to play
- Video and Audio Controls
- Space - Play and Pause
- Up Arrow - Increase Volume 5%
- Down Arrow - Decrease Volume 5%
- Left Arrow - Skip Backward 5 Seconds
- Right Arrow - Skip Forward 5 Seconds
- Escape or Backspace or 'q' - Quit Program
- '0' - Restart Playback
- '1' through '9' - Skip To n/10 of the Media's Duration
- 'L' - Switch looping type of playback (between no loop, repeat, and repeat one)
- 'M' - Mute/Unmute Audio
- Video, Audio, and Image Controls
- 'C' - Display Color (on supported terminals)
- 'G' - Display Grayscale (on supported terminals)
- 'B' - Display no Characters (on supported terminals) (must be in color or grayscale mode)
- 'N' - Skip to Next Media File
- 'P' - Rewind to Previous Media File
- 'R' - Fully Refresh the Screen
All of these controls can also be seen when calling tmedia with no args or with --help
See BUILD.md for information. Currently, Ubuntu 20.04 is the main tested
If there are any problems with installing or using tmedia, or any requested feature, please leave an issue at the github repo and I'll be sure to help.
- miniaudio - Cross-platform audio playback (github)
- Natural Sort - Natural Sorting and Comparison: For sorting directory files
- readerwriterqueue - Lock free SPSC Circular Buffer for consistent realtime audio
- random - "Random for modern C++ with convenient API" (README.md)