-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #10 from symcon/fixes/migrate-test
Migration der Tests auf phpUnit v10
- Loading branch information
Showing
5 changed files
with
19 additions
and
168 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
.DS_Store | ||
.idea/ | ||
.phpunit.* | ||
.php_cs.cache |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,158 +1,5 @@ | ||
# Spotify | ||
Das Spotify-Modul ermöglicht die Verknüpfung mit einem Spotify-Premium-Konto. Darüber kann die Wiedergabe über das Konto gesteuert werden. So ist es möglich, die eine Wiedergabe zu starten oder die aktuelle Wiedergabe zu ändern bzw. zu beenden. Auch Optionen wie Wiederholung oder Zufallswiedergabe können gesetzt werden. | ||
Innerhalb des Moduls werden Favoriten gespeichert, welche dann komfortabel aus der Visualisierung abgerufen werden können. | ||
|
||
### Inhaltsverzeichnis | ||
[Link zur deutschen Dokumentation](https://www.symcon.de/de/service/dokumentation/modulreferenz/spotify/) | ||
|
||
1. [Funktionsumfang](#1-funktionsumfang) | ||
2. [Voraussetzungen](#2-voraussetzungen) | ||
3. [Software-Installation](#3-software-installation) | ||
4. [Einrichten der Instanzen in IP-Symcon](#4-einrichten-der-instanzen-in-ip-symcon) | ||
5. [Statusvariablen und Profile](#5-statusvariablen-und-profile) | ||
6. [WebFront](#6-webfront) | ||
7. [PHP-Befehlsreferenz](#7-php-befehlsreferenz) | ||
|
||
### 1. Funktionsumfang | ||
|
||
* Verknüpfung mit einem Spotify-Premium-Konto | ||
* Wiedergabe abspielen oder pausieren | ||
* Zu nächstem oder vorherigen Song wechseln | ||
* Gerät für Wiedergabe auswählen oder wechseln | ||
* Favoriten abspeichern und wieder aufrufen | ||
* Wiederholung oder Zufallswiedergabe aktivieren | ||
|
||
### 2. Voraussetzungen | ||
|
||
- IP-Symcon ab Version 5.3 | ||
- Spotify-Premium-Konto | ||
|
||
### 3. Software-Installation | ||
|
||
* Über den Module Store das 'Spotify'-Modul installieren. | ||
* Alternativ über das Module Control folgende URL hinzufügen: | ||
`https://github.com/symcon/SymconSpotify` | ||
|
||
### 4. Einrichten der Instanzen in IP-Symcon | ||
|
||
- Unter 'Instanz hinzufügen' kann das 'Spotify'-Modul mithilfe des Schnellfilters gefunden werden. | ||
- Weitere Informationen zum Hinzufügen von Instanzen in der [Dokumentation der Instanzen](https://www.symcon.de/service/dokumentation/konzepte/instanzen/#Instanz_hinzufügen) | ||
|
||
__Konfigurationsseite__: | ||
|
||
Initial muss das Modul durch einen Klick auf den Button "Registrieren" mit einem Spotify-Premium-Konto verknüpft werden. Durch den Klick öffnet sich ein Anmeldungsdialog von Spotify. Nach Eingabe der Benutzerdaten muss die Verknüpfung bestätigt werden. Danach stehen alle Funktionen des Moduls zur Verfügung. | ||
|
||
|
||
___Erweiterte Einstellungen___ | ||
|
||
Name | Beschreibung | ||
------------------------ | --------------------------------- | ||
Aktualisierungsintervall | In diesem Intervall werden die Werte der Statusvariablen mit der aktuellen Wiedergabe von Spotify abgeglichen. Dies beinhaltet das Gerät, Wiedergabe oder Pause, Zufallswiedergabe und Wiederholung | ||
Cover: Maximale Breite | Maximale Breite des dargestellten Covers | ||
Cover: Maximale Höhe | Maximale Höhe des dargestellten Covers | ||
|
||
___Suche___ | ||
|
||
Name | Beschreibung | ||
------------------------ | --------------------------------- | ||
Suche | In diesem Feld wird ein Suchbegriff für eine Suche eingegeben | ||
Suche nach Alben | Gibt an ob die nächste Suche Alben beinhalten soll | ||
Suche nach Künstlern | Gibt an ob die nächste Suche Künstler beinhalten soll | ||
Suche nach Playlists | Gibt an ob die nächste Suche Playlists beinhalten soll | ||
Suche nach Songs | Gibt an ob die nächste Suche Songs beinhalten soll | ||
Suche starten | Startet eine Suche | ||
Suchergebnisse | Diese Liste beinhaltet die Ergebnisse der aktuellen Suche - Durch ein Aktivieren des Feldes "Favorit" kann ein Ergbnis den Favoriten hinzugefügt werden | ||
|
||
Die Liste "Ihre Playlists" beinhaltet die Playlists des verknüpften Spotify-Kontos. Diese können über das Feld "Favorit" den Favoriten hinzugefügt werden. Die Liste "Favoriten" beinhaltet die eingestellten Favoriten. Durch ein Klick auf das Mülleimer-Symbol können Favoriten entfernt werden. | ||
|
||
### 5. Statusvariablen und Profile | ||
|
||
Die Statusvariablen/Kategorien werden automatisch angelegt. Das Löschen einzelner kann zu Fehlfunktionen führen. | ||
|
||
##### Statusvariablen | ||
|
||
Name | Typ | Beschreibung | ||
-------------------- | ------- | ---------------- | ||
Aktuelles Cover | HTMLBox | Hier wird das Cover des aktuell abgespielten Albums dargestellt, sofern vorhanden | ||
Aktueller Song | string | Hier wird der Name des aktuell abgespielten Songs angezeigt | ||
Aktueller Künstler | string | Hier wird der Künstler des aktuell abgespielten Songs angezeigt | ||
Aktuelles Album | string | Hier wird das Album des aktuell abgespielten Songs angezeigt | ||
Aktion | integer | Hierüber kann eine Wiedergabe gestartet oder pausiert werden. Außerdem ist es möglich auf den vorherigen oder nächsten Song zu wechseln | ||
Gerät | integer | Mit dieser Variable kann ein Wiedergabegerät ausgewählt werden. Ist aktuell eine Wiedergabe aktiv, so wird diese auf das neue Gerät gewechselt | ||
Favorit | integer | Diese Variable stellt die im Modul konfigurierten Favoriten dar. Durch die Auswahl eines Favoriten wird dieser auf dem aktuell gewählten Gerät abgespielt | ||
Wiederholen | integer | Über diese Variable kann die Wiederholung aktiviert werden - "Aus": Keine Wiederholung, "Kontext": Der aktuelle Kontext, also das Album, die Playlist, ... wird wiederholt, "Song": Der aktuelle Song wird wiederholt | ||
Zufällige Wiedergabe | boolean | Aktiviert bzw. deaktiviert die zufällige Wiedergabe | ||
|
||
##### Profile: | ||
|
||
Name | Typ | ||
----------------------------------- | ------- | ||
Spotify.Favorites.<InstanzID> | Integer | ||
Spotify.Devices | Integer | ||
Spotify.Repeat | Integer | ||
|
||
### 6. WebFront | ||
|
||
Über das WebFront oder in den mobilen Apps werden Statusvariablen angezeigt und können geschaltet werden. | ||
|
||
### 7. PHP-Befehlsreferenz | ||
|
||
`boolean SPO_Play(integer $InstanzID);` | ||
Existiert eine aktuelle, möglicherweise pausierte, Wiedergabe, so wird diese fortgesetzt. Ansonsten wird der aktuell ausgewählte Favorit auf dem aktuell ausgewähltem Gerät abgespielt. | ||
Die Funktion liefert keinerlei Rückgabewert. | ||
Beispiel: | ||
`SPO_Play(12345);` | ||
|
||
`boolean SPO_Pause(integer $InstanzID);` | ||
Existiert eine aktuelle Wiedergabe, so wird diese pausiert. | ||
Die Funktion liefert keinerlei Rückgabewert. | ||
Beispiel: | ||
`SPO_Pause(12345);` | ||
|
||
`boolean SPO_PreviousTrack(integer $InstanzID);` | ||
Existiert eine aktuelle Wiedergabe, so wird der vorherige Song abgespielt. | ||
Die Funktion liefert keinerlei Rückgabewert. | ||
Beispiel: | ||
`SPO_PreviousTrack(12345);` | ||
|
||
`boolean SPO_NextTrack(integer $InstanzID);` | ||
Existiert eine aktuelle Wiedergabe, so wird der nächste Song abgespielt. | ||
Die Funktion liefert keinerlei Rückgabewert. | ||
Beispiel: | ||
`SPO_NextTrack(12345);` | ||
|
||
`boolean SPO_PlayURI(integer $InstanzID, string $URI);` | ||
Spielt die Spotify-Resource mit der URI $URI auf dem aktuell ausgewähltem Gerät ab. | ||
Die Funktion liefert keinerlei Rückgabewert. | ||
Beispiel: | ||
`SPO_PlayURI(12345, 'spotify:artist:1Lw1vZvhgNZk7hVSvdY4OA');` | ||
|
||
`boolean SPO_SetRepeat(integer $InstanzID, integer $Repeat);` | ||
Setzt die Wiederholung auf den Wert $Repeat. | ||
|
||
Wert | Bedeutung | ||
---- | --------- | ||
0 | Wiederholung deaktiviert | ||
1 | Wiederholung des Kontext | ||
2 | Wiederholung des Songs | ||
|
||
Die Funktion liefert keinerlei Rückgabewert. | ||
Beispiel: | ||
`SPO_SetRepeat(12345, 2);` | ||
|
||
`boolean SPO_SetShuffle(integer $InstanzID, boolean $Shuffle);` | ||
Ist $Shuffle true, so wird die zufällige Wiedergabe aktiviert, ansonsten deaktiviert. | ||
Die Funktion liefert keinerlei Rückgabewert. | ||
Beispiel: | ||
`SPO_SetShuffle(12345, true);` | ||
|
||
`boolean SPO_ResetToken(integer $InstanzID);` | ||
Setzt die OAuth-Token und somit die Verknüpfung mit dem Spotify-Konto zurück. | ||
Die Funktion liefert keinerlei Rückgabewert. | ||
Beispiel: | ||
`SPO_ResetToken(12345);` | ||
|
||
`SPO_MakeAPIRequest(integer $InstanzID, string $Method, string $Url, string $Body);` | ||
Stellt eine Anfrage an die Spotify Web-API mit den angegebenen Parametern. Dabei muss nur der endpunktspezifische Pfad angegeben werden, der allgemeine Teil, also https://api.spotify.com/v1 wird automatisch hinzugefügt | ||
Die Funktion gibt die Rückgabe der API als String zurück oder false bei einem Fehler. | ||
Beispiel: | ||
`SPO_MakeAPIRequest(12345, 'GET', '/me', '');` | ||
[Link to the english documentation](https://www.symcon.de/en/service/documentation/module-reference/spotify/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,12 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<phpunit> | ||
<php> | ||
<const name="PHPUNIT_TESTSUITE" value="true"/> | ||
</php> | ||
<filter> | ||
<whitelist processUncoveredFilesFromWhitelist="true"> | ||
<directory suffix=".php">../Spotify</directory> | ||
</whitelist> | ||
</filter> | ||
</phpunit> | ||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.1/phpunit.xsd" cacheDirectory=".phpunit.cache"> | ||
<coverage/> | ||
<php> | ||
<const name="PHPUNIT_TESTSUITE" value="true"/> | ||
</php> | ||
<source> | ||
<include> | ||
<directory suffix=".php">../Spotify</directory> | ||
</include> | ||
</source> | ||
</phpunit> |