Media Player: aggiungere mount point alla lista standard

moonshinersat

Vu+ Newbie
Ciao!
Vorrei aggiungere un mount point (/media/upnp) alla lista standard che Media Player presenta: hard disk, /media/hdd, /media/net (se attivato un mount cifs).
Ho provato a cercare i suoi file di config per poter capire dove agire, ma senza successo
wallbash.gif

Qualcuno sa indicarmi da dove partire o ha già la soluzione per quanto vorrei realizzare?
Grazie in anticipo!
 

Tamaki

Administrator
Ciao!
Vorrei aggiungere un mount point (/media/upnp) alla lista standard che Media Player presenta: hard disk, /media/hdd, /media/net (se attivato un mount cifs).
Ho provato a cercare i suoi file di config per poter capire dove agire, ma senza successo :wallbash:
Qualcuno sa indicarmi da dove partire o ha già la soluzione per quanto vorrei realizzare?
Grazie in anticipo!
Hai provato due volte tasto blu, Black Hole Mount Wizard e configurarlo da li?
 

moonshinersat

Vu+ Newbie
Hai provato due volte tasto blu, Black Hole Mount Wizard e configurarlo da li?

Grazie sincero Tamaki per la risposta!
Ma non dovrebbe servire un mount tramite mount wizard in quanto il mount point lo genera autonomamente djmount che è in autostart.
A sostegno di ciò si può vedere /etc/init.d/djmount
Code:
#!/bin/sh
DAEMON=/usr/bin/djmount
NAME=djmount
DESC="UPnP client"
MOUNTPOINT="/media/upnp/"
ARGS=$MOUNTPOINT

test -f $DAEMON || exit 0

set -e

case "$1" in
start)
        echo -n "* starting $DESC: $NAME... "
        if ! test -d $MOUNTPOINT; then
                mkdir $MOUNTPOINT
        fi
        modprobe fuse
        start-stop-daemon -S -b -x $DAEMON -- $ARGS
        echo "done."
        ;;
stop)
        echo -n "* stopping $DESC: $NAME... "
        start-stop-daemon -K -x $DAEMON
        rmmod fuse
        echo "done."
        ;;
restart)
        echo "* restarting $DESC: $NAME... "
        $0 stop
        $0 start
        echo "done."
        ;;
*)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac

exit 0

Quindi il mount point specificato nella variabile $MOUNTPOINT è attivo e presente all'avvio di djmount, cioè all'avvio del sistema (come default djmount viene avviato automaticamente).
Non riesco a capire come Media Player si costruisca la lista delle risorse che visualizza...
Vorrei aggiugerci il mount point di djmount, magari chiamandolo "DLNA"....
Suggerimenti?
notworthy.gif
 

moonshinersat

Vu+ Newbie
Continuando ad indagare... ho risolto....
salta.gif

Risalendo a ritroso tra i file Python di Media Player ho trovato quale di essi era deputato alla generazione della playlist:
/usr/lib/enigma2/python/Components/FileList.py
Esso tramite tramite l'import
Code:
from Components.Harddisk import harddiskmanager

richiama il file
/usr/lib/enigma2/python/Components/Harddisk.py

alla cui riga 493 si può trovare:
Code:
        self.enumerateBlockDevices()

        # currently, this is just an enumeration of what's possible,
        # this probably has to be changed to support automount stuff.
        # still, if stuff is mounted into the correct mountpoints by
        # external tools, everything is fine (until somebody inserts
        # a second usb stick.)
        p = [
                    ("/media/hdd", _("Harddisk")),
                    ("/media/card", _("Card")),
                    ("/media/cf", _("Compact Flash")),
                    ("/media/mmc1", _("MMC Card")),
                    ("/media/net", _("Network Mount")),
                    ("/media/ram", _("Ram Disk")),
                    ("/media/usb", _("USB Stick")),
                    ("/", _("Internal Flash"))
                ]

e come dice il commento " this probably has to be changed to support automount stuff", dopo averne fatto copia di backup, l'ho modificato aggiungendo la definizione:
Code:
("/media/upnp", _("DLNA")),

Quindi il blocco sopracitato è diventato:
Code:
        self.enumerateBlockDevices()
 
         # currently, this is just an enumeration of what's possible,
         # this probably has to be changed to support automount stuff.
         # still, if stuff is mounted into the correct mountpoints by
         # external tools, everything is fine (until somebody inserts
         # a second usb stick.)
         p = [
                     ("/media/hdd", _("Harddisk")),
                     ("/media/card", _("Card")),
                     ("/media/cf", _("Compact Flash")),
                     ("/media/mmc1", _("MMC Card")),
                     ("/media/net", _("Network Mount")),
                    ("/media/upnp", _("DLNA")),
                     ("/media/ram", _("Ram Disk")),
                     ("/media/usb", _("USB Stick")),
                     ("/", _("Internal Flash"))
                 ]

Ho cancellato la versione compilata (.pyo) perchè venisse poi rigenerata a partire dalla sorgente prima modificata e ho riavviato il Vu+....
E posso confermare che FUNZIONA!!!!
thumbup.gif
lol.gif
grin.gif

Ora tra le l'elenco delle risorse disponibili appare la voce "DLNA" che è collegata al mount point "/media/upnp" preparato da djmount in autoavvio...
Mission accomplished :D
Diciamo che era tutto lì ben congeniato, pronto, scalabile e quindi predisposto per gli aumount (come evidenziato dal commento del codice): bisognava solo sapere dove cercare.....
wallbash.gif

Imparato una cosa nuova!!!
Allego lo script python modificato nel caso servisse a qualcuno; lo girerò anche a pappaalfio che sta valutando il client DLNA per una possibile integrazione in futuri backup (so già che sono diventato il suo incubo peggiore... eheheheheh....).
Per l'installazione:
- fare copia di backup di:
/usr/lib/enigma2/python/Components/Harddisk.py
/usr/lib/enigma2/python/Components/Harddisk.pyo

- decomprimere il file zip allegato e copiare il file Harddisk.py in
/usr/lib/enigma2/python/Components/
sovrascrivendo l'eventuale originale presente
- cancellare
/usr/lib/enigma2/python/Components/Harddisk.pyo
- riavviare Vu+

Ovviamente tutto ciò ha come pre-requisito l'installazione di djmount(http://www.vuplus-community.net/board/threads/djmount.1023) e che il suo mount point di default (/media/upnp) non sia stato modificato; altrimenti cambiarlo nello script allegato (vedere blocco righe 493 e successive).
 

Attachments

  • Harddisk.py.zip
    5.7 KB · Views: 8

cicciocant

Vu+ Newbie
riprendo questo ottimo post forse un pò datato per esporvi il mio problema.
Ho un player multimediale denominato Xtreamer che finge da server upnp. Lo stesso già funziona bene in quanto l'ho provato con l'xbox dove è installato xbmc che finge da client alla grande.
Vorrei far funzionare anche il mio nuovo vu+duo da client ma ho un problema,
Ho attivato il djmount ed il client upnp sembra funzionare a dovere.
Quando lancio però il media player mi trova fra le risorse dlna e poi xtreamer ma dentro lo xtreamer non vedo niente
strano è che se ne navigo via ftp sul vu+duo trovo tutto dentro all'indirizzo /media/upnp

Ad esempio:
Code:
/media/upnp/Xtreamer : 192.168.1.13/usbmounts/sdb1/cartoni hd

mentre da media player ( e anche media center) si ferma a /media/upnp/Xtreamer : 192.168.1.13/ e non va oltre

Non riesco dunque a navigare nel mio xtreamer per cercare i miei file multimediali.
Come posso risolvere?
 
Top