# jmwg 1.0.0 — Josh's mpv Win32 GUI

Home: <https://joshuagarner.xyz/jmwg/>

A **Media Player Classic–style Windows interface built directly into
[mpv](https://mpv.io)** — menu bar, toolbar, seek bar and status bar as a native
Win32 window, compiled into mpv's own playback engine and renderer. It is **not**
an external wrapper around libmpv; the GUI lives in the mpv source tree
(`video/out/win32/gui.c`) and is linked with the player.

This is a fork of mpv at upstream commit `2bd9c3229`. See
[`CHANGES.jmwg.md`](CHANGES.jmwg.md) for the list of modifications.

## Features
- Familiar MPC-style chrome: File/Play/Audio/Subtitle/Video/View menus, a
  transport toolbar, a draggable seek bar with chapter markers + hover preview,
  and a 3-pane status bar (state · filename · `WxH | vcodec | acodec | CONTAINER`).
- Click to play/pause, double-click to toggle fullscreen; fullscreen auto-hides
  the controls/cursor, with the controls drawn in a top-level overlay so they
  show over the GPU video.
- Conventional shortcuts (Space, arrows, `0`–`9` jump-to-%, `s` screenshot,
  `[`/`]` speed, `.`/`,` frame-step, `f`/`F11`/`Alt+Enter` fullscreen, …).
- Smart Prev/Next (chapters, then the previous/next file in the folder),
  recent-files list, light/dark theme matching, drag-and-drop.
- Window auto-fits the video and tracks resolution changes; remembers volume,
  mute and window placement between sessions.
- File ▸ Media Info (real MediaInfo report), Video ▸ Load Shader (.glsl/.hook,
  and RetroArch `.slangp` auto-converted).

## Building (Windows, MSYS2 UCRT64)
Install the MSYS2 **UCRT64** toolchain and mpv's build dependencies (the
dependencies of `mingw-w64-ucrt-x86_64-mpv` plus meson/ninja), then from the
UCRT64 shell in this directory:

```sh
meson setup build
ninja -C build
```

This produces `build/jmwg.exe` (+ `jmwg.com`). To run it portably, place it
next to the FFmpeg/libass/etc. DLLs from your UCRT64 `bin` (see the release ZIP
for the exact set).

## License
mpv is GPLv2-or-later. The **distributed binary additionally links GPL
components** — notably FFmpeg built `--enable-gpl --enable-version3`
(GPL-3.0-or-later), plus x264, x265 and others — so the program **as a whole is
licensed under the GNU GPL, version 3 or later (GPLv3+)**.

- Full text: [`LICENSE.GPLv3`](LICENSE.GPLv3)
- mpv's own license set: [`Copyright`](Copyright), `LICENSE.GPL`, `LICENSE.LGPL`
- Bundled-library notices ship with the binary release under
  `THIRD-PARTY-LICENSES/`.

All original code in this fork is contributed under the same terms.

GUI © 2026 Joshua Garner. Based on mpv, © 2000–2026 the mpv / MPlayer /
mplayer2 projects.
