CocktailAudio Forum

Normale Version: APIs
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

gibt es APIs (C++), über die ich das Gerät per Netzwerk von einem Rechner aus steuern kann?
Ist in Arbeit. Ist auch für andere Projekte (z.B. Apps auf IOS/Android) notwendig... Kann aber noch ne Weile dauern.
In der nächste Firmware dürfte diesbezüglich einiges drin sein. Wir haben zumind. schon ne komplette Fernbedienung über den Browser laufen.
Fehlen aber noch diverse Kommandos zum Auslesen des aktuellen Status usw....
Ich dachte da er an APIs für C#, C++ ...
Und das ich da selbst was Basteln kann, um an die X10 ran zu kommen.
Hallo,

ich wollte mal fragen, was aus dieser API-Anfrage geworden ist, die ja schon ein paar Jährchen alt ist.

Interessanter als eine API für C fände ich eine WEB-API. Mit der man z.B. Informationen über ein Album so auslesen könnte:

http://mycocktail/api/album/0132

Mit dieser WEB-API sollte man dann die ganze Funktionalität der MusicDB verwalten können (abspielen, aufnehmen, playlisten erstellen, ...)

Also im Grunde eine WEB-API im Stil von spotify fände ich super:
https://developer.spotify.com/web-api/en...reference/



(24.10.2011, 05:49 PM)Jürschen schrieb: [ -> ]gibt es APIs (C++), über die ich das Gerät per Netzwerk von einem Rechner aus steuern kann?

(25.10.2011, 06:35 AM)Administrator schrieb: [ -> ]Ist in Arbeit. Ist auch für andere Projekte (z.B. Apps auf IOS/Android) notwendig... Kann aber noch ne Weile dauern.
na ja... eine API ist dazu nicht wirklich notwendig.
Die ganzen Nutzdaten liegen in einer SQLite Datenbank am Gerät. Auf dem Gerät läuft Apache/PHP...
Damit kannst du auf alle Daten zugreifen.
Es gibt auch diverse Schnittstellen zu Abspielfunktionen usw.., die wir über das Webinterface nutzen.
Wir haben aus Zeitgründen das bisher nur nicht dokumentieren.
Wenn du also konkretes brauchst, einfach auch konkret anfragen, dann suchen wir das raus :-)
also gut, dann würden mich die Schnittstellen zu den Abspielfunktionen interessieren.
Um es zunächst ganz einfach zu machen (gehen wir davon aus, ich hätte mich mit telnet auf meinem X12 eingeloggt): Wie kann ich auf der Kommandozeile (also ohne PHP)

- Song-Nummer 47 abspielen?
- das 3-te Album abspielen?
- die Playlist 17 abspielen?

Ich habe mir das Schema von /mnt/hdd1/.DB/.songs.db angeschaut. Ich vermute, in den Spalten GenreID, ArtistID, AlbumID, ComposerID der Song-Tabelle sind die Verweise auf den n-ten Datensatz der entsprechenden Tabellen abgelegt. Wenn also z.B. im 47-ten Song-Datensatz AlbumID=8 steht, dann bedeutet das wohl, dass der 47-te Song aus dem Album ist, der im 8-ten Datensatz der Album-Tabelle steht?!?



(09.02.2016, 12:20 PM)Administrator schrieb: [ -> ]na ja... eine API ist dazu nicht wirklich notwendig.
Die ganzen Nutzdaten liegen in einer SQLite Datenbank am Gerät. Auf dem Gerät läuft Apache/PHP...
Damit kannst du auf alle Daten zugreifen.
Es gibt auch diverse Schnittstellen zu Abspielfunktionen usw.., die wir über das Webinterface nutzen.
Wir haben aus Zeitgründen das bisher nur nicht dokumentieren.
Wenn du also konkretes brauchst, einfach auch konkret anfragen, dann suchen wir das raus :-)
einen Abspielvorgang über die Konsole kann man meines Wissens nicht direkt starten. Eventuell indem man über Konsole wiederrum PHP anspricht und dort die PHP-Funktion dazu aufruft.
Die müßte man sich aber erst mal für diese Vorgänge basteln. Unser Webinterface ist hier natürlich wesentlich komplexer aufgebaut als das ich hier einfach mal eine Album oder Song oder Playlist ID zum Abspielen übergeben könnte.

In der Datenbank hat jeder Song eine ROWID (die siehst du nur, wenn du "Select Rowid, * from song" aufrufst). Das gleiche gilt auch für die Albumtabelle.
Die Songs sind über die AlbumID (Rowid der Tabelle Album) miteinander verknüpft.
Hab hier mal angehängt 4 Dateien, die für das Abspielen zuständig sind:

playplaylist.php -> Abspielen von Playlisten. Parameter: PLSID, SongID
playlistcat.php -> Virtuelle Abspielliste, Anhängen von ganzen Alben, Genre, Künstlern, Unterscheidung zwischen als aktueller Titel, als nächster Titel oder hinten anhängen
playlist.php -> Wie Playlistcat, nur für Titel
PlayBrowser.php -> Abspielen von Dateien über den Pfad

Aufgerufen werden kann eine Funktion über die Konsole mit
./mnt/hdd1/.http/bin/php /mnt/hdd1/.http/htdocs/playlist.php (und entsprechenden Parametern)
nun hab ich mal die Zeit gefunden, da rein zu schauen. Die mitgeschickten PHP-Dateien waren für den ersten Anlauf schon sehr hilfreich!

Es scheint also, dass die Funktion x10_cmd die Aufgabe übernimmt, jegliche Kommandos umzusetzen, wobei diese in einem XML-Format übergeben werden. Es wäre daher toll, wenn es eine Dokumentation dieses XML-Formats gäbe.
Seiten: 1 2