Супер-пупер будильник (KAlarm и Amarok) (РЕШЕНИЕ)

Изображение пользователя Soi-Fong.

Я как-то создавал тему про будильники, но из того, что я пробовал ничего меня не удовлетворило полностью, потому, как истинный линуксойд, я написал будильник сам, если можно так сказать =).
Обошелся я стандартными средствами: KAlarm и Amarok, впрочем плеер можно использовать любой другой, и еще понадобилась простая софтинка-микшер для управления громкостью - aumix (sudo aptitude install aumix).
Создаем в KAlarm обычное напоминание, в качестве действия выбираем "Команда" и жмем галку "Указать скрипт".
А вот и сам скрипт, с комментариями - сердце будильника. Он проверяет наличие интернета (вдруг упал сцуко), если инет есть, играем плейлист с интернет радио (чтобы мелодия не приедалась), если инета нет играем плейлист с мп3шками из локальных запасов, потом плавно увеличиваем громкость до определенного значения (чтобы не получить инфаркт с утра). Вот и все, что мне от будильника требовалось.
maxvolume=100                                                             # громкость, до которой разгоняемся, в процентах
raisetime=60                                                              # время, за которое достигаем максимальной громкости, в секундах

volume=0                                                                  # ставим громкость в ноль
aumix -v $volume
if [ `ping -c 1 ya.ru | head -n 5 | tail -n 1 | awk '{print $4}'` -eq 1 ] # проверяем наличие инета
then amarok -p -l /home/soifong/sounds/alarm_online.m3u &> /dev/null      # и запускаем радио
else amarok -p -l /home/soifong/sounds/alarm_offline.m3u &> /dev/null     # или мп3шки с харда, команды можно поменять на свои
fi
sleep 5                                                                   # подождем, пока запустится плеер
while [ "$volume" -le "$maxvolume" ]
do
    volume=`echo "$volume + 1" | bc`                                      # прибавляем по единичке громкости
    aumix -v $volume
    sleep `echo "scale=3; $raisetime / $maxvolume" | bc`                  # плавно
done

Приятного просыпания ;)

Комментарии (4)

0
Soi-Fong - 20 Февраль, 2009 - 16:46
Изображение пользователя Soi-Fong.

Главное, найти радио, которое всегда работает. Например, last.fm через lastfmproxy.

0
balamutick - 27 Февраль, 2009 - 17:20
Изображение пользователя balamutick.

По теме программ-будильников вы можете так же глянуть следующие статьи:

Программа-будильник

Будильник с помощью amarok + cron

0
intsurfer - 28 Февраль, 2009 - 23:36

>>volume=`echo "$volume + 1" | bc`

имхо проще написать так: volume = $((volume+1))

0
Soi-Fong - 1 Март, 2009 - 02:49
Изображение пользователя Soi-Fong.

Я про такое не знал, учту ) правда такой синтаксис работает только с целыми числами.
А еще правильнее "awk '{print $4}'" заменить на "cut -d ' ' -f 4" )

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры