https://github.com/vindarel/lem-media-player
Read media files in Lem with mpv
https://github.com/vindarel/lem-media-player
Last synced: 4 months ago
JSON representation
Read media files in Lem with mpv
- Host: GitHub
- URL: https://github.com/vindarel/lem-media-player
- Owner: vindarel
- Created: 2025-07-26T16:10:13.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2025-07-26T20:41:11.000Z (11 months ago)
- Last Synced: 2025-07-27T00:24:06.378Z (11 months ago)
- Language: Common Lisp
- Size: 29.3 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.markdown
Awesome Lists containing this project
README
A simple media player for Lem, built on `mpv`.
> [!NOTE]
> Proof Of Concept
## Installation
You must install the `mpv` player and the `socat` library.
## Usage
With Lem's GUI, right click on a file (in directory mode) and click play.
Available commands (with M-x):
- media-player-play (on a file in directory mode)
- media-player-play-directory (asks for a directory)
- media-player-toggle: toggle play/pause
- media-player-next/previous: play next or previous file.
- media-player-stop
When enabling `media-player-mode`, right click anywhere to get a
context menu with player controls.

## From Common Lisp
```lisp
(play "/path/to/file.mp3")
;; => #
(toggle-play/pause)
```
NB: all functions in `media-player.lisp` don't depend on Lem.
## dev
We use `mpv`'s built-in IPC.
https://mpv.io/manual/master/#json-ipc
This is the list of commands we can have: https://mpv.io/manual/master/#list-of-input-commands
Inspired by https://github.com/xenodium/ready-player/, we'd like to go to this direction (UI wise).