Skip to content

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

28 Commits

Folders and files

Repository files navigation

MicroMedia

Читать на русском

Portable desktop viewer for video and images.

Download: https://github.com/AzimovIz/micromedia/releases/latest (Windows x86_64 and Linux x86_64).

Video playback requires libmpv. If mpv is installed on the system, it will be used automatically. Otherwise, place libmpv.so (Linux) / libmpv-2.dll (Windows) in appdata/libs/ next to the binary (the archive includes a hint file).

If the app is empty - put your media files into the media folder next to the binary and click the rescan button in the top-right corner.


Screenshots

Library List
Library List
Player Tags
Player Tags

Features

Library

  • Scans the media/ folder and indexes it in the background (SQLite).
  • Tile gallery with thumbnails; slider for the number of columns.
  • "List" view — a tree-like folder structure, like in a file explorer.
  • "Refresh" button — reindexing: scan → thumbnails → hash → duration. Progress is visible in the log (RUST_LOG=info, default level).
  • File renames and moves are detected: the record moves to the new path, keeping tags, playback position, and thumbnail.
  • Background preview generation (images — natively, video — a frame via mpv).

Viewer

  • Overlay lightbox on top of the gallery for photos and videos.
  • Mouse-wheel zoom, pan with left click, reset with middle click (photos and videos).
  • Animated GIFs (played via mpv, with looping).

Video player

  • Play/pause, seeking, ±5/±10 s skips, frame-by-frame step.
  • Speed 0.5–2×, loop, volume, mute, m:ss time display.
  • Fullscreen mode with auto-hiding controls (appear on mouse movement).
  • RAM demux cache — smooth playback even from a slow flash drive.
  • Set as thumbnail — make the current frame the file's thumbnail.
  • Fragments — mark a start/end range on the timeline and name it; it's highlighted on the seek bar (hover for the name), click to jump to its start, right-click to edit or delete.
  • Keys: Space — pause, ←/→ — ±5 s, F — fullscreen, Esc — exit.

Organization and search

  • Tags: assign/remove, autocomplete, bulk tagging for a selection. Orphaned tags (with no files) are removed automatically.
  • Tag filter - string like tag1 -tag2 (minus excludes).
  • Alphabetical tag list with + / − buttons (include / exclude).
  • Search by file name and filter by type (photo / video).
  • Sorting: name, date added, file date, size, type, duration.

List and bulk operations

  • Multi-select via checkboxes; selecting a folder cascades to its nested files.
  • Right-click on a selected item: add/remove tags, delete from disk (with confirmation).
  • Right-click on an unselected item: "Open location" in the system file manager.

Other

  • State persistence (appdata/config.toml): sorting, tag search, video volume.
  • Adjustable sidebar width (draggable border).

Data layout

micromedia            # micromedia / micromedia.exe
media/                # your media files (indexed from here)
appdata/
  micromedia.db       # SQLite: files, tags, metadata
  thumbnails/         # thumbnail cache
  libs/               # libmpv.so / libmpv-2.dll (if no system mpv)
  config.toml         # saved settings

Put your files into media/ and click "Refresh" (or restart the app).


Build

Rust + cargo-zigbuild (for portable glibc 2.17). On Linux you need libfontconfig-dev.

# Linux (glibc 2.17)
cargo zigbuild --release --target x86_64-unknown-linux-gnu.2.17
# Windows
cargo zigbuild --release --target x86_64-pc-windows-gnu

Tech stack

Rust · Slint (GL/femtovg) · mpv · SQLite (rusqlite).

Built with Claude

This project was almost entirely written by Claude (Anthropic's AI assistant) using Claude Code, with a human developer setting direction, testing, and giving feedback. Everything — from architecture to implementation (Rust code, UI, libmpv integration, SQLite database schema, background scanning) — was created by Claude.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages