feat: rewrite application as modular fcco-Converter V2 with new GUI, metadata handling, and updater logic

This commit is contained in:
joel
2026-07-19 23:43:11 +02:00
parent 6dece1410c
commit d130dd267b
17 changed files with 2329 additions and 519 deletions
+95 -62
View File
@@ -1,62 +1,95 @@
# 🎵 WAV zu MP3 Konverter
Ein einfaches, benutzerfreundliches Python-Tool mit grafischer Oberfläche (Tkinter), das WAV-Dateien in MP3-Dateien konvertiert. Es unterstützt automatische Metadaten-Erstellung (Künstler, Album, Titel, Tracknummer) und fügt sogar ein Cover-Bild ein. Alle Dateien werden automatisch alphabetisch sortiert.
---
## Features
- 📂 Mehrere WAV-Dateien auswählen
- 📝 Standard-Metadaten definieren (Künstler, Album, Cover)
- 🧠 Vorschau & Bearbeitung der Metadaten vor der Konvertierung
- 🔄 Automatische Sortierung nach Dateinamen
- 🖼️ Cover-Bild einfügen
- 💾 Einstellungen werden gespeichert (Metadaten & letzter Export-Ordner)
- 📊 Fortschrittsbalken während der Konvertierung
---
## 🛠️ Setup
# Automatisches Setup starten
Windows-Nutzer können einfach ````setup.bat````` ausführen es installiert:
- Python (falls nicht vorhanden)
- Virtuelle Umgebung
- Alle benötigten Python-Pakete (pydub, mutagen)
- FFmpeg (wird automatisch heruntergeladen & eingebunden)
# Alternativ: Manuell installieren
1. Stelle sicher, dass Python 3.11 oder neuer installiert ist.
2. Virtuelle Umgebung erstellen und aktivieren:
````python -m venv .venv
.venv\Scripts\activate````
3. Abhängigkeiten installieren:
`````pip install pydub mutagen````
4. FFmpeg herunterladen und den bin-Ordner zur PATH-Umgebungsvariable hinzufügen.
# 🚀 Anwendung starten
1. main.py ausführen:
````.venv\Scripts\python.exe main.py````
2. WAV-Dateien auswählen und konvertieren.
#📁 Projektstruktur
📦 wav-to-mp3-converter
├── setup.bat # Batch-Datei zum Starten der Installation
├── setup.ps1 # PowerShell-Setupscript
├── settings.json # Gespeicherte Einstellungen (automatisch erzeugt)
├── main.py # Hauptprogramm mit GUI
└── README.md # Diese Datei
#️ Hinweise
Nur .wav-Dateien werden akzeptiert.
Cover muss eine .jpg- oder .jpeg-Datei sein.
Export erfolgt im .mp3-Format, benannt nach dem Originaldateinamen.
Metadaten können vor jeder Konvertierung überprüft und angepasst werden.
# fcco Converter V2
WAV-zu-MP3-Konverter mit grafischer Benutzeroberfläche. Unterstützt automatische Metadaten-Erstellung (Künstler, Album, Titel, Tracknummer), Cover-Bilder und alphabetische Sortierung. Läuft auf **Windows** und **macOS**.
---
## Features
- Mehrere WAV-Dateien oder ganze Ordner (mit Unterordnern) auswählen
- Metadaten definieren und bearbeiten (Künstler, Album, Jahr, Cover)
- Automatische Sortierung nach Dateinamen
- Cover-Bild einfügen (JPG/PNG)
- Einstellungen werden dauerhaft gespeichert
- Fortschrittsanzeige pro Datei und gesamt
- Automatisches Update direkt aus der App
- Moderne, dunkle Benutzeroberfläche (CustomTkinter)
---
## Installation (Endnutzer)
Lade die neueste Version von der [Releases-Seite](https://git.joelunger.de/public/fcco-Converter/releases) herunter:
- **Windows**: `fcco-Converter-windows.zip` entpacken und `fcco-Converter.exe` starten.
- **macOS**: `fcco-Converter-macos.zip` entpacken und `fcco-Converter` starten.
FFmpeg wird automatisch beim ersten Start heruntergeladen. Keine weitere Installation nötig.
---
## Updates
In der App auf **"Update prüfen"** klicken. Wenn eine neue Version verfügbar ist, wird sie direkt heruntergeladen und installiert. Danach muss die App einmal neu gestartet werden.
---
## Entwicklung
### Voraussetzungen
- Python 3.11 oder neuer
- Virtuelle Umgebung empfohlen
### Setup
```bash
python -m venv .venv
source .venv/bin/activate # macOS / Linux
# .venv\Scripts\activate # Windows
pip install -r requirements.txt
```
### Starten
```bash
python main.py
```
### Build (Standalone-Executable)
```bash
python build.py
```
Die fertige Datei liegt anschließend im `dist/`-Verzeichnis.
---
## Projektstruktur
```
fcco-Converter/
├── main.py # Einstiegspunkt
├── build.py # Build-Skript (PyInstaller)
├── requirements.txt # Abhängigkeiten
├── icon.ico # Programm-Icon
├── fcco_converter/
│ ├── __init__.py
│ ├── config.py # Einstellungen & Konfiguration
│ ├── converter.py # FFmpeg-Konvertierung
│ ├── metadata.py # ID3-Tags & Cover
│ ├── updater.py # Auto-Update von Gitea Releases
│ └── gui.py # CustomTkinter GUI
└── README.md
```
---
## Hinweise
- Nur `.wav`-Dateien werden als Eingabe akzeptiert.
- Cover-Bilder müssen `.jpg`, `.jpeg` oder `.png` sein.
- Export erfolgt im `.mp3`-Format (192 kbit/s).
- Einstellungen werden in `~/.config/fcco-Converter/` (Linux), `~/Library/Application Support/fcco-Converter/` (macOS) bzw. `%APPDATA%/fcco-Converter/` (Windows) gespeichert.