Advertisement
darsinqauros

Enviar para MP4

Nov 12th, 2011
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.64 KB | None | 0 0
  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="Infelizmente o dispositivo não foi encontrado."
  49.             fi
  50.             rm "$dispositivo"
  51.         else
  52.             zenity --info --title="Erro!" --text="Infelizmente o dispositivo não foi 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.         echo "$*" | sed -e "s/ \//\n\//g" | grep ".mp3">>"$listaParaTransferir"
  64. # -----------------------------------------------
  65.  
  66. # CRIA O DIRETÓRIO DE MÚSICAS NO MP4, SE ELE NÃO EXISTIR.
  67.         mkdir -p "$pontoDeMontagem/musicas"
  68. # -----------------------------------------------
  69.  
  70. # COPIA AS MÚSICAS PARA O MP4 E REALIZA A NORMALIZAÇÃO DE VOLUME COM O MP3GAIN
  71.         while read mp3; do
  72.             musicaAtual=$(echo "$mp3" | sed -e "s/^\/[[:alpha:][:digit:][:punct:] ]*\/\([[:alpha:][:digit:][:punct:] ]*\.mp3\)/\1/")
  73.             if [ ! -f "$pontoDeMontagem/musicas/$musicaAtual" ]; then
  74.                 [ ! -f "$mp3" ]; cp "$mp3" "$pontoDeMontagem/musicas"
  75.                 mp3gain -r -k "$pontoDeMontagem/musicas/$musicaAtual"
  76.             fi
  77.         done < "$listaParaTransferir"
  78. # -----------------------------------------------
  79.  
  80. # REMOVE A LISTA DE TRANSFERÊNCIA.
  81.         rm "$listaParaTransferir"
  82. # -----------------------------------------------
  83.  
  84. # AVISA QUE O PROCESSO FOI CONCLUÍDO COM SUCESSO.
  85.         zenity --info --title="Transferência finalizada!" --text=" Os arquivos selecionados foram\ntrasnferidos e normalizados com sucesso!"
  86. # -----------------------------------------------
  87.     fi
  88. else
  89. # SE NÃO HOUVER ARQUIVO DE ENTRADA, AVISA.
  90.     zenity --info --title="Erro!" --text="Falta o arquivo de entrada."
  91. # -----------------------------------------------
  92. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement