Cron + MPD + MPC => Alarm Clock…

There have been so many of these posts (3rd to be exact… check the remaining two posts in the list below) that I think I should start a new series on this thing. It is true, I have found one more way of having that alarm clock working… It so just happens that no matter how loud and for how much time I play the alarm, I can never wake up on time.

There is something about my body clock that I cannot wake before some specific time. Say 1000 without alarm. Even if I sleep at say 2000, I cannot wake early. On the other hand, if I sleep like 2300, I will wake up around 1000 without alarm… I know, people say I am turning into Nocturnal animal :D

***Aditya thinks about a bat a knight and a new movie :D

So, back to the alarm clock, this time, I decided to use the MPD method. MPD, or music player daemon is a music player daemon :-| . It quotes on the official site as,

Music Player Daemon (MPD) allows remote access for playing music (MP3, Ogg Vorbis, FLAC, AAC, Mod, and wave files) and managing playlists. MPD is designed for integrating a computer into a stereo system that provides control for music playback over a local network. It also makes a great desktop music player, especially if you are a console junkie, like frontend options, or restart X often.

It works on a client server basis. You have MPD and you need a player, or a client to play songs now. There are many clients available. The one that I use it Sonata. Sonata however is GUI based and so, I decided not to use it for the clock, but use some CLI client instead. I then found out about MPC.

Using MPC, I fiddled a little with MPD and wrote a script which I set to be executed at specific times using CRON. The script I wrote is pretty simple. It clears the current MPD playlist if any, then it searches for the song you want to play as alarm. Then pipes the output to the playlist and plays the song. Simple. The script is given below.

#!/bin/bash
 
mpc clear
mpc search title rain | mpc add
mpc play

That’s all. Now all you need to do is to save this file and make is executable. ( chmod +x fileName). Then I gave the name as alarm.sh and put these lines in the crontab file,

00 08 * * 1 /home/aditya_arch/alarm.sh
00 07 * * 2 /home/aditya_arch/alarm.sh
00 08 * * 3-6 /home/aditya_arch/alarm.sh

That’s about all. I have set the alarm at 0800 on all weekdays and Saturday except Tuesday. On tuesday I have set it @ 0700. I am hoping that I will be able to wake up on time now. :-)

You can also use this to play predefined music (playlists) groups at specific times…

Links

  1. MPD.
  2. MPC.
  3. Crontab Quick Reference.

Aditya

