Advertisement
darsinqauros

Mover para MP4

Nov 13th, 2011
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2.  
  3. # SCRIPT FEITO PARA SER USADO NAS AÇÕES PERSONALISADAS DO THUNAR.
  4. # DEPENDE DO BASH, ZENITY E MP3GAIN
  5.  
  6.  
  7. if [ -n "$1" ]; then
  8.     arquivo="/home/$USER/.enviarParaMP4-pontoDeMontagem"
  9.  
  10. # VERIFICA SE O ARQUIVO DE PONTO DE MONTAGEM EXISTE.
  11.     if [ -f "$arquivo" ]; then
  12.         pontoDeMontagem=$(cat "$arquivo")
  13.     fi
  14. # -----------------------------------------------
  15.  
  16. # VERIFICA SE O MP4 ESTÁ MONTADO.
  17.     if [ -n "$pontoDeMontagem" ]; then
  18.         if [ -d "$pontoDeMontagem" ]; then
  19.             nok=""
  20.         else
  21.             nok="nok"
  22.             [ -f "$arquivo" ]; rm "$arquivo"
  23.         fi
  24.     else
  25.         nok="nok"
  26.         [ -f "$arquivo" ]; rm "$arquivo"
  27.     fi
  28. # -----------------------------------------------
  29.  
  30. # SE NÃO HOUVER O PONTO DE MONTAGEM SALVA NO $ARQUIVO.
  31.     if [ "$nok" == "nok" ]; then
  32.         # Os nomes do seu dispositivo pode ser verificado através do "dmesg | grep -i scsi"
  33.         nome1MP4="ACTIONS  HS USB FlashDisk 2.00 PQ: 0 ANSI: 0 CCS"
  34.         nome2MP4="Attached SCSI removable disk"
  35.         # ---------------------------------------------------------------------------------
  36.  
  37.         dispositivo="/home/$USER/.dispositivo"
  38.         # A linha abaixo pode ser comentada se você não quiser tempo para verificar se o MP4 está montado.
  39.         zenity --info --title="Aviso!" --text=" Por favor,\nantes de continuar,\nconfira se o MP4 está devidamente montado.\n Grato."
  40.         # ---------------------------------------------------------------------------------
  41.         numeroDoDispositivo=$(dmesg | grep -i "$nome1MP4" | sed -e "s/^.\{20\}\([0-9:]\{8\}\).*/\1/" | tail -n1)
  42.         if [ -n "$numeroDoDispositivo" ]; then
  43.             dmesg | grep -i "$numeroDoDispositivo" | grep -i "$nome2MP4" | sed -e "s/^.\{28\}\([a-z]\{3\}\).*/\1/" | tail -n1 >"$dispositivo"
  44.             pontoDeMontagem=$(mount | grep -i "`cat /home/$USER/.dispositivo`" | sed -e "s/^.\{12\}\([0-9a-zA-Z/ -]*\) type.*/\1/")
  45.             if [-n $pontoDeMontagem ]; then
  46.                 echo $pontoDeMontagem>"$arquivo"
  47.             else
  48.                 zenity --info --title="Erro!" --text="Dispositivo não encontrado."
  49.             fi
  50.             rm "$dispositivo"
  51.         else
  52.             zenity --info --title="Erro!" --text="Dispositivo não encontrado."
  53.         fi
  54.     fi
  55. # -----------------------------------------------
  56.  
  57.     if [ -d "$pontoDeMontagem" ]; then
  58.  
  59.         listaParaTransferir="/home/$USER/.listaParaTransferir"
  60.  
  61. # CRIA A LISTA DE ARQUIVOS A TRANSFERIR.
  62.         echo "$*" | sed -e "s/\.mp3 /\.mp3\n/g">>"$listaParaTransferir"
  63. # -----------------------------------------------
  64.  
  65. # CRIA O DIRETÓRIO DE MÚSICAS NO MP4, SE ELE NÃO EXISTIR.
  66.         mkdir -p "$pontoDeMontagem/musicas"
  67. # -----------------------------------------------
  68.  
  69. # COPIA AS MÚSICAS PARA O MP4 E REALIZA A NORMALIZAÇÃO DE VOLUME COM O MP3GAIN
  70.         while read mp3; do
  71.             musicaAtual=$(echo "$mp3" | sed -e "s/^\/media\/[a-zA-Z0-9 /áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚçÇ_-]*\/\([a-zA-Z0-9 áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚçÇ_-]*\.mp3\)/\1/")
  72.             if [ ! -f "$pontoDeMontagem/musicas/$musicaAtual" ]; then
  73.                 cp "$mp3" "$pontoDeMontagem/musicas"
  74.                 mp3gain -r -k "$pontoDeMontagem/musicas/$musicaAtual"
  75.             fi
  76.         done < "$listaParaTransferir"
  77. # -----------------------------------------------
  78.  
  79. # REMOVE A LISTA DE TRANSFERÊNCIA.
  80.         rm "$listaParaTransferir"
  81. # -----------------------------------------------
  82.  
  83. # AVISA QUE O PROCESSO FOI CONCLUÍDO COM SUCESSO.
  84.         zenity --info --title="Transferência finalizada!" --text=" Os arquivos selecionados foram\ntrasnferidos e normalizados com sucesso!"
  85. # -----------------------------------------------
  86.     fi
  87. else
  88. # SE NÃO HOUVER ARQUIVO DE ENTRADA, AVISA.
  89.     zenity --info --title="Erro!" --text="Falta o arquivo de entrada."
  90. # -----------------------------------------------
  91. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement