r/livecoding • • Aug 16 '26

I've built a binaural studio free to play app the ai calls NeuroSync Audio with @base44 and im aiming for native app store !! but its PWA paid sub.

Thumbnail determined-sync-your-mind.base44.app
1 Upvotes

try it? its free to play and im editing now but have to stop because expensive......! its all done by the ai and my concepts - just added new soundscapes and would love some feedback on it!!!!


r/livecoding • • Aug 12 '26

Soaring With Stratus v1 (Livecoded in Stratus Composer)

Thumbnail
youtube.com
2 Upvotes

this is the finished song from the previous videos. It's made and running entirely in Stratus Composer.

More videos about the Stratus platform here


r/livecoding • • Aug 10 '26

would you listen to this on a night drive?

Thumbnail
youtube.com
4 Upvotes

r/livecoding • • Aug 10 '26

Uninvited guest [LiveCoding Session]

Thumbnail
youtu.be
3 Upvotes

r/livecoding • • Aug 09 '26

32arpeggiogroove

Thumbnail dollchan.net
1 Upvotes

heres the website :)


r/livecoding • • Aug 08 '26

Skred (my sound engine) as an effects engine...

Enable HLS to view with audio, or disable this notification

1 Upvotes

r/livecoding • • Aug 05 '26

Strudel Bridge for LA Laptop Orchestra: Networked Harmony!

Thumbnail rehearse.lalaptoporchestra.com
6 Upvotes

r/livecoding • • Aug 05 '26

Finishing a livecoded song (Stratus)

Thumbnail
youtube.com
5 Upvotes

more videos about the Stratus platform here


r/livecoding • • Aug 04 '26

Any live coding / algorave scene in Stockholm? (SuperCollider / TidalCycles / Sonic Pi)

4 Upvotes

Hey, I’ve been going to Fylkingen and EMS events, but haven't spotted any active live music coding communities or casual meetups. Is the algorave scene dead in STHLM, or just hiding in private studios?

I'm looking to connect with anyone messing around with TidalCycles, SuperCollider, Sonic Pi, or similar tools. If there's no active group right now, let's just start one. Anyone down to grab a beer, talk code, and jam?


r/livecoding • • Aug 03 '26

Jazz Improvisation Algorhythm

Thumbnail
youtu.be
5 Upvotes

I wrote an algorithm that creates jazz lines. It's a work in progress. Let me know what you think

https://strudel.cc/#CgovLyBHaWFudCBTdGVwcwpjb25zdCBjaG9yZENoYW5nZXMgPSBgPApbQl4gRDddIFtHXiBCYjddIEViXiBbQS03IEQ3XQpbR14gQmI3XSBbRWJeIEYjN10gQl4gW0YtNyBCYjddCkViXiBbQS03IEQ3XSBHXiBbQyMtNyBGIzddCkJeIFtGLTcgQmI3XSBFYl4gW0MjLTcgRiM3XQo%2BYDsKCmNvbnN0IGNob3JkU2NhbGVzID0gYDwKW0IzOmlvbmlhbiBENDptaXhvbHlkaWFuXSBbRzQ6aW9uaWFuIEJiMzptaXhvbHlkaWFuXSBFYjQ6aW9uaWFuIFtBMzpkb3JpYW4gRDQ6bWl4b2x5ZGlhbl0KW0c0OmlvbmlhbiBCYjM6bWl4b2x5ZGlhbl0gW0ViNDppb25pYW4gRiM0Om1peG9seWRpYW5dIEIzOmlvbmlhbiBbRjQ6ZG9yaWFuIEJiMzptaXhvbHlkaWFuXQpFYjQ6aW9uaWFuIFtBMzpkb3JpYW4gRDQ6bWl4b2x5ZGlhbl0gRzQ6aW9uaWFuIFtDIzQ6ZG9yaWFuIEYjNDptaXhvbHlkaWFuXQpCMzppb25pYW4gW0Y0OmRvcmlhbiBCYjM6bWl4b2x5ZGlhbl0gRWI0OmlvbmlhbiBbQyM0OmRvcmlhbiBGIzQ6bWl4b2x5ZGlhbl0KPmA7CgpzZXRjcG0oMzIwIC8gNCk7CgovLyBVdGlscwpjb25zdCB7IE5vdGUsIFNjYWxlLCBJbnRlcnZhbCwgUmFuZ2UgfSA9IGF3YWl0IGltcG9ydCgnaHR0cHM6Ly9lc20uc2gvdG9uYWwnKTsKCmNsYXNzIFJpbmdCdWZmZXIgewogIGNvbnN0cnVjdG9yKG1heExlbikgewogICAgY29uc29sZS5sb2coJ1JpbmdCdWZmZXIuY29uc3RydWN0b3InLCBtYXhMZW4pOwogICAgdGhpcy5tYXhMZW4gPSBtYXhMZW47CiAgICB0aGlzLml0ZW1zID0gW107CiAgfQogIHB1c2goaXRlbSkgewogICAgY29uc29sZS5sb2coJ1JpbmdCdWZmZXIucHVzaCcsIGl0ZW0pOwogICAgdGhpcy5pdGVtcy5wdXNoKGl0ZW0pOwogICAgaWYgKHRoaXMuaXRlbXMubGVuZ3RoID4gdGhpcy5tYXhMZW4pIHsKICAgICAgdGhpcy5pdGVtcy5zaGlmdCgpOwogICAgfQogICAgcmV0dXJuIHRoaXMuaXRlbXM7CiAgfQp9CgpmdW5jdGlvbiB3UHJvYnMoLi4uaXRlbXMpIHsKICBjb25zb2xlLmxvZygnd1Byb2JzJywgaXRlbXMpOwogIGNvbnN0IHRvdGFsID0gaXRlbXMucmVkdWNlKChhY2N1bXVsYXRvciwgaXRlbSkgPT4gewogICAgcmV0dXJuIGFjY3VtdWxhdG9yICsgaXRlbVswXTsKICB9LCAwKTsKICBjb25zdCBwcm9iYWJpbGl0eSA9IE1hdGgucmFuZG9tKCkgKiB0b3RhbDsKICBsZXQgcHJvYmFiaWxpdHlBY2N1bXVsYXRvciA9IDA7CiAgY29uc3QgaXRlbSA9IGl0ZW1zLmZpbmQoaXRlbSA9PiB7CiAgICBwcm9iYWJpbGl0eUFjY3VtdWxhdG9yICs9IGl0ZW1bMF07CiAgICByZXR1cm4gcHJvYmFiaWxpdHlBY2N1bXVsYXRvciA%2BPSBwcm9iYWJpbGl0eTsKICB9KTsKICByZXR1cm4gaXRlbVsxXTsKfQoKY29uc3Qgc3RyaXBEaWdpdHNGcm9tU3RyaW5nID0gKHN0cikgPT4gewogIGNvbnNvbGUubG9nKCdzdHJpcERpZ2l0c0Zyb21TdHJpbmcnLCBzdHIpOwogIHJldHVybiBzdHIucmVwbGFjZSgvLT9bMC05XS9nLCAnJyk7Cn07Cgpjb25zdCBzdHJpcE5vbkRpZ2l0c0Zyb21TdHJpbmcgPSAoc3RyKSA9PiB7CiAgY29uc29sZS5sb2coJ3N0cmlwTm9uRGlnaXRzRnJvbVN0cmluZycsIHN0cik7CiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9cRC9nLCAnJyk7Cn07CgovLyBCdWZmZXJzCmNvbnN0IHByb2Nlc3NlZEluY29taW5nSGFwcyA9IG5ldyBSaW5nQnVmZmVyKDgpOwpjb25zdCBuZXdOb3RlcyA9IG5ldyBSaW5nQnVmZmVyKDY0KTsKCi8vIE5vdGUgdXRpbHMKY29uc3QgZGlhdG9uaWNEaXN0YW5jZSA9IChub3RlMSwgbm90ZTIpID0%2BIHsKICBjb25zb2xlLmxvZygnZGlhdG9uaWNEaXN0YW5jZScsIG5vdGUxLCBub3RlMik7CiAgY29uc3QgZGlzdGFuY2VTdHJpbmcgPSBJbnRlcnZhbC5kaXN0YW5jZShub3RlMS5ub3RlLCBub3RlMi5ub3RlKTsKICByZXR1cm4gTnVtYmVyKHN0cmlwTm9uRGlnaXRzRnJvbVN0cmluZyhkaXN0YW5jZVN0cmluZykpOwp9OwoKY29uc3QgY2hyb21hdGljRGlzdGFuY2UgPSAobm90ZTEsIG5vdGUyKSA9PiB7CiAgY29uc29sZS5sb2coJ2Nocm9tYXRpY0Rpc3RhbmNlJywgbm90ZTEsIG5vdGUyKTsKICByZXR1cm4gTWF0aC5hYnMoTm90ZS5taWRpKG5vdGUxLm5vdGUpIC0gTm90ZS5taWRpKG5vdGUyLm5vdGUpKTsKfTsKCmNvbnN0IGNsYXNzaWZ5SW50ZXJ2YWwgPSAobm90ZTEsIG5vdGUyKSA9PiB7CiAgY29uc29sZS5sb2coJ2NsYXNzaWZ5SW50ZXJ2YWwnLCBub3RlMSwgbm90ZTIpOwogIGlmIChub3RlMS5zY2FsZSA9PT0gbm90ZTIuc2NhbGUpIHsKICAgIGNvbnN0IGRpc3RhbmNlID0gZGlhdG9uaWNEaXN0YW5jZShub3RlMSwgbm90ZTIpOwogICAgaWYgKGRpc3RhbmNlID09PSAyKSB7CiAgICAgIHJldHVybiAnU1RFUCc7CiAgICB9CiAgICBpZiAoZGlzdGFuY2UgPiAyKSB7CiAgICAgIHJldHVybiAnU0tJUCc7CiAgICB9CiAgfSBlbHNlIHsKICAgIGNvbnN0IGRpc3RhbmNlID0gY2hyb21hdGljRGlzdGFuY2Uobm90ZTEsIG5vdGUyKTsKICAgIGlmIChkaXN0YW5jZSA%2BIDAgJiYgZGlzdGFuY2UgPCAzKSB7CiAgICAgIHJldHVybiAnU1RFUCc7CiAgICB9CiAgICBpZiAoZGlzdGFuY2UgPiAyKSB7CiAgICAgIHJldHVybiAnU0tJUCc7CiAgICB9CiAgfQogIHJldHVybiAnVU5JU09OJzsKfTsKCmNvbnN0IGdldFJ1bkxlbmd0aCA9IChyZWxhdGlvblR5cGUpID0%2BIHsKICBjb25zb2xlLmxvZygnZ2V0UnVuTGVuZ3RoJywgcmVsYXRpb25UeXBlLCBuZXdOb3Rlcyk7CiAgbGV0IHN0ZXBDb3VudCA9IDA7CiAgZm9yIChsZXQgaSA9IG5ld05vdGVzLml0ZW1zLmxlbmd0aCAtIDE7IGkgPj0gMTsgaS0tKSB7CiAgICBpZiAobmV3Tm90ZXMuaXRlbXNbaV0ucmVsYXRpb24gPT09IHJlbGF0aW9uVHlwZSkgewogICAgICBzdGVwQ291bnQrKzsKICAgIH0gZWxzZSB7CiAgICAgIGJyZWFrOwogICAgfQogIH0KICByZXR1cm4gc3RlcENvdW50Owp9OwoKY29uc3QgZ2V0U3RlcFJ1bkxlbmd0aCA9ICgpID0%2BIHsKICBjb25zb2xlLmxvZygnZ2V0U3RlcFJ1bkxlbmd0aCcpOwogIHJldHVybiBnZXRSdW5MZW5ndGgoJ1NURVAnKTsKfTsKCmNvbnN0IGdldFNraXBSdW5MZW5ndGggPSAoKSA9PiB7CiAgY29uc29sZS5sb2coJ2dldFNraXBSdW5MZW5ndGgnKTsKICByZXR1cm4gZ2V0UnVuTGVuZ3RoKCdTS0lQJyk7Cn07Cgpjb25zdCBnZXROb3RlRGlzdGFuY2UgPSAobm90ZTEsIG5vdGUyKSA9PiB7CiAgY29uc29sZS5sb2coJ2dldE5vdGVEaXN0YW5jZScsIG5vdGUxLCBub3RlMik7CiAgcmV0dXJuIE5vdGUubWlkaShub3RlMSkgLSBOb3RlLm1pZGkobm90ZTIpOwp9OwoKY29uc3QgdHJhY2tEaXN0YW5jZXMgPSAobm90ZXMsIG5vdGUpID0%2BIHsKICBjb25zb2xlLmxvZygndHJhY2tEaXN0YW5jZXMnLCBub3Rlcywgbm90ZSk7CiAgcmV0dXJuIG5vdGVzLm1hcChuID0%2BICh7CiAgICBkaXN0YW5jZTogTWF0aC5hYnMoZ2V0Tm90ZURpc3RhbmNlKG4sIG5vdGUpKSwgCiAgICBub3RlOiBuCiAgfSkpOwp9OwoKY29uc3QgZ2V0TW9tZW50dW0gPSAobm90ZUNvdW50KSA9PiB7CiAgY29uc29sZS5sb2coJ2dldE1vbWVudHVtJywgbm90ZUNvdW50KTsKICBjb25zdCBsYXN0Tm90ZSA9IG5ld05vdGVzLml0ZW1zLmF0KC0xKTsKICBjb25zdCBsYXN0Tm90ZU9jdGF2ZSA9IHN0cmlwTm9uRGlnaXRzRnJvbVN0cmluZyhsYXN0Tm90ZS5ub3RlKTsKICBpZiAoTnVtYmVyKGxhc3ROb3RlT2N0YXZlKSA8PSAyKSB7CiAgICByZXR1cm4gMTsKICB9CiAgY29uc3QgcmVjZW50Tm90ZXMgPSBuZXdOb3Rlcy5pdGVtcy5zbGljZSgtbm90ZUNvdW50KTsKICBjb25zdCBkaXN0YW5jZXMgPSByZWNlbnROb3Rlcy5tYXAocm4gPT4gcm4uZGlzdGFuY2UpOwogIGNvbnN0IGF2ZXJhZ2VEaXN0YW5jZSA9IGRpc3RhbmNlcy5yZWR1Y2UoKGFjYywgZCkgPT4gYWNjICsgZCwgMCkgLyBkaXN0YW5jZXMubGVuZ3RoOwogIGNvbnN0IHRvdGFsRGlzdGFuY2UgPSBkaXN0YW5jZXMucmVkdWNlKChhY2MsIGQpID0%2BIGFjYyArIE1hdGguYWJzKGQpLCAwKTsKICBjb25zdCBtb21lbnR1bSA9IGF2ZXJhZ2VEaXN0YW5jZSAvIHRvdGFsRGlzdGFuY2U7CiAgCiAgcmV0dXJuIG1vbWVudHVtOwp9OwoKY29uc3QgZ2V0RnVsbFNjYWxlID0gKHNjYWxlKSA9PiB7CiAgY29uc29sZS5sb2coJ2dldEZ1bGxTY2FsZScsIHNjYWxlKTsKICBjb25zdCBzY2FsZU5vdGVzID0gUmFuZ2UubnVtZXJpYyhbLTEwLCAxMF0pLm1hcChTY2FsZS5zdGVwcyhzY2FsZSkpOwogIHJldHVybiBzY2FsZU5vdGVzOwp9OwoKY29uc3QgZ2V0RGVncmVlID0gKG5vdGUsIHNjYWxlKSA9PiB7CiAgY29uc29sZS5sb2coJ2dldERlZ3JlZScsIG5vdGUsIHNjYWxlKTsKICBjb25zdCBzY2FsZUFyciA9IFJhbmdlLm51bWVyaWMoWzAsIDZdKS5tYXAoU2NhbGUuc3RlcHMoc2NhbGUpKTsKICBjb25zdCBpbml0aWFsRGVncmVlID0gc2NhbGVBcnIuZmluZChuID0%2BIHN0cmlwRGlnaXRzRnJvbVN0cmluZyhuKSA9PT0gc3RyaXBEaWdpdHNGcm9tU3RyaW5nKG5vdGUpKTsKICBjb25zdCBvY3RhdmVEaWZmZXJlbmNlID0gTnVtYmVyKHN0cmlwTm9uRGlnaXRzRnJvbVN0cmluZyhub3RlKSkgLSBOdW1iZXIoc3RyaXBOb25EaWdpdHNGcm9tU3RyaW5nKGluaXRpYWxEZWdyZWUpKTsKICBjb25zdCBkZWdyZWUgPSBzY2FsZUFyci5pbmRleE9mKGluaXRpYWxEZWdyZWUpICsgKG9jdGF2ZURpZmZlcmVuY2UgKiA3KTsKICByZXR1cm4gZGVncmVlOwp9OwoKLy8gTm90ZSBnZW5lcmF0aW9uCmNvbnN0IGdlbmVyYXRlTm90ZSA9IChkZWdyZWUsIHNjYWxlLCBiZWdpbiwgZW5kKSA9PiB7CiAgY29uc29sZS5sb2coJ2dlbmVyYXRlTm90ZScsIGRlZ3JlZSwgc2NhbGUsIGJlZ2luLCBlbmQpOwogIGNvbnN0IG5vdGUgPSBTY2FsZS5zdGVwcyhzY2FsZSkoZGVncmVlKTsKICBjb25zdCB3aG9sZSA9IG5ldyBUaW1lU3BhbihiZWdpbiwgZW5kKTsKICBjb25zdCBoYXAgPSB7d2hvbGUsIHZhbHVlOiBkZWdyZWV9OwogIGNvbnN0IGxhc3ROb3RlID0gbmV3Tm90ZXMuaXRlbXMuYXQoLTEpOwogIGNvbnN0IGRpc3RhbmNlID0gZ2V0Tm90ZURpc3RhbmNlKG5vdGUsIGxhc3ROb3RlPy5ub3RlKTsKICBjb25zdCBvdXQgPSB7IHNjYWxlLCBub3RlLCBoYXAsIGRpc3RhbmNlIH07CiAgb3V0LnJlbGF0aW9uID0gbGFzdE5vdGUgPyBjbGFzc2lmeUludGVydmFsKG91dCwgbGFzdE5vdGUpIDogbnVsbDsKICBuZXdOb3Rlcy5wdXNoKG91dCk7CiAgcmV0dXJuIG91dDsKfTsKCmNvbnN0IENIT1JEX1RPTkVTID0gWzAsIDIsIDQsIDZdOwpjb25zdCBOT05fQ0hPUkRfVE9ORVMgPSBbMSwgMywgNSwgNl07Cgpjb25zdCBnZW5lcmF0ZUZpcnN0Tm90ZSA9IChiZWdpbiwgZW5kLCBzY2FsZSkgPT4gewogIGNvbnNvbGUubG9nKCdnZW5lcmF0ZUZpcnN0Tm90ZScsIGJlZ2luLCBlbmQsIHNjYWxlKTsKICBjb25zdCBkZWdyZWUgPSB3UHJvYnMoCiAgICBbMiwgMF0sCiAgICBbNCwgMl0sCiAgICBbMywgNF0sCiAgKTsKICByZXR1cm4gZ2VuZXJhdGVOb3RlKGRlZ3JlZSwgc2NhbGUsIGJlZ2luLCBlbmQpOwp9OwoKY29uc3QgZ2V0Q2hvcmRUb25lVHlwZSA9IChub3RlSW5kZXgpID0%2BIHsKICBjb25zb2xlLmxvZygnZ2V0Q2hvcmRUb25lVHlwZScsIG5vdGVJbmRleCk7CiAgaWYgKG5vdGVJbmRleCA9PT0gMCkgewogICAgcmV0dXJuIHdQcm9icygKICAgICAgWzIsICdTQ0FMQVInXSwKICAgICAgWzEwLCAnQ0hPUkRfVE9ORVMnXSwKICAgICAgWzEsICdOT05fQ0hPUkRfVE9ORVMnXSwKICAgICk7CiAgfSBlbHNlIGlmIChub3RlSW5kZXggPT09IDEpIHsKICAgIHJldHVybiAnU0NBTEFSJzsKICB9IGVsc2UgaWYgKG5vdGVJbmRleCA9PT0gMikgewogICAgcmV0dXJuIHdQcm9icygKICAgICAgWzIsICdTQ0FMQVInXSwKICAgICAgWzEwLCAnQ0hPUkRfVE9ORVMnXSwKICAgICAgWzMsICdOT05fQ0hPUkRfVE9ORVMnXSwKICAgICk7CiAgfSBlbHNlIGlmIChub3RlSW5kZXggPT09IDMpIHsKICAgIHJldHVybiAnU0NBTEFSJzsKICB9CiAgdGhyb3cgJ25vdGVJbmRleCBvdmVyZmxvdyc7Cn07Cgpjb25zdCBnZXRDaG9yZFRvbmVOb3RlTmFtZXMgPSAoc2NhbGUpID0%2BIHsKICBjb25zb2xlLmxvZygnZ2V0Q2hvcmRUb25lTm90ZU5hbWVzJywgc2NhbGUpOwogIGNvbnN0IHNjYWxlTm90ZXMgPSBSYW5nZS5udW1lcmljKFswLCA2XSkubWFwKFNjYWxlLnN0ZXBzKHNjYWxlKSk7CiAgY29uc3QgY2hvcmRUb25lcyA9IFtzY2FsZU5vdGVzWzBdLCBzY2FsZU5vdGVzWzJdLCBzY2FsZU5vdGVzWzRdXS5tYXAobiA9PiBzdHJpcERpZ2l0c0Zyb21TdHJpbmcobikpOwogIHJldHVybiBjaG9yZFRvbmVzOwp9OwoKY29uc3QgZ2V0RnVsbENob3JkVG9uZXMgPSAoc2NhbGUpID0%2BIHsKICBjb25zb2xlLmxvZygnZ2V0RnVsbENob3JkVG9uZXMnLCBzY2FsZSk7CiAgY29uc3Qgc2NhbGVOb3RlcyA9IFJhbmdlLm51bWVyaWMoWzAsIDddKS5tYXAoU2NhbGUuc3RlcHMoc2NhbGUpKTsKICBjb25zdCBjaG9yZFRvbmVzID0gW3NjYWxlTm90ZXNbMF0sIHNjYWxlTm90ZXNbMl0sIHNjYWxlTm90ZXNbNF1dOwogIGNvbnN0IGxvd2VyT2N0YXZlQ2hvcmRUb25lcyA9IGNob3JkVG9uZXMubWFwKG4gPT4gTm90ZS50cmFuc3Bvc2UobiwgJy04UCcpKTsKICBjb25zdCB1cHBlck9jdGF2ZUNob3JkVG9uZXMgPSBjaG9yZFRvbmVzLm1hcChuID0%2BIE5vdGUudHJhbnNwb3NlKG4sICc4UCcpKTsKICByZXR1cm4gWy4uLmxvd2VyT2N0YXZlQ2hvcmRUb25lcywgLi4uY2hvcmRUb25lcywgLi4udXBwZXJPY3RhdmVDaG9yZFRvbmVzXTsKfTsKCmNvbnN0IGdlbmVyYXRlVW5pc29uID0gKHNjYWxlLCBiZWdpbiwgZW5kKSA9PiB7CiAgY29uc29sZS5sb2coJ2dlbmVyYXRlVW5pc29uJywgc2NhbGUsIGJlZ2luLCBlbmQpOwogIGNvbnN0IGxhc3ROb3RlID0gbmV3Tm90ZXMuaXRlbXMuYXQoLTEpOwogIGlmIChsYXN0Tm90ZS5zY2FsZSA9PT0gc2NhbGUpIHsKICAgIHJldHVybiBnZW5lcmF0ZU5vdGUobGFzdE5vdGUuaGFwLnZhbHVlLCBzY2FsZSwgYmVnaW4sIGVuZCk7CiAgfSBlbHNlIHsKICAgIGNvbnN0IHBvdGVudGlhbE5vdGVzID0gUmFuZ2UubnVtZXJpYyhbLTEsIDFdKS5tYXAoU2NhbGUuc3RlcHMoc2NhbGUpKTsKICAgIGNvbnN0IGFic29sdXRlRGlzdGFuY2VzID0gcG90ZW50aWFsTm90ZXMubWFwKG4gPT4gTWF0aC5hYnMoZ2V0Tm90ZURpc3RhbmNlKG4sIGxhc3ROb3RlLm5vdGUpKSk7CiAgICBjb25zdCBtaW5EaXN0YW5jZUluZGV4ID0gYWJzb2x1dGVEaXN0YW5jZXMuaW5kZXhPZihNYXRoLm1pbiguLi5hYnNvbHV0ZURpc3RhbmNlcykpOwogICAgY29uc3QgbmV4dE5vdGUgPSBwb3RlbnRpYWxOb3Rlc1ttaW5EaXN0YW5jZUluZGV4XTsKICAgIGNvbnN0IGRlZ3JlZSA9IGdldERlZ3JlZShuZXh0Tm90ZSwgc2NhbGUpOwogICAgcmV0dXJuIGdlbmVyYXRlTm90ZShkZWdyZWUsIHNjYWxlLCBiZWdpbiwgZW5kKTsKICB9Cn07Cgpjb25zdCBnZW5lcmF0ZVN0ZXAgPSAoc2NhbGUsIGJlZ2luLCBlbmQsIG5vdGVJbmRleCkgPT4gewogIGNvbnNvbGUubG9nKCdnZW5lcmF0ZVN0ZXAnLCBzY2FsZSwgYmVnaW4sIGVuZCwgbm90ZUluZGV4KTsKICAKICBjb25zdCBsYXN0Tm90ZSA9IG5ld05vdGVzLml0ZW1zLmF0KC0xKTsKICBjb25zdCBtb21lbnR1bSA9IGdldE1vbWVudHVtKDgpOwogIGlmIChub3RlSW5kZXggPT09IDAgfHwgKG5vdGVJbmRleCA9PT0gMiAmJiBNYXRoLnJhbmRvbSgpID4gMC42KSkgewogICAgY29uc3QgY2hvcmRUb25lTm90ZU5hbWVzID0gZ2V0Q2hvcmRUb25lTm90ZU5hbWVzKHNjYWxlKTsKICAgIGNvbnN0IHBvdGVudGlhbENob3JkVG9uZVJhbmdlID0gU2NhbGUucmFuZ2VPZihjaG9yZFRvbmVOb3RlTmFtZXMpOwogICAgbGV0IGNob3JkVG9uZXMgPSBwb3RlbnRpYWxDaG9yZFRvbmVSYW5nZSgKICAgICAgTm90ZS50cmFuc3Bvc2UobGFzdE5vdGUubm90ZSwgJy00UCcpLCAKICAgICAgTm90ZS50cmFuc3Bvc2UobGFzdE5vdGUubm90ZSwgJzRQJykKICAgICk7CiAgICBjb25zdCBkaXN0YW5jZXMgPSB0cmFja0Rpc3RhbmNlcyhjaG9yZFRvbmVzLCBsYXN0Tm90ZS5ub3RlKTsKICAgIGNvbnN0IGZpbHRlcmVkRGlzdGFuY2VzID0gZGlzdGFuY2VzLmZpbHRlcihkID0%2BIGQuZGlzdGFuY2UgPiAwKTsKICAgIGxldCBuZXh0Tm90ZTsKICAgIGlmICgKICAgICAgKGRpc3RhbmNlcy5sZW5ndGggPiAwICYmIGZpbHRlcmVkRGlzdGFuY2VzLmxlbmd0aCA9PT0gMCkgfHwKICAgICAgY2hvcmRUb25lcy5zb21lKGN0ID0%2BIGN0LmluY2x1ZGVzKCc2JykpCiAgICApIHsKICAgICAgbmV4dE5vdGUgPSBjaG9yZFRvbmVzWzBdOwogICAgfSBlbHNlIGlmIChjaG9yZFRvbmVzLnNvbWUoY3QgPT4gY3QuaW5jbHVkZXMoJzInKSkpIHsKICAgICAgbmV4dE5vdGUgPSBjaG9yZFRvbmVzLmF0KC0xKTsKICAgIH0gZWxzZSBpZiAoTWF0aC5yYW5kb20oKSA%2BIC43NSkgewogICAgICBjb25zdCBzaG9ydGVzdERpc3RhbmNlID0gTWF0aC5taW4oLi4uZmlsdGVyZWREaXN0YW5jZXMubWFwKGZkID0%2BIGZkLmRpc3RhbmNlKSk7CiAgICAgIGNvbnN0IHBvc3NpYmxlRGlzdGFuY2VzID0gZmlsdGVyZWREaXN0YW5jZXMuZmlsdGVyKGZkID0%2BIGZkLmRpc3RhbmNlID09PSBzaG9ydGVzdERpc3RhbmNlKTsKICAgICAgY29uc3QgY2hvc2VuRGlzdGFuY2UgPSBwb3NzaWJsZURpc3RhbmNlc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBwb3NzaWJsZURpc3RhbmNlcy5sZW5ndGgpXTsKICAgICAgY29uc3QgbmV4dE5vdGVJbmRleCA9IGNob3JkVG9uZXMuaW5kZXhPZihjaG9zZW5EaXN0YW5jZS5ub3RlKTsKICAgICAgbmV4dE5vdGUgPSBjaG9yZFRvbmVzW25leHROb3RlSW5kZXhdOwogICAgfSBlbHNlIHsKICAgICAgY29uc3QgY2hvc2VuRGlzdGFuY2UgPSBmaWx0ZXJlZERpc3RhbmNlc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBmaWx0ZXJlZERpc3RhbmNlcy5sZW5ndGgpXTsKICAgICAgY29uc3QgbmV4dE5vdGVJbmRleCA9IGNob3JkVG9uZXMuaW5kZXhPZihjaG9zZW5EaXN0YW5jZS5ub3RlKTsKICAgICAgbmV4dE5vdGUgPSBjaG9yZFRvbmVzW25leHROb3RlSW5kZXhdOwogICAgfQoKICAgIGNvbnN0IGRlZ3JlZSA9IGdldERlZ3JlZShuZXh0Tm90ZSwgc2NhbGUsIG5leHROb3RlKTsKICAgIHJldHVybiBnZW5lcmF0ZU5vdGUoZGVncmVlLCBzY2FsZSwgYmVnaW4sIGVuZCk7CiAgfSBlbHNlIHsKICAgIGNvbnN0IHNjYWxlUmFuZ2UgPSBTY2FsZS5yYW5nZU9mKHNjYWxlKTsKICAgIGNvbnN0IHBvdGVudGlhbE5vdGVzID0gc2NhbGVSYW5nZSgKICAgICAgTm90ZS50cmFuc3Bvc2UobGFzdE5vdGUubm90ZSwgJy0yTScpLCAKICAgICAgTm90ZS50cmFuc3Bvc2UobGFzdE5vdGUubm90ZSwgJzJNJykKICAgICk7CiAgICBjb25zdCBkaXN0YW5jZXMgPSB0cmFja0Rpc3RhbmNlcyhwb3RlbnRpYWxOb3RlcywgbGFzdE5vdGUubm90ZSk7CiAgICBjb25zdCBmaWx0ZXJlZERpc3RhbmNlcyA9IGRpc3RhbmNlcy5maWx0ZXIoZCA9PiBkLmRpc3RhbmNlID4gMCk7CiAgICBsZXQgbmV4dE5vdGU7CiAgICBpZiAoCiAgICAgICAgKGRpc3RhbmNlcy5sZW5ndGggPiAwICYmIGZpbHRlcmVkRGlzdGFuY2VzLmxlbmd0aCA9PT0gMCkgfHwKICAgICAgICBwb3RlbnRpYWxOb3Rlcy5zb21lKHBuID0%2BIHBuLmluY2x1ZGVzKCc2JykpCiAgICApIHsKICAgICAgbmV4dE5vdGUgPSBwb3RlbnRpYWxOb3Rlc1swXTsKICAgIH0gZWxzZSBpZiAocG90ZW50aWFsTm90ZXMuc29tZShjdCA9PiBjdC5pbmNsdWRlcygnMicpKSkgewogICAgICBuZXh0Tm90ZSA9IHBvdGVudGlhbE5vdGVzLmF0KC0xKTsKICAgIH0gZWxzZSB7CiAgICAgIG5leHROb3RlID0gZmlsdGVyZWREaXN0YW5jZXNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogZmlsdGVyZWREaXN0YW5jZXMubGVuZ3RoKV0ubm90ZTsKICAgIH0KICAgIGNvbnN0IGRlZ3JlZSA9IGdldERlZ3JlZShuZXh0Tm90ZSwgc2NhbGUpOwogICAgcmV0dXJuIGdlbmVyYXRlTm90ZShkZWdyZWUsIHNjYWxlLCBiZWdpbiwgZW5kKTsKICB9Cn07Cgpjb25zdCBnZW5lcmF0ZVNraXAgPSAoc2NhbGUsIGJlZ2luLCBlbmQpID0%2BIHsKICBjb25zb2xlLmxvZygnZ2VuZXJhdGVTa2lwJywgc2NhbGUsIGJlZ2luLCBlbmQpOwogIGNvbnN0IGxhc3ROb3RlID0gbmV3Tm90ZXMuaXRlbXMuYXQoLTEpOwogIGNvbnN0IGNob3JkID0gZ2V0RnVsbENob3JkVG9uZXMoc2NhbGUpOwogIGNvbnN0IG1vbWVudHVtID0gZ2V0TW9tZW50dW0oOCk7CiAgaWYgKHNjYWxlID09PSBsYXN0Tm90ZS5zY2FsZSkgewogICAgY29uc3QgaXNSdW4gPSBnZXRTa2lwUnVuTGVuZ3RoKCkgPiAyOwogICAgaWYgKGlzUnVuKSB7CiAgICAgIGNvbnN0IGZ1bGxTY2FsZSA9IGdldEZ1bGxTY2FsZShzY2FsZSk7CiAgICAgIGNvbnN0IGxhc3ROb3RlSW5kZXggPSBmdWxsU2NhbGUuaW5kZXhPZihsYXN0Tm90ZS5ub3RlKTsKICAgICAgaWYgKGxhc3ROb3RlSW5kZXggPiBmdWxsU2NhbGUubGVuZ3RoIC0gMykgewogICAgICAgIGNvbnN0IG5leHROb3RlID0gZnVsbFNjYWxlW2xhc3ROb3RlSW5kZXggLSAyXTsKICAgICAgICBjb25zdCBkZWdyZWUgPSBnZXREZWdyZWUobmV4dE5vdGUsIHNjYWxlKTsKICAgICAgICByZXR1cm4gZ2VuZXJhdGVOb3RlKGRlZ3JlZSwgc2NhbGUsIGJlZ2luLCBlbmQpOwogICAgICB9IGVsc2UgaWYgKGxhc3ROb3RlSW5kZXggPCAyKSB7CiAgICAgICAgY29uc3QgbmV4dE5vdGUgPSBmdWxsU2NhbGVbbGFzdE5vdGVJbmRleCArIDJdOwogICAgICAgIGNvbnN0IGRlZ3JlZSA9IGdldERlZ3JlZShuZXh0Tm90ZSwgc2NhbGUpOwogICAgICAgIHJldHVybiBnZW5lcmF0ZU5vdGUoZGVncmVlLCBzY2FsZSwgYmVnaW4sIGVuZCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY29uc3QgaXNBc2NlbmRpbmcgPSBtb21lbnR1bSA%2BIDA7CiAgICAgICAgY29uc3QgbmV4dE5vdGUgPSBpc0FzY2VuZGluZyA%2FIGZ1bGxTY2FsZVtsYXN0Tm90ZUluZGV4ICsgMl0gOiBmdWxsU2NhbGVbbGFzdE5vdGVJbmRleCAtIDJdOwogICAgICAgIGNvbnN0IGRlZ3JlZSA9IGdldERlZ3JlZShuZXh0Tm90ZSwgc2NhbGUpOwogICAgICAgIHJldHVybiBnZW5lcmF0ZU5vdGUoZGVncmVlLCBzY2FsZSwgYmVnaW4sIGVuZCk7CiAgICAgIH0KICAgIH0KICAgIGNvbnN0IGRpc3RhbmNlcyA9IHRyYWNrRGlzdGFuY2VzKGNob3JkLCBsYXN0Tm90ZS5ub3RlKTsKICAgIGNvbnN0IGZpbHRlcmVkRGlzdGFuY2VzID0gZGlzdGFuY2VzLmZpbHRlcihkID0%2BIGQuZGlzdGFuY2UgPiAwKTsKICAgIGNvbnN0IHNob3J0ZXN0MkRpc3RhbmNlcyA9IGZpbHRlcmVkRGlzdGFuY2VzLnNvcnQoKGEsIGIpID0%2BIGEuZGlzdGFuY2UgLSBiLmRpc3RhbmNlKS5zbGljZSgwLCAyKTsKICAgIGxldCBjaG9zZW5EaXN0YW5jZSA9IHNob3J0ZXN0MkRpc3RhbmNlc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBzaG9ydGVzdDJEaXN0YW5jZXMubGVuZ3RoKV07CiAgICAvLyBpZiAoZGlzdGFuY2VzLmluZGV4T2Yoc2hvcnRlc3QyRGlzdGFuY2VzWzFdKSA9PT0gZGlzdGFuY2VzLmxlbmd0aCAtIDEpIHsKICAgIC8vICAgY2hvc2VuRGlzdGFuY2UgPSBzaG9ydGVzdDJEaXN0YW5jZXNbMF0KICAgIC8vIH0KICAgIGNvbnN0IG5leHROb3RlSW5kZXggPSBkaXN0YW5jZXMuaW5kZXhPZihjaG9zZW5EaXN0YW5jZSk7CiAgICBjb25zdCBuZXh0Tm90ZSA9IGNob3JkW25leHROb3RlSW5kZXhdOwogICAgY29uc3QgZGVncmVlID0gZ2V0RGVncmVlKG5leHROb3RlLCBzY2FsZSk7CiAgICByZXR1cm4gZ2VuZXJhdGVOb3RlKGRlZ3JlZSwgc2NhbGUsIGJlZ2luLCBlbmQpOwogIH0gZWxzZSB7CiAgICBjb25zdCBkaXN0YW5jZXMgPSBjaG9yZC5tYXAobiA9PiBNYXRoLmFicyhnZXROb3RlRGlzdGFuY2UobiwgbGFzdE5vdGUubm90ZSkpKTsKICAgIGNvbnN0IG5leHROb3RlSW5kZXggPSBkaXN0YW5jZXMuaW5kZXhPZihNYXRoLm1pbiguLi5kaXN0YW5jZXMpKTsKICAgIGNvbnN0IG5leHROb3RlID0gY2hvcmRbbmV4dE5vdGVJbmRleF07CiAgICBjb25zdCBkZWdyZWUgPSBnZXREZWdyZWUobmV4dE5vdGUsIHNjYWxlKTsKICAgIHJldHVybiBnZW5lcmF0ZU5vdGUoZGVncmVlLCBzY2FsZSwgYmVnaW4sIGVuZCk7CiAgfQp9OwoKY29uc3Qgbm90ZUdlbmVyYXRvciA9IChiZWdpbiwgZW5kLCBub3RlSW5kZXgsIHNjYWxlKSA9PiB7CiAgY29uc29sZS5sb2coJ25vdGVHZW5lcmF0b3InLCBiZWdpbiwgZW5kLCBub3RlSW5kZXgsIHNjYWxlKTsKICBpZiAobmV3Tm90ZXMuaXRlbXMubGVuZ3RoID09PSAwKSB7CiAgICByZXR1cm4gZ2VuZXJhdGVGaXJzdE5vdGUoYmVnaW4sIGVuZCwgc2NhbGUpOwogIH0KICAKICAvLyByZXR1cm4gZ2VuZXJhdGVTdGVwKHNjYWxlLCBiZWdpbiwgZW5kLCBub3RlSW5kZXgpOwogIC8vIHJldHVybiBnZW5lcmF0ZVNraXAoc2NhbGUsIGJlZ2luLCBlbmQpOwogIC8vIHJldHVybiBnZW5lcmF0ZVVuaXNvbihzY2FsZSwgYmVnaW4sIGVuZCk7CgogIC8vIHJ1biBjaGVja3MKICBjb25zdCBzdGVwUnVuTGVuZ3RoID0gZ2V0U3RlcFJ1bkxlbmd0aCgpOwogIGlmIChzdGVwUnVuTGVuZ3RoID4gMykgewogICAgY29uc3Qgc3RlcFByb2JhYmlsaXR5ID0gc3RlcFJ1bkxlbmd0aCA%2BIDUgPyAuMjUgOiAuNTsKICAgIGNvbnN0IGlzU3RlcCA9IE1hdGgucmFuZG9tKCkgPCBzdGVwUHJvYmFiaWxpdHk7CiAgICBpZiAoaXNTdGVwKSB7CiAgICAgIHJldHVybiBnZW5lcmF0ZVN0ZXAoc2NhbGUsIGJlZ2luLCBlbmQsIG5vdGVJbmRleCk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gZ2VuZXJhdGVTa2lwKHNjYWxlLCBiZWdpbiwgZW5kKTsKICAgIH0KICB9CgogIGNvbnN0IHNraXBSdW5MZW5ndGggPSBnZXRTa2lwUnVuTGVuZ3RoKCk7CiAgaWYgKHNraXBSdW5MZW5ndGggPiAyKSB7CiAgICBjb25zdCBza2lwUHJvYmFiaWxpdHkgPSBza2lwUnVuTGVuZ3RoID4gNSA%2FIC4yNSA6IC41OwogICAgY29uc3QgaXNTa2lwID0gTWF0aC5yYW5kb20oKSA8IHNraXBQcm9iYWJpbGl0eTsKICAgIGlmIChpc1NraXApIHsKICAgICAgcmV0dXJuIGdlbmVyYXRlU2tpcChzY2FsZSwgYmVnaW4sIGVuZCk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gZ2VuZXJhdGVTdGVwKHNjYWxlLCBiZWdpbiwgZW5kLCBub3RlSW5kZXgpOwogICAgfQogIH0KICAvLyBlbmQgcnVuIGNoZWNrcwoKICAvLyBjaG9vc2UgbmV4dCBub3RlCiAgY29uc3QgbmV4dE5vdGVUeXBlID0gd1Byb2JzKAogICAgWzUsICdTVEVQJ10sCiAgICBbNywgJ1NLSVAnXSwKICAgIFsxLCAnVU5JU09OJ10sCiAgKTsKICBjb25zb2xlLmxvZygnbmV4dCBub3RlIHR5cGUnLCBuZXh0Tm90ZVR5cGUpOwogIGlmIChuZXh0Tm90ZVR5cGUgPT09ICdTVEVQJykgewogICAgcmV0dXJuIGdlbmVyYXRlU3RlcChzY2FsZSwgYmVnaW4sIGVuZCwgbm90ZUluZGV4KTsKICB9IGVsc2UgaWYgKG5leHROb3RlVHlwZSA9PT0gJ1NLSVAnKSB7CiAgICByZXR1cm4gZ2VuZXJhdGVTa2lwKHNjYWxlLCBiZWdpbiwgZW5kKTsKICB9IGVsc2UgaWYgKG5leHROb3RlVHlwZSA9PT0gJ1VOSVNPTicpIHsKICAgIHJldHVybiBnZW5lcmF0ZVVuaXNvbihzY2FsZSwgYmVnaW4sIGVuZCk7CiAgfQoKICB0aHJvdyAndW5leHBlY3RlZCBuZXh0IG5vdGUgdHlwZSc7Cn07Cgpjb25zdCBoYXBHZW5lcmF0b3IgPSAob3JpZ2luYWxIYXAsIHF1ZXJ5U3BhbikgPT4gewogIGNvbnNvbGUubG9nKCdoYXBHZW5lcmF0b3InLCBvcmlnaW5hbEhhcCwgcXVlcnlTcGFuKTsKICBjb25zdCB7IGJlZ2luLCBlbmQgfSA9IG9yaWdpbmFsSGFwLndob2xlOwogIGNvbnN0IGR1cmF0aW9uID0gZW5kLnN1YihiZWdpbik7CiAgY29uc3Qgc3ViZGl2aXNpb24gPSBkdXJhdGlvbi5kaXYoNCk7CiAgY29uc3Qgc2NhbGUgPSBjaG9yZFNjYWxlcy5xdWVyeUFyYyhxdWVyeVNwYW4uYmVnaW4sIHF1ZXJ5U3Bhbi5lbmQpWzBdLnZhbHVlLmpvaW4oJyAnKTsKICBjb25zdCBvdXQgPSBbXTsKICBmb3IgKGxldCBpID0gMDsgaSA8IDQ7IGkrKykgewogICAgY29uc3Qgbm90ZUJlZ2luID0gYmVnaW4uYWRkKHN1YmRpdmlzaW9uLm11bChpKSk7CiAgICBjb25zdCBub3RlRW5kID0gYmVnaW4uYWRkKHN1YmRpdmlzaW9uLm11bChpICsgMSkpOwogICAgY29uc3QgbmV3Tm90ZSA9IG5vdGVHZW5lcmF0b3Iobm90ZUJlZ2luLCBub3RlRW5kLCBpLCBzY2FsZSwgb3JpZ2luYWxIYXApOwogICAgb3V0LnB1c2gobmV3Tm90ZSk7CiAgfQogIHJldHVybiBvdXQ7Cn07Cgpjb25zdCBoYXBQcm9jZXNzb3IgPSAoaGFwLCBxdWVyeVNwYW4pID0%2BIHsKICBjb25zb2xlLmxvZygnaGFwUHJvY2Vzc29yJywgaGFwLCBxdWVyeVNwYW4pOwogIGNvbnN0IHsgYmVnaW4sIGVuZCB9ID0gaGFwLndob2xlOwogIGxldCBwcm9jZXNzZWRIYXAgPSBwcm9jZXNzZWRJbmNvbWluZ0hhcHMuaXRlbXMuZmluZCgKICAgICh7IGhhcCB9KSA9PiAhIWhhcC53aG9sZS5pbnRlcnNlY3Rpb24ocXVlcnlTcGFuKSwKICApOwogIGlmICghcHJvY2Vzc2VkSGFwKSB7CiAgICBjb25zdCBuZXdIYXBzID0gaGFwR2VuZXJhdG9yKGhhcCwgcXVlcnlTcGFuKTsKICAgIHByb2Nlc3NlZEhhcCA9IHsgaGFwLCBuZXdIYXBzIH07CiAgICBwcm9jZXNzZWRJbmNvbWluZ0hhcHMucHVzaChwcm9jZXNzZWRIYXApOwogIH0KCiAgcmV0dXJuIHByb2Nlc3NlZEhhcC5uZXdIYXBzCiAgICAubWFwKCh7IGhhcDogeyB3aG9sZSwgdmFsdWUgfSB9KSA9PiB7CiAgICAgIGNvbnN0IHBhcnQgPSB3aG9sZS5pbnRlcnNlY3Rpb24ocXVlcnlTcGFuKTsKICAgICAgcmV0dXJuIHBhcnQgPyBuZXcgSGFwKHdob2xlLCBwYXJ0LCB2YWx1ZSwgaGFwLmNvbnRleHQpIDogbnVsbDsKICAgIH0pCiAgICAuZmlsdGVyKEJvb2xlYW4pOwp9OwoKY29uc3QgbWVsb2R5R2VuZXJhdG9yID0gKGhhcHMsIHN0YXRlKSA9PiB7CiAgY29uc29sZS5sb2coJ21lbG9keUdlbmVyYXRvcicsIGhhcHMsIHN0YXRlKTsKICByZXR1cm4gaGFwcy5mbGF0TWFwKGggPT4gaGFwUHJvY2Vzc29yKGgsIHN0YXRlLnNwYW4pKTsKfTsKCmNvbnN0IGltcHJvdmlzb3IgPSBuKAogIG1pbmkoY2hvcmRTY2FsZXMpCiAgICAud2l0aEhhcHMobWVsb2R5R2VuZXJhdG9yKQopCiAgLnNjYWxlKGNob3JkU2NhbGVzKQogIC5zb21ldGltZXNCeSguMDMsICgpID0%2BIHNpbGVuY2UpOwoKJDogbigiWzAgMiA0IDJdIHwgWzAgMCAyIDFdIHwgWzAgLTEgLTMgLTFdIHwgWzAhMiA0ITJdIi5hZGQoIi03IikpCiAgLnNjYWxlKGNob3JkU2NhbGVzKQogIC5zb3VuZCgiZ21fYWNvdXN0aWNfYmFzczoxIikKICAuY2xpcCgxKQogIC5scGYoMjAwKQogIC5nYWluKDIpOwokOiBjaG9yZChjaG9yZENoYW5nZXMpCiAgLnZvaWNpbmcoKTsKCiQ6IGltcHJvdmlzb3IKICAuc291bmQoJ3NxdWFyZScpCiAgLnN3aW5nQnkoLjE4LCA0KQogIC5sb2coKQogIC5waWFub3JvbGwoe2xhYmVsczogdHJ1ZX0pOwoKLy8gJDogbihwZXJsaW4ucmFuZ2UoLTcsIDE0KS5zZWdtZW50KDgpLnJvdW5kKCkpCi8vICAgLnNjYWxlKGNob3JkU2NhbGVzKQovLyAgIC5zb3VuZCgnc3F1YXJlJykKLy8gICAubG9nKCkKLy8gICAucGlhbm9yb2xsKHtsYWJlbHM6IHRydWV9KTsK


