diff --git a/readme.md b/readme.md index f2352bb..05cf536 100644 --- a/readme.md +++ b/readme.md @@ -1,15 +1,49 @@ -# Radioplayer mit Presets zum Selber-Hosten +# 📻 Radioplayer mit Presets -Ein einfacher Internetradio-Player mit Presets zum Selber-Hosten, ganz ohne PHP und somit eigentlich überall lauffähig. +Ein moderner, leichtgewichtiger Internetradio-Player zum Selber-Hosten. Der Player ist modular aufgebaut, responsiv und bietet volle Kontrolle über deine Senderliste. -Alle Presets können verschoben, bearbeitet und gelöscht werden. +## ✨ Features -Die Presets werden lokal auf dem Gerät gespeichert, es gibt aber eine Export- und Import-Funktion (Base64-Code oder JSON-Datei). +- **Läuft auch auf Servern ohne PHP:** Es ist nur HTML und Javascript nötig. +- **Individuelle Presets:** Sender können einfach hinzugefügt, bearbeitet, gelöscht und per Drag & Drop sortiert werden. +- **Metadaten-Anzeige:** Automatische Anzeige von Sendername und aktuellem Song (diese Funktion erfordert PHP-Unterstützung). +- **Flexibler Import/Export:** Sichere deine Senderliste als JSON-Datei oder als kompakten String. +- **Sleeptimer:** Praktische Abschaltautomatik für entspanntes Hören. +- **Local Storage:** Deine Einstellungen werden direkt im Browser gespeichert – kein Backend-Setup für die Datenbank nötig. +- **Modularer Code:** Sauber getrennte Logik für UI, Presets, Metadaten und Player. -Für den Komfort gibt es noch einen praktischen Sleeptimer. +## 🛠 Installation -Viel Spass beim Radiohören. +1. Lade alle Dateien herunter und kopiere sie auf deinen Webserver. +2. Falls du die Titelanzeige (Metadaten) nutzen möchtest, muss dein Server **PHP** unterstützen. +3. Die Datei `webradio_presets.json` dient als Standard-Vorlage beim ersten Start oder wenn alle vorhandenen Presets gelöscht werden. -## Installation +## 📂 Dateistruktur -Lade die Zip-Datei herunter und entpacke alle Dateien auf deinem Webserver. \ No newline at end of file +Um den Code wartungsfreundlich zu halten, ist das Projekt in Module unterteilt: + +- `index.html`: Das Grundgerüst des Players. +- `index.js`: Die Schaltzentrale (steuert den Ablauf). +- `ui-helper.js`: Verwaltet Modals, Titel und Footer-Anzeigen. +- `preset-manager.js`: Übernimmt das Speichern, Laden und die Kompression der Senderliste. +- `meta-handler.js`: Kommuniziert mit dem PHP-Proxy für Songtitel. +- `sleeptimer.js`: Logik für die automatische Abschaltung. +- `metadata.php`: Der Proxy, der die Metadaten von den Radio-Streams abruft. + +## 🚀 Nutzung + +- **Sender hinzufügen:** Über "Presets bearbeiten" kannst du eigene Stream-URLs eintragen. +- **Sortieren:** Nutze das ☰-Symbol in der Liste, um die Reihenfolge per Drag & Drop zu ändern. +- **Teilen:** Exportiere deine Liste als Code-String, um sie auf einem anderen Gerät (z.B. Handy oder Tablet) einfach wieder zu importieren. + +## 🔍 Fehlerbehebung (Troubleshooting) + +- **Keine Titelanzeige:** Überprüfe, ob die `metadata.php` im Ordner /optional liegt und dein Server PHP-Requests erlaubt (CURL muss in der PHP-Konfiguration meist aktiviert sein). +- **Presets werden nicht gespeichert:** Stelle sicher, dass dein Browser "Local Storage" erlaubt und nicht im privaten Modus ist, der Daten nach dem Schliessen löscht. +- **Stream spielt nicht ab:** Einige Browser blockieren "Mixed Content" (HTTP-Streams auf einer HTTPS-Seite). Achte darauf, nach Möglichkeit `https://`-Stream-URLs zu verwenden. + +## Lizenz +Unlicense + +--- +*Viel Spass beim Radiohören!* \ No newline at end of file