2.5 KiB
2.5 KiB
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 menueditable lyrics windowbatch metadata changer (red highlight fields that have differing info)playlistsdelete songs from library (del key || right-click delete)improve audio visualizer - logarithmic x-axis ISO octave bands - see Renoisewhen table is focused, start typing to match against the primary sort columnremember last window sizeautomatically fix broken config before loading app (new config options added)allow spectrum analyzer to fall when playback stops or song is pausedability to delete playlistjump to currently playing song
QMediaPlaylist
- playback modes (normal, repeat playlist, repeat 1 song, shuffle)
Use
PySide2.QtMultimedia.QMediaPlaylist.PlaybackMode? UsePySide2.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();
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