Skip to content

Releases: fezcode/tivi

tivi 0.3.0 — macOS

Choose a tag to compare

@fezcode fezcode released this 09 Aug 14:38

First macOS release. Native arm64 build with feature parity:

  • VideoToolbox hardware decode (in place of D3D11VA), feeding the same GPU shader YUV→RGB path (NV12 / P010)
  • SF Pro / Arial UI fonts (full Latin + Turkish glyph coverage)
  • Native NSOpenPanel media/subtitle dialogs, rounded borderless window with shadow, work-area maximize, native zoom
  • Subtitles via libass with the CoreText font provider; macOS-native subtitle font choices (Helvetica Neue, Avenir Next, Menlo, …)
  • System media keys via MPRemoteCommandCenter
  • Single instance over a Unix socket — a second launch hands its files to the running player
  • Finder "Open With" / double-click opens files in the app (Apple Event → single-instance route)

Self-contained .app (FFmpeg, libass and raylib bundled — no Homebrew needed, ad-hoc signed): unzip and run. Gatekeeper: right-click → Open on first launch. Build from source with sh build-macos.sh, bundle with sh bundle-macos.sh.

Windows Aero-snap edge tiling remains Windows-only.

tivi 0.3.0

Choose a tag to compare

@fezcode fezcode released this 08 Aug 17:50

Speed up without the chipmunks. 🐿️

New

  • 🎵 Pitch-preserving playback speed — a new Keep pitch (time-stretch) toggle under the Playback speed slider (on by default). Watch at 1.25–2× and voices stay natural, VLC-style, across the full 0.25–2× range. Turn it off for the classic resample behavior where pitch rises with speed.

Fixed

  • The A/V clock now freewheels during brief audio starvation (device underruns, speed-change transitions) instead of freezing playback.

Install

Download tivi-Setup-0.3.0.exe and run it — self-contained (FFmpeg incl. avfilter, libass, raylib bundled), upgrades an existing install in place. Silent: /S.

tivi 0.2.2

Choose a tag to compare

@fezcode fezcode released this 08 Aug 17:00

Settings are back in %APPDATA%\tivi — one predictable home for every install.

v0.2.1 briefly stored config.ini next to the executable; that's reverted. If you ran 0.2.1, its portable config.ini is merged back automatically on first launch (your newest settings win) and the leftover file is removed.

