Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

Create an iTunes song info bezel with free tools Apps
Although there are many tools out there that can display iTunes song info in a floating window, I created the floating info box at right on my own, using freely available tools:
  • LanOSD -- make sure you have the latest version. LanOSD is an app to show bezels of information in your favorite location on the screen -- and on any computer on the network also running LanOSD, which has a nice side effect if you use my method on a LAN (it'll show on all computers)
  • AppleScript -- AppleScript is used to get the title of the current track and sending it to lanosd.
  • Cronnix -- Cronnix is used to make the AppleScript run every minute.
This isn't optimal, I know. I would love to have an AppleScript that runs when iTunes changes songs. I don't know of such a hook. Next-to-best way would be to have a script that always ran and changed the bezel contents when iTunes changed the song. I tried that, but for some strange reason, AppleScript uses 99% of the processor while executing the wait command. I don't like that. Want to do it my way? Read more...

First off, install LanOSD and launch it. I'd recommend adding it to your login items as well. Secondly, write a nice script, or use mine:
tell application "System Events" to set doit to (exists process "iTunes")
tell application "iTunes" to set doit to doit and not (minimized of first EQ window)
tell application "iTunes" to set doit to doit and (player state is playing)
if doit then
  tell application "iTunes"
    set trk_arts to the artist of the current track
    set trk_name to the name of the current track
    set trk_albm to the album of the current track
  end tell
  tell application "LanOSD"
    message kind "itunes-song" text trk_arts fade delay 65 over 1 quadrant 8 icon "music"
    message kind "itunes-song" text trk_name fade delay 65 over 2
    message kind "itunes-song" text "From \"" & trk_albm & "\"" fade delay 65 over 3
  end tell
end if
The script isn't all that fancy. I wanted to keep it simple. Be free to modify, optimize or bloat it all you want.

Notice the second line in the script? If you grow bored of that bezel and want to get rid of it temporarily, you can just open the equalizer in iTunes, press the small green button to zoom it, and boom, no more bezel. You can even close the equalizer after that, the script will know that the equalizer is zoomed. Save the script in a convenient location as just a script file (that is, a file with the ".scpt" ending). Then, install Cronnix and launch it. Press the "New" button. Check all the check boxes under "Any." Click the "Browse..." button and navigate to the script. A path should appear in the field above. Prepend that path with '/usr/bin/osascript ' (no quotes; note the space at the end). The result should look something like this, but with your own path, of course:
/usr/bin/osascript "/Volumes/OrinKirei/nevyn/Projects/AS/iTunesBezel.scpt"
Click "Apply" and then "Save." The script will execute once a minute. If iTunes is launched, and the equalizer isn't minimized, and iTunes is playing something, the bezel will appear. You're done. If you want that fancy iTunes icon on your bezel, take a screenshot of the iTunes icon in the Finder (set the view to icon), then make it a .PNG file and put it in your ~/Library -> Application Support -> LanOSD -> icons folder.

Please note that because we're using cron, the script is executed once every minute. This means that any changes will lag at most one minute. This includes both song changes and disabling the bezel with the equalizer trick. After applying the eqalizer trick, you can remove the bezel instantly using the "Close all" item from the LanOSD menu item. Enjoy!
    •    
  • Currently 3.67 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (3 votes cast)
 
[15,169 views]  

Create an iTunes song info bezel with free tools | 28 comments | Create New Account
Click here to return to the 'Create an iTunes song info bezel with free tools' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
Create an iTunes song info bezel with free tools
Authored by: nevyn on Aug 12, '04 11:05:45AM

A better way to make your own iTunes icon is this:
Locate your copy of iTunes, ctrl-click and choose "Show Package Contents". Nagivate:
Contents > Resources > iTunes.icns
Open this file with Preview. Select the first "page". Export this as a PNG and move the exported file to:
~/Library -> Application Support -> LanOSD -> icons folder.

---
?



[ Reply to This | # ]
Synergy
Authored by: virga42 on Aug 12, '04 11:16:38AM

Why not use Synergy? http://synergy.wincent.com/
It doesn't cost all that much and I think its worth every penny.

BTW, I have no affiliation with Synergy. This is just an unsolicited recommendation.



[ Reply to This | # ]
Synergy
Authored by: nevyn on Aug 12, '04 11:37:28AM

I don't want to take up even more menu bar space (It's packed as it is there), and I had to feed the "hacker" within me ;)

---
?



[ Reply to This | # ]
Synergy
Authored by: freddiepingpong on Aug 12, '04 04:45:25PM

Just to note that it doesn't have to take up any space. I value my menu space as well.



[ Reply to This | # ]
Synergy
Authored by: taran on Aug 12, '04 01:22:58PM
Another good alternative is SizzlingKeys4iTunes by Yellow Mug (both free and paid versions).

Personally, I'm most thrilled to find out about LanOSD - I'm looking forward to putting it to good use.



[ Reply to This | # ]
Honestly...
Authored by: GORDYmac on Aug 12, '04 12:16:39PM

This does look like a Synergy knockoff. With Synergy, you can customize the floater, and you can include the artwork.

It's just $5.



[ Reply to This | # ]
Create an iTunes song info bezel with free tools
Authored by: chris_on_hints on Aug 12, '04 01:20:55PM

A ready-made alternative (and dontationware) is "sizzling keys for iTunes". this little pref pane provides control of iTunes play/pause/stop/next/prev/volume etc... by keyboard combinations that you define (i have a selection of F-keys).

sizzling keys pops up a bezel with track info when you play/pause/next/prev and this pop-up can also be set to appear when the songs change as required by the hint....

did i mention the bezel can also include the cover art stored in iTunes??



[ Reply to This | # ]
Create an iTunes song info bezel with free tools
Authored by: chris_on_hints on Aug 12, '04 01:25:02PM

EDIT:

Sizzlingkeys4iTunes is FREEWARE, not donationware as i said above.

get it at www.yellowmug.com



[ Reply to This | # ]
How about Butler?
Authored by: leoofborg on Aug 12, '04 01:42:04PM

Butler also does this, and info bezel is customizable.. Its default is a white bevel but this can be changed to the black overlay that you see. A plus as I see it is it can be set to flash the song info at the start of song play.

Not to mention Butler also has multiple clipboards, iTunes remote control, launcher (I call it 'Flashlight' as opposed to 'Spotlight')...

All this is donationware.

---
Leo of BORG
@ some smaller .org



[ Reply to This | # ]
Create an iTunes song info bezel with free tools
Authored by: StarManta on Aug 12, '04 01:54:12PM
I've already created one of these - only mine runs in QuickSilver, gets the new track immediately, and puts the album art in the icon.

QuickSilver

After installing QuickSilver, click this link

to install it.

[ Reply to This | # ]
Create an iTunes song info bezel with free tools
Authored by: aranor on Aug 12, '04 01:58:59PM

Please note that you then have to select LanOSD as the notifier in the Actions prefpane.

BTW, I use Quicksilver too, but I don't use LanOSD, I prefer the built-in notifications for this.

Quicksilver also shows the album artwork if it's available (not just artwork in the songs, but also artwork that Synergy or Sofa has fetched)



[ Reply to This | # ]
Create an iTunes song info bezel with free tools
Authored by: hive on Aug 12, '04 03:07:19PM

Hi ...

Thanks for the hint with Quicksilver ...didnt knew it and am i am more than pleasant surprised ... especially the whole design .. very nice. But I dont get it with the plugins?! i have installed a bunch of them, even this LanOSD plugin, but nothing happens ... LanOSD, QS and iTunes are running, but no bevel, no popup ... and how can i configure stuff ??? All the plugins seem to just be there and now i can search for bookmarks and so on with QS .. thats it?! I just want to be sure i dont miss some features?!

bye
Hive



[ Reply to This | # ]
Create an iTunes song info bezel with free tools
Authored by: hive on Aug 12, '04 03:34:37PM

Hi ...

Me again ... before calling me an idiot ... :) ... yes i have set notifications to LanOSD, but its still not working ...

Whats about this builtin iTunes bevel feature? I see no popups at all?!

bye
Hive



[ Reply to This | # ]
Create an iTunes song info bezel with free tools
Authored by: Fuzzle on Aug 12, '04 04:01:14PM

It's built in to the iTunes plugin. Check for the option in the iTunes section of the Quicksilver preference.

---
___
This space intentionally left blank.



[ Reply to This | # ]
Create an iTunes song info bezel with free tools
Authored by: hive on Aug 13, '04 03:16:06AM

hi there ...

yes i have seen this, but nothing happens. I assume that the LanOSD thing tuns only when you have selected it as notification and the builtin iTunes just when QS is selected as notification ... Anyway ... both isnt working. I dont see notifications or bezels at all ... The only thing that i have seen was, that when i set LanOSD to notify, this "new plugin installed" popups arent windows but bezels ... which is nice... but i want ITUNES!!!! :)

Help is very appreciated!

bye
Hive



[ Reply to This | # ]
Create an iTunes song info bezel with free tools
Authored by: hassr on Aug 12, '04 02:18:17PM

I spent last weekend piecing together some tutorials and open source to get my version of this to work. I didn't use any 3rd party applications to get this to work.

Check it out, i don't claim for it to be perfect, but you can always help me make it better.
<a href="http://oregonstate.edu/~hassr/RecentTunes.zip">Recent Tunes</a>



[ Reply to This | # ]
Create an iTunes song info bezel with free tools
Authored by: landshark on Aug 12, '04 03:33:40PM

I ran the LANOsd and it took over my terminal? i can't get terminal access anymore it just gives me this:

Last login: Thu Aug 12 15:29:06 on ttyp1
/Volumes/LanOSD\ 1.0b2/lanosd; exit
Welcome to Darwin!
You have new mail.
xxxxxx-xxxxxxx-Computer:~ cg$ /Volumes/LanOSD\ 1.0b2/lanosd; exit
-bash: /Volumes/LanOSD 1.0b2/lanosd: No such file or directory
logout
[Process completed]


I can't get to the command line? there is no help doccuments or anything so any help would be appreciated. I'm not a terminal expert I just use it from time to time for some stuff.. but now i can't get to it at all using any of the traditonal methods..... :(

thanks



---
Littering and... Littering and... Littering and... Littering and... Littering and... Littering and... Littering and... Littering and...



[ Reply to This | # ]
Making your Terminal functional again
Authored by: lionel77 on Aug 12, '04 10:19:33PM

I was in a similar situation once after I had installed fink. What I had done was to change the window settings of terminal and to hit 'Use settings as default'. What I didn't realize was that since the fink setup script ran in the background, I made starting it also part of the default behavior of terminal.app, effectively disabling the terminal (because the script contained an exit statement like in your case).

In order to fix the problem I deleted the terminal preferences file (~/Library/Preferences/com.apple.Terminal.plist) and everything was fine again.
Hope this saves you some of the hours I spend figuring this out.



[ Reply to This | # ]
iTunes Overlay
Authored by: mal0rd on Aug 12, '04 04:17:46PM
I wrote an applescript studio program to do just this called iTunes Overlay. It puts a persistent semi-transparent re-positionable 11 pixel-high box over all desktop windows and applications which displays info about the currently playing track in iTunes. Xcode source is included. I love it because it takes up less space on my screen then any other "info bezel" I've come across.

[ Reply to This | # ]
Create an iTunes song info bezel with free tools
Authored by: trekan on Aug 12, '04 04:35:38PM
This version is rewritten more to my liking and also it uses the AppleScript idle-handler, which makes it possible to have updates more often than every minute. In this example it runs every 10 seconds. For this to work, the AppleScript has to be saved as an application with the "stay open" option on. Cronnix is not necessary in this version.
on checkOSD()
	tell application "System Events"
		if (exists process "iTunes") then
			tell application "iTunes"
				if not (minimized of first EQ window) and (player state is playing) then my showOSD()
			end tell
		end if
	end tell
end checkOSD

on showOSD()
	tell application "iTunes"
		tell current track to set {trk_arts, trk_name, trk_albm} to {the artist, the name, the album}
	end tell
	tell application "LanOSD"
		message kind "itunes-song" text trk_arts fade delay 65 over 1 quadrant 8 icon "music"
		message kind "itunes-song" text trk_name fade delay 65 over 2
		message kind "itunes-song" text "From \"" & trk_albm & "\"" fade delay 65 over 3
	end tell
end showOSD

on idle
	my checkOSD()
	return idleInterval
end idle

set idleInterval to 10
my checkOSD()


[ Reply to This | # ]
bug fix
Authored by: trekan on Aug 12, '04 04:39:29PM
oops

property idleInterval : 10

on checkOSD()
	tell application "System Events"
		if (exists process "iTunes") then
			tell application "iTunes"
				if not (minimized of first EQ window) and (player state is playing) then my showOSD()
			end tell
		end if
	end tell
end checkOSD

on showOSD()
	tell application "iTunes"
		tell current track to set {trk_arts, trk_name, trk_albm} to {the artist, the name, the album}
	end tell
	tell application "LanOSD"
		message kind "itunes-song" text trk_arts fade delay 65 over 1 quadrant 8 icon "music"
		message kind "itunes-song" text trk_name fade delay 65 over 2
		message kind "itunes-song" text "From \"" & trk_albm & "\"" fade delay 65 over 3
	end tell
end showOSD

on idle
	my checkOSD()
	return idleInterval
end idle

my checkOSD()


[ Reply to This | # ]
Create an iTunes song info bezel with free tools
Authored by: nevyn on Aug 13, '04 10:45:29AM

So THAT's how to do it! This was how I tried to do it the first time around, but I just wasn't good enough at AppleScript... Thanks! Oooh, this is great. Now I don't have to deal with the cron hassle...

---
?



[ Reply to This | # ]
Create an iTunes song info bezel with free tools
Authored by: iggybird on Aug 14, '04 02:32:25PM
You can also use the delay command. Here's an example as it directly relates to waiting for a song to be over:
delay (get finish of current track) - 5 - (get player position)
You might have to change the "5" to something else to time it correctly.

[ Reply to This | # ]
Create an iTunes song info bezel with free tools
Authored by: nevyn on Aug 17, '04 05:31:41AM

Yep, that's the command that eats ridiculous amounts of processor power.

---
?



[ Reply to This | # ]
Create an iTunes song info bezel with free tools
Authored by: pr10n on Aug 12, '04 09:34:13PM
I too highly recommend butler. As for the applescript I don't know of any hook either. Here is a simplified version of something I wrote to put the iTunes info onto my web server. I sure it could be modified for your own use. Determines how much time remain in the song that is play and sits idly for that time to elapse.

	on idle theObject
		if iTunesRunning then -- If iTunes has been launched
			tell application "iTunes" -- Begin communicating with iTunes
				if player state is playing then -- iTunes is playing
					set thisTrack to the current track
					set tID to thisTrack's database ID
					set tName to thisTrack's name
					set tArtist to thisTrack's artist
					set tAlbum to thisTrack's album
					set tRating to thisTrack's rating
					-- Set idle time to remaining + 5 seconds
					set idleTime to (thisTrack's duration) - player position + 5
				end if
			end tell
		end if

		-- To minimize resource usage never query in intervals less than 15 seconds
		if idleTime < 15 then
			set idleTime to 15
		end if

		return idleTime

	end idle
It was written in xcode you can get the binary and source here if you want to have a look

[ Reply to This | # ]
Why not use Synergy?
Authored by: Miraglia on Aug 13, '04 04:08:59PM

Synergy is a terrific little app which does this very thing, plus some others: It allows you to size and position the bezel, it shows the album art (and will try to download it if you don't have album art in your mp3 metatag), optionally adds playback controls to the control strip, etc.

It's a classy little app, right down to the way the bezel fades up and grows with song data, then fades away.

Other testimonials about Synergy can be found in this thread as well.



[ Reply to This | # ]
Why not use Synergy?
Authored by: skell on Aug 15, '04 12:21:36PM

Synergy, Synergy, Synergy!!!

Can't beat it for around $5.

http://synergy.wincent.com



[ Reply to This | # ]
Spark
Authored by: xhints_ on Feb 14, '08 07:16:19PM
No one's mentioned Spark yet. It isn't as powerful as something like Butler, but it has a nice interface and is very intuitive (mostly).

The iTunes alert is quite nice, but doesn't have album artwork etc. I found the design of it confusing when compared to the app launch bezel.

Spark is designed to be a keyboard shortcuts thingy, so no other triggers, I'm afraid. One more thing: it behaves oddly with AppleScript apps and isn't entirely stable. Relaunch it every few minutes (esp. when dealing with AS) to make sure you don't lose your changes.

The thing I like about it is that you can set very intuitive keyboard shortcuts for simple tasks. My favourites are Crtl-Shift-Delete to empty trash and Ctrl-, to open System preferences.

[ Reply to This | # ]