Submit Article :- Alarm Clock…&Url=http://blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/" title="BlinkList Submit" target="_blank" onclick="javascript:urchinTracker('/outbound/blinklist.com/index.php?Action=Blink/addblink.php_amp_Description=Cron_+_MPD_+_MPC_=_Alarm_Clock_8230_amp_Url=http_//blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/');"> BlinkList + Alarm Clock…&url=http://blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/" title="Blogmarks" target="_blank" onclick="javascript:urchinTracker('/outbound/blogmarks.net/my/new.php?mini=1_amp_title=Cron_+_MPD_+_MPC_=_Alarm_Clock_8230_amp_url=http_//blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/');">Blogmarks + Alarm Clock…" title="Submit Post to Digg" target="_blank" onclick="javascript:urchinTracker('/outbound/www.digg.com/submit?phase=2_amp_url=http_//blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/_amp_title=Cron_+_MPD_+_MPC_=_Alarm_Clock_8230');">Digg + Alarm Clock…" title="Submit to Del.icio.us" target="_blank" onclick="javascript:urchinTracker('/outbound/del.icio.us/post?url=http_//blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/_amp_title=Cron_+_MPD_+_MPC_=_Alarm_Clock_8230');">Del.icio.us + Alarm Clock…" title="Ekstreme Socializer" target="_blank" onclick="javascript:urchinTracker('/outbound/ekstreme.com/socializer/?url=http_//blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/_amp_title=Cron_+_MPD_+_MPC_=_Alarm_Clock_8230');">Ekstreme Socializer + Alarm Clock…;" title="Submit to Feedmarker" target="_blank" onclick="javascript:urchinTracker('/outbound/www.feedmarker.com/admin.php?do=bookmarklet_mark_amp_url=http_//blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/_amp_title=Cron_+_MPD_+_MPC_=_Alarm_Clock_8230');">Feedmarker + Alarm Clock…&u=http://blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/" title="Submit to Furl" target="_blank" onclick="javascript:urchinTracker('/outbound/furl.net/storeIt.jsp?t=Cron_+_MPD_+_MPC_=_Alarm_Clock_8230_amp_u=http_//blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/');">Furl + Alarm Clock…" title="Submit to Google Bookmarks" target="_blank" onclick="javascript:urchinTracker('/outbound/www.google.com/bookmarks/mark?op=add_amp_bkmk=http_//blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/_amp_title=Cron_+_MPD_+_MPC_=_Alarm_Clock_8230');">Google Bookmarks + Alarm Clock…" title="Submit to ma.gnolia" target="_blank" onclick="javascript:urchinTracker('/outbound/ma.gnolia.com/bookmarklet/add?_20url=http_//blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/_amp_title=Cron_+_MPD_+_MPC_=_Alarm_Clock_8230');">ma.gnolia + Alarm Clock…" title="submit to Netvous" target="_blank" onclick="javascript:urchinTracker('/outbound/www.netvouz.com/action/submitBookmark?url=http_//blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/_amp_title=Cron_+_MPD_+_MPC_=_Alarm_Clock_8230');">Netvouz + Alarm Clock…" title="Save to RawSugar" target="_blank" onclick="javascript:urchinTracker('/outbound/www.rawsugar.com/pages/tagger.faces?turl=http_//blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/_amp_tttl=Cron_+_MPD_+_MPC_=_Alarm_Clock_8230');">RawSugar + Alarm Clock…" title="Submit Reddit" target="_blank" onclick="javascript:urchinTracker('/outbound/reddit.com/submit?url=http_//blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/_amp_title=Cron_+_MPD_+_MPC_=_Alarm_Clock_8230');">Reddit + Alarm Clock…" title="Submit to Scuttle" target="_blank" onclick="javascript:urchinTracker('/outbound/scuttle.org/bookmarks.php/pass?action=add_amp_address=http_//blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/_amp_title=Cron_+_MPD_+_MPC_=_Alarm_Clock_8230');">Scuttle + Alarm Clock…" title="Submit to Shadows" target="_blank" onclick="javascript:urchinTracker('/outbound/www.shadows.com/features/tcr.htm?url=http_//blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/_amp_title=Cron_+_MPD_+_MPC_=_Alarm_Clock_8230');">Shadows + Alarm Clock…" title="Submit to Simpy" target="_blank" onclick="javascript:urchinTracker('/outbound/www.simpy.com/simpy/LinkAdd.do?href=http_//blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/_amp_title=Cron_+_MPD_+_MPC_=_Alarm_Clock_8230');">Simpy + Alarm Clock…&url=http://blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/" title="submit to Spurl" target="_blank" onclick="javascript:urchinTracker('/outbound/www.spurl.net/spurl.php?title=Cron_+_MPD_+_MPC_=_Alarm_Clock_8230_amp_url=http_//blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/');">Spurl + Technorati + Alarm Clock…" title="Submit to Unalog" target="_blank" onclick="javascript:urchinTracker('/outbound/unalog.com/my/stack/link?url=http_//blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/_amp_title=Cron_+_MPD_+_MPC_=_Alarm_Clock_8230');">Unalog + Alarm Clock…" title="Submit to Wink" target="_blank" onclick="javascript:urchinTracker('/outbound/www.wink.com/_/tag?url=http_//blog.adityashevade.com/2008/08/06/cron-mpd-mpc-alarm-clock/_amp_doctitle=Cron_+_MPD_+_MPC_=_Alarm_Clock_8230');">Wink

Tags: , , , , ,

This entry was posted on Wednesday, August 6th, 2008 at 10:28 am and is filed under Console, HowTo, Linux, My Life. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

One Response to “Cron + MPD + MPC => Alarm Clock…”

Santhosh August 6th, 2008 at 10:31 am

hmm this isn’t my cup of tea… anyway nice post :D

Leave a Reply