[UPDATE 0.3.0] Playable Instruments [BETA]

Author Topic: [UPDATE 0.3.0] Playable Instruments [BETA]  (Read 28817 times)

Playable Instruments



This is an add-on I've been working on off-and-on since May of 2014. I realized I had taken way too long to release this so I decided I would finally release a beta. It allows for playable instruments to be added to the server. The system is completely modular and each instrument can be enabled/disabled. This also means you can add your own instruments easily! It is completely server-sided (but I'd like to add a GUI).

No, this will not use ____ format; stop asking

I currently have these instrument models out of fifteen unique instruments:

• Accordion
• Acoustic Guitar
• Banjo
• Clarinet
• Drum Machine
• Drum Sticks
• Electrk Bass
• Electrk Guitar
• Flute
• Gameboy
• Harmonica
• Keytar
• Marching Marimba (with straps)
• Melodica
• Microphone
• Saxophone
• Sitar
• Stand-up Bass
• Annoying Orangeet
• Violin (needs fixing though)

There are more instrument models I'd like to have, though:

• Steelpan Drums (with straps)
• Trombone

If you are good at modeling and would be willing to model any of these, please PM me. I want them with grey hands (except for things like the accordion, which just needs the hug animation).

If you are good at making GUIs and would be willing to make one, please PM me.



Main Download
Instruments Download (YOU HAVE TO UNZIP IT)



Videos

Have you ever robbed a stagecoach?
Blockland Music
Blockland Jazz
The Evolutionary Peak of Music

Credits

Electrk (12949) - Scripting
Plastiware (1118) - Sounds, emotional support, and instrument consultant
Filipe (21933) - Electrk guitar, acoustic guitar, drum machine, and keytar models
Jack Noir (29019) - Banjo and harmonica models
Ostinyo (15269) - Violin model
Mr.Noßody (6480) - Accordion, stand-up bass, electrk bass, clarinet, flute, gameboy, marimba, melodica, and sitar models
Spede (39334) - Saxophone model
Socko (1789) - Microphone model
El Dorado (50352) - Annoying Orangeet model
« Last Edit: April 10, 2017, 07:49:12 PM by Electrk. »

Playing

