openmpt based web player ~ coolmodfiles.com

Started by orhun, July 16, 2020, 19:36:15

Previous topic - Next topic

orhun

The idea for CoolModFiles originated among two programmer friends who used to send mod files to each other, which lead to the creation of a personal mod archive - one which had hundreds of cool modules at the time! Being in possession of those rare works of art (all the way from 80s!) was a privilege... When the awesome tracks started piling up, however, it naturally brought about a storage problem. The solution was simple: using a web archive!

The programmer friends' idea, unfortunately, was beaten by modarchive.org many years ago. Realizing how unnecessary creating another internet archive was, the project evolved into a cool web player instead. A group of 3 came together to create what is known today as CoolModFiles.com. With it's modern look, it continues to surface thousands of long-forgotten mod files to introduce newer generations to the world of old-school digital music.

https://www.youtube.com/watch?v=lJsb3HsBsH0

Website: https://coolmodfiles.com/
Repository: https://github.com/orhun/CoolModFiles

Saga Musix

Nice interface, but I'd be much happier if you used the official API for requesting data from ModArchive. From what I can see you did not request an API key.

I'm also a bit puzzled about the lack of mobile support and the reasoning behind it. libopenmpt is all but slow; it can mix hundreds of channels even on a sub-GHz machine when compiled natively, so it's certainly not a lack of optimization. Running it in a browser is a bit different story of course, but I tested the ModArchive online player on a recent Android phone and it works flawlessly even with demanding mod files. So if you don't get enough performance out of it, you might be doing something wrong (maybe using too small audio buffers, or not using the WebAssembly version of libopenmpt which is certainly faster than pure asm.js, but even asm.js should be fast on browsers that support it), but it's certainly not the case that libopenmpt is poorly optimized.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

orhun

Quote from: Saga Musix on July 17, 2020, 22:14:02
Nice interface, but I'd be much happier if you used the official API for requesting data from ModArchive. From what I can see you did not request an API key.

I'm also a bit puzzled about the lack of mobile support and the reasoning behind it. libopenmpt is all but slow; it can mix hundreds of channels even on a sub-GHz machine when compiled natively, so it's certainly not a lack of optimization. Running it in a browser is a bit different story of course, but I tested the ModArchive online player on a recent Android phone and it works flawlessly even with demanding mod files. So if you don't get enough performance out of it, you might be doing something wrong (maybe using too small audio buffers, or not using the WebAssembly version of libopenmpt which is certainly faster than pure asm.js, but even asm.js should be fast on browsers that support it), but it's certainly not the case that libopenmpt is poorly optimized.

Thanks for your feedback!
Yeah we're not using an API key to fetch the mod files from modarchive since we didn't need it while writing the project. Sending a request to fetch a single file was easy enough. Maybe we can use the official API to fetch other information such as file name in the future.

About the optimization, we're literally using the same openmpt library implementation as modarchive. So what they can play in mobile is what we can play. I meant the optimization of functions like onaudioprocess and createLibopenmptNode on our end in that tweet. Hands down OpenMPT is a colossal library. I hope that we will "fix" the problems on our side to support mobile soon.

Saga Musix

Which mobile device(s) did you try it on? Because as said, the ModArchive player performs just fine here. Maybe older/slower devices have issues, but that wouldn't seem like a good reason to exclude all mobile devices from using the site, to be honest.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

orhun

Quote from: Saga Musix on July 20, 2020, 13:24:04
Which mobile device(s) did you try it on? Because as said, the ModArchive player performs just fine here. Maybe older/slower devices have issues, but that wouldn't seem like a good reason to exclude all mobile devices from using the site, to be honest.

I've used it on my good old Android 5.0 device and the sound was incredibly choppy. I was completely unable to listen.
Other developers tried it on their phone (Android 7 or 8 ), and the result was the same. But surprisingly some devices allow playing it normally (just mod files, sometimes).
So I suspect that older/slower devices have issues, probably.

And uhm.. We don't exclude all mobile devices from using the site. We just show a message that says "it might not work on your mobile device". You can proceed to play anyway.

Saga Musix

QuoteAnd uhm.. We don't exclude all mobile devices from using the site. We just show a message that says "it might not work on your mobile device". You can proceed to play anyway.
Okay, to be honest the message left the impression that it cannot be tapped / ignored and its wording implied so, too. I would suggest to reword it and make it more obvious that it can be dismissed. A typical Android 5 device is probably indeed too slow, in particular if the browser does not support WebAssembly. More recent devices should be fine, though. I was able to play some moderately complex IT files on a recent Pixel phone without issues.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

leondustar

cool project.
This is actually what I've been missing from the modarchive.
Coolmods is kind of the auto-shuffle/spotify/deezer-version of modarchive..well done!