diff --git a/asset-src/bgm/01-Slipin-Sunday.json b/asset-src/bgm/01-Slipin-Sunday.json new file mode 100644 index 0000000..e03fa5c --- /dev/null +++ b/asset-src/bgm/01-Slipin-Sunday.json @@ -0,0 +1,2949 @@ +{ + "format": "BeepBox", + "version": 9, + "scale": "normal :(", + "key": "C", + "introBars": 0, + "loopBars": 6, + "beatsPerBar": 8, + "ticksPerBeat": 4, + "beatsPerMinute": 130, + "layeredInstruments": false, + "patternInstruments": false, + "channels": [ + { + "type": "pitch", + "instruments": [ + { + "type": "Picked String", + "volume": 80, + "eqFilter": [ + { + "type": "low-pass", + "cutoffHz": 4756.83, + "linearGain": 0.5 + } + ], + "effects": [ + "transition type", + "chord type", + "chorus", + "reverb" + ], + "transition": "slide", + "chord": "arpeggio", + "chorus": 67, + "reverb": 33, + "fadeInSeconds": 0, + "fadeOutTicks": 48, + "harmonics": [ + 100, + 0, + 0, + 100, + 0, + 0, + 0, + 0, + 0, + 0, + 100, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 86, + 0, + 0, + 0, + 0, + 0, + 0, + 71, + 0 + ], + "unison": "none", + "stringSustain": 64, + "envelopes": [] + } + ], + "patterns": [ + { + "notes": [ + { + "pitches": [ + 55 + ], + "points": [ + { + "tick": 0, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 1, + "pitchBend": 0, + "volume": 100 + } + ], + "continuesLastPattern": false + }, + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 1, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 2, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 58 + ], + "points": [ + { + "tick": 2, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 3, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 3, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 4, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 55 + ], + "points": [ + { + "tick": 4, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 5, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 53 + ], + "points": [ + { + "tick": 5, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 6, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 51 + ], + "points": [ + { + "tick": 6, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 8, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 50 + ], + "points": [ + { + "tick": 8, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 10, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 48 + ], + "points": [ + { + "tick": 10, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 12, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 46 + ], + "points": [ + { + "tick": 12, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 14, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 48 + ], + "points": [ + { + "tick": 14, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 46 + ], + "points": [ + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 18, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 48 + ], + "points": [ + { + "tick": 18, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 19, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 50 + ], + "points": [ + { + "tick": 19, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 20, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 48 + ], + "points": [ + { + "tick": 20, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 21, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 50 + ], + "points": [ + { + "tick": 21, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 22, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 51 + ], + "points": [ + { + "tick": 22, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 24, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 58, + 53 + ], + "points": [ + { + "tick": 24, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 26, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 56, + 51 + ], + "points": [ + { + "tick": 26, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 28, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 55, + 50 + ], + "points": [ + { + "tick": 28, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 30, + "pitchBend": 0, + "volume": 100 + } + ] + } + ] + }, + { + "notes": [ + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 0, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 1, + "pitchBend": 0, + "volume": 100 + } + ], + "continuesLastPattern": false + }, + { + "pitches": [ + 55 + ], + "points": [ + { + "tick": 1, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 2, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 53 + ], + "points": [ + { + "tick": 2, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 3, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 55 + ], + "points": [ + { + "tick": 3, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 4, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 4, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 5, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 58 + ], + "points": [ + { + "tick": 5, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 6, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 6, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 7, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 58 + ], + "points": [ + { + "tick": 7, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 8, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 62 + ], + "points": [ + { + "tick": 8, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 10, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 60 + ], + "points": [ + { + "tick": 10, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 12, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 58 + ], + "points": [ + { + "tick": 12, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 13, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 60 + ], + "points": [ + { + "tick": 13, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 14, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 58 + ], + "points": [ + { + "tick": 14, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 15, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 58 + ], + "points": [ + { + "tick": 15, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 17, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 58 + ], + "points": [ + { + "tick": 17, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 18, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 18, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 20, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 55 + ], + "points": [ + { + "tick": 20, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 21, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 53 + ], + "points": [ + { + "tick": 21, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 22, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 55 + ], + "points": [ + { + "tick": 22, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 23, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 53 + ], + "points": [ + { + "tick": 23, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 24, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 56, + 51 + ], + "points": [ + { + "tick": 24, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 26, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 58, + 53 + ], + "points": [ + { + "tick": 26, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 28, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 60, + 55 + ], + "points": [ + { + "tick": 28, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 30, + "pitchBend": 0, + "volume": 100 + } + ] + } + ] + }, + { + "notes": [ + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 0, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 2, + "pitchBend": 0, + "volume": 100 + } + ], + "continuesLastPattern": false + }, + { + "pitches": [ + 55 + ], + "points": [ + { + "tick": 2, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 4, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 53 + ], + "points": [ + { + "tick": 4, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 6, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 51 + ], + "points": [ + { + "tick": 6, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 8, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 50 + ], + "points": [ + { + "tick": 8, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 10, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 51 + ], + "points": [ + { + "tick": 10, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 12, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 53 + ], + "points": [ + { + "tick": 12, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 14, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 48 + ], + "points": [ + { + "tick": 14, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 46 + ], + "points": [ + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 17, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 48 + ], + "points": [ + { + "tick": 17, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 18, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 50 + ], + "points": [ + { + "tick": 18, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 19, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 51 + ], + "points": [ + { + "tick": 19, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 20, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 50 + ], + "points": [ + { + "tick": 20, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 21, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 53, + 48 + ], + "points": [ + { + "tick": 24, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 26, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 55, + 50 + ], + "points": [ + { + "tick": 26, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 28, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 53, + 48 + ], + "points": [ + { + "tick": 28, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 30, + "pitchBend": 0, + "volume": 100 + } + ] + } + ] + }, + { + "notes": [ + { + "pitches": [ + 50 + ], + "points": [ + { + "tick": 0, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 1, + "pitchBend": 0, + "volume": 100 + } + ], + "continuesLastPattern": false + }, + { + "pitches": [ + 51 + ], + "points": [ + { + "tick": 1, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 2, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 53 + ], + "points": [ + { + "tick": 2, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 3, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 55 + ], + "points": [ + { + "tick": 3, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 4, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 4, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 5, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 58 + ], + "points": [ + { + "tick": 5, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 6, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 60 + ], + "points": [ + { + "tick": 6, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 7, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 58 + ], + "points": [ + { + "tick": 7, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 8, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 8, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 10, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 53 + ], + "points": [ + { + "tick": 10, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 12, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 50, + 46 + ], + "points": [ + { + "tick": 12, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 14, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 51, + 48 + ], + "points": [ + { + "tick": 14, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 50, + 44 + ], + "points": [ + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 17, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 51, + 46 + ], + "points": [ + { + "tick": 17, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 18, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 53, + 48 + ], + "points": [ + { + "tick": 18, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 19, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 51, + 46 + ], + "points": [ + { + "tick": 19, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 20, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 50, + 44 + ], + "points": [ + { + "tick": 20, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 21, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 51, + 46 + ], + "points": [ + { + "tick": 21, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 22, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 53, + 48 + ], + "points": [ + { + "tick": 22, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 23, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 24, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 25, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 55 + ], + "points": [ + { + "tick": 25, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 26, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 26, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 27, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 58 + ], + "points": [ + { + "tick": 27, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 28, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 28, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 29, + "pitchBend": 0, + "volume": 100 + } + ] + } + ] + }, + { + "notes": [ + { + "pitches": [ + 60 + ], + "points": [ + { + "tick": 0, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 1, + "pitchBend": 0, + "volume": 100 + } + ], + "continuesLastPattern": false + }, + { + "pitches": [ + 58 + ], + "points": [ + { + "tick": 1, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 2, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 60 + ], + "points": [ + { + "tick": 2, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 3, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 62 + ], + "points": [ + { + "tick": 3, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 4, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 60 + ], + "points": [ + { + "tick": 4, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 5, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 58 + ], + "points": [ + { + "tick": 5, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 6, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 6, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 7, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 53 + ], + "points": [ + { + "tick": 7, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 8, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 60 + ], + "points": [ + { + "tick": 8, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 9, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 58 + ], + "points": [ + { + "tick": 9, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 10, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 10, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 11, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 53 + ], + "points": [ + { + "tick": 11, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 12, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 12, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 13, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 60 + ], + "points": [ + { + "tick": 13, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 14, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 14, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 15, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 58 + ], + "points": [ + { + "tick": 15, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 17, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 62 + ], + "points": [ + { + "tick": 17, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 18, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 56 + ], + "points": [ + { + "tick": 18, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 19, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 62 + ], + "points": [ + { + "tick": 19, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 20, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 63 + ], + "points": [ + { + "tick": 20, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 21, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 62 + ], + "points": [ + { + "tick": 21, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 22, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 63 + ], + "points": [ + { + "tick": 22, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 23, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 62 + ], + "points": [ + { + "tick": 23, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 24, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 63 + ], + "points": [ + { + "tick": 24, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 25, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 62 + ], + "points": [ + { + "tick": 25, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 26, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 63 + ], + "points": [ + { + "tick": 26, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 27, + "pitchBend": 0, + "volume": 100 + } + ] + } + ] + }, + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + } + ], + "sequence": [ + 1, + 1, + 2, + 2, + 3, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "octaveScrollBar": 3 + }, + { + "type": "pitch", + "instruments": [ + { + "type": "FM", + "volume": 80, + "eqFilter": [], + "preset": 651, + "effects": [ + "transition type", + "vibrato", + "reverb" + ], + "transition": "slide in pattern", + "vibrato": "light", + "reverb": 33, + "fadeInSeconds": 0.0263, + "fadeOutTicks": -3, + "algorithm": "1 2 3 4", + "feedbackType": "1⟲ 2⟲", + "feedbackAmplitude": 5, + "operators": [ + { + "frequency": "2×", + "amplitude": 13 + }, + { + "frequency": "5×", + "amplitude": 12 + }, + { + "frequency": "1×", + "amplitude": 0 + }, + { + "frequency": "1×", + "amplitude": 0 + } + ], + "envelopes": [ + { + "target": "noteVolume", + "envelope": "note size" + }, + { + "target": "feedbackAmplitude", + "envelope": "flare 2" + } + ] + } + ], + "patterns": [ + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + } + ], + "sequence": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "octaveScrollBar": 1 + }, + { + "type": "pitch", + "instruments": [ + { + "type": "spectrum", + "volume": 80, + "eqFilter": [ + { + "type": "low-pass", + "cutoffHz": 9513.66, + "linearGain": 5.6569 + } + ], + "preset": 838, + "effects": [ + "note filter", + "reverb" + ], + "noteFilter": [ + { + "type": "high-pass", + "cutoffHz": 4756.83, + "linearGain": 0.7071 + } + ], + "reverb": 33, + "fadeInSeconds": 0.0125, + "fadeOutTicks": -3, + "spectrum": [ + 100, + 0, + 0, + 0, + 0, + 0, + 0, + 14, + 0, + 0, + 0, + 71, + 0, + 0, + 14, + 0, + 57, + 0, + 29, + 14, + 29, + 14, + 14, + 29, + 14, + 29, + 14, + 14, + 29, + 14 + ], + "envelopes": [ + { + "target": "noteFilterFreq", + "envelope": "twang 1", + "index": 0 + }, + { + "target": "noteVolume", + "envelope": "punch" + } + ] + } + ], + "patterns": [ + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + } + ], + "sequence": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "octaveScrollBar": 2 + }, + { + "type": "drum", + "instruments": [ + { + "type": "drumset", + "volume": 80, + "eqFilter": [], + "preset": 960, + "effects": [ + "reverb" + ], + "reverb": 33, + "drums": [ + { + "filterEnvelope": "twang 1", + "spectrum": [ + 57, + 71, + 71, + 86, + 86, + 86, + 71, + 71, + 71, + 71, + 57, + 57, + 57, + 57, + 43, + 43, + 43, + 43, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29 + ] + }, + { + "filterEnvelope": "twang 1", + "spectrum": [ + 0, + 0, + 0, + 100, + 71, + 71, + 57, + 86, + 57, + 57, + 57, + 71, + 43, + 43, + 57, + 43, + 43, + 43, + 43, + 43, + 43, + 43, + 43, + 43, + 43, + 43, + 43, + 43, + 43, + 43 + ] + }, + { + "filterEnvelope": "twang 1", + "spectrum": [ + 0, + 0, + 0, + 0, + 100, + 57, + 43, + 43, + 29, + 57, + 43, + 29, + 71, + 43, + 43, + 43, + 43, + 57, + 43, + 43, + 43, + 43, + 43, + 43, + 43, + 43, + 29, + 43, + 43, + 43 + ] + }, + { + "filterEnvelope": "twang 1", + "spectrum": [ + 0, + 0, + 0, + 0, + 0, + 71, + 57, + 43, + 43, + 43, + 57, + 57, + 43, + 29, + 57, + 43, + 43, + 43, + 29, + 43, + 57, + 43, + 43, + 43, + 43, + 43, + 43, + 29, + 43, + 43 + ] + }, + { + "filterEnvelope": "decay 2", + "spectrum": [ + 0, + 14, + 29, + 43, + 86, + 71, + 29, + 43, + 43, + 43, + 43, + 29, + 71, + 29, + 71, + 29, + 43, + 43, + 43, + 43, + 57, + 43, + 43, + 57, + 43, + 43, + 43, + 57, + 57, + 57 + ] + }, + { + "filterEnvelope": "decay 1", + "spectrum": [ + 0, + 0, + 14, + 14, + 14, + 14, + 29, + 29, + 29, + 43, + 43, + 43, + 57, + 57, + 57, + 71, + 71, + 71, + 71, + 71, + 71, + 71, + 71, + 57, + 57, + 57, + 57, + 43, + 43, + 43 + ] + }, + { + "filterEnvelope": "twang 3", + "spectrum": [ + 43, + 43, + 43, + 71, + 29, + 29, + 43, + 43, + 43, + 29, + 43, + 43, + 43, + 29, + 29, + 43, + 43, + 29, + 29, + 29, + 57, + 14, + 57, + 43, + 43, + 57, + 43, + 43, + 57, + 57 + ] + }, + { + "filterEnvelope": "decay 3", + "spectrum": [ + 29, + 43, + 43, + 43, + 43, + 29, + 29, + 43, + 29, + 29, + 43, + 29, + 14, + 29, + 43, + 29, + 43, + 29, + 57, + 29, + 43, + 57, + 43, + 71, + 43, + 71, + 57, + 57, + 71, + 71 + ] + }, + { + "filterEnvelope": "twang 3", + "spectrum": [ + 43, + 29, + 29, + 43, + 29, + 29, + 29, + 57, + 29, + 29, + 29, + 57, + 43, + 43, + 29, + 29, + 57, + 43, + 43, + 43, + 71, + 43, + 43, + 71, + 57, + 71, + 71, + 71, + 71, + 71 + ] + }, + { + "filterEnvelope": "decay 3", + "spectrum": [ + 57, + 57, + 57, + 43, + 57, + 57, + 43, + 43, + 57, + 43, + 43, + 43, + 71, + 57, + 43, + 57, + 86, + 71, + 57, + 86, + 71, + 57, + 86, + 100, + 71, + 86, + 86, + 86, + 86, + 86 + ] + }, + { + "filterEnvelope": "flare 1", + "spectrum": [ + 0, + 0, + 14, + 14, + 14, + 14, + 29, + 29, + 29, + 43, + 43, + 43, + 57, + 57, + 71, + 71, + 86, + 86, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 86, + 57, + 29, + 0 + ] + }, + { + "filterEnvelope": "decay 2", + "spectrum": [ + 14, + 14, + 14, + 14, + 29, + 14, + 14, + 29, + 14, + 43, + 14, + 43, + 57, + 86, + 57, + 57, + 100, + 57, + 43, + 43, + 57, + 100, + 57, + 43, + 29, + 14, + 0, + 0, + 0, + 0 + ] + } + ], + "envelopes": [] + } + ], + "patterns": [ + { + "notes": [ + { + "pitches": [ + 7 + ], + "points": [ + { + "tick": 0, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 4, + "pitchBend": 0, + "volume": 0 + } + ], + "continuesLastPattern": false + }, + { + "pitches": [ + 7 + ], + "points": [ + { + "tick": 4, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 5, + "pitchBend": 0, + "volume": 0 + } + ] + }, + { + "pitches": [ + 7 + ], + "points": [ + { + "tick": 5, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 6, + "pitchBend": 0, + "volume": 0 + } + ] + }, + { + "pitches": [ + 7 + ], + "points": [ + { + "tick": 6, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 12, + "pitchBend": 0, + "volume": 0 + } + ] + }, + { + "pitches": [ + 7 + ], + "points": [ + { + "tick": 12, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 14, + "pitchBend": 0, + "volume": 0 + } + ] + }, + { + "pitches": [ + 7 + ], + "points": [ + { + "tick": 14, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 16, + "pitchBend": 0, + "volume": 0 + } + ] + }, + { + "pitches": [ + 7 + ], + "points": [ + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 17, + "pitchBend": 0, + "volume": 0 + } + ] + }, + { + "pitches": [ + 7 + ], + "points": [ + { + "tick": 17, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 18, + "pitchBend": 0, + "volume": 0 + } + ] + }, + { + "pitches": [ + 7 + ], + "points": [ + { + "tick": 18, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 19, + "pitchBend": 0, + "volume": 0 + } + ] + }, + { + "pitches": [ + 7 + ], + "points": [ + { + "tick": 19, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 20, + "pitchBend": 0, + "volume": 0 + } + ] + }, + { + "pitches": [ + 7 + ], + "points": [ + { + "tick": 20, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 24, + "pitchBend": 0, + "volume": 0 + } + ] + }, + { + "pitches": [ + 11 + ], + "points": [ + { + "tick": 24, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 28, + "pitchBend": 0, + "volume": 0 + } + ] + }, + { + "pitches": [ + 8 + ], + "points": [ + { + "tick": 28, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 32, + "pitchBend": 0, + "volume": 0 + } + ] + } + ] + }, + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + } + ], + "sequence": [ + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/asset-src/bgm/02-Have-Hope.json b/asset-src/bgm/02-Have-Hope.json new file mode 100644 index 0000000..cd7008b --- /dev/null +++ b/asset-src/bgm/02-Have-Hope.json @@ -0,0 +1,884 @@ +{ + "format": "BeepBox", + "version": 9, + "scale": "normal :)", + "key": "F", + "introBars": 0, + "loopBars": 6, + "beatsPerBar": 8, + "ticksPerBeat": 4, + "beatsPerMinute": 120, + "layeredInstruments": false, + "patternInstruments": false, + "channels": [ + { + "type": "pitch", + "instruments": [ + { + "type": "FM", + "volume": 80, + "eqFilter": [], + "preset": 256, + "effects": [ + "chord type", + "note filter", + "reverb" + ], + "chord": "strum", + "noteFilter": [ + { + "type": "low-pass", + "cutoffHz": 6727.17, + "linearGain": 0.5 + } + ], + "reverb": 33, + "fadeInSeconds": 0, + "fadeOutTicks": 48, + "algorithm": "1←2←3←4", + "feedbackType": "3⟲", + "feedbackAmplitude": 6, + "operators": [ + { + "frequency": "1×", + "amplitude": 15 + }, + { + "frequency": "1×", + "amplitude": 6 + }, + { + "frequency": "5×", + "amplitude": 2 + }, + { + "frequency": "7×", + "amplitude": 4 + } + ], + "envelopes": [ + { + "target": "noteFilterAllFreqs", + "envelope": "twang 1" + }, + { + "target": "feedbackAmplitude", + "envelope": "twang 1" + } + ] + } + ], + "patterns": [ + { + "notes": [ + { + "pitches": [ + 41, + 29 + ], + "points": [ + { + "tick": 0, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 2, + "pitchBend": 0, + "volume": 100 + } + ], + "continuesLastPattern": false + }, + { + "pitches": [ + 40 + ], + "points": [ + { + "tick": 2, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 3, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 41 + ], + "points": [ + { + "tick": 3, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 4, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 43 + ], + "points": [ + { + "tick": 4, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 5, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 45 + ], + "points": [ + { + "tick": 5, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 6, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 43 + ], + "points": [ + { + "tick": 6, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 7, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 41 + ], + "points": [ + { + "tick": 7, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 8, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 40, + 28 + ], + "points": [ + { + "tick": 8, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 12, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 38 + ], + "points": [ + { + "tick": 12, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 13, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 38 + ], + "points": [ + { + "tick": 13, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 14, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 40, + 28 + ], + "points": [ + { + "tick": 14, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 38, + 26 + ], + "points": [ + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 20, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 36 + ], + "points": [ + { + "tick": 20, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 21, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 36 + ], + "points": [ + { + "tick": 21, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 22, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 38 + ], + "points": [ + { + "tick": 22, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 23, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 38 + ], + "points": [ + { + "tick": 23, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 24, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 40, + 28 + ], + "points": [ + { + "tick": 24, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 32, + "pitchBend": 0, + "volume": 100 + } + ] + } + ] + }, + { + "notes": [ + { + "pitches": [ + 41, + 29 + ], + "points": [ + { + "tick": 0, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 2, + "pitchBend": 0, + "volume": 100 + } + ], + "continuesLastPattern": false + }, + { + "pitches": [ + 40 + ], + "points": [ + { + "tick": 2, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 3, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 38 + ], + "points": [ + { + "tick": 3, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 4, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 36 + ], + "points": [ + { + "tick": 4, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 5, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 33 + ], + "points": [ + { + "tick": 5, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 6, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 36 + ], + "points": [ + { + "tick": 6, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 7, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 38 + ], + "points": [ + { + "tick": 7, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 8, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 40, + 28 + ], + "points": [ + { + "tick": 8, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 12, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 43 + ], + "points": [ + { + "tick": 12, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 13, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 43 + ], + "points": [ + { + "tick": 13, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 14, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 40, + 28 + ], + "points": [ + { + "tick": 14, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 38, + 26 + ], + "points": [ + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 20, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 35 + ], + "points": [ + { + "tick": 20, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 21, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 35 + ], + "points": [ + { + "tick": 21, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 22, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 38 + ], + "points": [ + { + "tick": 22, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 23, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 38 + ], + "points": [ + { + "tick": 23, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 24, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 36, + 24 + ], + "points": [ + { + "tick": 24, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 32, + "pitchBend": 0, + "volume": 100 + } + ] + } + ] + }, + { + "notes": [ + { + "pitches": [ + 41, + 29 + ], + "points": [ + { + "tick": 0, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 2, + "pitchBend": 0, + "volume": 100 + } + ], + "continuesLastPattern": false + }, + { + "pitches": [ + 40, + 28 + ], + "points": [ + { + "tick": 8, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 12, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 40, + 28 + ], + "points": [ + { + "tick": 14, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 38, + 26 + ], + "points": [ + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 20, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 40, + 28 + ], + "points": [ + { + "tick": 24, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 32, + "pitchBend": 0, + "volume": 100 + } + ] + } + ] + }, + { + "notes": [ + { + "pitches": [ + 41, + 29 + ], + "points": [ + { + "tick": 0, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 2, + "pitchBend": 0, + "volume": 100 + } + ], + "continuesLastPattern": false + }, + { + "pitches": [ + 40, + 28 + ], + "points": [ + { + "tick": 8, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 12, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 40, + 28 + ], + "points": [ + { + "tick": 14, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 38, + 26 + ], + "points": [ + { + "tick": 16, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 20, + "pitchBend": 0, + "volume": 100 + } + ] + }, + { + "pitches": [ + 36, + 24 + ], + "points": [ + { + "tick": 24, + "pitchBend": 0, + "volume": 100 + }, + { + "tick": 32, + "pitchBend": 0, + "volume": 100 + } + ] + } + ] + }, + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + }, + { + "notes": [] + } + ], + "sequence": [ + 1, + 2, + 3, + 2, + 1, + 4 + ], + "octaveScrollBar": 1 + } + ] +} \ No newline at end of file diff --git a/assets/bgm/02-Have-Hope.ogg b/assets/bgm/02-Have-Hope.ogg new file mode 100644 index 0000000..45a182c Binary files /dev/null and b/assets/bgm/02-Have-Hope.ogg differ diff --git a/assets/bgm/03-Boss.ogg b/assets/bgm/03-Boss.ogg new file mode 100644 index 0000000..687b2e3 Binary files /dev/null and b/assets/bgm/03-Boss.ogg differ diff --git a/src/Ending.c b/src/Ending.c index 68b7081..a3429e8 100644 --- a/src/Ending.c +++ b/src/Ending.c @@ -9,18 +9,24 @@ #include "../include/raylib.h" #include "Screens.h" -#include "Gfx.h" #include "Controls.h" +#include "Options.h" +#include "Music.h" +#include "Gfx.h" int finishfromEndingScreen = 0; +Music Endingsong = { 0 }; void InitEndingScreen(void) { finishfromEndingScreen = 0; + Endingsong = LoadMusicStream("assets/bgm/01-Slipin-Sunday.ogg"); + PlayMusicStream(Endingsong); } void UpdateEndingScreen(void) { + if (!mute) UpdateMusicStream(Endingsong); if (INPUT_OPTION_PRESSED) finishfromEndingScreen = 1; } @@ -29,11 +35,12 @@ void DrawEndingScreen(void) DrawTexture(background, 0, 0, GOLD); DrawTextEx(ZadoBold, "THANK YOU SO MUCH FOR PLAYING!!!", (Vector2){ 10, 10 }, 45, 2, GOLD); DrawTextEx(ZadoBold, "Canneddonuts 2022", (Vector2){ 380, 400 }, 40, 2, WHITE); - DrawTextEx(ZadoBold, "Press 'ENTER'", (Vector2){ 0, 400 }, 40, 2, WHITE); + DrawTextEx(ZadoBold, "Press 'ENTER'", (Vector2){ 5, 400 }, 40, 2, WHITE); } void UnloadEndingScreen(void) { + UnloadMusicStream(Endingsong); } int FinishEndingScreen(void) diff --git a/src/Gameover.c b/src/Gameover.c index 1596b42..be94a21 100644 --- a/src/Gameover.c +++ b/src/Gameover.c @@ -9,40 +9,46 @@ #include "../include/raylib.h" #include "Screens.h" -#include "Gfx.h" +#include "Options.h" #include "Controls.h" +#include "Music.h" +#include "Gfx.h" int gameoverSelected = 0, finishfromGameoverScreen = 0; +Music Gameoversong = { 0 }; void InitGameoverScreen(void) { gameoverSelected = 0; finishfromGameoverScreen = 0; + Gameoversong = LoadMusicStream("assets/bgm/02-Have-Hope.ogg"); + PlayMusicStream(Gameoversong); } void UpdateGameoverScreen(void) { + if (!mute) UpdateMusicStream(Gameoversong); if (INPUT_UP_PRESSED) gameoverSelected++; if (INPUT_DOWN_PRESSED) gameoverSelected--; if (gameoverSelected > 0) gameoverSelected--; if (gameoverSelected < -1) gameoverSelected++; if ((gameoverSelected == 0) && (INPUT_OPTION_PRESSED)) - finishfromGameoverScreen = 2; + { StopMusicStream(Gameoversong); finishfromGameoverScreen = 2; } if ((gameoverSelected == -1) && (INPUT_OPTION_PRESSED)) - finishfromGameoverScreen = 1; + { StopMusicStream(Gameoversong); finishfromGameoverScreen = 1; } } void DrawGameoverScreen(void) { DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), BLACK); - DrawTextEx(ZadoBold, "GAMEOVER", (Vector2){ 220, 20 }, 80, 3, RED); + DrawTextEx(ZadoBold, "GAME OVER", (Vector2){ 190, 0 }, 80, 3, RED); if (gameoverSelected == 0) DrawTextEx(ZadoBold, "RETRY", (Vector2){ 350, 200 }, 30, 2, WHITE); else DrawTextEx(ZadoBold, "RETRY", (Vector2){ 350, 200 }, 30, 2, RED); - if (gameoverSelected == -1) DrawTextEx(ZadoBold, "TITLE", (Vector2){ 355, 230 }, 30, 2, WHITE); - else DrawTextEx(ZadoBold, "TITLE", (Vector2){ 355, 230 }, 30, 2, RED); + if (gameoverSelected == -1) DrawTextEx(ZadoBold, "TITLE", (Vector2){ 355, 240 }, 30, 2, WHITE); + else DrawTextEx(ZadoBold, "TITLE", (Vector2){ 355, 240 }, 30, 2, RED); } int FinishGameoverScreen(void) @@ -52,5 +58,5 @@ int FinishGameoverScreen(void) void UnloadGameoverScreen(void) { - + UnloadMusicStream(Gameoversong); } diff --git a/src/Gameplay.c b/src/Gameplay.c index 1f819c6..edfe041 100644 --- a/src/Gameplay.c +++ b/src/Gameplay.c @@ -14,11 +14,14 @@ #include "Gameplay.h" #include "Score.h" #include "Timers.h" +#include "Music.h" #include "Gfx.h" int score = 0, bestscore = 0, finishfromGameplayScreen = 0; Levels level = 0; +Music music = { 0 }; + void SetEnemyLevel(void) { switch (level) { @@ -38,6 +41,8 @@ void LoadGamplayScreen(void) attack_sprite = LoadTexture("assets/gfx/attack.png"); firework_sprite = LoadTexture("assets/gfx/firework.png"); fxboom = LoadSound("assets/sfx/boom.wav"); + music = LoadMusicStream("assets/bgm/03-Boss.ogg"); + PlayMusicStream(music); } void InitGameplayScreen(void) @@ -162,7 +167,9 @@ void UpdateGameplayScreen(void) { if (INPUT_OPTION_PRESSED) pause = !pause; // code to end the game - if (level > 2) finishfromGameplayScreen = 3; + if (level > 2) { StopMusicStream(music); finishfromGameplayScreen = 3; } + + if (!mute) UpdateMusicStream(music); if (!pause) { @@ -226,7 +233,7 @@ void UpdateGameplayScreen(void) if (IsKeyPressed(KEY_W)) finishfromGameplayScreen = 3; // call gameover when killed - if (player.hp <= 0) finishfromGameplayScreen = 1; + if (player.hp <= 0) { StopMusicStream(music); finishfromGameplayScreen = 1; } // Red feather logic for (int i = 0; i < MAX_SHOOTS; i++) { @@ -339,13 +346,13 @@ void DrawGameplayScreen(void) } DrawTextureRec(player_sprite, player.frameRec, player.sprite_pos, player.color); DrawTexture(feather_sprite, 0, 0, GREEN); - DrawTextEx(ZadoBold, TextFormat("= %i", player.hp), (Vector2){ 30, 30 }, 20, 2, GREEN); - DrawTexture(feather_sprite, 70, 0, RED); - DrawTextEx(ZadoBold, TextFormat("= %i", ammo), (Vector2){ 100, 30 }, 20, 2, RED); - DrawText(TextFormat("ENEMY HP: %i", enemy.hp), GetScreenWidth() - 150, 10, 20, RED); - if (score >= 10000) DrawText(TextFormat("SCORE: %i", score), 10, 65, 20, (Color){ 222, 181, 0, 255 }); - else DrawText(TextFormat("SCORE: %i", score), 10, 65, 20, BLUE); - if (pause && ((pauseTimer/30)%2)) DrawText("PAUSED", 330, 190, 30, WHITE); + DrawTextEx(ZadoBold, TextFormat("= %i", player.hp), (Vector2){ 30, 30 }, 30, 2, GREEN); + DrawTexture(feather_sprite, 80, 0, RED); + DrawTextEx(ZadoBold, TextFormat("= %i", ammo), (Vector2){ 110, 30 }, 30, 2, RED); + DrawTextEx(ZadoBold, TextFormat("ENEMY HP: %i", enemy.hp), (Vector2){ GetScreenWidth() - 200, 0 }, 30, 2, RED); + if (score >= 10000) DrawTextEx(ZadoBold, TextFormat("SCORE: %i", score), (Vector2){ 10, 65 }, 30, 2, (Color){ 222, 181, 0, 255 }); + else DrawTextEx(ZadoBold, TextFormat("SCORE: %i", score), (Vector2){ 10, 65 }, 30, 2, BLUE); + if (pause && ((pauseTimer/30)%2)) DrawTextEx(ZadoBold, "PAUSED", (Vector2){ 290, 160 }, 60, 2, WHITE); } void UnloadGameplayScreen() @@ -358,6 +365,7 @@ void UnloadGameplayScreen() UnloadTexture(enemy_sprite); UnloadTexture(firework_sprite); UnloadTexture(attack_sprite); + UnloadMusicStream(music); } int FinishGameplayScreen(void) diff --git a/src/Music.h b/src/Music.h new file mode 100644 index 0000000..0bd7a1f --- /dev/null +++ b/src/Music.h @@ -0,0 +1,16 @@ +/* +- Avoid ~ a game by Canneddonuts +- Filename ~ Music.h +- Author ~ Return0ne +- 2022 +- *no license* +*/ + +#ifndef MUSIC_HEADER +#define MUSIC_HEADER + +extern Music Endingsong; +extern Music Gameoversong; +extern Music music; + +#endif diff --git a/src/Options.c b/src/Options.c index b9e47f7..983d0a5 100644 --- a/src/Options.c +++ b/src/Options.c @@ -36,24 +36,24 @@ void UpdateOptionsScreen(void) void DrawOptionsScreen(void) { DrawTexture(background, 0, 0, DARKGRAY); - DrawText("OPTIONS", 300, 20, 50, BLUE); - if (optionsSelected == 0) DrawText("Back", 20, 200, 20, WHITE); - else DrawText("Back", 20, 200, 20, BLUE); + DrawTextEx(ZadoBold, "OPTIONS", (Vector2){ 300, 20 }, 50, 2, BLUE); + if (optionsSelected == 0) DrawTextEx(ZadoBold, "Back", (Vector2){ 20, 170 }, 40, 2, WHITE); + else DrawTextEx(ZadoBold, "Back", (Vector2){ 20, 170 }, 40, 2, BLUE); if (optionsSelected == -1) { - DrawText("Mute", 20, 220, 20, WHITE); - DrawText(TextFormat("<%i>", mute), 200, 220, 20, WHITE); + DrawTextEx(ZadoBold, "Mute", (Vector2) { 20, 220 }, 40, 2, WHITE); + DrawTextEx(ZadoBold, TextFormat("<%i>", mute), (Vector2){ 250, 220 }, 40, 2, WHITE); } else { - DrawText("Mute", 20, 220, 20, BLUE); - DrawText(TextFormat("<%i>", mute), 200, 220, 20, BLUE); + DrawTextEx(ZadoBold, "Mute", (Vector2) { 20, 220 }, 40, 2, BLUE); + DrawTextEx(ZadoBold, TextFormat("<%i>", mute), (Vector2){ 250, 220 }, 40, 2, BLUE); } if (optionsSelected == -2) { - DrawText("Fullscreen", 20, 240, 20, WHITE); - DrawText(TextFormat("<%i>", fullscreen), 200, 240, 20, WHITE); + DrawTextEx(ZadoBold, "Fullscreen", (Vector2){ 20, 270 }, 40, 2, WHITE); + DrawTextEx(ZadoBold, TextFormat("<%i>", fullscreen), (Vector2){ 250, 270 }, 40, 2, WHITE); } else { - DrawText("Fullscreen", 20, 240, 20, BLUE); - DrawText(TextFormat("<%i>", fullscreen), 200, 240, 20, BLUE); + DrawTextEx(ZadoBold, "Fullscreen", (Vector2){ 20, 270 }, 40, 2, BLUE); + DrawTextEx(ZadoBold, TextFormat("<%i>", fullscreen), (Vector2){ 250, 270 }, 40, 2, BLUE); } }