Control Spotify on Mac OSX with NodeJS and AppleScript.
$ npm install spotify-node-applescript
$ npm test
Play a track with Spotify URI uri
.
var spotify = require('spotify-node-applescript');
spotify.playTrack('spotify:track:3AhXZa8sUQht0UEdBJgpGc', function(){
// track is playing
});
Play a track in context of for example an album.
var spotify = require('spotify-node-applescript');
spotify.playTrackInContext('spotify:track:0R8P9KfGJCDULmlEoBagcO', 'spotify:album:6ZG5lRT77aJ3btmArcykra', function(){
// Track is playing in context of an album
});
Get the current track. callback
is called with the current track as second argument.
var spotify = require('spotify-node-applescript');
spotify.getTrack(function(err, track){
/*
track = {
artist: 'Bob Dylan',
album: 'Highway 61 Revisited',
disc_number: 1,
duration: 370,
played count: 0,
track_number: 1,
starred: false,
popularity: 71,
id: 'spotify:track:3AhXZa8sUQht0UEdBJgpGc',
name: 'Like A Rolling Stone',
album_artist: 'Bob Dylan',
spotify_url: 'spotify:track:3AhXZa8sUQht0UEdBJgpGc' }
}
*/
});
Get player state.
var spotify = require('spotify-node-applescript');
spotify.getState(function(err, state){
/*
state = {
volume: 99,
position: 232,
state: 'playing'
}
*/
});
Jump to a specific second of the current song.
var spotify = require('spotify-node-applescript');
spotify.jumpTo(15, function() {
console.log('Jumped 15th second of the song');
});
Resume playing current track.
Pause playing track.
Toggle play.
Play next track.
Play previous track.
Turn volume up.
Turn volume down.
Sets the volume.
var spotify = require('spotify-node-applescript');
spotify.setVolume(42, function() {
spotify.getState(function(err, state) {
console.log(state.volume);
});
});
Reduces audio to 0, saving the previous volume.
Returns audio to original volume.
Check if Spotify is running.
var spotify = require('spotify-node-applescript');
spotify.isRunning(function(err, isRunning){
console.log(isRunning); // true
});