Apple Releases iTunes SDK for Windows
amichalo writes "Apple's recent release of an iTunes SDK for Windows provides the ability for third party programs, such as WinAmp and Windows Media Player, to support the AAC file format. Ars Technica has additional commentary. The SDK uses the COM interface and supports iTunes 4.5 only."
The original goal of the iPod was to drive Mac sales, although perhaps things are a bit upside down now. This SDK goes a long way, though not far enough, toward opening the iTunes music store and keeping the iPod (and therefore Apple) relevant.
"...What is good for General Motors is good for America." -Charles Wilson, Secretary of Defense and fmr President of GM
Not that I have any myself, but there are a ton of radio stations that broadcast in WMA that I can't import into iTunes (you can add new stations into iTunes by copying any station into a playlist, and then editing the URL of the copy in the playlist. The new station only shows up in a playlist, instead of the Radio area, but good enough!).
So when is iTunes going to support ogg, flac, and shn thanks to or without the use of this of this SDK?
I started using it last month over Winamp and kinda miss those capabilities... and where do you let it allow songs to flow into one another without pause? Is that option in the program?
First of all, there is already an iTMS input plugin for Winamp. It has been around for some time. It uses the existing QuickTime SDK to play the music.
This new SDK has nothing to do with that. Now, I haven't exactly had much time to review it, so I could be wrong, but what this new SDK looks like is scripting support for manipulating the iTunes interface. For instance, you can write scripts which build playlists, tag files, etc. Basically, this allows you to automate tasks that you might otherwise perform through the iTunes UI.
On Mac OSX, such functionality has been available via AppleScript for some time. In fact, many OSX programs expose functionality like this via AppleScript -- a practice I wish were more widespread on other systems.
Of course, Windows doesn't have AppleScript, but it does have COM, which I guess can be used in vaguely similar ways. So, they have exposed all this functionality via COM instead. The download includes some example scripts written in Javascript for creating playlists, removing dead files, etc. Of course, since it's COM, you can use pretty much any language you want to access it (including C/C++, though I wouldn't recommend it for this sort of thing).
Kudos to Apple for doing this. They could have been snotty and kept the scripting abilities exclusive to OSX, but they instead chose to support both platforms equally.
But, no, I don't think Winamp or WMP have anything to gain from this. Sorry.
Has anyone downloaded the SDK?
.C file, and a 406KB .H file.
:-) Is anything in iTunes not scriptable?
It consists of just two files, plus documentation and samples.
The two files are a 4KB
Yes, 406KB. Good lord, that's one big header!
Or if you're curious about COM on Mac OS X:
Component Object Model (COM) Development on Mac OS X
Win a signed Stephen Carpenter ESP Guitar from the Deftones: http://def-tag.com/?r=0008781
Slashdot | AAC vs OGG vs MP3
iTunes 4.5 supports importing unprotected WMA files. You can import unprotected WMA files into an iTunes format of your choice, and play them on your iPod.
While this won't help with playing DRM'd WMA files purchased from other online stores, it's a step in the right direction.
Maybe someone out there will make a hymn-like program for unprotecting DRM'd WMA music purchases...
Up, Up, Down, Down, Left, Right, Left, Right, B, A, START
Realnetworks wish has come true? This SDK is good for streaming too?
Real was speaking about moving to Dolby formats from Sony Atrac3 (I bet Sony itself too).
It's nice to see Apple recognizing their roots and giving back to the community that helped them create OSX?
WTF? Where's the love Steve?
People wouldn't have to 'illegally' be reverse enginineering your products if you would just let us USE THEM?!
I would rather be ashes than dust!
Hewlett-Packard will soon be marketing its own hp-branded mp3 players based on iPod technology that will utilize iTunes. Perhaps HP, being a Windows PC provider, will utilize the Windows Media 9 Series SDK and add WMA support to iTunes.
Up, Up, Down, Down, Left, Right, Left, Right, B, A, START
Winamp 5.x already supports AAC out of the "box"; it will rip to AAC quite transparently.
Check it out... www.winamp.com; its worth it for the shoutcast capabilities alone.
Now I can create an icon for the taskbar that will make it easy to control iTunes. This is how their icon should work now, but doesn't:
Single-click: toggle play/pause (update icon when paused).
Double-click: next song in playlist.
Right-click: context sensitive menu (same as now).
Hover: Display tooltip with album artwork and other information, including info on next track in list.
Obviously these should be user-configurable actions, but those defaults would be nice.
Then if they'd let me hide the program in the taskbar when minimized, I'd be all set.
Ironically, the word ironically is often used incorrectly.
Though the header files, etc, are nice if you're a VC++ whiz, any two-bit Visual Basic 6 hacker like myself has had access to the iTunes COM objects for quite some time.
Not only do you not need the SDK, aside from the sample code (strangely written in jscript of all things), the SDK is nearly worthless for VB6 hackers. All you had to do was open a new project in the VB6 IDE, select Project==References from the menus, and select iTunes 1.0 Type Library (the file is iTunes.exe no less).
Voila. Instant COM compliant objects waiting for you to hack0rz. Hit F2 and search for iTunesLib and the documentation's already there (no SDK required) as well.
If this SDK makes you aware you can hack iTunes, then great. But don't wait to download it to start hacking. Install iTunes, open VB6's IDE, and get a move on!
To stick in a horrible Wizard of Oz (but thankfully not a Zardoz reference, I suppose), you've been wearing the ruby red slippers (or whatever) the whole time. "There's no place like ~. There's no place like ~."
It's all 0s and 1s. Or it's not.
Instead of screwing up iTunes with more bloat and features, Apple releases an SDK so Windows users can do it themselves! Brilliant!
I'm in the hole of the broadband donut.
M4p is the extension. AAC is the file format.
M4a for unprotected media. M4p for drm'd media.
They can't. iTunes relies on background services for access to the music store and cd burning, I imagine because of their similarity to UNIX background threads. The 9x kernel is too primitive for this, they'd have to come up with another way of using and interfacing threads, which I imagine is too much of a pain in the ass just to support a six year old deprecated operating system.
Hey freaks: now you're ju
I cooked up a script that converts all iTunes playlists to M3U playlists to import into Winamp in the case of a migration attempt.
Hopefully this doesn't cause too much of a karma burn seeing that iTunes appears to be the preferred player around here.
If you dl it and try it out, it's just a scripting SDK for the iTunes interface (I think someone else pointed this out as well). I downloaded it...fired up Visual Studio and build a quick Windows app with a button to create a new playlist.
Click the button and watch as iTunes opens up. In fact, aside from instantiation of the iTunes object, there isn't a single function that I've been able to perform without iTunes opening up.
Not saying it isn't pretty cool...but the COM interface isn't going to let you build tons of plugins, etc. without iTunes running on your desktop.
Karma: Non-existant. Due mostly to the fact that you smell funny and nobody likes you.
I wonder if this will allow the Slim Devices' Slim Server to have the necessary hooks to stream DRMed iTunes songs? Their FAQ states that Apple has not provided hooks to stream protected files. Slim Server was developed for their Sqeezebox, but the server software is open source and will stream just about anything you throw at it. Good stuff.
?SYNTAX ERROR IN SIG
READY.