AudioDB Player QT
Audio/video player for AudioDB. DB search, visualizer, statistics, DnD, window transparency.
What the project solves
Audio DB Player QT is a working audio / video player connected to AudioDB and MPlimDB. It can operate independently, but in database mode it combines search, playlists, statistics, subtitles, specialized retro audio formats and conversion workflow.
How the application works and what it is for
Overview
ADB _ Player _ QT is a monolithic Qt player designed for single operation audio and video data. The application works independently, but it is optimized for database workflow AudioDB / MFilmDB.
- Hybrid mode: audio-only, video-only, combined mode and operation without databases (direct file opening).
- Database workflow: quick search, filtering, statistics, random file selection and playlist management.
- Advanced UX Playback: frames video window, subtitles, screenshots, crossfade / random modes, close-to-track.
- Version consolidation: This page describes the complete functional range only for version 0.1.2.2.
AI and workflow
Main Player
- Play / Pause, Stop, Previous / Next, seek bar, volume dial, status line DB / runtime.
- Playlist window, Search dialog, Visualizer toggle, settings and context menu workflow.
- Per- user localization (CZ / EN) and persistence of UI status.
Video Window (frames)
- Drag- to-move, edge-resize, fullscreen toggle, always- on-top.
- Transparency of the window (opacity), context menu, subtitle overlay rendering.
Search / States / Settings / Playlist
- Search: combined results AudioDB + MPlimDB, filters, async refresh, contextual actions.
- States: DB statistics summary, extension break down, report export / copy.
- Settings: DB paths, playback flags, shortcuts, subtitles, visualizer, tray behavior.
- Playlist: add / remove / reorder / shuffle, random generation, M3U import / export.
Formats and backends
Supported audio formats
Supported video + subtitles
External subtitles:
Playback layer
- Primary: QtMultimedia player.
- Auxiliary: ffprobe (metadata / duration), openmpt (tracker), songtowav fallback.
- Windows UX: help subprocess calls use no- console parameters.
Subtitles subsystem
♪ Embedded subtitles ♪
- Best-effort work with Qt subtitle track API.
- Select active track and persistence of choice.
External sidecar subtitles
- Autodetection next to video or in subfolder .
- Manual selection of candidates over the menu.
- Overlay rendering through a separate widget over a video desktop.
- Persistence extended / path / font size / media relationship.
Playlist / Random / Performance
- Playlist of operations: add / remove / move / shuffle, M3U load / save, Random generation items.
- Random domain: source filter, extension filters, count / minutes, path matching, crossfade.
- V0.1.2.2: duration testing does not block UI third during refresh; missing data is solved by background worker.
- Objective: Continuous UI operation even with larger random lists.
Visualizer + MIDI
Visualizer
- Standalone controller independent of the main player module.
- Toggle / Show / Hide + per-user persistence of selected options.
- Support always-on-top and loopback fallback modes.
MIDI
- MIDI playback backend with routing configuration.
- MIDI routing dialog allows mode / routing persistence.
- MIDI workflow is based on available output devices.
Keyboard abbreviations
| Event | Default | Persist Key |
|---|---|---|
| Play / Pause | ||
| Subtitles on / off | ||
| Screenshot | ||
| Screenshots series |
Troubleshooting and diagnostics (detailed)
Problem: FFmpeg / ffprobe not found
Symptom: Unable to load metadata or videos fail during playback.
Cause: and not available in PATH or in local installation.
Solution:
- Install ffmpeg: (Windows) or (Linux)
- Check the PATH: or
- Check local directory:
- Start with flag as fallback (player tries to alternative backend)
Problem: Database not found / wrong path
Symptom: Search dialog is empty or "No databases found" is displayed.
Cause: AudioDB.sqlite or MFilmDB.sqlite have not followed the right path.
Solution:
- Check batch mode:
- Use Settings dialog in graphical interface and set the paths manually
- Check that SQLite files actually exist:
Problem: Video does not open or playback fails
Symptom: The video-Window will open but will remain black or play is not running.
Cause: Codec is not supported, Qt backend is failing, or file is damaged.
Solution:
- Check the status of the logo: or console output
- Check that the ffmpeg himself plays the video:
- Try with flag (native Qt backend)
- Try to convert to supported codec:
Problem: Headlines do not appear on video
Symptom: Exterior subtitle file ".srt" next to the video but are not displayed.
Cause: SubtitleOverlay is not loaded, file is not compatible or is off.
Solution:
- Check that the subtitle file exists: 'vide.mp4' + 'video.srt' (or .vtt / .ass)
- Insert Settings and verify that 'subtitles / enabled'
- Verify subtitle file: (Should be worth '00: 00,000 -- > 00: 05,000')
- Try another video with subtitle: if it works, the original file is damaged
Problem: MIDI routing not applied / sounds not heard
Symptom: MIDI Routing Dialog opens, I set up a mapping, but MIDI out is not heard.
Cause: MIDI device is not available, mapping is not persistent or openmpt is not installed.
Solution:
- Check available MIDI devices:
- Verify that in MidiRoutingDialog is device selected (not empty)
- Install openmpt: for tracker support
Problem: Random playlist does not contain files / is empty
Symptom: I click Random Playlist but the dialog is not loaded.
Cause: DB is empty, files do not exist on disk, or filter does not fit any files.
Solution:
- Check that AudioDB / MFilmDB are filled:
- Check that files physically exist on disk (not just in DB)
- Verify filter parameters in Random dialog (extension, path pattern, count)
- Try on another extension or without filters
Problem: Application is slow / non-responsive
Symptom: graphical interface freezes at Search, playlist generation or duration protesting.
Cause: Heavy calculations run to main UI thread, DB is large or FFprobe is slow.
Solution:
- Check DB size:
- Reduce search to subsets (use filters, not search without parameter)
- Call the application with modem for headless operation (no UI hang)
- Consider DB reindex:
Problem: Visualizer does not display / service audio
Symptom: Visualizer toggle is switched on, but the window does not appear or is black.
Cause: Visualizer backend is not initiated, audio stream is not available, or widget is off screen.
Solution:
- Check audio is played (volume > 0, play continues)
- Try toggle: OFF and restart the visualizer
- Make sure your sound is played through the correct device (check Volume mixer)
| Zone | Control |
|---|---|
| FFmpeg / ffprobe | Verify availability of help binary and PATH. |
| DB paths | Check , and the existence of files. |
| Subtitles | Check and the real existence of the sidecar file. |
| Random response | Check keys and behavior on larger lists. |
| Video window | Control , , . |
| Tray Behavior | Control and rest workflow. |
Known limits / best-effect areas
- Some codec scenarios depend on OS + Qt backend implementation.
- Embedded subtitle API availability varies according to Qt version / backend.
- External subtitle parser works best-effort according to the quality of input files.
- Tracker workflows may require the availability of openmpt / songtowav.
- The non-standard DB location may require manual override of the routes.
