diff --git a/README.md b/README.md index 1bebd1b..776083e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # FreePassport-C Media Player -FreePassport-C Media Player is a low-dependency SDL2 + FFmpeg application inspired by the interactive program guides used on older Cisco and Scientific Atlanta Explorer cable boxes. It turns a local media library into a fullscreen-first virtual cable system with live-seeking channels, a retro guide, and broadcast-style on-screen overlays. +FreePassport-C Media Player is a low-dependency SDL2 + FFmpeg application that is based on the look of interactive programming guide software used on older Cisco/Scientific Atlanta Explorer cable boxes, it allows you to organize your media into a virtual cable guide with live-seeking channels. ## Features @@ -10,8 +10,6 @@ FreePassport-C Media Player is a low-dependency SDL2 + FFmpeg application inspir - 5-row Passport-style guide with a 90-minute timeline - Background decoder thread with a bounded frame queue - Automatic channel discovery from `./media` -- Randomized per-channel schedules on each launch -- Fullscreen channel banner, theme picker, and about panel ## Layout @@ -23,23 +21,17 @@ FreePassport-C Media Player is a low-dependency SDL2 + FFmpeg application inspir - `Up` / `Down` - surf channels - `Tab` - toggle guide -- `Enter` - tune selected channel from the guide -- `Left` / `Right` - browse guide time -- `0-9` - direct channel number entry - `i` - show current channel info -- `a` - toggle about panel -- `b` - toggle theme picker -- `f` - toggle fullscreen - `Esc` - exit guide or quit the app ## Build -Install development packages for SDL2, SDL2_ttf, SDL2_image, and FFmpeg headers before building. +Install development packages for SDL2, SDL2_ttf, and FFmpeg headers before building. Typical Debian or Ubuntu packages: ```bash -sudo apt install build-essential libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libavformat-dev libavcodec-dev libswscale-dev libswresample-dev libavutil-dev +sudo apt install build-essential libsdl2-dev libsdl2-ttf-dev libavformat-dev libavcodec-dev libswscale-dev libswresample-dev libavutil-dev ``` Then build and run: @@ -51,30 +43,30 @@ make ## AppImage Build -To create a portable AppImage with the included packaging script: +To create a portable AppImage that can run on any Linux distribution: ```bash make appimage ``` -The AppImages for `0.1` are built on Debian 13 using `linuxdeploy` and the repository's included scripts. The build automatically detects your architecture and produces the appropriate AppImage: +This creates a self-contained executable that includes all dependencies. The script automatically detects your architecture and produces the appropriate AppImage: -- **x86_64**: `FreePassport-C-Media-Player-0.1-x86_64.AppImage` -- **ARM64/aarch64**: `FreePassport-C-Media-Player-0.1-aarch64.AppImage` +- **x86_64**: `Passport-C-Media-Player-0.1-x86_64.AppImage` +- **ARM64/aarch64**: `Passport-C-Media-Player-0.1-aarch64.AppImage` Users can run it directly: ```bash -./FreePassport-C-Media-Player-0.1-x86_64.AppImage +./Passport-C-Media-Player-0.1-x86_64.AppImage # or on ARM devices: -./FreePassport-C-Media-Player-0.1-aarch64.AppImage +./Passport-C-Media-Player-0.1-aarch64.AppImage ``` For a fully portable setup, create a `media/` directory in the same folder as the AppImage and add your channel videos there. The AppImage will automatically detect and load channels from this directory. ## Media -The player scans `./media` for channel directories. Each subdirectory is treated as one channel, and the supported video files inside it are shuffled into a randomized schedule for that channel on each launch. +The player scans `./media` for channel directories. Each subdirectory is treated as one channel, and the supported video files inside it are played in alphabetical order as that channel's schedule. Optional metadata can be provided with `description.txt` inside each channel directory: