Автор Тема: автомогинтола, shuffle  (Прочитано 1579 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн pa_

автомогинтола, shuffle
« : 30 Сентября 2014, 11:21:42 »
Добрый день.

В штатной магнитоле нет ф-ции играть музыку в разнобой или не нашел =).
Набросал простенький скрипт с помощью CTRL+C\CTRL+V для перемешивания.
Заходим в папку с Вашим любимым исполнителем и запускаем.

~/.bash_aliases
alias mix="~/shell/mix.sh"

#! /bin/sh

N="7" # колво знаков в имени файла
T="mix" # временная папка
E="*.mp3" # расширение файла
P=`pwd` # текущий каталог
PT=`pwd`/$T # текущий каталог + временная папка

# если существует папка T удаляем
if [ -d "$PT" ]
then
  rm -r "$PT"
fi

# создаем пустую
mkdir "$PT"

# ищем все файлы E в директории где лежит скрипт
find "$P" -type f -name "$E" -print -exec cp -n {} "$PT" \;

# если существует папка T и она пустая
# ничего не выполняем и удаляем ее
if [ -d "$PT" ]
then
  if  [ $(find "$PT" -maxdepth 0 -type d -empty 2>/dev/null) ]
  then
    echo "$T is empty. Erase."
    rm -r "$PT"
    return 0
  fi
fi

# для всех файлов E даем случайные имена
for i in "$PT"/$E
do
  mv "$i" "$PT/$(cat /dev/urandom | tr -dc 'a-z' | head -c $((N))).mp3"
done

Всё, можно копировать на флешку.

Подправил, можно запускать через алиас
« Последнее редактирование: 30 Сентября 2014, 14:20:11 от pa_ »
 

Оффлайн endru

Re: автомогинтола, shuffle
« Ответ #1 : 30 Сентября 2014, 11:37:53 »
я бы рекомендовал использовать полные пути в скриптах, вместо относительных.

Оффлайн pa_

Re: автомогинтола, shuffle
« Ответ #2 : 30 Сентября 2014, 11:41:16 »
почему ? не будет же такой "мобильности"
 

Оффлайн endru

Re: автомогинтола, shuffle
« Ответ #3 : 30 Сентября 2014, 11:59:33 »
проще указать нужный путь к директории при запуске скрипта, чем постоянно перемещать файлы в текущую директорию или сам скрипт.

Оффлайн pa_

Re: автомогинтола, shuffle
« Ответ #4 : 30 Сентября 2014, 12:18:43 »
можно и доработать мол если есть аргументы или брать то что забито в программе и текущий каталог
у меня путь к папке /srv/ftp/www/music/... так что лень каждый раз набирать =)
пользуюсь mc + алиасы для перехода сразу в папку music (cdm) book (cdb) iso (cdi) и т.д.
скрипт можно также повесить на алиас, выбрал что хочешь сегодня слушать и запустил, только тогда надо будет приделать `pwd` за место "."

проигрывателем тоже пользуюсь в виде алиаса =) в mc выбрал папку или по жанру или по исполнителю и запустил
## mplayer
function mpp() {
  find "`pwd`" -type f -iname "*.mp3" -o -name "*.flac" -o -name "*.ogg" -o -name "*.m4a" -o -name "*.avi" -o -name "*.mkv" | sort -R > /var/tmp/plst.tmp
  mplayer -shuffle -playlist /var/tmp/plst.tmp
  rm /var/tmp/plst.tmp
}
function mp1() {
  find "`pwd`" -type f -iname "*.mp3" -o -name "*.flac" -o -name "*.ogg" -o -name "*.m4a" -o -name "*.avi" -o -name "*.mkv" | sort -g > /var/tmp/plst.tmp
  mplayer -playlist /var/tmp/plst.tmp
  rm /var/tmp/plst.tmp
}
 

Оффлайн ferum

Re: автомогинтола, shuffle
« Ответ #5 : 30 Сентября 2014, 12:44:23 »
Endru, Вижу вы разбираетесь в вопросе шел программирования. Если будет время пожалуйста напишите для нас форумчан доходчивую хоутушку а то в официальной документации как то всё не совсем доходчиво ::)
Русские дебианщики против цифрового слабоумия !
 

yura_n

  • Гость
Re: автомогинтола, shuffle
« Ответ #6 : 30 Сентября 2014, 16:33:32 »
а то в официальной документации как то всё не совсем доходчиво ::)
Я даже не уверен, есть ли люди, которые поняли хотя бы треть, прочитав только man bash. Этот мануал то ли торчками с большим стажем написан, то ли инопланетянами. ;D А его порой еще и переводят буквально. ;D
 

Оффлайн ferum

Re: автомогинтола, shuffle
« Ответ #7 : 30 Сентября 2014, 17:23:06 »
 ??? А я грешным делом думал что один такой тупой :D
Русские дебианщики против цифрового слабоумия !
 

Теги: