PDA

View Full Version : iTunes Plugin



Craig, James (IT)
2004-08-23, 05:27
Hi all,
I'd like to announce the first release of my first plugin plugin!
With this you can automatically update play counts and dates, rate
tracks and save client playlists from SlimServer clients to iTunes
(Windows only at the moment, sorry).

You can download if from
http://www.jamescraig.co.uk/SlimServer/iTunesUpdate.zip
I'll post the ReadMe file after this message so you can see if you're
interested.

Let me know if you like it or any problems or suggestions etc.
I'd particularly like to hear from anyone who knows appleScript and how
to write some that would let this plugin work on Macs as I don't have
access to one.

Thanks to everyone for answering my questions over the last couple of
weeks!

James
<mailto:James.Craig (AT) morganstanley (DOT) com>
"iTunes Update" SlimServer Plugin

v0.1 23 August 2004

James Craig (james.craig (AT) london (DOT) com)


iTunes Update is a SlimServer plug-in to update your iTunes database
with Slimserver client listening data, user ratings and playlists.


Features:
=========

- When a track is determined to have been 'played', the iTunes playcount
and last played fields are updated.

This is decided by 3 variables - minimum listen time (default 5s),
percentage listen time (default 50%) and maximum listen time (default 15
minutes). These settings can be modified in the iTunesUpdate.pm code.
For some reason (buffering perhaps) it's very unlikely that a full 100%
of time is ever registered,
so don't set the % too high (This is particularly noticable on very
short tracks).

- iTunes rating from the client.

When on the 'now playing' screen the keys 1-5 and 0 can be used to
provide a rating for the track currently playing (0 being no stars in
iTunes). When the current track changes the rating will be written to
iTunes (even if it wasn't listened to long enough to qualify as a
'play'). Tracks can be re-rated as many times as you like before they're
written to iTunes.

- write SlimServer client playlists to iTunes

When on the 'now playing' screen holding down the play key will write
the current client playlist to iTunes.
It will be named the same as the client and appended with the current
date and time. This can take a while so be careful not to activate this
multiple times!



Notes
=====
- Windows is the only currently supported platform.
Installing the plugin on any other platform shouldn't break anything,
but nothing will get written to iTunes!

- SLimserver should be running on the same host as iTunes is run
(iTunes does not need to be running before SLimserver - it will be
started when necessary)

- Unfortunately the plugin will NOT work if SlimServer is running as a
service.
(Even if it's running as the user with access to iTunes.)
You need to run SlimServer as the iTunes user by starting slim.exe or
the slimserver.pl script.

- You need to be running a version of iTunes which supports the OLE
interface - (4.5 or later.)

- It can take a while to start iTunes the first time it's accessed.
Saving long playlists to iTunes can take a while. These actions may
cause a pause in playback.

- Because SlimServer caches the MP3 tags, iTunes will not be updated if
key tags (artist,album, track name) have been changed in iTunes and the
SlimServer cache hasn't been updated.

Installation
==============

- Put iTunesUpdate.pm into the Plugins directory.

- Put the entire iTunesUpdateSupport directory into the Plugins
directory.

- restart SlimServer (not as a service - see below)

Thanks
======
To Stewart Loving-Gibbard who wrote the SlimScrobbler plugin.
http://www.skyscratch.com/SlimScrobbler

All SlimServer plugin writers for inspiration

Anyone who's answered a question of mine on the SlimDevices mailing
lists

Versions
========
v0.1 First release
--------------------------------------------------------

NOTICE: If received in error, please destroy and notify sender. Sender does not waive confidentiality or privilege, and use is prohibited.

Adrian Merwood
2004-08-25, 06:24
Craig,

Can we have a Mac OSX version!!!!!

Adrian