Deprecated: Assigning the return value of new by reference is deprecated in /home/life/stringfellow/public_html/synfinity/wordpress/wp-settings.php on line 472

Deprecated: Assigning the return value of new by reference is deprecated in /home/life/stringfellow/public_html/synfinity/wordpress/wp-settings.php on line 487

Deprecated: Assigning the return value of new by reference is deprecated in /home/life/stringfellow/public_html/synfinity/wordpress/wp-settings.php on line 494

Deprecated: Assigning the return value of new by reference is deprecated in /home/life/stringfellow/public_html/synfinity/wordpress/wp-settings.php on line 530

Deprecated: Assigning the return value of new by reference is deprecated in /home/life/stringfellow/public_html/synfinity/wordpress/wp-includes/cache.php on line 103

Deprecated: Assigning the return value of new by reference is deprecated in /home/life/stringfellow/public_html/synfinity/wordpress/wp-includes/query.php on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /home/life/stringfellow/public_html/synfinity/wordpress/wp-includes/theme.php on line 623
stringfellow’s thread » Cocoa

Archive for the ‘Cocoa’ Category

Shtaggle 1.2.1

Tuesday, February 10th, 2009

With the encouragement of a large German following, and news of the inclusion of Shtaggle on the next MACup magazine cover CD, I present version 1.2.1…

WITH POWER PC SUPPORT!

It isn’t as functional as the Intel version (the transport progress bar doesn’t work properly.) but it does the task it is required to do - tag sh..music.

For those that don’t know, Shtaggle is a music tagging app for OS X, with help from the last.fm community. It also gets lyrics (from lyricwiki.org).

In this version there is also support for Spotify, though limited, and better integration with Last.FM’s web services - including syncronising your tags from last.fm back to your library, so they match up in both places (no tags are deleted, only appended).

Download it here (or Direct link)

Oh, and, if you can, please do blog this or mention it in a post sometime - I’d appreciate the exposure!

-Steve

Shtaggle, Music tagging for Mac OS X - iTunes and Play.app

Monday, July 14th, 2008

Shtaggle is a little app I wrote, after a few conversations with James and others about how cool it would be to be able to tag your music in iTunes from last.fm’s tags. It started off as a Django standalone project on my Mac, but after encouragement from various peeps it has progressed to an App (via py-cocoa).

So Shtaggle has reached a point where I have let it loose in the world…
It is now on versiontracker and the hoards of other sites that read versiontracker’s RSS feeds.

Shtaggle gets music tags from last.fm, and then allows you to tag the tracks in iTunes using either the tags from last.fm or your own.
You can choose tags by record label, mood and instrument too.
Shtaggle will then send any tags back to your last.fm profile (if you have one) that you haven’t already added to it for a given track.
Shtaggle will also let you auto-tag your music, using the top tags from last.fm, if you don’t have time to do it manually.

I’ve had some good feedback from it, and will be making it even slicker soon I hope… (the windowing is pretty odd).

Anyway, if you are using OS X 10.5 then please do check it out, and blog about it as you like ;-) (yeah I need some advertising to beat off Moody and QuickTag, both of which look a lot slicker, but do less :-P)

http://shtaggle.co.uk

Shtaggers

Sunday, June 1st, 2008

So Shtaggle has come on a bit since the last post.

Now, not only does it get tags from last.fm but it will also push your tags back to last.fm (so if you tag a track, or have tagged it before, but hadn’t tagged it on last.fm, the tags will get sent!)

Also, you can now register an account on shtaggle.co.uk and then you can have your tagging stats online (soon to become RSS feedable) - so, you get to see what you have listened to most per day/week/month according to tags!

Fixed a few bugs too, so its a bit nicer to use.

Here is the latest zip

PS- Sorry its still a zip and annoying to install… I can’t work out how to package appscript into it (there is a way, but I’m not so good at the build scripts to make this happen) and also, I can’t make a mpkg that works to copy the Shtaggle directory into your /Library/Application Support/ so I guess for now you will have to just copy/install things manually :-/
Sorry!
Chances are I’m the only one that is gonna use it anyway, so nevermind!

