skip main content

Posts Tagged ‘OSX’

TellyBox 1.4, Twitter, Scheduling .. plus the coolest icon

posted by Duncan at 3:35 pm on March 22nd, 2009

[note] if you are updating and have the current app in your dock, you may need to remove it, and then re-add it again to get the new icon to appear straight away

I’ve just released a new version of TellyBox, version 1.4. This version pulls in all the new features from sister app RadioAunty, plus a few news ones specific to TellyBox.

If you didn’t know, TellyBox is a Mac app that allows you to watch live and catchup BBC Television (Uk users only I’m afraid). It uses the BBC iPlayer to actually display the telly, but wraps it all up into a native Mac application.

TellyApp screenshot

Like I mentioned above, new features include Twitter support and scheduling as per RadioAunty. I recommend reading this post to get more information on these. As well as them, the new features specific to TellyBox are:

  1. I have removed the default channel entry from the preferences. The app now just remembers what channel you last watched.
  2. The close button, and zoom buttons (red and green) now work.
  3. A brand new app icon (designed by David Wilson)

I’m really pleased with the icon. I know David spent a lot of time designing it, and for a first application icon, I think it’s awesome. I also knew the effect I wanted. I really liked the idea of the icon being a mini telly showing you exactly what you are watching in the main screen. It seems Mac icons can make or break an app, so I’m hoping this one can only help.

It’s actually quite a simple effect to achieve. It’s just about building layers. I use CGWindowListCreateImage to take a screen grab of what’s playing over time. When I have a new grab, I then construct the dock icon, using the grab at the bottom, then a version of the app icon with a transparent screen to give the glass effect, and finally the channel logo. If you minimize the app, or change windows using spaces, then the icon will change to the BBC test card.

Download TellyBox from the project page on Github, or if you already have the app installed, then you should get a request to update automagically.

RadioAunty feature update – twitter, scheduling and much more

posted by Duncan at 7:50 pm on March 14th, 2009

In my on going Cocoa learning I have been working hard on updates for RadioAunty. ( If you didn’t know, RadioAunty is Mac app that allows you to listen to live and catchup BBC Radio ). This means the feature list is now quite compelling, so I decided to give and overview of the features to date.

1. Select your Favourite Station – Choose from all the BBC National radio stations. You can listen to them in Normal RealPlayer or the much higher quality ACC streams. Make your decision via the preferences screen.

RadioAunty select a Station

2. Minimise the radio – I didn’t think people generally stare at the player whilst they are listening, so you can now minimise it like you can with iTunes, using ^ cmd Z or the window menu. You can also tweak the width whilst minimised. You will also see that the window title shows the current show playing. This updates along with the schedule as time goes on. More on this next.

RadioAunty minimized

3. View the schedule – In the Schedule menu, you will see the day schedule for the station you are listening to (using data from BBC programmes). You will see a tick next to the show you are currently listening. You will also see that some shows are clickable. This is stuff you can listen to, that is available to catchup in iPlayer, it also displays how long left that show is available in iPlayer for. This schedule updates as you listen throughout the day.

RadioAunty schedule menu

