NoPaste

command_per_nutzereingabe.sh

von heinz

SNIPPET_TEXT:
  1. #!/bin/bash
  2. #
  3. # Dieses Script benoetigt >dialog< um ein Menue anzuzeigen.
  4. #
  5. # Start mit:
  6. # scriptname.sh "SOUND-DATEINAME"
  7. #
  8. # Im Selben Verzeichnis wie die Sound-Datei muss auch eine Datei mit den Zeiten liegen
  9. # Ihr Name muss der gleiche sein wie der Sound-Dateiname nur mit der Endung >.time<
  10. #
  11. # z.B.
  12. # Liedname "tolles Lied.mp3"
  13. # damm muss die Zeit-Datei so heissen:
  14. # "tolles lied.time"
  15. #
  16. # Der Aufbau der Zeit-Datei ist:
  17. # start-time,stop-time
  18. # start-time,stop-time
  19. # start-time,stop-time
  20. # start-time,stop-time
  21. #
  22. #
  23. # heinz
  24. #
  25.  
  26.  
  27.  
  28.  
  29. # Ist das Programm dialog vorhanden?
  30. if test -z "`which dialog`"
  31. then
  32.         echo -e "\aDieses Script benoetigt leider das Programm >dialog< um zu funktionieren!\n"
  33.         exit 1
  34. fi
  35.  
  36.  
  37. # Dateiname der Sound-Datei testen
  38. if test -z "$1" -o "$1" == "--help"
  39. then
  40.         echo -e "\a\nBitte gib den Dateinamen der Sound-Datei an!\n"
  41.         echo -e "scriptname.sh \"SOUND-DATEINAME\"\n"
  42.         exit 1
  43. else
  44. # Existiert die Datei?
  45.         if ! test -f "$1"
  46.         then
  47.                 echo -e "\a\nDie Datei >$1< existiert nicht oder ist keine \"normale\" Datei!\n"
  48.                 exit 1
  49.         else
  50. # Existiert die Zeit-Datei?
  51.                 datei="$1"
  52.                 if ! test -f "${datei%%.*}.time"
  53.                 then
  54.                         echo -e "\a\nDie Zeit-Datei >${datei%%.*}.time< existiert nicht!\n"
  55.                         exit 1
  56.                 else
  57. # Zeiten einlesen
  58.                         start_stop_zeiten=( `<"${datei%%.*}.time"` )
  59.                 fi
  60.         fi
  61. fi
  62.  
  63.  
  64. # Sonstiges
  65. scriptpfad="$(dirname `readlink -f $0`)"
  66. dialog="dialog --stdout --colors"
  67. test -s "$scriptpfad/dialogrc" && export DIALOGRC="$scriptpfad/dialogrc"
  68. fenstergroesse='80x24'
  69.  
  70.  
  71. # Funktionen -------------------------------------------------------------------
  72. function Menue_erstellen
  73. {
  74.         z=0
  75.         while test -n "${start_stop_zeiten[$z]}"
  76.         do
  77.                 echo " $z \Z2-->${start_stop_zeiten[$z]}"
  78.                 let z++
  79.         done
  80. }
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87. # Hauptteil --------------------------------------------------------------------
  88.  
  89. # Fenstergroesse
  90. let h=${fenstergroesse##*x}-1
  91. b=${fenstergroesse%%x*}
  92. let l=$h-3
  93.  
  94. # Hauptschleife
  95. while true
  96. do
  97.         wahl=$($dialog --default-item "$wahl" --cancel-label Ende --menu "\Z2Bitte Waehle einen Zeitabschnitt:\n\Z4$datei" $h $b $l `Menue_erstellen`)
  98.         test $? -eq 1 && break
  99.  
  100.         echo "vlc \"$datei\" --start-time ${start_stop_zeiten[$wahl]%%,*} --stop-time ${start_stop_zeiten[$wahl]##*,} --repeat"
  101.         vlc "$datei" --start-time ${start_stop_zeiten[$wahl]%%,*} --stop-time ${start_stop_zeiten[$wahl]##*,} --repeat
  102. done
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  

Quellcode

Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN