Skip to content

Instantly share code, notes, and snippets.

@Victorious3
Last active August 29, 2015 14:07
Show Gist options
  • Save Victorious3/9d066f9b13f65d99cb3a to your computer and use it in GitHub Desktop.
Save Victorious3/9d066f9b13f65d99cb3a to your computer and use it in GitHub Desktop.
Vic's innovative track format
Vic's innovative track format:
1. A track can contain the following characters: A-Z,0-9,[]#?: and blank space. Any other character will be rejected and throws a parse exception. Note that the letters have to be uppercase or else they will be rejected. Why? Because I can.
2. Blank spaces will be ignored, they are just to make the format more readable. (If you really what to do that).
3. The delay is 5 ticks, ~ 4 notes per second maximum.
4. A note looks like this: "A12"
- The character defines the pitch, A is 0.0 and Z is 1.0.
- The first number defines the instrument, see a list further down the page. Optional.
- The second number defines repetition, 0-9 times. Where as 0 = 0 repetitions and 1 = 1 repetition. So 0 will play once and 1 will play twice. Optional, you have to define the instrument if you want to use it.
5. A break looks like this: "#2"
- The number defines the time, again from 0-9.
- 0 will have a break of 0 ticks, so it's completely useless.
- The delay is multiplied by 5 ticks, so 9 will give you a delay of 45 ticks.
6. You don't have to define the instrument for every note specifically, ?(0-6) will change the default instrument that will be applied to any note after that doesn't have an instrument modifier.
Don't think that [AB?3] will apply the instrument in the second loop pass. It won't, "note after" means that the next note on the right will be modified. Loops are not taken into account. That's because these are "compile time" only, the intstrument of a note is static.
7. Loops:
- A basic loop may look like this: "[AZ]" and is the equivalent of "AZAZ".
- Loops can be nested: "[A[B]]" is the equivalent of "ABBABB".
- You have the option to define how many times a loop should be looped, like this: "[A:3]" and will be the equivalent of AAA
- Again only from 0 to 9 times. (Yes, a loop of 0 won't loop at all.)
8. Instruments:
0: "note.bass"
1: "note.bassattack"
2: "note.bd"
3: "note.harp"
4: "note.hat"
5: "note.pling"
6: "note.snare"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment