VAVOO zeichnet sich durch Individualität aus

Dadurch, dass die Kunden beim ersten Gebrauch die Möglichkeit haben eine externe Quelle bei der Einrichtung einzugeben, kannst Du der Community ein exklusives User-Interface bereitstellen und somit Deine eigene VAVOO Fan-Base schaffen.

Wir nennen es VAVOO BUNDLE.

Nachfolgend findest Du die Anleitung zur Erstellung von einem VAVOO Bundle.

  1. Lade Dir VAVOO hier runter und installiere es.
  2. Starte mit den VAVOO Standardeinstellungen. Gib hierfür als Bundle-URL folgendes ein: vavoo.tv/repo
  3. Richte VAVOO vollständig nach Deinen Wünschen ein.
  4. Starte unser Bundle erstellen Tool. Für mehr Informationen hierzu siehe weiter unten.
    Die Dateien werden in Deinem Home-Verzeichnis unter VAVOO abgelegt.
  5. Stelle sicher das alle Informationen in der vavoo.json vavoo.json korrekt sind.
  6. Lade die vavoo.json auf einen Webserver und sorge dafür dass die Eingabe der URL so einfach wie möglich ist.
    VAVOO ergänzt die eingegebene URL automatisch mit /vavoo.json.
    So wird bei der Eingabe von http://deinserver.com/repo auch die URL http://deinserver.com/repo/vavoo.json abgefragt.
  7. Lade ein Video Tutorial der Installation auf YouTube und nutze den Hashtag #VAVOOBUNDLE in Deiner Videobeschreibung.
    Vergesse nicht Deine URL in der Videobeschreibung zu nennen.

VAVOO Bundle Domainumleitungen

Dies ist nützlich um zum Beispiel von einer sehr kurzen Domain auf eine längere, schwieriger zu schreibende Domain umzuleiten.

  1. Erstelle mit einem Texteditor eine Datei mit dem Namen vavoo.json mit dem folgenden Inhalt:
    {
        "redirect": "anotherdomain.com"
    }
    Oder:
    {
        "redirect": "http://anotherdomain.com/repo/"
    }

VAVOO Funktionen

  1. VAVOO bietet eine verbesserte Android API
    Wir haben die Kodi Kern Funktion StartAndroidActivity verbessert. Hier kannst Du jetzt nicht nur Android Apps starten, sondern auch direkt einzelne Activities.
    Der Syntax lautet wie folgt:
    StartAndroidActivity("package.name!.SomeActivity")
  2. Geschlossener Addon Code
    Addons können im vorkompilierten Python Code ausgeliefert werden (Dateiendung .pyo).
    Dies beschleundigt den start der Addons und erlaubt es auch geschlossene Addons auszuliefern.
  3. VAVOO Addon Modul
    Das Modul vavoo_api bietet einige nützliche Funktionen:
    import vavoo_api
    vavoo_api.restart() # Startet die VAVOO Software neu.
  4. Benutzer verifizieren
    Um diverse Dienste anbieten zu können für die eine Verifizierung des Benutzers notwendig ist, bietet VAVOO eine spimple API:
    import vavoo_api
    # Prüft ob der Benutzer eingeloggt ist.
    vavoo_api.hasToken()
    # Gibt ein Token das zum verifizieren des Benutzers genutzt werden kann zurück.
    vavoo_api.getToken()
    # Beispiel Addon Code:
    endpoing = "http://dein.service.com/api/endpoint"
    data = {"some": "value", "vavoo_token": vavoo_api.getToken()}
    response = requests.post(endpoint, data=data)
    Serverseitig muss jetzt das Token bei VAVOO verifiziert werden. Das geht mit einem Aufruf der folgenden URL:
    curl -X POST https://www.vavoo.tv/api/box/verify --data token=VAVOO_TOKEN_VALUE
  5. Festlegen was vor einer Wiedergabe passieren soll (ab VAVOO Version 1.28)
    Pro Medieneintrag kann festgelegt werden was beim Klick auf einen Eintrag passieren soll.
    import xbmcgui
    listItem = xbmcgui.ListItem()
    listItem.setProperty("selectaction", "play")
    Mögliche Werte für selectaction sind:
    • play
      Wiedergabe vom Anfang an.
    • resume
      Immer fortsetzen wenn möglich
    • play_or_resume
      Wiedergabe oder fortsetzen.
    • info
      Informationsdialog anzeigen.
    • choose
      Auswahl dem Benutzer überlassen.
    • more
      Mehr Auswahlmöglichkeiten als bei choose anzeigen.
  6. Zusätzliche Skinning Variablen
    Um auf die verschiendenen Zustände von VAVOO zu reagieren stehen folgende neuen Skin Variablen zur Verfügung:
    • Window(10000).Property(Vavoo_Device)
      Boolean. true wenn das die Hardware eine VAVOO Box ist.
    • Window(10000).Property(Vavoo_InternetDisconnected)
      Boolean. true wenn die Internetverbindung verloren gegangen ist.
    • Window(10000).Property(Vavoo_BundleInstalled)
      Boolean. true wenn ein VAVOO Bundle installiert ist.
    • Window(10000).Property(Vavoo_Locked)
      Boolean. true wenn gerade ein VAVOO Service Fenster im Vordergrund ist.
    • Window(10000).Property(Vavoo_Guest)
      Boolean. true wenn es sich um eine Gast Session handelt.
    • Window(10000).Property(Vavoo_LoggedIn)
      Boolean. true wenn es sich um einen Benutzer Account handelt.
    • Window(10000).Property(Vavoo_Token)
      String. Der aktuelle VAVOO Token.
    • Window(10000).Property(Vavoo_Running)
      Boolean. true wenn der VAVOO Bootstrap vollständig ist.
  7. VAVOO Service Funktionen
    • RunScript(service.vavoo,ftp)
      Startet den integrierten FTP Server.
    • RunScript(service.vavoo,install)
      Startet den Bundle Installer.
    • RunScript(service.vavoo,snapshot)
      Tool um eigene Bundles einfach zu erstellen.
    • RunScript(service.vavoo,logout)
      Meldet den Benutzer von einer Gast oder Benutzersession ab.

