NEUE VERSION 0.3beta hochgeladen -> siehe erstes Posting
[Flex&Co] Music Box
-
-
Hallo bexbier,
langsam wäre ein Bedankomat mal angebracht, aber leider kann man den ja meineserachtens nicht nachträglich einbauen.
Tolles Project
-
juhuu.Schönes Updatet.Hoffe man kann mehr mp3 runterladen als das hier.Weil nur Top Mp3 ist zu wenig.
-
lol ... gut ding will weile haben ...
wenn es fertig ist, so wie ich das möchte, brauchst ne grösse festplatte
der 3.button beim download lässt ja schon einiges durchblicken
-
Ja ich will net alles runterladen aber neue mp3 lieder oder albums suchen wäre net schlecht.Damit ich mir was ich will runterlade und hören kann.Ist ja egal sowas reicht auch.Man muss auch mit wenig zufrieden sein.
Nochmal ein grossen Dank an dir das du Zeit für sowas hast.Ich kapier nicht wie man eine Seite sucht und dann die mp3 runterlädst ? Dann hätte ich auch sowas gemacht. -
na das is doch das schöne an scripts .... man kann es aufmachen und gucken wie was abläuft ...
-
kleiner Tip warum das mit dem Download nur einmal klappt.
Ersetze:
durch
z.Zt. sieht der Inhalt nach 3 Downloadversuchen so aus:Code/tmp > cat mp3music.url http://www.mp3shits.com/download/download.php?skey=e63100d51ed6fad0ba9e4008337e1803&key=767558 http://www.mp3shits.com/download/download.php?skey=26feb24b59b49e8190028189ace99922&key=766344 http://www.mp3shits.com/download/download.php?skey=b766cf7757374ad546059337b7e3c5b8&key=767220
Schön wärs auch wenn du die ganzen Tempfiles vor Beendigung des Skripts auch wieder löscht. Ansonsten SUPER SACHE dein MP3 Downlaoder !
barabas
(die Nacht war zwar kurz aber mit den Playlisten bin ich leider auch noch nicht weiter ) -
Nochmal zu den Playlisten, wir kommen der Sache näher
HTML
Alles anzeigen<html> <head> <script type="text/javascript"> function update() { if (parent.headerUpdateEPGData) parent.headerUpdateEPGData(serviceName, nowT, nowD, nowSt, nextT, nextD, nextSt); if (parent.headerUpdateStatusBar) parent.headerUpdateStatusBar(vpid, apid, ip, lock, upTime, agc, snr, ber); if (parent.headerUpdateVolumeBar) parent.headerUpdateVolumeBar(volume, mute); if (parent.headerUpdateChannelStatusBar) parent.headerUpdateChannelStatusBar(dolby, crypt, format); if (parent.headerUpdateRecording) parent.headerUpdateRecording(recording); if (parent.updateVideoBar) parent.updateVideoBar(videoPosition, videoTime, diskGB, diskH); } </script> </head> <body onLoad="update()"> <script> <!-- variables set by box --> var updateCycleTime = 10000; <!-- power state --> var standby = 0; <!-- service & epg data --> var serviceName = ""; var nowT = ""; var nowD = ""; var nowSt = ""; var nextT = ""; var nextD = ""; var nextSt = ""; <!-- status bar --> var diskGB = "81.96 GB"; var diskH = "~42 h, 23 min"; var apid = "none"; var vpid = "none"; var ip = "192.168.0.17"; var lock = "unlocked"; var upTime = "53:59 h up"; <!-- volume bar --> var volume = 29; var mute = 0; <!-- channel stats --> var dolby = 0; var crypt = 0; var format = 0; <!-- recording --> var recording = 0; <!-- vlc streaming --> var vlcparms = "http://192.168.0.17:31339/0,ffffffff,ffffffff,333d2038"; var serviceReference = "4096:0:0:0:0:0:0:0:0:0:/hdd/mp3/mp3listen/..\born_in_the_usa\02_Bruce Springsteen - Cover me.mp3" ; var videoTime = "2:47"; var videoPosition = 4; <!-- stream info --> var agc = 0; var snr = 0; var ber = 0; <!-- streaming client status --> var streamingClientStatus = 2147463616; </script> </body> </html>
Abspieldauer=
aktuelle Videopostion= 1-20( ist für die Fortschrittsbalken im Webif wenn eine Datei abgespielt wird )
ich änder mal die warte Funktion entsprechen ab und melde mich wieder
ob das unser Schleifenproblem behebt.stay tuned
barabas -
hy barabas
ZitatOriginal von barabas
bexbierkleiner Tip warum das mit dem Download nur einmal klappt.
Ersetze:
durch
z.Zt. sieht der Inhalt nach 3 Downloadversuchen so aus:Code/tmp > cat mp3music.url http://www.mp3shits.com/download/download.php?skey=e63100d51ed6fad0ba9e4008337e1803&key=767558 http://www.mp3shits.com/download/download.php?skey=26feb24b59b49e8190028189ace99922&key=766344 http://www.mp3shits.com/download/download.php?skey=b766cf7757374ad546059337b7e3c5b8&key=767220
hmm ...muss ich mir mal anschauen
Zitat
Schön wärs auch wenn du die ganzen Tempfiles vor Beendigung des Skripts auch wieder löscht. Ansonsten SUPER SACHE dein MP3 Downlaoder !]macht es doch auch ..... steht im starteintrag .... wenn das mit den menüs so klappen würde wie ich das möchte würde es nur zwei files geben
das mit der playlist wäre ja super !!!
is ja witzig ....das mit http/..../data hatte ich auch probiert ...da kam bei mir immer nen error ....werd mich gleich mal ransetzen
schonmal riesen dank das du mir behilflich bist ....
finde das könnte man noch schön ausbauen das ganze .... ist zwar nur spielerei .... aber wenn das mit den playlisten auch noch klappt, benutze ich nur noch das script zum mucke hörenedit:
hast recht .... damit geht jetzt auch erneuter download
-
du bist genial !
habs hinbekommen
so gehts:
Zitat#!/bin/sh
# ----------------------------------------------------------------------
# Music Box Player
# Player zum abspielen einer Playlist
# ----------------------------------------------------------------------scriptname=`basename $0`
passfile=`echo $0 | sed "s:$scriptname:pass.txt:"`
if [ -f $passfile ] ; then
read auth <$passfile
else
auth="root:dreambox"
fiPLAY=/tmp/play
KILL=/tmp/stop# ----------------------------------------------------------------------
# ------------- Playlist abspielen ---------------
# ----------------------------------------------------------------------
playplaylist(){m3ufile="$1"
track="$2"anzahl="$track"
#wenn noch ein kill file vorhanden, loeschen
if [ -e $KILL ];thenrm $KILL
fi#wenn noch ein play file (status)vorhanden, loeschen
if [ -e $PLAY ];thenrm $PLAY
fi# Track aus Playlist suchen
mp3file="`sed -n "$track"p $m3ufile`"
mp3play="`echo $mp3file | sed -e s/' '/%20/g`"
echo "$track. TRACK\n$mp3file" >>$PLAY
echo "\nstart $mp3file"#Track abspielen
wget -q -O /dev/null "http://$auth@localhost/cgi-bin/zapTo?path=4096:0:0:0:0:0:0:0:0:0:$mp3play"echo "\nplaying..."
#warten bis Track zuende
warten $mp3play
#Track um 1 erhöhen
let "anzahl = anzahl + 1"
#nächsten track suchen
tmpmp3file="`sed -n "$anzahl"p $m3ufile`"#prüfen ob nächster Track vorhanden, wenn ja dann
if [ -e "$tmpmp3file" ]; then#methode erneut aufrufen
playplaylist $m3ufile $anzahl
else
#beenden
exit 0
fi
}# ----------------------------------------------------------------------
# ------------- Warten(thx Barabas) ---------------
# ----------------------------------------------------------------------
warten(){sleep 2
#endlos schleife
while $TRUE ; do
#aktueller status
tmpcurrent=`wget -O- -q http://$auth@localhost/data`
current="`echo $tmpcurrent | sed -e s/^.*'videoPosition = '//g -e 's/; <!-- stream info -->.*$//g'`"
echo "$current"
#wenn lied zuende schleife beenden
if [ $current = "20" ] ; then
echo "\nlied zuende"
#zur sicherheit nochmal stoppen
wget -q -O /dev/null "http://$auth@localhost/cgi-bin/videocontrol?command=stop"
#1ne sekunde warten
sleep 1
break
else
echo "playing..."
fi
#wenn /tmp/stop dann beenden
if [ -e $KILL ];then
echo "\nabbruch"
#zur sicherheit nochmal stoppen
wget -q -O /dev/null "http://$auth@localhost/cgi-bin/videocontrol?command=stop"
#kill file loeschen
rm $KILL
#beenden
exit 0
fi
done
}# ----------------------------------------------------------------------
# ------------- Main ---------------
# ----------------------------------------------------------------------
case "$1" inplayplaylist) playplaylist $2 $3;;
warten) warten $2 ;;
esacexit 0
-
möchte euch die playlist funktion nicht vorenthalten, und hab die version erneuert ....liegt im ersten posting
Viel Spass damit
-
Oh super.... das wird ja richtig Klasse.
na denn brauch ich da ja nicht mehr weiterfummeln...
Stells trotzdem mal hier ein, vielleicht kannst du was daraus verwenden
und mir hats auch Spass gemachtCode
Alles anzeigen#! /bin/sh #----------------------------------------------------------------------- # # mp3liste.sh # # Demoskript zum Playlisten abspielen # # Aufruf: /var/script/mp3liste.sh <m3u Datei inkl. Pfad> # # Bspl.: /var/script/mp3liste.sh /hdd/mp3/mp3listen/bruce_spring.m3u # # # barabas # #----------------------------------------------------------------------- #set -x #----------------------------------------------------------------------- # Dreambox HTTP User Authentifizierung User Passwort hier aendern # oder in der Datei pass.txt im Skriptverzeichnis hinterlegen #----------------------------------------------------------------------- scriptname=`basename $0` passfile=`echo $0 | sed "s:$scriptname:pass.txt:"` if [ -f $passfile ] ; then read auth <$passfile else auth="root:dreambox" fi #----------------------------------------------------------------------- # Workaround wegen Bug in Busybox thanks LivingOn ;-) # Dazu Dreambox Typ ermitteln da sich 7000 / 7020 in # der Implementation des echo Befehls unterscheiden. # da ich keine Infos zu den anderen Boxen 500/5620/7025 habe # behandle ich die einfach mal wie die 7000er :-) #----------------------------------------------------------------------- dreamtype=`sed -e'/^type=/!d' -e 's/type=//' /proc/bus/dreambox` # check if DM7020 if [ $dreamtype = "DM7020" ] ; then CRLF=`echo -e "\r"` else CRLF=`echo "\r"` fi tempfile="/tmp/mp3file.tmp" aktfilenr=0 #-------------------------- Warte auf Liedende ----------------------------------------- warten () { mp3file="$1" onlyonce=$2 ; running=$3 ; anzfile=$4 ; aktfilenr=$5 while $TRUE ; do active="`wget -O- -q http://$auth@localhost/data | grep -c "$mp3file" `" ; if [ $active -gt 0 ] ; then time="`wget -O- -q http://$auth@localhost/data | sed -n 's/^.*var videoTime = "//p' | sed 's/";//' `" position="`wget -O- -q http://$auth@localhost/data | sed -n 's/^.*var videoPosition = //p' | sed 's/;//' `" # Lied ist losgelaufen if [ $position -gt 0 ] && [ $running = "false" ]; then running="true" fi # kleiner Gimmick :-) kann man natuerlich auch weglassen if [ $position -eq 3 ] && [ $onlyonce = "true" ] ; then ( /var/bin/msgbox title="Playlist: $playliste" popup="Anzahl Lieder in Playliste: $anzfile~n~s~nAktuelle Liednr: $aktfilenr~n~s~n$mp3file~n~n~s~n~YRestlaufzeit aktuelle Liednr.: $time~n~s~n" size=26 ) & onlyonce="false" fi # Stop Taste wurde gedrueckt Script verlassen if [ $position -eq 0 ] && [ $running = "true" ] ; then exit fi # solange Fortschritt kleiner 20 Schleife durchlaufen if [ $position -lt 20 ] ; then sleep 2 else break fi else # das uebergeben MP3 File wurde waehrend des Schleifendurchlaufs abgewaehlt # dann Skript verlassen exit fi done } #-------------------------- Playliste einlesen ----------------------------------------- playliste="$1" if [ ! -e $playliste ] ; then echo "Playliste: $1 nicht gefunden!" exit fi file="`basename $playliste`" pfad="`echo $playliste | sed "s:$file::" `" # CRLF Fix von LivingOn sed "# CRLF fix s/$CRLF//g" $playliste |\ sed '/^#/d /^$/d s:\\:/:g' >$tempfile # Anzahl der MP3 Files ermitteln anzfile=`wc -l $tempfile | sed -e "s:$tempfile::" -e 's/[ ]*//'` while read mp3file ; do mp3playfile="`echo "$mp3file" | sed 's/ /%20/g' `" # falls nicht leer Abspielbefehl ausgeben if [ $mp3playfile ] ; then aktfilenr=`expr $aktfilenr + 1` wget -q -O /dev/null "http://$auth@localhost/cgi-bin/zapTo?path=4096:0:0:0:0:0:0:0:0:0:${pfad}$mp3playfile" warten "$mp3file" "true" "false" $anzfile $aktfilenr fi done <$tempfile rm $tempfile
Mit dem Löschen der Tempfiles meinte ich die:
barabas
-
uhh man barabas .... blos nicht aufhören ...
jo dein script hat noch viele nützliche sachen ..super !
möcht jetzt erstmal das ganze hauptscript nochmal überarbeiten, und dann gehts weiter ....
hab schon wieder ideen ... ggg ...
-
Hallo Bexbier,
ich habe noch die letzte version der Musicbox auf meiner DM500.
Da ist mir gestern aufgefallen, das sich Buchstaben nur über die Zehnertatatur der kleinen Fernbedienung eingeben lassen, aber nicht über das Aalphanumerische DMM-Keyboard. Mir ist bewust, das das Keyboard wohl andere codes verwendet, als die FB (auch normal verhaltensich gleiche Tasten verschieden), aber Texteingabe Funktioniert sonst fast immer auf beide Methoden.
Ich weis leider nicht wieviel Aufwand es ist das im Script zu Fixen, oder ist es vielleicht eher nen Problem von Flexmenu?Bitte, sieh dies einfach als ne Information, nicht als Reklamation.
Danke fuer deine Arbeit, ich hatte mich gerade angefangen zu ärgern, das die alte Musicbox aus dem Bluepanel verschwunden ist, vermutlich weils der Filemode ja auch tut, aber der Kann keine Playlisten und erst recht keine Downloads.
-
hy criwi
habe leider kein keyboard um es zu testen, glaube aber auch das es nicht funktionieren würde ....
das mit dem file mode stimmt schon, das script ist ja auch eher spielerei,
es macht einfach spass sowas zu basteln.
warum das script aus dem download genommen wurde weiss ich nicht ... wird aber seine gründe haben -
Neue Version online ..... diesmal ein riesen sprung von 0.4beta auf 1.0 !!
zufinden wie immer im ersten Posting
-
Ist schon eine tolle Leistung die du da erbringst. Die gesamte Musicbox ist eine tolle Idee und eine äußerst saubere Umsetzung. Ich verfolge diesen Thread nun schon einige Zeit und wenn ich die erste Version vor weinigen Wochen betrachte und die Version 1.0 dann sind das Quantensprünge was du da so alles hineingepackt hast.
Die Implementierung der "Info" finde ich hervorragend, das sollten wir alle implementieren umd dem Anwender kurz die neuesten Infos der Version geben zu können.
Ich habe die Version auf dem Server hochgeladen, werde mir da was überlegen um auch mehrere Files auf einem Ruck laden zu können, eventuell auf ein Tar-Paket ausweichen.
Danke für dieses tolle Umsetzung, ebenso wie die Versionsnummer ist auch das Script ein gewaltiger Sprung an Leistungsfähigkeit und Komfort!
Ganz besonders interessant ist auch die Zeit, wo du das Script veröffentlicht hast (ha,ha).
Hoffentlich hörst du und Barabas nie auf mit dem Hobby, eine Bereicherung für alle Dreambox Anwender!
LG
Bauernbub -
Habe es gerade in meiner Dream 7020 eingebunden.Ich muss sagen es ist ein Superscript.
Danke Bexbier Supergeniale Idee. -
Hallo Bexbier und natürlich alle die mitgeholfen haben an diesem superscript.Habe gestern die ältere Version installiert und muss sagen es lief alles auf Anhieb.Muss dazu sagen habe ein anderes Passwort in meiner 7020 vergeben.Habe gerade eben die neue Version installiert und es lief auf Anhieb ohne das ich in der cfg mein Passwort ändern musste.Allerdings konnte ich die Files nicht abspielen.Nach Download sind die Files auf meiner hdd vorhanden,von da aus kann ich sie auch mit einem normalen Player abspielen.Nach Änderung des Passwortes in der musicbox cfg.kann ich das komplette Script nicht mehr starten.An was könnte das liegen?
Grüsse Mattys -