sound.sh 2.2 KB

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