Risultati da 1 a 10 di 10
  1. dross Guest

    script creare parecchie playlist

    ho diversi file audio organizzati in directory così:
    artista\anno album\num. traccia titolo.estensione.
    ora vorrei creare delle playlist (una per directory) che abbiano come
    nome file lo schema "artista - anno album" presi dai nomi delle
    directory e dei file.
    per crearne una per volta è facile, si va nelle singole directory, si fa
    ls *.estensione>playlist.m3u e la lista viene poi letta senza problemi
    dai vari programmi, almeno sotto linux, ma penso che né i player per
    windows né i vari lettori portatili siano schizzinosi.
    però vorrei evitarmi la seccatura di spostarmi nelle varie directory e
    scrivere il nome del file. c'è un modo elegante per dare un comando
    ricorsivo o qualcosa del genere?
     

  2. Mario M. Macaluso Guest

    Re: script creare parecchie playlist

    On 26 Lug, 13:17, dross <dros...*TOGLIMIgmail.com> wrote:
    > ho diversi file audio organizzati in directory così:
    > artista\anno album\num. traccia titolo.estensione.


    quindi una cosa così:

    A/a1/t
    A/a2/t
    A1/a/t
    A1/a2/t
    ...
    AN/an/t

    > ora vorrei creare delle playlist (una per directory) che abbiano come
    > nome file lo schema "artista - anno album" presi dai nomi delle
    > directory e dei file.
    > per crearne una per volta è facile, si va nelle singole directory, si fa
    > ls *.estensione>playlist.m3u e la lista viene poi letta senza problemi
    > dai vari programmi, almeno sotto linux, ma penso che né i player per
    > windows né i vari lettori portatili siano schizzinosi.
    > però vorrei evitarmi la seccatura di spostarmi nelle varie directory e
    > scrivere il nome del file. c'è un modo elegante per dare un comando
    > ricorsivo o qualcosa del genere?


    il tuo script deve:
    - creare la lista degli 'A'
    - creare la lista degli 'a'
    - creare la lista delle 't'

    inizia a scrivere, e po fai sapere.

    ciao
    michele

    PS
    è più facile di quanto sembri, le indentazioni hanno un significato,
    a te scoprirlo.
     

  3. THe_ZiPMaN Guest

    Re: script creare parecchie playlist

    On 07/26/2010 01:17 PM, dross wrote:
    > per crearne una per volta è facile, si va nelle singole directory, si fa
    > ls *.estensione>playlist.m3u e la lista viene poi letta senza problemi


    cd ~/music
    find . -type d -mindepth 2 -maxdepth 3 | while read dir
    do
    album=$(basename "$dir")
    cd "$dir"
    ls -1 > "$album.m3u"
    cd -
    done

    --
    Flavio Visentin

    Ubuntu in Zulu significa "Non so usare Debian". (cit. CtRiX)
     

  4. mallin.shetland Guest

    Re: script creare parecchie playlist

    Addì lunedì 26 luglio 2010 22:43 THe_ZiPMaN scrisse:

    > On 07/26/2010 01:17 PM, dross wrote:
    >> per crearne una per volta è facile, si va nelle singole directory, si fa
    >> ls *.estensione>playlist.m3u e la lista viene poi letta senza problemi

    >
    > cd ~/music
    > find . -type d -mindepth 2 -maxdepth 3 | while read dir
    > do
    > album=$(basename "$dir")
    > cd "$dir"
    > ls -1 > "$album.m3u"
    > cd -
    > done
    >




    Due cose.

    Il modo giusto per fare è:

    find . -type d -mindepth 2 -maxdepth 3 -print0 |
    while IFS= -rd'' read dir
    do
    ...

    accettabile anche:

    find . -type d -mindepth 2 -maxdepth 3 -print |
    while -r read dir
    do
    ...


    Attento a ``ls'' è il comando meno affidabile da usare in uno script
    perché il suo output è il meno affidabile ed il più vario possibile.
    Certo nella maggior parte dei casi funziona ma questo è proprio il
    caso su mille dove potresti avere problemi.
    In questo caso il problema è la codifica dei caratteri: il formato
    m3u usa la codifica 1252 mentre in genere nei sistemi Linux si usa
    Latin-16 o UTF-8. niente di grave, iconv può aggiustare questo e
    comunque rischi solo che il lettore mp3 non potrÃ* leggere quella
    playìlist.



     

  5. mallin.shetland Guest

    Re: script creare parecchie playlist

    Addì lunedì 26 luglio 2010 13:17 dross scrisse:

    > ..
    > per crearne una per volta è facile, si va nelle singole directory, si fa
    > ls *.estensione>playlist.m3u ...


    Per riprodurre tutti i file in una directory molto più semplicemente:

    cd ~/musica/mp3/
    pwd > $(pwd)/playlist.m3u


    > .. e la lista viene poi letta senza problemi
    > dai vari programmi, almeno sotto linux, ma penso che né i player per
    > windows né i vari lettori portatili siano schizzinosi.
    > ...


    Purtroppo no. m3u usa la codifica 1252 e sia i lettori portatili che i vari
    Windows sono schizzinosi su questo. Nel caso iconv risolve tutto.




    Addì lunedì 26 luglio 2010 13:17 dross scrisse:
    > ..
    > però vorrei evitarmi la seccatura di spostarmi nelle varie directory e
    > scrivere il nome del file.
    > ...


    GiÃ* ti hanno risposto




    Addì lunedì 26 luglio 2010 13:17 dross scrisse:

    > ...c'è un modo elegante per dare un comando
    > ricorsivo o qualcosa del genere?


    No, non c'è un modo elegante, Però la soluzione giÃ* proposta è
    la migliore.
     

  6. THe_ZiPMaN Guest

    Re: script creare parecchie playlist

    On 07/27/2010 09:26 AM, mallin.shetland wrote:
    > Il modo giusto per fare è:
    >
    > find . -type d -mindepth 2 -maxdepth 3 -print0 |
    > while IFS= -rd'' read dir
    > do
    > ...


    In *questo* specifico caso non vi sono problemi, a meno che l'utente non
    abbia file con un "a capo" nel nome. Certamente se si fosse dovuto passare
    l'output p.es. a xargs il -print0 sarebbe stato d'obbligo.

    > In questo caso il problema è la codifica dei caratteri: il formato
    > m3u usa la codifica 1252 mentre in genere nei sistemi Linux si usa
    > Latin-16 o UTF-8. niente di grave, iconv può aggiustare questo e
    > comunque rischi solo che il lettore mp3 non potrÃ* leggere quella
    > playìlist.


    Didn't know... ma in effetti non ascoltando musica non mi sono mai imbattuto
    nel formato m3u. :-)

    --
    Flavio Visentin

    Ubuntu in Zulu significa "Non so usare Debian". (cit. CtRiX)
     

  7. mallin.shetland Guest

    Re: script creare parecchie playlist

    Addì martedì 27 luglio 2010 09:26 mallin.shetland scrisse:

    > while IFS= -rd'' read dir


    > while -r read dir



    Sarebbero dovuti essere rispettivamente:


    while IFS= read -r -d '' dir

    e

    while read -r dir


    Mi scuso per gli errori




     

  8. mallin.shetland Guest

    Re: script creare parecchie playlist

    Prima di tutto mi scuso per i refusi


    Addì martedì 27 luglio 2010 12:02 THe_ZiPMaN scrisse:

    > On 07/27/2010 09:26 AM, mallin.shetland wrote:
    >> Il modo giusto per fare è:
    >>
    >> find . -type d -mindepth 2 -maxdepth 3 -print0 |
    >> while IFS= -rd'' read dir
    >> do
    >> ...

    >
    > In *questo* specifico caso non vi sono problemi, a meno che l'utente non
    > abbia file con un "a capo" nel nome. Certamente se si fosse dovuto passare
    > l'output p.es. a xargs il -print0 sarebbe stato d'obbligo.


    Ed io infatti ho anche scritto che la variante

    .... print | while read -r dir'' ...

    è accettabile in questo caso.

    Comunque i problemi non si verificano solo con gli a capo ma anche
    con i caratteri di controllo, i file che iniziano con uno spazio o file che
    contengono degli escape.

    In particolare l'opzione -r di read evita l'interpretazione delle barre
    rovesciate ed elimina questo ultimo problema.

     

  9. dross Guest

    Re: script creare parecchie playlist

    Il 27/07/2010 09:26, mallin.shetland ha scritto:

    >
    > Due cose.
    >
    > Il modo giusto per fare è:
    >
    > find . -type d -mindepth 2 -maxdepth 3 -print0 |
    > while IFS= -rd'' read dir
    > do
    > ...
    >
    > accettabile anche:
    >
    > find . -type d -mindepth 2 -maxdepth 3 -print |
    > while -r read dir
    > do
    > ...
    >
    >
    > Attento a ``ls'' è il comando meno affidabile da usare in uno script
    > perché il suo output è il meno affidabile ed il più vario possibile.
    > Certo nella maggior parte dei casi funziona ma questo è proprio il
    > caso su mille dove potresti avere problemi.
    > In questo caso il problema è la codifica dei caratteri: il formato
    > m3u usa la codifica 1252 mentre in genere nei sistemi Linux si usa
    > Latin-16 o UTF-8. niente di grave, iconv può aggiustare questo e
    > comunque rischi solo che il lettore mp3 non potrÃ* leggere quella
    > playìlist.
    >
    >
    >


    come è stato impostato da the_zipman è andato tutto bene, semmai proverò
    anche con questa variante. in effetti ho avuto dei problemini per aver
    mischiato audio di formati differenti (ad esempio ho cambiato mp3 con
    ogg nello script e mi ha creato delle playlist vuote nelle directory
    senza ogg sovrascrivendo quelle precedenti), ma ho prevalentemente mp3,
    quindi basta 1 po' di artigianato, x fortuna nel tenere insieme i file
    sono abbastanza ordinato. la "fregatura" in realtÃ* è che il mio lettore
    è un creative zen che ho appena scoperto che ha un formato tutto suo di
    playlist (.zpl) e probabilmente il modo meno rognoso di manipolarlo è
    tramite programmi ad hoc, forse anche gli stessi rhytmbox e/o gnomad,
    volendo perderci un po' di tempo. ad ogni modo, vista la semplicitÃ*
    dell'output, ls liscio senza opzioni è più che sufficiente, mi scrive
    nella playlist (di formato m3u)
    01 traccia1.mp3
    02 traccia2.mp3
    eccetera
    che viene aperta senza problemi sia in windows che in linux e giÃ* è
    moltissimo
     

  10. Mario M. Macaluso Guest

    Re: script creare parecchie playlist

    On 26 Lug, 22:32, "Mario M. Macaluso" <mcl...*email.it> wrote:

    [ ... ]

    >
    > PS
    > è più facile di quanto sembri, le indentazioni hanno un significato,
    > a te scoprirlo.


    in effetti tutto è in funzione di due parametri di find:

    mindepth e maxdepth.

    sinceramente se non avessi visto l'esempio di mallin...
    ma appena visto, il neurone s'è ingrifato di brutto,
    manco il viagra fà un effetto così :-P

    attenzione "playlist" va messo su un file separato,
    find così non la digerisce, basta adattarla alle proprie esigenze
    e puoi costruirti tutti i cataloghi che vuoi.

    ciao
    michele

    ---------------------------- cut - here ----------------------
    #!/bin/bash

    function playlist ()
    {
    cd "$1"
    printf "Sono nell'album: [%s] (%s)\n" "$1" "`pwd`"
    ls -1
    printf "\n===================================\n"
    }

    declare -f playlist
    catalog=""
    author=""
    album=""

    if [ $# -eq 0 ]
    then
    printf "usage: %s -c dir [-a author [-d album] ]\n" `basename $0`
    exit
    fi

    while [ $# -gt 0 ]
    do
    case $1 in
    -c)
    shift
    catalog="$1"
    ;;
    -a)
    shift
    author=$1
    ;;
    -d)
    shift
    album=$1
    ;;
    *)
    printf "usage: %s -c dir [-a author [-d album] ]\n" `basename
    $0`
    exit
    ;;
    esac
    shift
    done


    if [ -n "$catalog" -a -z "$author" -a -z "$album" ]
    then
    find "$catalog" -mindepth 2 -maxdepth 3 -type d -exec playlist
    "{}" \;
    exit
    fi

    if [ -n "$catalog" -a -n "$author" -a -z "$album" ]
    then
    find "$catalog/$author" -mindepth 1 -maxdepth 2 -type d -exec
    playlist "{}" \;
    exit
    fi

    if [ -n "$catalog" -a -n "$author" -a -n "$album" ]
    then
    playlist "$catalog/$author/$album"
    exit
    fi

    printf "usage: %s -c dir [-a author [-d album] ]\n" `basename $0`
    exit -1
    ----------------------------------------------------------
     