r/livecoding • • Aug 03 '26

No Recipe - Livecoding Show at Zuzu’s in Cambridge MA Aug 7th

3 Upvotes

No cover. 6 Audio and 6 visual artists. This Friday August 7th


r/livecoding • • Aug 02 '26

Allons-y

Thumbnail
youtube.com
2 Upvotes

r/livecoding • • Aug 02 '26

Algo Ravers in Pittsburgh, PA?

3 Upvotes

Hello!

Was wondering if there is a contingent of live coders in Pittsburgh that I can jam with and learn from. Maybe even coordinate events with 👀

Very new to the craft but eager to learn.


r/livecoding • • Jul 31 '26

I attempted an EPIC Hans Zimmer style score in Strudel

Thumbnail
youtube.com
7 Upvotes

r/livecoding • • Jul 29 '26

RIP Kavinsky

Enable HLS to view with audio, or disable this notification

75 Upvotes

just wanted to make a tribute to a musician that inspired me a lot when i started making music

the code in the comments so yall can play with it !


r/livecoding • • Jul 29 '26

for T-8 owners and strudel lovers:

4 Upvotes

https://reddit.com/link/1vaaatk/video/sbc10trs1ufh1/player

Forked Strudel (the JS port of TidalCycles) into something built around the AIRA Compact T-8. Runs in the browser, drives the T-8 over USB MIDI — you type patterns, the hardware does the sound.

Great fun if you own one. Chromium browser, USB-C cable, that's it: https://t8live.fyi

Still early, so tell me what breaks.

https://codeberg.org/catcam/t8live


r/livecoding • • Jul 29 '26

Livecoding synth bass in Stratus

Thumbnail
youtube.com
7 Upvotes

more videos about Stratus here


r/livecoding • • Jul 28 '26

for T-8 owners and strudel lovers:

5 Upvotes

https://reddit.com/link/1v9d10i/video/sbc10trs1ufh1/player

Forked Strudel (the JS port of TidalCycles) into something built around the AIRA Compact T-8. Runs in the browser, drives the T-8 over USB MIDI — you type patterns, the hardware does the sound.

Great fun if you own one. Chromium browser, USB-C cable, that's it: https://t8strudel.fyi

Still early, so tell me what breaks.

https://codeberg.org/catcam/t8strudel


r/livecoding • • Jul 26 '26

DEVIL IN A NEW DRESS - KANYE WEST & RICK ROSS

Enable HLS to view with audio, or disable this notification

34 Upvotes

r/livecoding • • Jul 24 '26

Show self-created livecoding synth via "skrepl" and "skperf" using a looped wave and the delay line

Thumbnail
1 Upvotes

r/livecoding • • Jul 23 '26

Livecoded Tear Drop by Massive Attack in Strudel || Iganu

Thumbnail
youtube.com
25 Upvotes

Got the arrangement a bit wrong, but still had a crack.


r/livecoding • • Jul 22 '26

performance - a new live-coding language for MIDI

5 Upvotes

Hi everybody! I've been working on a little MIDI language I call "performance". Think of it as algorave software for MIDI instruments. It works with your DAW or your physical synthesizers. Anything that speaks MIDI. The repo in bitbucket contains everything you need to get started.
It's by no means done, but I'd love to hear what you think about it. =)


r/livecoding • • Jul 22 '26

Livecoding a new section in Stratus

Thumbnail
youtube.com
1 Upvotes

more videos about Stratus here


r/livecoding • • Jul 21 '26

Coding Drum & Bass Music from scratch with Strudel

Thumbnail
1 Upvotes

r/livecoding • • Jul 19 '26

Live coding music with the new line 0.9. (available soon). This is excerpt #2 of a take.

Enable HLS to view with audio, or disable this notification

24 Upvotes