sound.sh 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #!/bin/sh
  2. # $1 - action
  3. # $2 - type of file
  4. action=$1
  5. filetype=$2
  6. [ -n "${MC_XDG_OPEN}" ] || MC_XDG_OPEN="xdg-open"
  7. do_view_action() {
  8. filetype=$1
  9. case "${filetype}" in
  10. mp3)
  11. mpg123 -vtn1 "${MC_EXT_FILENAME}" 2>&1 | \
  12. sed -n '/^Title/,/^Comment/p;/^MPEG/,/^Audio/p'
  13. ;;
  14. ogg)
  15. ogginfo "${MC_EXT_FILENAME}"
  16. ;;
  17. wma)
  18. mplayer -quiet -slave -frames 0 -vo null -ao null -identify "${MC_EXT_FILENAME}" 2>/dev/null | \
  19. tail +13 || file "${MC_EXT_FILENAME}"
  20. ;;
  21. *)
  22. cat "${MC_EXT_FILENAME}"
  23. ;;
  24. esac
  25. }
  26. do_open_action() {
  27. filetype=$1
  28. case "${filetype}" in
  29. common)
  30. if [ -n "$DISPLAY" ]; then
  31. (xmms "${MC_EXT_FILENAME}" >/dev/null 2>&1 &)
  32. else
  33. play "${MC_EXT_FILENAME}"
  34. fi
  35. ;;
  36. mod)
  37. mikmod "${MC_EXT_FILENAME}"
  38. #tracker "${MC_EXT_FILENAME}"
  39. ;;
  40. wav22)
  41. vplay -s 22 "${MC_EXT_FILENAME}"
  42. ;;
  43. mp3)
  44. if [ -n "$DISPLAY" ]; then
  45. (xmms "${MC_EXT_FILENAME}" >/dev/null 2>&1 &)
  46. else
  47. mpg123 "${MC_EXT_FILENAME}"
  48. fi
  49. ;;
  50. ogg)
  51. if [ -n "$DISPLAY" ]; then
  52. (xmms "${MC_EXT_FILENAME}" >/dev/null 2>&1 &)
  53. else
  54. ogg123 "${MC_EXT_FILENAME}"
  55. fi
  56. ;;
  57. midi)
  58. timidity "${MC_EXT_FILENAME}"
  59. ;;
  60. wma)
  61. mplayer -vo null "${MC_EXT_FILENAME}"
  62. ;;
  63. playlist)
  64. if [ -n "$DISPLAY" ]; then
  65. (xmms -p "${MC_EXT_FILENAME}" >/dev/null 2>&1 &)
  66. else
  67. mplayer -vo null -playlist "${MC_EXT_FILENAME}"
  68. fi
  69. ;;
  70. *)
  71. ;;
  72. esac
  73. }
  74. case "${action}" in
  75. view)
  76. do_view_action "${filetype}"
  77. ;;
  78. open)
  79. "${MC_XDG_OPEN}" "${MC_EXT_FILENAME}" 2>/dev/null || \
  80. do_open_action "${filetype}"
  81. ;;
  82. *)
  83. ;;
  84. esac