Thank you for taking the time to contribute!
I'll be upfront about this one: What BitListen needs the most is a complete rewrite. This code is messier than an elementary school spaghetti night fundraiser 🍝. I wrote BitListen very quickly as a prototype in 2013, while I was still in college, and haven't gotten around to rewriting it.
Aside from the rewrite, here are a few things to consider:
-
Ability for BitListen to run properly and sound nice in a background tab (the big issue is that most browsers seem to throttle background tabs, causing the sound to batch up and sound choppy)
-
Possibility that a canvas-based rendering scheme could be more lightweight than the current DOM-based rendering scheme. It's something to weigh the pros and cons of.
If you have any questions, please don't hesitate to open a GitHub issue or email me directly. Thanks!