Skip to content

bjoernricks/daap.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

daap.js

A promise based Digital Audio Access Protocol (DAAP) client implementation in JavaScript

Installation

With npm

npm install --save daap.js

With yarn

yarn add daap.js

A note on CORS

daap.js uses XMLHttpRequest internally. Therefore it depends heavily on CORS which isn't supported by any known daap server currently. To enable Cors for your daap server you could put it behind a http proxy that adds CORS headers.

Example Apache proxy config for CORS

Listen 3690

NameVirtualHost *:3690

<VirtualHost *:3690>
  ProxyRequests On
  <Proxy>
    Order deny,allow
    Allow from all
  </Proxy>

  ProxyPass / http://<server-url>:3689/
  ProxyPassReverse / http://<server-url>:3689/
  Header set Access-Control-Allow-Origin "*"
  Header set Access-Control-Allow-Methods "GET
</VirtualHost>"

Example usage

Example in ES2015/ES6

import Daap from 'daap.js';

/* Daap accepts server and port. Per default server is 127.0.0.1 */
/* and port 3689. server can be an IP or domain name */
let daap = Daap({server: '192.168.1.123'});

daap.serverinfo().then(function(server_info) {
    console.log(server_info);
})

/* set password if your server requires one */
daap.setPassword('.....');

daap.login().then(() => {
    console.log('Yeah I am connected to my daap server');
    return daap.items();
}).then(items => {
    console.log('I have got ' + items.length + ' songs from my daap server');

    for (song of items) {
      console.log('Found song ' + song.name + ' from ' + song.artist);
    }
}).catch(error => {
    console.error('An error occured', error);
});

License

This project is licensed under the terms of the MIT license

About

A daap client implemented in JavaScript

Resources

License

Stars

Watchers

Forks

Packages

No packages published