| commit | author | age | ||
| a48ca3 | 1 | # Tango |
| U | 2 | |
| 3 | Tango streamt Musik und Videos über das Netz und stellt eine einfach verwendbare Bedienoberfläche zur Konfiguration und Steuerung bereit. | |
| 4 | ||
| 5 | Weitere Informationen auf der [Produktseite](https://uhilger.de/data/pg/tango/). | |
| 6 | ||
| c259d9 | 7 | ## Voraussetzungen |
| U | 8 | |
| 9 | Zur Herstellung von Tango aus dem Quellcode wird ein Java Development Kit (JDK) benötigt. Das JDK ist von [Adoptium](https://adoptium.net/) frei erhältlich. In der hier folgenden weiteren Beschreibung wird der lokale Ablageort des Java Development Kits `$JDK` genannt. | |
| 10 | ||
| a0ecf2 | 11 | Tango erfordert darüber hinaus die folgenden Klassenbibliotheken: |
| c259d9 | 12 | |
| a48ca3 | 13 | [Gson](https://github.com/google/gson) - JSON/Java Serialisierung und Deserialisierung |
| U | 14 | [jID3Lib](http://javamusictag.sourceforge.net/) - Java ID3 Tag Library |
| c259d9 | 15 | |
| a0ecf2 | 16 | Die benötigten Klassenbibliotheken müssen zur Herstellung von Tango an einen Ablageort auf der lokalen Maschine heruntergeladen werden. Zudem werden auf der Seite des Clients folgende Hilfsmittel eingesetzt: |
| c259d9 | 17 | |
| a48ca3 | 18 | [Mustache](http://mustache.github.io/) - "Logic-less templates." |
| 26f8b7 | 19 | [Roboto](https://fonts.google.com/specimen/Roboto) - Schriftart |
| a48ca3 | 20 | |
| c259d9 | 21 | Mustache und Roboto sind im Quellcode von Tango in den Ordnern `www/font` und `www/js/mustache` hinterlegt. |
| U | 22 | |
| a0ecf2 | 23 | ## Quellcode von Tango erhalten |
| U | 24 | |
| 25 | Der Quellcode von Tango wird von hier an einen frei wählbaren lokalen Ablageort heruntergeladen und entpackt. In der hier folgenden weiteren Beschreibung wird das so entstandene Verzeichnis `tango` einschließlich des absoluten Pfades dorthin `$TANGO` genannt. Anstelle von `$TANGO` würde man also beispielweise `/home/fred/tango` notieren, wenn in das persönliche Verzeichnis des Benutzers `fred` heruntergealden und entpackt wurde. | |
| 26 | ||
| c259d9 | 27 | ## Tango herstellen |
| U | 28 | |
| 29 | Es wird angenommen, dass die als Abhängigkeiten aufgeführten Klassenbibliotheken lokal an einem Ort abgelegt sind, dessen Pfad mit dem Platzhalter `$JLIB` gemeint ist. Zur Herstellung von Tango werden mit Hilfe der wie zuvor beschrieben geladenen Teile die folgenden Kommandos ausgeführt (Beispiel für Linux): | |
| 30 | ||
| 31 | ``` | |
| 32 | cd $TANGO | |
| 33 | mkdir classes | |
| 0bdb11 | 34 | mkdir -p dist/lib |
| U | 35 | cp $JLIB/jid3lib-0.5.4.jar dist/lib |
| 36 | cp $JLIB/gson-2.8.6.jar dist/lib | |
| 37 | cp src/*.properties classes | |
| 38 | javac -classpath $JLIB/gson-2.8.6.jar:$JLIB/jid3lib-0.5.4.jar -d classes src/de/uhilger/tango/*.java src/de/uhilger/tango/api/*.java src/de/uhilger/tango/entity/*.java src/de/uhilger/tango/store/*.java | |
| 39 | jar -cfm dist/tango.jar publish/manifest.mf -C classes . | |
| 40 | cp -r www dist | |
| c259d9 | 41 | ``` |
| U | 42 | |
| 43 | Die fertig verwendbare Anwendung liegt anschließend unter `$TANGO/dist/tango.jar` mit den erforderlichen Klassenbibliotheken im Ordner `$TANGO/dist/lib` . | |
| 44 | ||
| 45 | ## Tango verwenden | |
| 46 | ||
| 47 | Installation, Ausführung und Bedienung von Tango beschreibt die [Anleitung](https://uhilger.de/data/pg/tango/doku/anleitung.adoc). | |
| 2f1216 | 48 | |
| ea73fa | 49 | ## Lizenz |
| U | 50 | |
| 2f1216 | 51 | Veröffentlicht unter den Bedingungen der [GNU Affero General Public License](http://www.gnu.org/licenses/agpl-3.0) |