Closed joshbruce closed 4 years ago
Hello. Not the project maintainer, but a long term user of the lib with a couple of PRs. I'll mount a bit of a defense for the repo.
I use this lib for making games, so I required an audio library to easily handle Web Audio. Only IE 11 doesn't support it WebAudio now, and I severely limit the number of sounds I play in IE 11, and Howlers fallback works great. But it's basic usage for HTML5 audio. As it's for games, audio files are preloaded (via a customised https://github.com/englercj/resource-loader which is part of PixiJS project), into blobs, which I then pass to Howler to wait for the callback when the audio files have been decoded. I usually use a handful of sound atlases.
In my scenario.... I can't fault Howler. The code is stable, and has been for years, with a few minor fixes, and better support for 'user interaction to unlock audio' which was once mobile only, but now is a desktop requirement too.
So for what some people think "ahh, lots of issues, lots of PRs that are old", I'm thinking... "but yeah, it works, and it's not undergoing unnecessary refactors that could effect a random browser here or there". Because browsers are really flaky with this kind of API usage. So I'm happy it's in a stable place.
When I see the issues here..... I think the owner should use the bot that PixiJS has, where we auto mark issues as dormant after a while, and after even longer close and lock the issue. That way, if it's something still bothering someone, they can come and comment and bump it up... but it also clears a lot of the dead wood that are issues from a long time ago, or just questions of how to do something that don't need to stay open to know the status of issues.
I also feel that a lot of the issues here are things like HTML5 Audio browser issues, questions how to do something that involves edge cases,requests for functionality that can be implemented outside the lib by themselves etc.
And.... from the scope of my required usage of the libs, none of these worry me. It's stable, it works across all browsers, in my usage, and contains all of the functionality I required. That's exactly what I want in a library!
Thanks for the response @themoonrat, this is pretty much spot on! Changes can have unintended consequences across the various browsers, so I don't like making unnecessary changes that could break something else or clutter the core functionality of the library. This does remind me that I need to go ahead and clean up the issues backlog as there are no doubt a lot of duplicates that can either be merged or were already solved in other issues. Thanks for the suggestion of how Pixi handles it!
Yeah. When I found MarkedJS there were 700 issues, 200 (or more) PRs, a security issue, and a missing publisher. It’s not that I take this “evidence” that the lib is no good - it’s more like, “Will I get support from a core team that can’t keep their room clean” (no offense). In other words, should I use core - or fork and create my own (like it seems 1,000 people before me did)?
First month after being handed MatkedJS was pretty much issue triage and pulling a team together. I’m all for stable code not changed (my app on the Apple App Store got pulled down because it hadn’t been updated in so long), but keep up with maintenance. Not sure how I feel about automated solutions though - could hide real issues for maintainers and users. Not my repo though.
Thanks for the timely response. I will definitely keep HowlerJS in mind.
ps. Even closing with no response indicates activity.
@joshbruce It isn't as if the library isn't being maintained. There was an update with a fair number of updates and fixes just over a week ago. Howler is being used by thousands of websites and apps without issue, it is quite stable.
Hello.
Curious about the status of this project as it seems to be exactly what I’m looking for and I’m a bit nervous given the number of issues, the number of unnerved PRs, and when the PRs were submitted.
The number of forks also remind me of MarkedJS.
Hope this finds you well. Please do let me know what’s going on.
Cheers, Josh