Syndicated
Add to Technorati Favorites
View my LinkedIn profile
IGDA Member
 
NaNoWriMo 2008 Participant
Begins: Nov 1
 
Amazon.comBlogBlogBlogdeliciousDiggDisqusFacebookFlickrGoodreadsGoogle ReaderGmail/Google TalkLast.fmLinkedInPicasa Web AlbumsRedditStumbleUponTwitterUpcomingYouTubeFriendFeed

Latest comments

 
Programming Blogs - BlogCatalog Blog Directory Programming Blog Directory

Lessons for the next version of Alarm Clock

Despite not being able to get any work done on Alarm Clock at the given time, I have been continuing to think about what work remains incomplete, and how best to accomplish it. Here's two of those insights...

Beware of P/Invoke and PIAs if you intend your program to be cross-platform. Despite claiming that Alarm Clock can run on other platforms, the truth is at this time it can only run on Windows (although it should work fine with Mono 1.2 or newer). The reason for this is simple: I rely on the Win32 API function PlaySound to actually play the alarm (via P/Invoke) and Windows Media Player (through the primary interop assemblies) to handle the "clock radio" functionality. The trick is to spin Alarm Clock into three different assemblies – Alarm Clock itself, and two assemblies to handle audio for each platform.

Keep backups of the repository in case your computer dies. I've not lost the code (as the hard drive it's on still functions although not on the old P2, and I can always reverse engineer it) but that's not only a waste of time but also forks the code (the tool doesn't return the exact code, which would make things a pain when merging later on when I do have the repository again).

I figure that when I get everything off the cranky hard drive, I should be able to put out a new version of Alarm Clock within a week, considering all the other things I'd be doing. Here's hoping that's sooner rather than later.

Trackback URL for this post:

http://coldacid.net/trackback/945

Twitter