Shtaggle.co.uk

Friday, May 23rd, 2008


I thought I’d see a project through to completion for once, so I bought shtaggle.co.uk in order to keep all the updates for Shtaggle in one place and so forth!

Also, released a new version now that will check for updates and a couple of other bug fixes…
See downloads

Feature list:
- Direct interface to iTunes via AppScript
o Skip tracks
o Play/pause
o Rate track
o Tag track (the whole point!)
- Tags pulled from Last.FM
- Tags pulled from artist’s previous taggings
- Predefined customisable tags, including:
o Moods (or whatever, but most sensibly used for moods)
o Record labels
o Instruments
- Custom tags (type whatever word you want) with auto-suggest
- Lyrics pulled from LyricWiki.org
- Alert sound when tracks aren’t tagged

Apologies to ROBERT Pointon for calling him Richard on shtaggle.co.uk! Wups!

Enjoy. :-)

Shtaggle!

Tuesday, May 20th, 2008

Apparently web based desktop apps aren’t particularly sensible.

Here’s a first-draft remake of Tagginator, which is more grounded in reality…

Shtaggle

Again, Python-Cocoa, using appscript (included, but you will need to tweak install.sh to install it).

More limited than Tagginator at present (but I’m working on it…)

Features:
- Tag from Last.FM
- Tag ‘by hand’
- Tag from artist’s previous tags
- Tag by predefined ‘moods’ (with images — placed in /Library/Application Support/Shtaggle/mood/)
- Fancy looking tag clouds thanks to … ??? (Dave?!)
- Basic iTunes transport
- Track rating
- Lyric pull from LyricWiki.org

Enjoy :)

Leave bug reports below or mail me :)

For music lovers…

Saturday, May 17th, 2008

I’m really anal about organising my music (which is strange cos I’m not anal about organising anything else in my life) so I wrote a little django site a while ago that uses appscript to interact with iTunes and set tags.

I have now ported this (fairly hackily, in true Steve-style) to an app.
It’s still a bit premature but feedback is welcomed…

Basically it presents you with tags, labels and instruments and you drag the ones you want to a box and this tags them in iTunes using the comment field.
It gets tags from last.fm for the current track, it gets tags from your library from the artist (so where you have already tagged the artist), and it uses pre-defined tags of your choosing for you to select from. you can of course just type your own too, but thereafter they get added to the suggested tags which you can then drag too! lovely.

Tech stuff:
It uses the django base to run a server on localhost:8001 which then serves up webpages, which get shown in a WebView. You can of course just hit up localhost:8001 in a webbrowser once the app is running. This is pretty nasty cos it means you need django and so forth, but it works.
Uses scriptaculous/prototype for ajax and pretty UI things (draggables/droppables)

… there are lots of loose ends, but do have a look!

more explained in the README!

http://synfinity.net/code/Tagginator/Tagginator.zip

enjoy.

UPDATE (2008/05/18 @0030):
I put some prefs in so you can easily change the port and the moods/instruments/labels.
same URL as above for download.

Cocoa vs. GTK

Tuesday, December 12th, 2006

A quick comparison; How to get the text from a TextView (NSTextView or gtkTextView)

GTK

self.uploadHistory.get_buffer().get_text(self.uploadHistory.get_buffer().get_start_iter(),self.uploadHistory.get_buffer().get_end_iter())

Cocoa

self.uploadHistory.string()

Now tell me again why we love linux so much?

NB: For the pernickity among you, yes I DO know that Linux != GTK, however it’s a fine representation of how much more difficult and unnescessarily verbose everything seems to be in Linux, and how simple and intuitive it seems to be in OS X)

iSingGTK

Monday, December 11th, 2006

I thought seeing as python is so wonderful and the various GUI wrappers for it are also pretty great that I’d port iSing to GTK…

