mpp-midi-player

1.0.2 • Public • Published

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: phoenixacc11@gmail.com

Package Sidebar

Install

npm i mpp-midi-player

Weekly Downloads

0

Version

1.0.2

License

GPL-3.0-or-later

Unpacked Size

7.74 kB

Total Files

3

Last publish

Collaborators

  • phoenixos