Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // It is just an example of the future SkyStudio format.
- // You can change it as you wish.
- // Why a new format? Because C# Serialization too hard to parse in another language.
- // Why isn't COTLTracker format? Because it isn't so flex as JSON and requires an own parser.
- {
- "SkyStudio": "1.0.0", //< SkyStudio version for compatibility with future versions
- "Details": {
- "Artist": "Stimson Eric",
- "Album": "Kimi no Na wa OST",
- "Title": "Sparkle",
- "Arranger": "@Maple",
- "Link": "https://www.youtube.com/watch?v=m6cVaRnXGtw",
- "Version": "1.0.0" //< Music version
- },
- "Tracks": [ //< Feature for several instruments simultaneously (I'm going to implement a driver to control several devices via COTLTracker with several accounts to make a synchronized orchestra in the future. But I'm not sure about this feature at all. Maybe we don't need it. So, we just can put an object inside "Tracks")
- {
- "BPM": 360,
- "Instrument": "NewPiano",
- "Pitch": "Bb",
- "Lead": true, //< For orchestra feature. Play only this track if not enough connected devices.
- "Blocks": [
- {
- "Notes": ["C0", "E0", "C1"] //< I suggest to use a simple "Letter notation" [https://en.wikipedia.org/wiki/Letter_notation] which I use in COTLTracker. With next simple sequence [C0, D0, E0, F0, G0] [A0, B0, C1, D1, E1] [F1, G1, A1, B1, C2]. Or we can use Harp key position with "column:row" like "0:0" - first button, "4:2" - last button.
- },
- {
- "Notes": ["D1"]
- } //< And so on...
- ]
- },
- ]
- }
Add Comment
Please, Sign In to add comment