There are a few ways of playing: pre-made songs or phrases (we'll get to that later) and playing with your brick-shifting keys.

Notation

If you want to make phrases or songs, you have to learn the music notation.

It's rather simple: the note name—usually the octave number followed by the note itself (with the exception of drums, which use initials like "SD", "BD", "CC", etc.)—followed by a comma.

For sharps you can use # or S.

Example: 3C,4D#,5FS,6C

Drums example: BD,SD,CC,TH,TM,TL,TF



There are rests that are put in between the note and comma as well. The "traditional" ones are: ; for sixteenth, / for eighth, $ for quarter, _ for half, and - for whole.

Example: 3A$,4D_,5E-

They can be combined to make longer rests.

Example: 3A_$,4D$-_,5E--

Example: 3A/,4D;,5E

When combined with other rests, they add 0.5 and 0.25 of the current tempo to the other rests.

Example: 3A$/,4D_;,5E-/



To go to a note 2x as fast, use >
These can stack so >> is 4x, >>> is 6x, etc.

Example: 3A>,4D,5E>>,6C



To set the delay between notes, simply put d:#

# can be any number between 64 and 1000

This is how many milliseconds it takes to go to the next note (without rests, of course).

Example: d:128,5C,6C,3D#,d:64



Chords are supported as well. Simply separate notes with + to make a chord. There can be up to four notes per chord.

Example: 3C+4F+5G+6C,3A#+4C

Drums example: RC+BD,RC,RC+SD,RC



Use ? for a random note.

Example: 3C,4F+5C,?,6C



Use % at the end to make your phrase repeat forever. Please be aware that these will only work for phrases.

Example: 3C+4F+5G+6C,3A#+4C%



Phrases

Now that you understand the notation (I hope), let's get to the juicy stuff: pre-made phrases and songs.

Phrases are a series of notes played in a specific order.
Songs are a series of phrases played in a specific order.

To play a phrase, type /playPhrase phrase

Example: /playPhrase 4C,5D#,3C+3A#,5G-,6C

If you haven't already, read the notation section above.



To save a phrase, type /savePhrase phrase name [credits]

Example:

/savePhrase 4C,5D#,3C+3A#,5G-,6C myPhrase Electrk

Credits are optional.

To load a phrase, type /loadPhrase name

To list available phrases, type /listPhrases



Songs

Once you've got a phrase going, you'll want to set it as a song phrase.

To do this, simply type /setSongPhrase # phrase

# is which slot you want to put the phrase in (0 to 19).

Example:

/setSongPhrase 0 4C,5D#,3C+3A#,5G-,6C
/setSongPhrase 1 3A$,4D_,5E-

To view the song phrases you have, type /viewSongPhrases



If you've loaded a song already, you can use L# in place of a phrase to use that loaded song phrase

Example: /setSongPhrase 2 L0

This would take loaded song phrase #0 and set it as song phrase #2

Type /viewLoadedSongPhrases to view the song you've loaded's song phrases.

Sorry if this section is confusing.



Now that you've got some song phrases set, it's time to make a song! A song is the slot numbers separated by commas.

Type /playSong song to do this.

Example: /playSong 0,1,2,1,3,2,5,4,0



Saving, loading, and listing songs are the same as phrases, except the names are different and you put in a song instead of a phrase for saving.

Example:

/saveSong 0,1,2,1,3,2,5,4,0 mySong Electrk
/loadSong mySong
/listSongs



Bindsets

To play music live, you'll need to create a bindset. To create a bindset, you must bind a phrase or a note to one of your brick-shifting keys. This is completely server-sided so don't worry.

To do this, you'll have to type /bind key phrase

Here are the names of each of the keys:

away
towards
left
right
up
down
thirdUp
thirdDown
rotateLeft
rotateRight
plant
cancel

You can also just use the respective numbers of the keypad (e.g. 6 or enter)

Example:

/bind away 4A
/bind 2 5C,5D#/,6C
/bind enter 3F+3C

Then just use your brick-shifting keys to play!



To unbind all your phrase keys type /unbindAll



To save your bindset, type /saveBindset name [credits]

Credits are, again, optional.

To load them, type /loadBindset name
To list them, type /listBindsets



Keytar is OP

The keytar is a very special instrument, in that it can play any instrument.
Its default mode is the Blockland synth.

Type /listInstruments to view all available instruments.
Type /setKeytarMode instrument to set your keytar to play a certain instrument.



Miscellaneous

/stopPlaying - Makes you stop playing.

/listNotes - Lists available notes for the instrument you're holding.
/listNotes instrument - Lists available notes for a specified instrument.

/playLastPhrase - Plays the last phrase you played.
/playLoadedPhrase - Plays the last phrase you loaded.
/playLoadPhrase name - Plays and loads a phrase at the same time
/playLoadedSong - Plays the last song you loaded.
/playLoadSong name - Plays and loads a song at the same time

/viewLastPhrase - View the last phrase you played.
/viewLoadedPhrase - View the last phrase you loaded.
/viewSongPhrase # - View a specific song phrase.
/viewLoadedSongPhrase # - View a specific song phrase from the last song you loaded.

/pp - Shortcut for /playPhrase
/ps - Shortcut for /playSong
/plp - Shortcut for /playLoadPhrase
/pls - Shortcut for /playLoadSong
/sp - Shortcut for /savePhrase
/ss - Shortcut for /saveSong
/ssp - Shortcut for /setSongPhrase
/lps - Shortcut for /loadBindset
/sbs - Shortcut for /saveBindset
/skm - Shortcut for /setKeytarMode
« Last Edit: September 02, 2015, 11:03:38 AM by Electrk. »



loveiest mod ever. are you going to release the song list yall put together?

loveiest mod ever. are you going to release the song list yall put together?

might as well, huh?

Extract and put in config/server/savedSongs


I'm glad to see this is still being worked on! Hopefully you guys can finish it! :)

oh stuff I forgot to require a payment!!!
I guess I'll never get $8 now

this is very interesting!

oh stuff I forgot to require a payment!!!
I guess I'll never get $8 now
wtf you can't charge for mods its morally wrong

let me put together a song to express this better


wtf you can't charge for mods its morally wrong

let me put together a song to express this better
nah man it's ok it's his choice

nice stuff right here

Eletrk you and I once improvised together! was great! I'm surprised how easy it is to make a cool song if you have a few ppl playing different instruments