xbmc v0.8.0
Kodi/XBMC node controller
This module uses XBMC JSON-RPC Api V6 to provice a rich and simple API to communicate with XMBC instances.
Documentation
The xbmc
module contains the following classes:
XbmcApi
: API wrapper of available actions, notifications and media handlingTCPConnection
: TCP Client to communicate with XBMC
Basics
All classes are created asynchronously.
All classes are sharing an EventEmitter
instance.
XbmcApi.on
and XbmcApi.emit
are wrappers to the shared PubSub. For instance:
In CoffeeScript :
{TCPConnection, XbmcApi} = require 'xbmc'
connection = new TCPConnection
host: '127.0.0.1'
port: 9090
verbose: true
xbmc = new XbmcApi
xbmc.setConnection connection
xbmc.on 'connection:open', -> console.log 'Connection is open'
xbmc.on 'connection:data', (data) -> console.log 'Received data:', data
xbmc.on 'connection:notification', (notification) -> console.log 'Received notification:', notification
In JavaScript :
var Xbmc = require('xbmc');
var connection = new Xbmc.TCPConnection({
host: '127.0.0.1',
port: 9000,
verbose: false
});
var xbmcApi = new Xbmc.XbmcApi;
xbmcApi.setConnection(connection);
xbmcApi.on('connection:data', function() { console.log('onData'); });
xbmcApi.on('connection:open', function() { console.log('onOpen'); });
xbmcApi.on('connection:close', function() { console.log('onClose'); });
TCPConnection uses a deferred (promise) mechanism. Following two examples are both working:
{TCPConnection, XbmcApi} = require 'xbmc'
connection = new TCPConnection
host: '127.0.0.1'
port: 9090
verbose: true
xbmc = new XbmcApi
xbmc.setConnection connection
# run actions after received a 'connection:open' event
xbmc.on 'connection:open', ->
xbmc.message 'Hello World'
connection = new TCPConnection
host: '127.0.0.1'
port: 9090
verbose: true
xbmc = new xbmcApi
xbmc.setConnection connection
# enqueu actions so they are called a soon as connection is opened
xbmc.message 'Hello World'
SEE ALSO
TODO
More actions, new helpers, tests, ...
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago