From 64fc9fb889fa21b6d12ff9d930e8282a8b9feb79 Mon Sep 17 00:00:00 2001 From: simonpipe Date: Thu, 18 Dec 2025 22:16:32 +0100 Subject: [PATCH] Update readme.md --- readme.md | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/readme.md b/readme.md index 4a4fd49..efe6921 100644 --- a/readme.md +++ b/readme.md @@ -4,45 +4,47 @@ Ein moderner, leichtgewichtiger Internetradio-Player zum Selber-Hosten. Der Play ## ✨ Features -- **Läuft auch auf Servern ohne PHP:** Es ist nur HTML und Javascript nötig. +- **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. +- **Metadaten-Anzeige:** Automatische Anzeige von Sendername und aktuellem Song (erfordert PHP-Unterstützung für den Proxy). +- **Flexibler Import/Export:** Sichere deine Senderliste als JSON-Datei oder teile sie über einen kompakten URL-String. +- **Sleeptimer:** Praktische Abschaltautomatik mit Live-Restzeitanzeige auf dem Button. +- **Local Storage:** Deine Einstellungen werden direkt im Browser gespeichert – kein Datenbank-Setup nötig und Multi-User tauglich. - **Modularer Code:** Sauber getrennte Logik für UI, Presets, Metadaten und Player. ## 🛠 Installation 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. +3. **Keine Datenbank nötig:** Beim ersten Aufruf ist die Senderliste leer. Du kannst deine Sender einfach über "Presets bearbeiten" hinzufügen oder einen Export-String importieren. -## 📂 Dateistruktur +## 📂 Dateistruktur & Module -Um den Code wartungsfreundlich zu halten, ist das Projekt in Module unterteilt: +Um den Code wartungsfreundlich zu halten, ist das Projekt modular aufgebaut: -- `index.html`: Das Grundgerüst des Players. -- `main.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. +- `index.html`: Das Grundgerüst und das User-Interface. +- `main.js`: Die Schaltzentrale (Orchestrierung von Player und Events). +- `ui-helper.js`: Zentrale Steuerung für Modals (Fenster) und allgemeine UI-Elemente. +- `preset-manager.js`: Logik für das Speichern, Laden und Komprimieren der Senderliste. +- `preset-ui.js`: Verwaltung der Bearbeitungs-Tabelle und der Export-Funktionen. +- `sleeptimer.js`: Logik für die automatische Abschaltung und das Update der Zeitanzeige. +- `meta-handler.js`: Kommuniziert mit dem PHP-Proxy für Song-Metadaten. +- `metadata.php`: Der PHP-Backend-Proxy zum Abrufen von ICY-Metadaten der Streams. ## 🚀 Nutzung -- **Sender hinzufügen:** Über "Presets bearbeiten" kannst du eigene Stream-URLs eintragen. +- **Sender hinzufügen:** Über "Presets bearbeiten" kannst du eigene Namen und 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. +- **Teilen:** Kopiere den Share-Link im Bearbeitungs-Fenster, um deine Liste auf einem anderen Gerät (z.B. Handy) zu öffnen. ## 🔍 Fehlerbehebung (Troubleshooting) - -- **Keine Titelanzeige:** Überprüfe, ob die `metadata.php` im Hauptverzeichnis 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. +- **Keine Titelanzeige:** Überprüfe, ob die `metadata.php` erreichbar ist und die PHP-Erweiterung `CURL` aktiviert ist. +- **Presets werden nicht gespeichert:** Stelle sicher, dass "Local Storage" im Browser aktiviert ist. +- **Stream spielt nicht ab:** Achte auf "Mixed Content". Wenn deine Seite über `https` läuft, sollten auch die Stream-URLs mit `https://` beginnen. +- **Symbole fehlen:** Das Projekt nutzt FontAwesome. Stelle sicher, dass eine aktive Internetverbindung besteht, um die Icons vom CDN zu laden. ## ⚖️ Lizenz +Unlicense ([Siehe LICENSE](https://codeberg.org/simonpipe/Radioplayer-with-Presets/src/branch/main/LICENSE)) Unlicense (Siehe LINCENSE) ---