Author Archives: Simon

Audio device switcher for Windows (Dr. Sound)

Just wanted to post a really quick one about audio switching in Windows.  If you’re an avid gamer or you’ve got a million devices connected to your machine, the attached tool will make life a little easier.screenshot

It’s a tiny tool, written in .NET 4 (so you’ll need that installed to use it!) that allows you to switch the default input and output device on your PC from the system tray with one easy click.  It’s fast, effective and will save you the ball-ache of having to go into the Playback Device panel just to switch devices.  I’ve lovingly called the tool Dr. Sound.

You can download the compiled binary here —> DrSound

Remember, it requires .NET 4 to run but should run perfectly well in Windows 7 and above.  The code is partly my own, but uses CoreAudioApi by Ray Molenkamp.  Without this Api, this would have been a horrific task.


Tutorial: Storyboard app with Core Data

It was my original intention to make a universal application for iPhone and iPad but due to time constraints I’m going to throw out this tutorial on using Core Data instead. With a bit of luck it’ll help someone out! A quick note before you start, so you’re not confused later – one of the screenshots later is missing an add button. Don’t worry if yours has one – I moved a chunk of the tutorial to make it easier to follow.

This tutorial will probably take about half an hour if you’re following it carefully. Good luck! Continue reading

Discussion forums open!

Given the recent popularity of a few recent tutorials and the feedback / questions – I’ve opened up a simple forum so that people can discuss these tutorials and posts properly (instead of using comments). You can find the link for the discussion forums up at the top of the page or in the side bar.

Feel free to post comments in here as any future tutorials will not have commenting switched on – mainly to cure my OCD about posting tidyness!

Tutorial: Storyboard in XCode 4.2 with Navigation Controller and Tabbar Controller (Part 2)

Hello again!  If you’re reading this tutorial I’m going to assume that you read part 1 and are ready to continue.  In this tutorial we will take the project from part 1 and expand the second tab (the table) to include some actual table data and a transition to a ‘detail’ screen.  In this instance I’m using movie names and movie images to make it look pretty.  There’s a tiny bit of coding taking place here, but nothing exceptional.  We won’t be making use of Core Data at this stage, just to keep things simple.  Lets get on with it shall we?  (*keep in mind this was written in a hurry, but has been tested!*)

Continue reading

Tutorial: Storyboard in XCode 4.2 with Navigation Controller and Tabbar Controller (Part 1)

Based upon the fact that there are still very few tutorials on how to use the storyboarding stuff in Xcode 4.2 (iOS 5) – I’ve decided to write this second and slightly more complicated tutorial. The output of the tutorial will be an app which uses a tab bar, navigation controllers and a table view controller. It won’t be the most complex of tutorials but should serve to help those who are confused about wiring up a slightly more complex view controller setup. In this part, we will set up the bulk of the work and get some views working. In part 2, we will look at the table side of things.

Before we start, you should download the image pack (below) for the tab bar images I’ll be using. These images are beautifully crafted by Joseph Wain from As a side note, Joseph has just released Glyphish Pro 3 which can be purchased from his website for very little money!  It includes 400 icons for iPhone and iPad development that are an absolute must for developers! The images are reused here with permission. Of course, if you’d prefer to have imageless tab bar items then feel free to skip this step (and the image assignment steps later on) but it won’t look as cool!

Continue reading

Tutorial: Basic Storyboard in XCode 4.2

Today I’m going to present a very brief tutorial on how to use storyboarding in Xcode 4.2.  When storyboarding appeared it was pretty intimidating compared to how Interface Builder used to work and I felt that Apple really threw a curve ball with this one. In reality it’s really not all that bad when you start to use it.  The tutorial will show (from scratch) how to link two view controllers with a button, without coding a single line!  Lets jump right in and create a new Xcode project.


Continue reading

iTunes could not copy … file could not be converted.

I just thought I’d write a very quick post on the above message which some of you may have seen when syncing your iPhone / iPad with iTunes.  Now ordinarily this may be a self explanatory message, however it’s ‘self explanatory-ness’ may very well depend on the file it’s talking about.  So for the past month or so, I’d been getting this message when syncing with iTunes…

iTunes could not copy “Phone Calls” to the iPhone <insert phone name> because the file could not be converted.

Immediately over thinking the issue, I assumed this was something to do with the register of phone calls made / received and went looking for a resolution.  I didn’t find one.  Finally today (after installing iOS5) it occurred to me what’s going on.

The file it’s talking about is an MP3 from an album I have.  The file is corrupt and therefore cannot be converted to the 128 kbps AAC format that I have selected in the Summary screen for my phone.  It just so happened that the filename looked like it could be related to the system somehow.  Duh!

Technology 1   –   Simon 0

Upgrading 24″ iMac with SSD and memory

Following a series of annoying ‘happenings’, late last week I decided in my wisdom that I was going to upgrade my 24″ iMac to unleash a new lease of life. After some digging around and faffing with serial numbers (and eventually digging out the original packaging) I managed to identify my mac as being a 2.8Ghz Intel Core 2 Duo (24″ – 800 Mhz) (early 2008) model, or an iMac 8,1.

Next I went onto the web to check out who’d been doing what – and discovered various posts of people upgrading their iMacs. I couldn’t find anyone who’d done specifically what I was after. Finally I decided to go with the maximum memory my iMac would allow and a chunky 240Gb SSD drive. Here’s what I eventually went for (and the locations where I bought them)…

It’s worth mentioning that Crucial have a tool which you can run on your Mac just to check what exactly is required for your specific machine.  Give it a run to be sure you’re buying the right thing.  So I ordered late last week (memory on Thursday and the drive on Friday) and both luckily turned up on the Saturday – sweeeeeeet.  I got to work…

Continue reading

Supporting orientation changes the easy way!

A couple of days ago I wrote a quick tutorial on how to support multiple orientations in an iPhone app without any stress. Then the more astute of you will have noticed it disappeared. Well, I decided to make my Layout Manager a little more friendly and easy to use. Down at the bottom of this post you’ll find a project with a couple of demo views and the manager itself. It’s very easy to follow. Here’s the back story…

Until recently I’ve only bothered supporting portrait orientation in my iPhone apps. I suspect this was largely driven by a lack of need to support anything else, and partially an inherent laziness which always seems to prevail over my work. Anyway, turns out that sometimes I DO need to support different orientations so I went to work looking for a clean way to do it and arrived at the following solutions….

  1. Create two view controllers and swap them out with a navigation controller.
  2. Programmatically move stuff when the orientation changes.
  3. Run around panicking about the fact you can’t support orientation changes.

In all my searching, I didn’t find an easy way to do it, so I went for option 2 and set about making a nice clean way to get it all to just ‘happen’ without too much effort. Eventually I arrived at the solution that this blog post is all about. Here’s what I did… Continue reading

Core Data Helper – the final chapter!

I’ve probably written about the Core Data Helper too many times for one blog, but I thought just to finish it off I’d write one more article with a good solid downloadable project to demonstrate the use of Core Data Helper.  Basically the helper wraps core data stuff to make accessing it a little tidier… in fact, instead of re-inventing the written wheel (?), why not read about it in the other article HERE and then come back.

So what’s this article all about then?  Well, just below this paragraph is a download link to my project which very basically shows how to use the Core Data Helper.  It also has a useful XML parser for pulling in some default data from an XML file to your Core Data store.  I use this similar format for data which will appear in static lookups and suchlike.  Go download it and take a look…. Continue reading