https://github.com/knochenhans/modarchive-random-player
Simple Qt6 music player using libopenmpt and libuade to play random module files from The Mod Archive.
https://github.com/knochenhans/modarchive-random-player
amiga mediaplayer modplug python qt tracker uade
Last synced: about 2 months ago
JSON representation
Simple Qt6 music player using libopenmpt and libuade to play random module files from The Mod Archive.
- Host: GitHub
- URL: https://github.com/knochenhans/modarchive-random-player
- Owner: knochenhans
- Created: 2024-10-05T12:41:35.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-03-20T10:46:42.000Z (2 months ago)
- Last Synced: 2025-03-20T11:35:54.789Z (2 months ago)
- Topics: amiga, mediaplayer, modplug, python, qt, tracker, uade
- Language: Python
- Homepage:
- Size: 7.02 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Mod Archive Random Player

A simple retro music player application using `libopenmpt` and `libuade` to play random module files from *[The Mod Archive](https://modarchive.org)*, and also supports `libgme`. This application is built with Python and PySide6 for the GUI, and uses `pyaudio` for audio playback. It chooses the best player based on the module type.
Uses [libopenmpt_py](https://github.com/shroom00/libopenmpt_py) to interface with `libopenmpt` via Python.
Only works under Linux for now.
## Features
- Play, pause, and stop downloaded module files.
- Load and play random module files from *The Mod Archive*, member favourites or by artist.
- Display module meta data.
- System tray notifications for the currently playing module.
- Progress slider to show the current playback position.
- Tray icon to show/hide the main window, also provides play/pause/stop controls.
- Allows looking up the current module on *The Mod Archive* and *.mod Sample Master*.
- Preloads the next module while the current one is playing.
- History of played modules, double-click to play songs again.## How to use
- Enter Member ID in the settings if you want to load random files from a member's favourites.
- Enter artist name if you want to load random files from a specific artist.
- Choose the desired playing mode (random, member favourites, or artist).
- Hit Play to load and play a random file from *The Mod Archive* or member favourites.
- After finishing, the next random file will be loaded and played.
- Click on the tray icon to show/hide the main window, or press Escape to hide it.
- The star icon will show if the current module is in your favourites on *The Mod Archive*.
- To add the current module to your favourites or remove it, click the star icon. This simply calls the respective request page on *The Mod Archive*, so you need to be logged in there.## Requirements
- Python 3.6+
- `libopenmpt` (if using Linux)
- `libuade`
- `libgme`
- `pyaudio`
- `requests`
- `beautifulsoup4`
- `PySide6`## TODO
- Add support for sub-song playback.
- Implement libsidplayfp-python for SID playback.
- Implement ffmpeg for other music types.
- Silence detection to skip silent intros/outros.
- Fix slight delay when playing/pausing.