Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local opennbs = require('opennbs')
- local instIndex = {
- [1] = "harp", -- harp/piano (air/dirt)
- [2] = "bass", -- double bass/bass (wood)
- [3] = "basedrum", -- basedrum (stone)
- [4] = "snare", -- snare (sand)
- [5] = "click", -- click (glass)
- [6] = "guitar", -- guitar (wool)
- [7] = "flute", -- flute (clay)
- [8] = "bell", -- bell (block of gold)
- [9] = "chime", -- chime (packed ice)
- [10] = "xylophone", -- xylophone (bone block)
- [11] = "iron_xylophone", -- iron xylophone (iron block)
- [12] = "cow_bell", -- cow bell (soul sand)
- [13] = "didgeridoo", -- didgeridoo (pumpkin)
- [14] = "bit", -- bit [square wave] (block of emerald)
- [15] = "banjo", -- banjo (hay)
- [16] = "pling", -- pling/electric piano (glowstone)
- }
- write('Song to play: ')
- local data = opennbs.parseNbs(read())
- local outputs = {
- function(instrument, instIndex_, volume, pitch, panning)
- -- TODO: panning
- if commands then
- print('gdasidj')
- commands.execute(
- 'as',
- '@a',
- 'at',
- '@s',
- 'run',
- 'playsound',
- 'minecraft:block.note_block.'..instrument,
- 'master',
- '@s',
- '~', '~', '~',
- volume, pitch
- )
- end
- end
- }
- local parallels = {}
- for _,layer in pairs(data.layers) do
- parallels[#parallels+1] = function()
- for _,note in ipairs(layer.notes) do
- print(_,'aaaaaaaaaaaaaaa')
- local a=require('cc.pretty')a.print(a.pretty(note))
- sleep(data.info.tempo/400)
- print(data.info.tempo, data.info.tempo/400, 'gfgf')
- for _,func in pairs(outputs) do
- func(instIndex[note.instrument], note.instrument, note.volume, note.pitch, note.panning)
- end
- end
- end
- end
- parallel.waitForAll(table.unpack(parallels))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement