This module exposes iTunes' ScriptingBridge interface to node. This allows for controlling almost every aspect of your library programmatically with node!
You can even connect to a remote iTunes instance that's somewhere on your LAN, it doesn't have to be your local iTunes.
This currently requires node running on OS X to compile.
var iTunes = require('iTunes');
iTunes.createConnection({
username: 'uname',
password: 'mysekretz',
host: '192.168.0.14'
}, function (err, conn) {
if (err) throw err;
// Set the volume of iTunes to 50%,
// fire-and-forget style!
conn.volume(50);
conn.selection(function (err, selection) {
// Get an Array of `Track`s containing the current selection
});
});
Look at the iTunes Header File to see the API that it exposes.
node-iTunes
aims to wrap as much of that functionality as is practical (there's
a lot of it though!).
If you come across a property or function that is missing from node-iTunes
that you would like to use, then please open an Issue requesting it and it will
be a priority.