This commit is contained in:
billypom on debian 2025-03-24 19:50:50 -04:00
parent 8fdf190f2e
commit d96bb4c8c1
5 changed files with 19 additions and 16 deletions

View File

@ -1,8 +1,9 @@
# MusicPom # musicpom
PyQt5 music player for Linux inspired by MusicBee & iTunes PyQt5 music library manager and audio player for Linux, inspired by MusicBee & iTunes
## Installation: ## Installation:
___
clone the repo clone the repo
```bash ```bash
git clone https://github.com/billypom/musicpom git clone https://github.com/billypom/musicpom
@ -22,15 +23,15 @@ cd musicpom
pip install -r requirements.txt pip install -r requirements.txt
``` ```
create ui.py from ui.ui
```bash
pyuic5 ui.ui -o ui.py
```
run run
```bash ```bash
python3 main.py python3 main.py
``` ```
## Regenerate UI - if using Qt Designer to edit ui.ui
___
```bash
pyuic5 ui.ui -o ui.py
```
## Todo: ## Todo:
@ -38,12 +39,14 @@ python3 main.py
- ~~editable lyrics window~~ - ~~editable lyrics window~~
- ~~batch metadata changer (red highlight fields that have differing info)~~ - ~~batch metadata changer (red highlight fields that have differing info)~~
- ~~playlists~~ - ~~playlists~~
- playlist m3u files
- playlist autoexporting - playlist autoexporting
- fix table headers being resized and going out window bounds
- delete songs from library (del key || right-click delete) - delete songs from library (del key || right-click delete)
- .wav, .ogg, .flac convertor - .wav, .ogg, .flac convertor
- FIXME: dbaccess is instantiated for every track being reorganized - FIXME: dbaccess is instantiated for every track being reorganized
- automatic "radio" based on artist or genre - automatic "radio" based on artist or genre
- search bar, full text search on song, artist, album - search bar, full text search on song, artist, album
- when table is focused, start typing to match against the primary sort column - when table is focused, start typing to match against the primary sort column
- "installer" - put files in /opt? script to install and uninstall - "installer" - put files in /opt? script to install and uninstall... eh
- .deb package? - .deb package?

View File

@ -251,11 +251,11 @@ class ApplicationWindow(QMainWindow, Ui_MainWindow):
def load_config(self) -> None: def load_config(self) -> None:
"""does what it says""" """does what it says"""
cfg_loc = ( cfg_file = (
Path(user_config_dir(appname="musicpom", appauthor="billypom")) Path(user_config_dir(appname="musicpom", appauthor="billypom"))
/ "config.ini" / "config.ini"
) )
self.config.read(cfg_loc) self.config.read(cfg_file)
def get_thread_pool(self) -> QThreadPool: def get_thread_pool(self) -> QThreadPool:
"""Returns the threadpool instance""" """Returns the threadpool instance"""

View File

@ -4,5 +4,6 @@ appdirs
pyqt5 pyqt5
pydub pydub
pyqtdarktheme-fork pyqtdarktheme-fork
pyqtdarktheme
pyqtgraph pyqtgraph
scipy scipy

View File

@ -1 +0,0 @@
fdjsklfjsdlkf

View File

@ -5,14 +5,14 @@ from configparser import ConfigParser
from pathlib import Path from pathlib import Path
from appdirs import user_config_dir from appdirs import user_config_dir
config = ConfigParser()
cfg_file = (
Path(user_config_dir(appname="musicpom", appauthor="billypom")) / "config.ini"
)
config.read(cfg_file)
def scan_for_music(): def scan_for_music():
config = ConfigParser()
cfg_file = (
Path(user_config_dir(appname="musicpom", appauthor="billypom")) / "config.ini"
)
config.read(cfg_file)
root_dir = config.get("directories", "library") root_dir = config.get("directories", "library")
extensions = config.get("settings", "extensions").split(",") extensions = config.get("settings", "extensions").split(",")
files_to_add = [] files_to_add = []