Everything else from 0.2.1 stays: settings autosave within ~2 seconds of any change (a crash or kill can't lose them), pinnable control bar, snapshots to the Desktop, and the icon-badged installer.

Install

Download tivi-Setup-0.2.2.exe and run it — self-contained, upgrades an existing install in place. Silent: /S.

tivi 0.2.1

Choose a tag to compare

@fezcode fezcode released this 08 Aug 16:40

Quality-of-life release — portable settings that can't get lost, pinnable controls, Desktop snapshots, and a properly badged installer.

New

  • 💾 Portable settingsconfig.ini now lives next to tivi.exe whenever that folder is writable (portable copies, custom install dirs), falling back to %APPDATA%\tivi for Program Files installs. Existing settings migrate automatically on first run, and the uninstaller preserves the portable file.
  • 🛟 Autosave — settings save within ~2 seconds of any change instead of only at exit, so a crash or killed process can no longer lose them (this was why subtitle size sometimes reverted).
  • 📌 Pin controls — new Settings toggle to keep the control bar visible at all times.
  • 🖼️ Snapshots → DesktopS saves tivi_snapshot_*.png to your Desktop instead of the working directory.
  • 🎛️ Installer icon — the Setup.exe and the Add/Remove Programs entry now carry the tivi retro-TV icon, and the publisher name displays correctly again.

Install

Download tivi-Setup-0.2.1.exe and run it — self-contained (FFmpeg/libass/raylib bundled), upgrades an existing install in place. Silent: /S.

tivi 0.2.0

Choose a tag to compare

@fezcode fezcode released this 08 Aug 15:33

Feature release — smarter queueing, a context menu, a living theme, louder audio, and a brand-new icon.

New

  • 📺 Auto-queue — open one episode and the rest of its folder queues behind it automatically, in natural order (E2 before E10). Fires only on fresh single-file opens, so a hand-built playlist is never touched. Toggle in Settings (default on).
  • 🖱️ Right-click context menu — play/pause, open files, snapshot, fullscreen, always-on-top, playlist, settings, exit.
  • 🎨 Adaptive theme — a sixth theme swatch that tints the whole UI from the average color of what's playing, easing smoothly as scenes change. Costs nothing measurable (a sparse pixel grid sampled twice a second).
  • 🔊 Volume boost — VLC-style software amplification up to 200%, with a 100% notch on the slider and the boosted range drawn hot.
  • ⌨️ + / - — speed up / slow down, alongside [ / ].
  • 🖼️ New app icon — a gold retro TV (rabbit ears and all) on a warm dark squircle; the window icon follows your theme accent.

Fixed

  • Maximize during fullscreen corrupted the window state — the restore rectangle became the fullscreen rectangle and edge-resize stopped working. Maximize now exits fullscreen cleanly, and quitting from fullscreen no longer saves the monitor-sized geometry.
  • The audio-tracks button had the same speaker icon as the volume control; it's now a pair of beamed music notes.

Install

Download tivi-Setup-0.2.0.exe and run it — self-contained (FFmpeg/libass/raylib bundled), upgrades an existing install in place, registers in Add/Remove Programs. Silent: /S.

tivi 0.1.1

Choose a tag to compare

@fezcode fezcode released this 08 Aug 12:00

Patch release — fixes a critical rendering bug in v0.1.0: with GPU color conversion enabled (the default), the whole picture rendered with a solid green cast. The chroma texture was never bound to the conversion shader (a raylib render-batch ordering issue); it now binds correctly, verified against the CPU path on 8-bit (NV12) and 10-bit (P010) content with ≤1/255 channel deviation.

If you installed v0.1.0, just run this installer on top — it upgrades in place.

Changes

  • Fixed: green picture when GPU color conversion is on (v0.1.0 default) — affected both 8-bit and 10-bit hardware-decoded content
  • README overhaul with banner and fresh screenshots

Install

Download tivi-Setup-0.1.1.exe and run it — self-contained (FFmpeg/libass/raylib bundled), registers in Add/Remove Programs, includes uninstaller. Silent: /S.

tivi 0.1.0

Choose a tag to compare

@fezcode fezcode released this 08 Aug 10:42

First public release of tivi — a small, native, resizable video player written in C with raylib, powered by FFmpeg for decode and libass for subtitles.

Highlights

  • Plays everything — demux + decode through FFmpeg's libav*: H.264/HEVC/AV1/VP9/MPEG-2/4, ProRes, … with AAC/AC-3/E-AC-3/DTS/Opus/FLAC/TrueHD audio
  • GPU-accelerated — D3D11VA hardware decode with automatic software fallback, plus shader-side YUV→RGB color conversion (NV12 8-bit / P010 10-bit); smooth 1080p x265 10-bit playback
  • Precise seeking — arrow-key seeks land exactly on target (preroll decode), even on WEB-DLs with 10–20 s keyframe gaps
  • Quality subtitles — libass rendering rasterized at display resolution (VLC-crisp AA); SRT/VTT styling options (font, size, colors, outline, shadow) while authored ASS/SSA styling is respected
  • Settings — playback speed, video adjustments (brightness/contrast/saturation/hue/gamma), themes, performance toggles with live decode-path status
  • Native feel — borderless resizable window, aero snap, Win11 rounded corners, media keys, single-instance forwarding

Install

Download tivi-Setup-0.1.0.exe and run it — self-contained (FFmpeg/libass/raylib bundled), registers in Add/Remove Programs, includes uninstaller. Silent install: /S.

Settings live in %APPDATA%\tivi and survive uninstall.