Skinning

  1. Empfohlener Inhalt von Startup.xml
    Hierfür musst Du die folgenden 2 Dateien in den media Ordner deines Skins kopieren:
    <?xml version="1.0" encoding="UTF-8"?>
    <window>
      <controls>
        <top>0</top>
        <left>0</left>
        <control type="image">
          <left>0</left>
          <top>0</top>
          <width>100%</width>
          <height>100%</height>
          <texture>black.png</texture>
        </control>
        <control type="image">
          <top>387</top>
          <left>471</left>
          <width>978</width>
          <height>326</height>
          <texture>vavoo-text.png</texture>
        </control>
        <control type="label">
          <left>0</left>
          <top>800</top>
          <width>100%</width>
          <height>100</height>
          <font>font20_title</font>
          <align>center</align>
          <label>$LOCALIZE[39586]</label>
        </control>
      </controls>
    </window>
  2. Empfohlende Menüeinträge für DialogButtonMenu.xml
    <item>
      <description>Settings</description>
      <label>$LOCALIZE[5]</label>
      <onclick>Dialog.Close(all,true)</onclick>
      <onclick>ActivateWindow(settings)</onclick>
      <visible>!String.isEmpty(Window(10000).Property(Vavoo_Ready))</visible>
    </item>
    <item>
      <description>VAVOO Box Internet Settings</description>
      <label>$LOCALIZE[39585]</label>
      <onclick>StartAndroidActivity("com.android.tv.settings!.connectivity.NetworkActivity")</onclick>
      <visible>String.isEmpty(Window(10000).Property(Vavoo_Ready)) + System.Platform.Android + !String.isEmpty(Window(10000).Property(Vavoo_Device))</visible>
    </item>
    <item>
      <description>Bundle Installer</description>
      <label>$LOCALIZE[39582]</label>
      <onclick>RunScript(service.vavoo,install)</onclick>
      <visible>String.isEmpty(Window(10000).Property(Vavoo_Locked)) + !String.isEmpty(Window(10000).Property(Vavoo_Ready))</visible>
    </item>
    <item>
      <description>VAVOO Login</description>
      <label>$LOCALIZE[39506]</label>
      <onclick>RunScript(service.vavoo,logout)</onclick>
      <visible>!String.isEmpty(Window(10000).Property(Vavoo_LoginEnabled)) + String.isEmpty(Window(10000).Property(Vavoo_Locked)) + !String.isEmpty(Window(10000).Property(Vavoo_Guest))</visible>
    </item>
    <item>
      <description>VAVOO Logout</description>
      <label>$LOCALIZE[20126]</label>
      <onclick>RunScript(service.vavoo,logout)</onclick>
      <visible>!String.isEmpty(Window(10000).Property(Vavoo_LoginEnabled)) + String.isEmpty(Window(10000).Property(Vavoo_Locked)) + !String.isEmpty(Window(10000).Property(Vavoo_LoggedIn))</visible>
    </item>
    <item>
      <description>Restart</description>
      <label>$LOCALIZE[13013]</label>
      <onclick>RunScript(service.vavoo,restart)</onclick>
    </item>
    <item>
      <description>Quit</description>
      <label>$LOCALIZE[13012]</label>
      <onclick>Quit()</onclick>
      <visible>String.isEmpty(Window(10000).Property(Vavoo_Device))</visible>
    </item>
  3. Empfohlende Menüeinträge für Settings.xml
    <item>
      <description>VAVOO Box Internet Settings</description>
      <label>$LOCALIZE[443]</label>
      <onclick>StartAndroidActivity("com.android.tv.settings!.connectivity.NetworkActivity")</onclick>
      <visible>System.Platform.Android + !String.isEmpty(Window(10000).Property(Vavoo_Device))</visible>
    </item>
    <item>
      <description>VAVOO Box Display Settings</description>
      <label>$LOCALIZE[14220]</label>
      <onclick>StartAndroidActivity("com.android.tv.settings!.device.display.DisplayActivity")</onclick>
      <visible>System.Platform.Android + !String.isEmpty(Window(10000).Property(Vavoo_Device))</visible>
    </item>
    <item>
      <description>VAVOO Box System-Update</description>
      <label>$LOCALIZE[24069]</label>
      <onclick>StartAndroidActivity("tv.vavoo.base!.UpdateActivity")</onclick>
      <visible>System.Platform.Android + !String.isEmpty(Window(10000).Property(Vavoo_Device))</visible>
    </item>
    <item>
      <description>Bundle Installer</description>
      <label>$LOCALIZE[39582]</label>
      <onclick>RunScript(service.vavoo,install)</onclick>
    </item>
    <item>
      <description>Bundle Snapshot</description>
      <label>$LOCALIZE[39583]</label>
      <onclick>RunScript(service.vavoo,snapshot)</onclick>
      <visible>!System.Platform.Android</visible>
    </item>
    <item>
      <description>VAVOO FTP Server</description>
      <label>$LOCALIZE[39584]</label>
      <onclick>RunScript(service.vavoo,ftp)</onclick>
    </item>