Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/TooTallNate/nTunes
A REST (HTTP) API for interacting with iTunes written in NodeJS.
https://github.com/TooTallNate/nTunes
Last synced: about 1 month ago
JSON representation
A REST (HTTP) API for interacting with iTunes written in NodeJS.
- Host: GitHub
- URL: https://github.com/TooTallNate/nTunes
- Owner: TooTallNate
- License: mit
- Archived: true
- Created: 2010-08-05T01:33:52.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2017-08-11T07:14:46.000Z (over 7 years ago)
- Last Synced: 2024-08-04T09:02:18.711Z (5 months ago)
- Language: JavaScript
- Homepage: http://github.com/TooTallNate/nTunes/wiki
- Size: 714 KB
- Stars: 95
- Watchers: 3
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
nTunes
======
### A REST (HTTP) API for interacting with iTunes__nTunes__ is an HTTP-based API for interacting with your [iTunes][]
installation (currently only for Mac OSX), written with [NodeJS][].In other words, it's the foundation for writing web applications based on
your [iTunes][] library. You could potentially write a website that:
* Remotely controls the volume of the [iTunes][] on your computer.
* Acts as a remote interface for selecting music to play on your computer.
* Accesses and plays back your library from the web interface itself (through ``?).
* Automatically adds files added from a watched folder into your library.
* Don't let this _list_ decide for you! Be creative!Installation
------------If you're lazy, just use the awesome [__npm__](http://github.com/isaacs/npm) of course!
npm install -g nTunes
Otherwise feel free to check out this repo and inspect as you will.
Usage
-----__nTunes__ itself is presented with the familiar `function(req, res, next)`
signature. This means it can be used in your Node code with the standard
Node HTTP server with a one-liner like this:
require("http").createServer(require("nTunes")()).listen(80);Or it can be used as a _layer_ in [connect][]:
var connect = require("connect");
connect.createServer(
connect.logger(),
connect.staticProvider(__dirname),
require("nTunes")()
).listen(80);Combining __nTunes__ with connect is the recommend practice.
### Stand-alone mode...
If you're only interested in seeing the examples __nTunes__ comes packaged with,
then it comes with a convenient executable file to easily start the demonstration
HTTP server for you to play with. Once you've installed via __npm__, simply invoke:nTunes
This starts __nTunes__ as a stand-alone HTTP server in demonstration mode. While
the server is running you can experiment with the __nTunes__ API through
simple HTTP requests sent to your computer. Here are some examples:To get the `name` of the `current track` with a GET request:
curl localhost:8888/current%20track/name
// Returns "Lateralus"To set your iTunes' volume to 50% with through a POST request:
curl -d value=50 localhost:8888/sound%20volume
// Returns 50The API mostly returns JSON encoded values, and is mostly intended to be used
with the `XMLHttpRequest` object and `JSON.parse` function in the web browser,
or `http.Client` in [Node][NodeJS].[iTunes]: http://www.itunes.com
[NodeJS]: http://nodejs.org
[connect]: http://senchalabs.github.com/connect/