4. Twitter support and other preferences – The preferences window gives you the chance to change some of RadioAunty’s settings and turn on others. From the top, we have updates. Turning this on allows you to receive updates to the application when they become available. Next is default station. This allows you to choose a default station to open with (I think this may be removed next release, and the app will just remember what you last listened to. Next is audio quality. It’s best to stick to high quality, but those streams are only available in the UK, so if you are listening abroad you will have to choose normal quality. Finally Twitter support. Opting in means that as you listen, details about what you are listening to will be sent to the @radioandtvbot account on Twitter. If you supply your twitter username, this will be added to the tweet instead of the default, which is your computer login FullName. The screenshot below next shows you what gets sent.

RadioAunty twitter support
radioandtvbot

5. A nice dynamic app icon – The wonderful Tim Broom made the current icon. The icon changes, showing the network you are currently listening to.

Nice Icon

6. Growl support – If you use Growl, then RadioAunty will notify you when a show starts playing. If you choose the twitter support it will also notify you when this information is sent to twitter.

Growl Support

Next then. I’m going to be transferring the twitter and scheduling stuff over to TellyBox (A Mac app that allows you to watch live and catchup BBC Television). So watch out for the updates. Then I think lastfm integration is on the cards. It’s be nice to scrobble what tracks you are listening to.

Replicating Apples embossed text in a Cocoa App

posted by Duncan at 11:22 am on March 11th, 2009

[update] Thanks to the chaps below in the comments, my in-experience with cocoa is shown. This whole post could be replaced with this code:

 [[myTextField cell] setBackgroundStyle:NSBackgroundStyleRaised];

If you look at the text in the task or status bar on of a Mac app, you will see that the text has the appearance of being embossed slightly. It is essentially a textField with some neat attributes associated with it.

Apple embossed text

This effect does not come for free when you want to use your own NSTextField somewhere else in your Apps window (actually, I think it does on the iPhone?). To recreate this effect is quite simple. You just need to create a NSAttibutedString and associate the attributes below to it.

// Create the white shadow that sits behind the text
NSShadow *shadow = [[NSShadow alloc] init];
[shadow setShadowColor:[NSColor colorWithDeviceWhite:1.0 alpha:0.5]];
[shadow setShadowOffset:NSMakeSize(1.0, -1.1)];
// Create the attributes dictionary, you can change the font size
// to whatever is useful to you
NSMutableDictionary *sAttribs = [[[NSMutableDictionary alloc] initWithObjectsAndKeys:
    [NSFont systemFontOfSize:11.0],NSFontAttributeName,
    shadow, NSShadowAttributeName,
    nil] autorelease];
// The shadow object has been assigned to the dictionary, so release
[shadow release];
// Create a new attributed string with your attributes dictionary attached
NSAttributedString *s = [[NSAttributedString alloc] initWithString:@"82 results found"
    attributes:sAttribs];
// Set your text value
[myTextField setAttributedStringValue:s];
// Clean up
[s release];

I’m sure there are many other ways to achieve this effect, and I’d be interested in any easier versions, but this works for me.

Experiments in Cocoa #1 RadioAunty

posted by Duncan at 9:47 pm on December 12th, 2008

[UPDATE] I’ve updated the app to now use the new higher quality live streams. Yay, no more RealPlayer for the majority.

I’ve seem to have spent a lot of time reading about Cocoa without actually building anything of substance. So to put a change to that I have built RadioAunty.

1. RadioAunty – This is a Cocoa Application that lets you listen to the radio, BBC radio, on your desktop. You can view the current schedule and select listen again shows, as well as simply changing the station via the menu bar and via the Dock. You can also set preferences to decide which should be your default Station to start with, and whether you would like to receive updates to the application when they are available (very important). If you have listened to BBC radio via Safari, then RadioAunty should work just fine for you.

Download RadioAunty from it’s project site

RadioAunty

There are now many *.frameworks that come as part of the Apple Developer Tools and I found it pretty daunting to start with. So to make life easier for myself, I decided to start small and build bigger as I go along. This is why I started with the simple idea of RadioAunty. Oh and it’s Leopard only because it seemed silly to have to learn old ways of doing things as well as new.

RadioAunty is at a high level not that complex. It basically embeds an already existing webpage into a desktop app. It seemed like an ideal starting point. Once I had got that working (Thanks Apple, it takes about 3 lines of code!), the next thing was to make use of other classes and functionality to actually learn something. The app as it stands uses only uses these Cocoa classes (I’ve left the boring ones out):

I’ve used @property quite a lot (properties are a bit like Ruby :attr_accessor) to automagically create getter and setters. I have also use key-value bindings, which once I understood them were amazing, and allow you to chop huge chunks of code from your source. I use a stations.plist to store the radio station data, but hope to pull that from the web in the future, meaning that it could play any radio station and not just the BBC’s. I also use delegation a lot whenever I can.

As I only started the app on Tuesday, I’ll continue making it more polished, that and I have a few other ideas, but I wanted to get something out for people to use as quickly as possible, so first main thing to add (apart from the radio) was auto-updating. This is taken care of by Sparkle 1.5b6.

Sparkle was super simple to implement. Their wiki documentation worked great, and I was amazed that something I always think is cool, and take for granted was so smooth to implement in this application. If you’re building OSX applications then this should surely be a must.

I have a few other projects in the pipeline, that incorporate more frameworks for me to learn, so stay posted. I’m progressing well with is an app called LeaveFrom, that does what is says on the tin really. It uses Core-Data which again had a bit of a learning curve, but I’m getting on ok. Can my old brain take all this new fun information.

Experiments in Quartz Composer #1

posted by Duncan at 10:39 am on December 12th, 2008

I was playing with Quartz Composer about 6 months ago, and created a couple of compositions during my learning’s. I never really posted up links to them, so I’ve now rectified that below. I have to say I really enjoyed playing with QC and look forward to the all new more powerful version in Snow Leopard.

1. BBC ScreenSaver : This was my first and is an image attached to a layer, that is cloned and skewed over time, with muted colours and alpha transparency added.
OSX Screensaver

2. iTunes Flames Visualiser : This only works in iTunes and will pulse the flames based on the sound frequencies in the currently playing track. It also shows the now playing data.
iTunes visualiser

QLStephen, a QL plugin that understands README’s and more

posted by Duncan at 12:24 pm on November 27th, 2008

QLStephen is a simple Quicklook Plugin that simply reads plain/text files.

I use the QuickLook feature of OSX 10.5 a lot. More than I ever thought I would. One niggling problem was though that it did not understand files like README, INSTALL, CHANGELOG .. etc that had no file extensions. I like to view these files before any other when viewing new libs or programs I may install, and using Quicklook would be ideal.

QLStephen

Quicklook support can be extended with plugins (I use QLColorCode) a lot, but after a quick scan I couldn’t find one that did the above. So I wrote one.

That’s it. You should now be able to view files like README, MakeFile, INSTALL etc. You may need to wait a few seconds for OSX to see the plugin.

SpamSieve saves my sanity

posted by Duncan at 10:42 pm on November 22nd, 2006

Now spam is just a fact of email, and up until now my Mail‘s apps junk mail filter used to be pretty good, so much so that I never really thought about it. The problem started a few months ago when spam started slipping though the junk mail filter and into my inbox. I guess the cretins that manage these spam-gun machines that send out this crap found a new avenue to exploit.

So I hunted around and found a possible app that could improve things called SpamSieve. I’ve had this running for a few weeks now (there is a free 30 day trial period), and I have to say it has been fantastic! The amount of spam in my inbox is more or less nothing now, amazing.

SpamSieve adds bayesian filtering and runs instead of Mail’s junk mail filter. You start by giving it a bunch of emails that are junk and then a bunch of emails that are good and it monitors them, then it continues by monitoring everything that comes in and starts to build up a knowledge of what’s right and wrong. This means that even though it is behaving well now, it will hopefully get better. Here’s a little example of the stats since I started using the app:

Filtered Mail
153 Good Messages
336 Spam Messages (69%)
32 Spam Messages Per Day
 
SpamSieve Accuracy
5 False Positives
14 False Negatives (74%)
96.1% Correct
 
Corpus
258 Good Messages
402 Spam Messages (61%)
30,121 Total Words
 
Rules
263 Blocklist Rules
610 Whitelist Rules
 
Showing Statistics Since
12/11/2006 11:27

So you can see that it’s 96.1% accurate at the moment which I have to say it good enough for me for the time being. The app also comes with great documentation and is able to run with all the popular email client. I’d be interested to here about other people’s success with this app or others.

Nullriver give connect360 steaming movie support

posted by Duncan at 1:38 pm on November 19th, 2006

Nullriver have updated their connect360 software (See related post). This is after the latest Xbox360 software upgrade that allowed you to watch streaming movies from your media center (and now Mac, if using the connect360 software). The only caveat seems to be that only WMA or WMA movies are supported so you will need to have the Flip4Mac plugin installed in order for connect360 to find them.

This is a fast turnaround by the Nullriver team and is what I have been waiting for for. That DVD player is becoming more redundant by the day.

Password Manager and Form Filler for Mac OS X

posted by Duncan at 11:46 pm on November 9th, 2006

I was getting a little concerned with my overuse of the same password when signing up to new and exciting websites. I’m sure I’m not the only person who used the same one? Anyway, not any more.

I initially did some research and the favorite looked to be Wallet. That was until they decided to take my money and not send me a license key, that and not reply to any of my emails. Shame on you!

The product that won for me was 1passwd. Features include:

  • Multiple Identities
  • OS X Keychain integration
  • Generate and enter strong passwords with one click

It just does everything I need, and it is being actively developed (They just released a new version). That and it’s only £15. If you’d like to start using strong passwords for all your web accounts without having to remember them all, this is the app.

Connect360, iTunes and iPhoto on your Xbox 360

posted by Duncan at 11:52 am on August 13th, 2006

I’ve only just found this bit of software and boy is it cool. Since I got my Xbox 360 one of the things I really wanted was to be able to play music through it from my media storage. I have an external HD to store all the my music and photos on that I use with my Powerbook, but this HD is formatted for Macs only and therfore is not seen when plugged directly into the 360. I just want to be able to turn on my 360 and browse through my music collect or photos as if they were on the machine itself. This could easily be achieved if I had a PC or Media center as you can easily hook up a 360 to a Microsoft powered machine, but I’d don’t, I have a Apple Mac. I thought I was stuffed. That was until I found Connect360.

Connect360, iTunes and iPhoto on your Xbox 360

Connect360, iTunes and iPhoto on your Xbox 360

I already own the PSPware software by Nullriver for handling the moving of movie and audio onto my PSP. The Connect360 software is another work of genius and so simple to run. You basically install the software and start it up. That’s it! Then when for example you want to play music on your 360, you choose to play from a computer and should see a PC named connect360. Browse into this and you should see all your iTunes playlists and have the ablity to browse you music collection. It evens posts the play counts back to iTunes so that lastfm can still know what I have been playing. The same kind of process works for iPhoto too which allows you to view all your slideshows easily through the telly.

If you have a Mac and you have an Xbox 360 then you need Connect360, it rules.


back to the top