Discussioni Simili

  1. Esiste uno script per una playlist di youtube?
    Mi interesserebbe uno script che indicati i link dei video di youtube mi caricasse una sorta di videogallery. Esiste?
    Esiste uno script per una playlist di youtube? inviato Di Alce nel forum it.comp.www.php
    Replies: 2
    Ultimo Messaggio: 01-31-2009, 05:27 PM
  2. batch per creare playlist m3u
    Salve a tutti un collega ha scritto questo script per me, quello che voglio ottenere è una playlist m3u chiamata col path delle cartelle ad...
    batch per creare playlist m3u inviato Di Everett nel forum it.comp.os.dos
    Replies: 1
    Ultimo Messaggio: 07-16-2008, 09:41 AM
  3. [iTunes] Come creare questa playlist?
    E' possibile con le regole disponibili creare una playlist speciale contenente le canzoni più ascoltate solo in un determinato periodo senza...
    [iTunes] Come creare questa playlist? inviato Di Popi nel forum it.comp.macintosh
    Replies: 1
    Ultimo Messaggio: 09-29-2006, 09:31 AM
  4. [iTunes] Esiste appz per creare copertine da playlist?
    Avevo trovato una qualche applicazione che creava in modo rapido le copertine per i cd, ma non riesco a ricordare il nome ne' a trovarla su...
    [iTunes] Esiste appz per creare copertine da playlist? inviato Di Gia. nel forum it.comp.macintosh
    Replies: 7
    Ultimo Messaggio: 04-11-2005, 08:50 PM
  5. Creare playlist HTML da directory di MP3
    vorrei fare una cosa tipo questa: http://www.joescafe.com/tunes2html/sample.htm ma prendendo le canzoni direttamente dalle directory e non dalla...
    Creare playlist HTML da directory di MP3 inviato Di koichirose nel forum it.comp.aiuto
    Replies: 0
    Ultimo Messaggio: 03-07-2005, 09:27 PM