kn0ll / midi.io Goto Github PK
View Code? Open in Web Editor NEWreceive input from MIDI devices in the browser
receive input from MIDI devices in the browser
Hi there, awesome concept. I'm pretty new to Node.js, so apologies if this is a common occurrence when using NPM.
I went ahead and installed all of the dependencies via NPM (Socket.io, Backbone, Underscore, and Midi), and proceeded to install midi.io. I received this output:
Michaels-MacBook-Pro:drum michael$ npm install midi.io
npm http GET https://registry.npmjs.org/midi.io
npm http 304 https://registry.npmjs.org/midi.io
npm http GET https://registry.npmjs.org/connect/1.8.5
npm http GET https://registry.npmjs.org/midi/0.5.0
npm http GET https://registry.npmjs.org/socket.io/0.9.6
npm http 304 https://registry.npmjs.org/connect/1.8.5
npm http 304 https://registry.npmjs.org/midi/0.5.0
npm WARN package.json [email protected] No README.md file found!
npm http 304 https://registry.npmjs.org/socket.io/0.9.6
npm WARN engine [email protected]: wanted: {"node":">= 0.4.1 < 0.7.0"} (current: {"node":"0.8.6","npm":"1.1.48"})
npm http GET https://registry.npmjs.org/socket.io-client/0.9.6
npm http GET https://registry.npmjs.org/policyfile/0.0.4
npm http GET https://registry.npmjs.org/redis/0.6.7
npm http GET https://registry.npmjs.org/qs
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/formidable
[email protected] preinstall /Users/michael/Sites/Vattuonet/drum/node_modules/midi.io/node_modules/midi
make
node-waf clean || true; node-waf configure build
Nothing to clean (project not configured)
npm http 304 https://registry.npmjs.org/socket.io-client/0.9.6
npm http 304 https://registry.npmjs.org/redis/0.6.7
npm http 304 https://registry.npmjs.org/policyfile/0.0.4
Setting srcdir to : /Users/michael/Sites/Vattuonet/drum/node_modules/midi.io/node_modules/midi
Setting blddir to : /Users/michael/Sites/Vattuonet/drum/node_modules/midi.io/node_modules/midi/build
Checking for program g++ or c++ : /usr/bin/g++
Checking for program cpp : /usr/bin/cpp
Checking for program ar : /usr/bin/ar
Checking for program ranlib : /usr/bin/ranlib
Checking for g++ : ok
Checking for node path : not found
Checking for node prefix : ok /usr/local
'configure' finished successfully (0.070s)
npm http 304 https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/qs
Waf: Entering directory /Users/michael/Sites/Vattuonet/drum/node_modules/midi.io/node_modules/midi/build' npm http 304 https://registry.npmjs.org/formidable [1/2] cxx: src/node-midi.cpp -> build/Release/src/node-midi_1.o npm http GET https://registry.npmjs.org/ws npm http GET https://registry.npmjs.org/uglify-js/1.2.5 npm http GET https://registry.npmjs.org/xmlhttprequest/1.2.2 npm http GET https://registry.npmjs.org/active-x-obfuscator/0.0.1 ../src/node-midi.cpp: In static member function ‘static v8::Handle<v8::Value> NodeMidiInput::New(const v8::Arguments&)’: ../src/node-midi.cpp:238: error: cannot convert ‘uv_loop_t*’ to ‘uv_handle_t*’ for argument ‘1’ to ‘void uv_unref(uv_handle_t*)’ Waf: Leaving directory
/Users/michael/Sites/Vattuonet/drum/node_modules/midi.io/node_modules/midi/build'
Build failed: -> task failed (err #1):
{task: cxx node-midi.cpp -> node-midi_1.o}
make: *** [all] Error 1
npm ERR! [email protected] preinstall: make
npm ERR! sh "-c" "make"
failed with 2
npm ERR!
npm ERR! Failed at the [email protected] preinstall script.
npm ERR! This is most likely a problem with the midi package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! make
npm ERR! You can get their info via:
npm ERR! npm owner ls midi
npm ERR! There is likely additional logging output above.
npm ERR! System Darwin 11.4.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "midi.io"
npm ERR! cwd /Users/michael/Sites/Vattuonet/drum
npm ERR! node -v v0.8.6
npm ERR! npm -v 1.1.48
npm ERR! code ELIFECYCLE
npm http 304 https://registry.npmjs.org/xmlhttprequest/1.2.2
npm http 304 https://registry.npmjs.org/uglify-js/1.2.5
npm http 304 https://registry.npmjs.org/ws
npm http 304 https://registry.npmjs.org/active-x-obfuscator/0.0.1
npm http GET https://registry.npmjs.org/zeparser/0.0.5
npm http GET https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/tinycolor
npm http GET https://registry.npmjs.org/options
npm http 304 https://registry.npmjs.org/zeparser/0.0.5
npm http 304 https://registry.npmjs.org/commander
npm http 304 https://registry.npmjs.org/tinycolor
npm http 304 https://registry.npmjs.org/options
[email protected] install /Users/michael/Sites/Vattuonet/drum/node_modules/midi.io/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
node install.js
[ws v0.4.21] Attempting to compile blazing fast native extensions.
[ws v0.4.21] Native extension compilation successful!
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/michael/Sites/Vattuonet/drum/npm-debug.log
npm ERR! not ok code 0
I noticed that it seems to be looking for an earlier version of Node, but I'm not really sure what the issue is here. Any insight?
Thank you!
Can / Does this library support sending midi messages as well - such as turning on lights on a controller, etc.
Hey again,
So I took a really long break from Node, and now I'm back doing this. I'm planning on making some sort of a web-app/instrument hybrid, not really sure what yet), and I'd like to do so using Express. I'm having an issue using this with the express() function that is new in Express 3 - here's my code:
/**
* Module dependencies.
*/
var express = require('express')
, routes = require('./routes')
, user = require('./routes/user')
, http = require('http')
, path = require('path');
var app = express();
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser('your secret here'));
app.use(express.session());
app.use(app.router);
app.use(require('less-middleware')({ src: __dirname + '/public' }));
app.use(express.static(path.join(__dirname, 'public')));
});
app.configure('development', function(){
app.use(express.errorHandler());
});
app.get('/', routes.index);
app.get('/users', user.list);
server = http.createServer(app);
var midi = require('midi.io'),
io = require('socket.io').listen(server);
server.use(midi(io));
server.listen(app);
The error I'm getting is "Object # has no method 'use'"
I'm assuming that this is because the http server I've created can't instantiate middleware or that use is something inherent in connect or express, but I'm totally lost on where I should be calling midi now that I have to wrap the express components in an http object.
Any guidance would be super helpful. Thanks!!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.