billypom on debian 3d16882185 a
2025-04-24 19:22:49 -04:00
2025-04-11 15:35:11 -04:00
a
2025-04-24 19:22:49 -04:00
a
2025-04-24 19:20:38 -04:00
2025-03-27 16:07:54 -04:00
a
2025-04-24 19:22:49 -04:00
2025-04-19 13:43:19 -04:00
2025-03-24 23:41:36 -04:00
2025-04-18 11:14:01 -04:00
2025-04-24 11:43:17 -04:00

musicpom

PyQt5 music library manager and audio player for Linux, inspired by MusicBee & iTunes

Installation:


clone the repo

install system packages

sudo apt install ffmpeg python3-pyqt5 virtualenv

additional packages needed for wsl

sudo apt install gstreamer1.0-plugins-good

create environment

cd musicpom
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt

run

python3 main.py

Editing the UI


i use Qt Designer, so download that if you want to try editing the UI. good luck

# generate python ui from qt designer .ui file
pyuic5 ui.ui -o ui.py
# shell script to do the same thing
./create_ui.sh

Config


config file and databases (libraries) are stored in user home directory .config folder

cd ~/.config/musicpom
# you should see config file and db folder
config.ini db/

Todo:

  • right-click menu
  • editable lyrics window
  • batch metadata changer (red highlight fields that have differing info)
  • playlists
  • delete songs from library (del key || right-click delete)
  • improve audio visualizer - logarithmic x-axis ISO octave bands - see Renoise
  • when table is focused, start typing to match against the primary sort column
  • remember last window size
  • automatically fix broken config before loading app (new config options added)
  • allow spectrum analyzer to fall when playback stops or song is paused
  • ability to delete playlist
  • jump to currently playing song
QMediaPlaylist

https://doc.qt.io/qtforpython-5/PySide2/QtMultimedia/QMediaPlaylist.html#PySide2.QtMultimedia.PySide2.QtMultimedia.QMediaPlaylist

  • playback modes (normal, repeat playlist, repeat 1 song, shuffle)

Use PySide2.QtMultimedia.QMediaPlaylist.PlaybackMode ? Use PySide2.QtMultimedia.QMediaPlaylist.shuffle() ?

  • autoplay next song in all modes

Use PySide2.QtMultimedia.QMediaPlaylist.next() after implementing playlist?

  • playback rate audio quality fix?

https://doc.qt.io/qtforpython-5/PySide2/QtMultimedia/QAudioDecoder.html#qaudiodecoder Since Qt 5.12.2, the url scheme gst-pipeline provides custom pipelines for the GStreamer backend.

player = new QMediaPlayer;
player->setMedia(QUrl("gst-pipeline: videotestsrc ! autovideosink"));
player->play();

QMultimedia.EncodingMode / Encoding quality...

misc
  • database playlist autoexporting
  • .wav, .ogg, .flac convertor
  • automatic "radio" based on artist or genre
  • title artist album labels force fit the screen - so the window gets mega expanded with long text. bad
Description
No description provided
Readme 4 MiB
Languages
Python 99.9%