…It’s going well! Almost finished in fact and I only started working on it at about 2pm today. It is not, of course, nearly as sexy as the Cocoa version, but it does mean that it can be used on Linux.

Currently it will work with Rhythmbox, but if anyone uses any other music programs and would like to provide an interface to it which can query basic info (artist, title, rating if poss, lyrics) and set the lyrics, that would be awesome. It doesn’t HAVE to set or get the lyrics, these can be stored elsewhere but it would be cool to do this (my version currently doesnt).

If anyone is interested in helping out I have the project in svn so it can be poked :)

I will also be moving all the iSing guff to http://ising.synfinity.net (kindly hosted by Dave) where we shall be making shiny shiny pages for perusing lyrics and so on.

Cai is also working on a .NET version of iSing, so soon we might have the complete set!

:D

iSing LyricStag major update!

Thursday, December 7th, 2006

Cai suggested centralising the iSing Lyric database.

What a grand idea.

So here is the new, shinier iSing: [Download]
New features include:

  • Central Database upload
  • User registration
  • Version checking
  • a few bug fixes.
  • adium features disabler (specially for Dave)

Any tagged and uploaded lyrics will appear on http://synfinity.net/code/iSing/ which is basic at the moment but we are working on it :-) Expect prettiness by the end of next week!

Please have a play around and uncover bugs etc.

Playlist Prodder

Sunday, December 3rd, 2006

…is a little helper app i decided to make to allow quick copying of tracks in a playlist into a self contained directory (maintaining the artist/album/track.extension structure within that directory)

It’s not of much use but if you want an easy way to copy tracks out of iTunes and don’t want to go hunting through your filesystem, use this. It kindof assumes the tracks are in at least a depth of 2 directories (i.e. if files are in / it will probably break. but maybe not, i dunno. try it.)

Here it is

Lyric Fetch and Tagging for iTunes - iSing!

Friday, December 1st, 2006

Its 2.20am so apologies if this makes little to no sense.

After a long week of coding into the small hours I have achieved 2 things:

1 - I now know a little more about PyObjC and Cocoa and Interface Builder and XCode

2 - I have created (what I hope) is a vaguely useful application for OS X called iSing
So what is it?!

It’s a little app to get the lyrics of the currently playing track in iTunes.

“Its been done” I hear you cry.

Well yes, but iSing lets you tag the lyrics according to what you think of them… I hope to be able to do the same with the actual songs too (i.e. putting tag words in the comment field for easy searching!) but that will come later.

What’s the point in tagging lyrics? I’m not really sure, but sometimes I listen to a tune and think “Thats a really cool lyric”, then later on I’ll be thinking “Aha, its just like so-and-so says in their track, blah, — ‘The Really Profound Lyric’”… Yeah so anyway, my brain doesnt really need to be storing all that in there, so iSing can do it instead.

You can retrieve lyrics by Artist/Title or by tag word. You can tag them with colours too but as yet cannot retrieve them by colour. (Though they will display in colour.. I suppose that makes it the iSing on the cake… uhhh…. :-P )

Couple of bugs i know about:

1 - the thread that ‘auto detects’ track changes leaks objects like a … well like my car leaks radiator fluid actually.

[EDIT: FIXED... but it might still randomly hang if you are 'auto detecting']

2 - if you try and get lyrics when it says “Not Playing” it explodes. I can’t work out how to disable the toolbar button.

Ummm yes. That’s about it. I hope to add a lot more but at the moment I’m pretty pleased with it.

Thanks to Dave for writing the tree source class, I adapted it and that allowed me to bosh it in in about half an hour! woop!

Also - if you put this file into ~/Library/Application Support/iSing/lyrics.cache (you might have to make that dir, ~ being your user’s home) then you will have some pre-tagged stuff (erm… it will probably not show anything if you don’t have the tracks… but try it… it should still work and fail gracefully) to browse.

End!

PS - PLEASE let me know if it breaks, and also what you think! (If you can be bothered it will spew into console.log if it breaks, the last 10 lines of that would be useful)