Titelsuche in der Musikdatenbank

  • Ich möchte folgende Funktion in meinen Skin einbauen:

    Beim anklicken (bzw, antippen - Touchscreen!) des Titels (Bild1, hier: "Hollow Years") soll die Musikdatenbank nach diesem Titel gefiltert und angezeigt werden (Bild2).
    Wie kann ich das am Besten anstellen bzw. geht das überhaupt ? Optimalerweise müsste der Titel ab dem Ersten Vorkommen von " [" oder " (Live" abgeschnitten werden - alle Variationen (siehe Liste) kann ich nicht abfangen...

    Bilder

    NAS/SmartHome:
    Synology DS216+II|8GB|2TB RAID1|MariaDB
    Synology DS916+|8GB|27TB
    NUC6CAYH(FHEM)|4GB|30GB SSD|Aeon Labs Z-Stick Gen5|TCM310 (Enocean)|Hue Bridge 2.0|HomeMatic CCU3
    APC Back-UPS CS 650
    Kodi (v18.7):
    NUC7I5BNH|8GB|60GB SSD|120GB M2|LG BD-RW|LG 34WK650-W|Focusrite Scarlett 2i4|Neusonik NE08
    FireTV Stick 2nd Gen & ZBox CI321|4GB|60GB SSD|Samsung UE55F6500|Pioneer SC-1223/BDP-LX55|B&W 600 Series 3
    FireTV Stick 2nd Gen|Philips 32PF7496
    FireTV Stick 2nd Gen|Samsung ?
    FireTV Stick 2nd Gen|AOC LE22K097

  • Hallo,
    habe deinen Interessanten Thread immer im Stillen mitverfolgt. Aber jetzt kann ich glaube ich helfen.

    Ist erstmal alles ohne gewähr, da ich es nicht testen kann (momentan).

    Du müsstest aus dem Titel bzw Artist Label einen Button bauen, der per onclick die Suche startet. Die Idee find ich übrigens total klasse. Jetzt muss ich mal raussuchen wie man die Suche startet. Melde mich dazu nochmal.
    bg

  • Das mit dem Button war mir schon klar, aber beim Rest brauch' ich definitiv Hilfe.
    Die Idee kam mir deshalb, weil ich mich - meistens wenn der Titel gerade läuft - immer Frage: "wo war denn noch Version x/y von dem Titel drauf ?" Ich denke außer mir geht es auch noch anderen so ...

    NAS/SmartHome:
    Synology DS216+II|8GB|2TB RAID1|MariaDB
    Synology DS916+|8GB|27TB
    NUC6CAYH(FHEM)|4GB|30GB SSD|Aeon Labs Z-Stick Gen5|TCM310 (Enocean)|Hue Bridge 2.0|HomeMatic CCU3
    APC Back-UPS CS 650
    Kodi (v18.7):
    NUC7I5BNH|8GB|60GB SSD|120GB M2|LG BD-RW|LG 34WK650-W|Focusrite Scarlett 2i4|Neusonik NE08
    FireTV Stick 2nd Gen & ZBox CI321|4GB|60GB SSD|Samsung UE55F6500|Pioneer SC-1223/BDP-LX55|B&W 600 Series 3
    FireTV Stick 2nd Gen|Philips 32PF7496
    FireTV Stick 2nd Gen|Samsung ?
    FireTV Stick 2nd Gen|AOC LE22K097

  • eine direkte suche scheint es per code nicht zu geben.
    man kann über einen kleinen trick die "musiclibrary suche" aufrufen und muss dann noch manuell den text eingeben. vielleicht finde ich aber auch noch eine lösung wie man die suche automatisch füllen kann.
    wenn das nix bringt, muss man mal gucken ob man dafür das scriot "globalsearch" nutzen kann.
    bg

    edit: gibts aber nicht für music:
    "VideoLibrary.Search Brings up a search dialog which will search the library"

    ich guck mal wegen "globalsearch"

  • eine direkte suche scheint es per code nicht zu geben.

    Wie funktioniert dann der Filter Dialog ? Wenn ich dort auf ok klicke wertet er auch die Eingaben aus und startet die Suche ... ich hab' nur noch nicht die XML-Datei gefunden, in der das passiert (re-Touched Skin).
    Global Search teste ich gleich mal ...

    edit:

    dann geht leider nur ein Global Search Dialog auf :(

    NAS/SmartHome:
    Synology DS216+II|8GB|2TB RAID1|MariaDB
    Synology DS916+|8GB|27TB
    NUC6CAYH(FHEM)|4GB|30GB SSD|Aeon Labs Z-Stick Gen5|TCM310 (Enocean)|Hue Bridge 2.0|HomeMatic CCU3
    APC Back-UPS CS 650
    Kodi (v18.7):
    NUC7I5BNH|8GB|60GB SSD|120GB M2|LG BD-RW|LG 34WK650-W|Focusrite Scarlett 2i4|Neusonik NE08
    FireTV Stick 2nd Gen & ZBox CI321|4GB|60GB SSD|Samsung UE55F6500|Pioneer SC-1223/BDP-LX55|B&W 600 Series 3
    FireTV Stick 2nd Gen|Philips 32PF7496
    FireTV Stick 2nd Gen|Samsung ?
    FireTV Stick 2nd Gen|AOC LE22K097

    Einmal editiert, zuletzt von dt2510 (13. Februar 2014 um 09:31)

  • folgender Code mach wenigstens schonmal einen Teil von dem, was ich suche:

    Code
    <onclick>Back</onclick>
    <onclick>ActivateWindow(MusicLibrary,return)</onclick>
    <onclick>SendClick(10502,8)</onclick>

    Das Infofenster wird geschlossen, damit die Liste dahinter auch sichtbar wird, und die Bildschirmtastatur mit Eingabefeld öffnet sich. Nach manueller Eingabe erscheint genau die Liste die ich haben wollte. Bleiben noch 2 Probleme:

    - wie kann ich den String bearbeiten (für die Suche nicht erwünschten Text entfernen) ?
    - wie stelle ich den String ins Eingabefeld ein und simuliere einen Druck auf die Enter-Taste ? Das Eingabefeld muss zudem vorher gelöscht werden ...

    NAS/SmartHome:
    Synology DS216+II|8GB|2TB RAID1|MariaDB
    Synology DS916+|8GB|27TB
    NUC6CAYH(FHEM)|4GB|30GB SSD|Aeon Labs Z-Stick Gen5|TCM310 (Enocean)|Hue Bridge 2.0|HomeMatic CCU3
    APC Back-UPS CS 650
    Kodi (v18.7):
    NUC7I5BNH|8GB|60GB SSD|120GB M2|LG BD-RW|LG 34WK650-W|Focusrite Scarlett 2i4|Neusonik NE08
    FireTV Stick 2nd Gen & ZBox CI321|4GB|60GB SSD|Samsung UE55F6500|Pioneer SC-1223/BDP-LX55|B&W 600 Series 3
    FireTV Stick 2nd Gen|Philips 32PF7496
    FireTV Stick 2nd Gen|Samsung ?
    FireTV Stick 2nd Gen|AOC LE22K097

    Einmal editiert, zuletzt von dt2510 (13. Februar 2014 um 11:27)

  • Soweit war ich auch, habs nur nicht hier gepostet, weil ich immer wieder an der Stelle hing, wo man dann den aktuellen Interprete/Songs automatisch in die Suche legen kann.
    Das wollte ich dann erstmal klären.
    Also in der MyMusicNav.xml ist der Button mit der ID 8 ist für die Suche zuständig.
    Da die Funktion des Buttons aber im Core festgelegt wird, so wie auch bei einigen anderen IDs im Sidepanel.
    Sidepanel:

    Externer Inhalt dl.dropboxusercontent.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.


    und es im Wiki keinen Suchbefehl für Musik zu geben scheint, bleibe ich immer wieder an der Stelle hängen wo ich die Suche automatisch starten kann.
    Eine manuelle Eingabe ist ja nicht gewollt.

    Wenn du statt zu "suchen" lieber "filtern" möchtest, dann kannst du folgenden Code einbauen:

    das Problem mit der Weitergabe des gesuchten Artist ist damit aber auch nicht gelöst.
    Man kann zwar in der DialogKeyboard.xml ein <onload> einbauen, dass nur ausgelöst wird, wenn das vorhergehende Fenster die PlayerControls waren, aber es gehen nur Funktionen von dieser Seite: Action ID, die sich auf "virtual keyboards" beziehen.
    Hilft also auch nicht so viel weiter.
    bg

  • Über "Filtern" hab' ich den Screenshot erzeugt - ob suchen oder filtern wäre dann eigentlich egal ... aber solange der Titel nicht automatisch übernommen wird hilft mir auch das nicht weiter :(
    Vielleicht hat ja noch einer eine Idee, wie ich einen Text in Tastatureingaben umwandeln kann - vielleicht mit einem Script ?

    NAS/SmartHome:
    Synology DS216+II|8GB|2TB RAID1|MariaDB
    Synology DS916+|8GB|27TB
    NUC6CAYH(FHEM)|4GB|30GB SSD|Aeon Labs Z-Stick Gen5|TCM310 (Enocean)|Hue Bridge 2.0|HomeMatic CCU3
    APC Back-UPS CS 650
    Kodi (v18.7):
    NUC7I5BNH|8GB|60GB SSD|120GB M2|LG BD-RW|LG 34WK650-W|Focusrite Scarlett 2i4|Neusonik NE08
    FireTV Stick 2nd Gen & ZBox CI321|4GB|60GB SSD|Samsung UE55F6500|Pioneer SC-1223/BDP-LX55|B&W 600 Series 3
    FireTV Stick 2nd Gen|Philips 32PF7496
    FireTV Stick 2nd Gen|Samsung ?
    FireTV Stick 2nd Gen|AOC LE22K097

  • das Problem mit der Weitergabe des gesuchten Artist ist damit aber auch nicht gelöst.

    ev. per:

    PHP
    RunScript(script.globalsearch,$INFO[MusicPlayer.ListItem.Artist])

    oder

    PHP
    RunScript(script.globalsearch,$INFO[Container(XXX).ListItem.Property(Artist)])

    oder so was.

    (@bg: Hast Du ja oben auch schon so in der Art erwähnt, denke auch das dies ein Ansatz sein könnte, wie der Artist direkt an "Global search" übergeben werden könnte, hab mir das aber auch noch nicht genau angesehen.)

    [edit] dt2510;

    ev. mal direkt im Addon "script.globalsearch" in den xml's nachschauen, wie dort die Suche ausgelöst wird.
    so als Idee.

    mfG.[/edit]

  • Habe es nicht getestet, ein Versuch ist es Wert :)

    <onclick>RunScript(script.globalsearch/?path=/root/search&amp;feed=search&amp;search=$INFO[ListItem.Artist] $INFO[ListItem.Label],return)</onclick>

    oder

    <onclick>RunScript(script.globalsearch/?path=/root/search&amp;search=$INFO[ListItem.Artist] $INFO[ListItem.Label],return)</onclick>

    das scheint so nicht zu gehen. vielleicht ist es aber der richtige ansatz. nur habe ich da gar keine ahnung ...
    es öffnet sich nicht ein mal das keyboard.

  • Nabend...

    Das sich die Tastatur beim Aufruf öffnet ist bei dem Script normal... Das wird direkt vom Script selbst ausgelöst... Ich würde aber auch versuchen globalsearch zu verwenden, da man damit ja schon etwas fertiges hat...

    Ich habe mal die default.py von Frodo kurz etwas angepasst... Diese schaut nun zuerst, ob ein Aufrufparameter vorhanden ist... Wenn dieser nicht existiert wird die Tastatur geöffnet...

    Habe es nur kurz mit einem Tastenaufruf in der keympa probiert... Bspw
    <y>RunScript(script.globalsearch, green day)</y>

    Ciao

  • Zitat

    Nabend...

    Das sich die Tastatur beim Aufruf öffnet ist bei dem Script normal... Das wird direkt vom Script selbst ausgelöst... Ich würde aber auch versuchen globalsearch zu verwenden, da man damit ja schon etwas fertiges hat...

    Ich habe mal die default.py von Frodo kurz etwas angepasst... Diese schaut nun zuerst, ob ein Aufrufparameter vorhanden ist... Wenn dieser nicht existiert wird die Tastatur geöffnet...

    Habe es nur kurz mit einem Tastenaufruf in der keympa probiert... Bspw
    <y>RunScript(script.globalsearch, green day)</y>

    Ciao

    danke. das werde ich demnächst mal testen.
    ich habe ja von dem phyton scripts überhauptkeine ahnung und wäre erstmal nicht auf die .py von xbmc gekommen.
    bg

  • Mit der veränderten default.py von GlobalSearch funktioniert das schon ganz gut - danke :)

    Es bleiben aber immer noch 3 (1 alte und 2 neue) Fragen:

    - ich möchte ja den laufenden Titel suchen, wie entferne ich Zusätze (ich brauche den Titel bis zum 1. Vorkommen von " [" oder " (Live") aus dem Namen ? Gibt es Stringbearbeitungsfunktionen (evtl. auch in der default.py) ?
    - kann man die Darstellung der Ergebnisanzeige ändern - untereinander statt nebeneinander ?
    - wieso sind nicht alle Informationen zum Album verfügbar, wenn ich auf ein Ergebnis klicke (Review fehlt) ?

    und noch eine 4. Frage ...

    - kann ich das GlobalSearch Fenster als oberstes Fenster anzeigen ? Wenn ich vor dem Aufruf kein "Back" ausführe, seh' ich das Fenster nicht...

    NAS/SmartHome:
    Synology DS216+II|8GB|2TB RAID1|MariaDB
    Synology DS916+|8GB|27TB
    NUC6CAYH(FHEM)|4GB|30GB SSD|Aeon Labs Z-Stick Gen5|TCM310 (Enocean)|Hue Bridge 2.0|HomeMatic CCU3
    APC Back-UPS CS 650
    Kodi (v18.7):
    NUC7I5BNH|8GB|60GB SSD|120GB M2|LG BD-RW|LG 34WK650-W|Focusrite Scarlett 2i4|Neusonik NE08
    FireTV Stick 2nd Gen & ZBox CI321|4GB|60GB SSD|Samsung UE55F6500|Pioneer SC-1223/BDP-LX55|B&W 600 Series 3
    FireTV Stick 2nd Gen|Philips 32PF7496
    FireTV Stick 2nd Gen|Samsung ?
    FireTV Stick 2nd Gen|AOC LE22K097

    3 Mal editiert, zuletzt von dt2510 (19. Februar 2014 um 10:49)

  • Mit der veränderten default.py von GlobalSearch funktioniert das schon ganz gut - danke :)

    Es bleiben aber immer noch 3 (1 alte und 2 neue) Fragen:

    - ich möchte ja den laufenden Titel suchen, wie entferne ich Zusätze (ich brauche den Titel bis zum 1. Vorkommen von " [" oder " (Live") aus dem Namen ? Gibt es Stringbearbeitungsfunktionen (evtl. auch in der default.py) ?
    - kann man die Darstellung der Ergebnisanzeige ändern - untereinander statt nebeneinander ?
    - wieso sind nicht alle Informationen zum Album verfügbar, wenn ich auf ein Ergebnis klicke (Review fehlt) ?

    und noch eine 4. Frage ...

    - kann ich das GlobalSearch Fenster als oberstes Fenster anzeigen ? Wenn ich vor dem Aufruf kein "Back" ausführe, seh' ich das Fenster nicht...

    Moin.

    - ob man bestimmte Zusätze rausfiltern kann weiß ich nicht. Bin da aber guter Dinge. Außerdem bin ich aber auch der Meinung, dass GlobalSearch auch andere Ergebnisse einsclhießt, die die zB. nicht (DEMO) im Namen haben. Oder hast du es anders erlebt?
    - du kannst das komplette Aussehen der GlobalSearch Oberfläche ändern. Lege dir die Datei aus ddem Ordner des Scripts in deinen Skin Ordner.
    Unter Windows - C:\Users\DEINNAME\AppData\Roaming\XBMC\addons\script.globalsearch\resources\skins\Default\720p\script-globalsearch-main.xml.
    Die kannst du dann nach herzenslust verändern.
    - wie die Ergebnisse dargestellt werden (Review) kannst du bestimmt auch in der oben genannten .xml anpassen.

    hier mal mein testcode:

    hier bleiben die PlayerControls offen.
    wenn du noch ein onclick hinzufügst, wird das Fenster geschloßen:

    Code
    <onclick>Dialog.Close(PlayerControls,true)</onclick>

    vielleicht bringt dich das ja weiter

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!