mpp-midi-player
v1.0.2
Published
A simple to use MIDI player for Multiplayer Piano
Downloads
13
Maintainers
Readme
mpp-midi-player
A simple to use MIDI player for Multiplayer Piano.
How to use
const Bot = require('mpp-midi-player');
var uri = 'wss://www.multiplayerpiano.net:8080';
var proxy = "";
var channel = "test/awkward";
const bot = new Bot(uri, proxy);
bot.start(channel);
var keyNameMap = require('./key-map');
var MidiPlayer = require('midi-player-js');
var Player = new MidiPlayer.Player(function(event) {
if (event.name == "Note off" || (event.name == "Note on" && event.velocity === 0)) {
bot.stopNote(keyNameMap[event.noteName]);
} else if (event.name == "Note on") {
bot.playNote(keyNameMap[event.noteName], event.velocity / 127);
} else if (event.name == "Set Tempo") {
Player.setTempo(event.data);
}
});
You can do things like:
if (Player.isPlaying()) {
bot.progressBar(Player); //This simulates a progressbar with the mouse
};
Usages:
// Starts the bot in a specific channel and sets the client's name
bot.start('channel name', 'bot name');
// Sets the bot's channel
bot.setChannel('channel name');
// Moves the mouse to a specific position using x and y
bot.mouseMove(x, y);
// "true" can be set to false to disable echo on octave
bot.octaveStart(note, octaveAmount, true, velocity, echoAmount, echoDelay);
// octaveAmount has to be set the same as the octaveAmount on octaveStart
bot.octaveStop(note, octaveAmount);
// Plays a note e.g: a-1
bot.playNote(note, velocity);
// Stops a note that is being played e.g: a-1
bot.stopNote(note);
// Sends a message to chat
bot.sendChat('your message here');
// Echos notes
bot.echoNote(note, velocity, echoAmount, echoDelay);
// Resets the cursor position
bot.resetCursor();
// Makes it so only owner can play the piano
bot.crownSolo();
Requirements: key-map.json, midi-player-js and mpp-client-xt.
If you have any questions or any problems contact: [email protected]