Description
VoxelMidis, a midiplayer based off of MidiBanks
THIS PLUGIN REQUIRES VAULT! http://dev.bukkit.org/bukkit-plugins/vault
This plugin plays midi files using noteblocks! A sign is placed on the front of a row of noteblocks with the correct parameters,
and then can be right-clicked or sent a redstone signal to play your midi!
I loved the original MidiBanks plugin, and since it was abandoned, I decided to try my own hand at it.
A big thanks goes to Protected for the original MidiBanks plugin!
How this plugin works:
This plugin works just like the old MidiBanks plugin, you simply place a sign on the FRONT of a row of noteblocks and use this format on the sign:
LINE 1: Leave Blank
LINE 2: [midi:speed] or just [midi] for the default speed
LINE 3: Filename
LINE 4: Parameters
Afterwards, right-click the sign to play your midi! Right-click it again to pause it. Left-click the sign to stop the midi completely.
Midiplayers should look like this when completed:

You can even use redstone to control them:

How to add midis:
Simply add the midi file in the VoxelMidis folder inside your plugins folder.
Be sure to find a midi file without too many long notes, as they often won't sound very good.
Features
- Ability to play midi files with noteblocks.
- Redstone compatible, send a redstone signal underneath the first noteblock to start it.
- Supports the MIDI standard of 16 midi channels.
- Supports speed control of midi playback
Commands
Aliases: /midi, /midis
/voxelmidis: Base command.
/voxelmidis halt: Stops all currently playing midis.
/voxelmidis reload: Reloads the config.
/voxelmidis channels <file>: Displays the channels that the midi uses.
/voxelmidis list: Shows the midis you have in your midi folder.
Parameters
Parameters go on the fourth line of the midiplayer's sign.
Parameters can be placed all after another, they don't have to be in any specific order.
C - Collapses all channels into one noteblock. Good for midis without a percussion track and only one or two tracks, such as a Synthesia midi.
S - Shifts the midi playing an octave up.
L - Loops the player.
X - Attempts to reduce long notes. Beware with this, this doesn't usually work.
A - Loads the midiplayer when the chunk loads.
While VoxelMidis doesn't have the wide range of options as the original MidiBanks did, more options can easily be added in the future.
Speed Control
The default tempo that VoxelMidis plays the midi files at is ALWAYS 120 BPM. However, sometimes this is either too fast or too slow for the midi
being played. Because of this, I've added a speed control option.
To use it, simply add the speed like this on the midiplayer's sign on the second line:
[midi:speed]
This allows better control for playing midis at a specific tempo if their tempo is faster or slower than 120 BPM.
Example speeds:
[midi:1.01] - Plays the midi 1.01 times faster
[midi:3] - Plays the midi 3 times faster
[midi:0.8] - Plays the midi 0.8 times slower, or 80% speed
[midi:1.00004] - Plays the midi 1.00004 times faster
Permissions:
voxelmidis.*:
description: Gives access to all voxelmidis commands
voxelmidis.cmd:
description: Allows user to use the commands.
default: false
voxelmidis.can-create:
description: Allows user to create midiplayers.
default: false
voxelmidis.can-use:
description: Allows user to use midiplayer signs.
default: false
How it sounds:
How it sounds mainly depends on the midi you play. For example, midis with long notes will generally sound like a mushy mess, where as
midis with short staccato notes will sound much better on noteblocks. Lag also plays into a factor of how you hear it, as the less lag you have on
a server, the better and more timed the midi will sound.
If you have any questions or concerns, feel free to leave a comment.


