2.5.0 • Published 6 years ago
observ-midi v2.5.0
observ-midi
Observe and write to a midi stream as a single value, struct, array or grid.
Install via npm
$ npm install observ-midi
Examples
var ObservMidi = require('observ-midi')
var MidiStream = require('midi-stream')
var duplexPort = MidiStream('Launchpad Mini')
A single value (Observ):
var button = ObservMidi(duplexPort, '144/0') // Observ
button(function(value){
// visual feedback
button.output.set(value)
})
A range of values (ObservArray):
var range = ObservMidi(dupexPort, ['144/0', '144/1', '144/2']) // ObservArray
range(function(value){
if (value._diff){
// visual feedback
range.output.splice.apply(range.output, value._diff)
}
})
ArrayGrid (Observ(ArrayGrid))
var ArrayGrid = require('array-grid')
var grid = ObservMidi(duplexPort, ArrayGrid(['144/0', '144/1'], [2,1])) // Observ(ArrayGrid)
grid(function(value){
// value is an instance of ArrayGrid
})
Struct (ObservStruct)
var map = ObservMidi(duplexPort, { play: '176/110', stop: '176/111' }) // ObservStruct
map(function(values){
var diff = values._diff
Object.keys(diff).forEach(function(key){
// visual feedback
map[key].output.set(diff[key])
})
})
map.play(function(value){
// visual feedback
map.store.output.set(value)
})
Variable Hash (ObservVarhash)
var lookup = ObservMidi(duplexPort) // ObservVarhash
lookup(function(value){
var diff = values._diff
Object.keys(diff).forEach(function(key){
// visual feedback
lookup.output.put(key, diff[key])
})
})
Resend all output on switch
duplexPort.emit('switch') // clear input values, resend all current output values
2.5.0
6 years ago
2.4.1
7 years ago
2.4.0
7 years ago
2.3.0
8 years ago
2.2.0
8 years ago
2.1.0
9 years ago
2.0.2
9 years ago
2.0.1
9 years ago
2.0.0
9 years ago
1.5.0
10 years ago
1.4.1
10 years ago
1.4.0
10 years ago
1.3.1
10 years ago
1.3.0
10 years ago
1.2.1
10 years ago
1.1.1
10 years ago
1.2.0
10 years ago
1.1.0
10 years ago
1.0.0
10 years ago