Friday 13 November 2009

SongFactory Launched!



After 2 long years of work, my songwriting software, Songfactory is launched! It seems a lifetime ago that I started to think about this project, so it's fantastic to finally get to launch day.

I'm really pleased with the result - it's certainly something that I'd buy, and I hope other people feel the same way! There's a free trial available on the website, so why not give it a spin and let me know what you think?

Saturday 10 October 2009

.net vorbis ogg encoder (Part 1)

Quick post for all you techies out there - I've just spent the last two days working on a managed .Net library for Vorbis OGG encoding/decoding. There was one .net example I found out there (http://www.codeproject.com/KB/audio-video/OggPlayer.aspx) which didn't do the job well (it loaded the whole ogg file into memory before playing it) and didn't do encoding.

I'll post more info in a bit...

Friday 28 August 2009

Add DirectX as prerequisite for Visual Studio installer

I've just spend a couple of days building installers with Visual Studio, and I thought I'd blog about what I've learned...

Prerequisites
Visual Studio allows you to define Prerequisites, which are components required for your software - for example, if you're writing anything in the .Net Framework, you'll need to include the correct version of the Framework as a prerequisite in your installer.

To set prerequisites, right-click the install package you've created, click properties and then click the Prerequisite button. You can also set prerequisites on a project BUT this doesn't seem to affect the installer so always set them on the installer - this caught me out for a while!!

My Prerequisite isn't in the list!
The list of prerequisites for Visual Studio 2008 comes from "Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages" (the location is different for VS 2005). There you'll find a bunch of folders ("Bootstrappers") for each prerequisite. Each folder contains the install files for the prerequisite, a product.xml file (which details the files and how to handle them), and some language specific folders (e.g. "en" which contain language specific licence files and a package.xml file).

If your prerequisite isn't on the list then you can make your own. I've explained this process below for DirectX.

Download or Distribute
When setting your prerequisites, you can specify whether they should be included in your install folder, or whether the installer should download them if they're needed. This can be good because, for example, it's probable that your user already has the .Net Framework installed and so you don't want to include all those files in your installer - simply get them to download it if they need it.

You set this option by choosing either "...from the component vendor's web site" or "...from the same location as my application" on the VS prerequisites window.

This works by setting a url download link in either the product.xml file or the package.xml file which is then integrated into the installer. Have a flick through the .Net Framework ones to see it in action.

.Net Framework 3.5 SP1
If you need the .Net Framework Service Pack 1 as a prerequisite, and it's not in your list, don't panic like I did. You don't have to make your own - installing VS 2008 SP 1 will create this bootstrapper for you... BUT it's got a big bug - it doesn't include the install files! Again, don't panic - there is a fix as described here.

Creating a DirectX prerequisite.
I needed to install DirectX as part of my installer. Frustratingly, I couldn't find a bootstrapper anywhere. I'm a bit surprised - this seems like the kinda thing that Microsoft should produce with each version...?

In the end I wrote my own. Rather than hand coding the xml, I used the Bootstrapper Manifest Generator to do it for me. You'll need to download the installer package for you, find the correct download url for the same package's web installer, and have a correct version check to make sure it's not already installed. After a quick check on Wikipedia, I put in a registry check for DirectX version 4.09.00.0904.

Once you've created all your files and put them into the correct place, VS finds them and offers you your new prerequisite option.

Friday 27 February 2009

Music on demand



I've been using Spotify today.  It's not a treatment for acne; it is in fact a "free" music on demand service.  Like itunes, it allows you to choose music from it's online library but, unlike itunes, you can stream it for free.  In return you have to sit through a short advert every 20 mins.  You can pay a monthly or daily subscription to avoid the adverts.



I like the idea and I like their interface - it's quick and easy to use and seems to have a lot of music available.  The monthly subscription price is £9.99 which would translate into probably about 1 CD, but with this service you can listen to a whole load of new releases every month.  I guess it's a weigh-up of how much music you currently buy and how you like to listen to it.  I listen to most of my music whilst I'm working, so it makes me a happier man!

Thursday 27 November 2008

Monday 6 October 2008

How to get to sleep

Sorry for posting so many videos - couldn't resist this one...


Thursday 25 September 2008