Giter VIP home page Giter VIP logo

coolmodfiles's Introduction

CoolModFiles

Module file (MOD music, tracker music) is a family of music file formats originating from the MOD file format on Amiga systems used in the late 1980s. Those who produce these files (using the software called music trackers) and listen to them form the worldwide MOD scene, a part of the demoscene subculture. A MOD file contains a set of instruments in the form of samples, a number of patterns indicating how and when the samples are to be played, and a list of what patterns to play in what order.**

CoolModFiles is a web player that will introduce you to the most obscure and legendary tracks hosted on the internet's biggest module archive, modarchive.org!

The web player works by simply fetching a random module from modarchive.org and playing it. No black magic involved!

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.

Click here to watch the introduction video.

License

GNU General Public License*

coolmodfiles's People

Contributors

alisomay avatar arda-guler avatar cthulhu2 avatar dependabot[bot] avatar dreuxxx avatar orhun avatar peymil avatar wkfo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

coolmodfiles's Issues

Support playing random mod files through embedded player

Currently it is possible to play only one mod through embedded player:

<iframe
  width="100%"
  height="200"
  src="https://coolmodfiles.com/embed/178980"
  frameborder="0"
></iframe>

It would be nice if we support randomized play as well. That's the whole point of the project, after all.

Unable to skip ahead in track

I'm back with probably what's another edge-case issue.

Playing track id 138328, you can not skip ahead further into the track. Attempting to do so ends the track and loads a new one - unless one has repeat turned on, in which case it will just not skip ahead and do a weird echo (double playing every note) for the duration of a single pattern before fixing itself. I don't know if this has something to do with libopenmpt handling .xm files, but I don't remember all .xm files doing this, just this specific track.

Here is the details in bullet list form, for further clarification:

  • You can skip backwards. If the current playing time is 01:00, you can skip back to 00:30.
  • You can not skip forwards. If the current playing time is 01:00, and you attempt to skip to 01:30, it fails.
  • If you wait until the song plays to 02:00, and try to skip to 01:30, it works.
  • Track id 138328 is the only instance of this occuring that I know of.
  • Big player or compact player mode doesn't matter.

My browser is Mozilla Firefox, if that matters.

Responsive screen suggestion

This is a very nice project. I've been listening on nightride.fm for a very long time. Now I have a new alternative. It's not a big problem, but the interface is not responsive. This retro design looks very good on small screen browsers.

Support playing subsongs

Expected
You can play the songs contained within the songs.

Actual
There doesn't seem to be a way to do that.

Steps to reproduce

  1. Go to https://modarchive.org/index.php?request=view_player&query=38420
  2. In the "Subsongs" dropdown select "Song 1", "Song 2" and "Song 3"
  3. Go to https://coolmodfiles.com/?trackId=38420 (notice the same id)
  4. Try to play the "subsongs" - there doesn't seem to be a way

Possible solutions
Maybe if subsongs are detected then another "next" button would show up somewhere that would just switch to the to the next subsong. Maybe on the bottom, beside the playlist button or the loop button.

Support playing arbitrary mod file URL

Expected
Play mods that aren't on Modarchive from URL.

Actual
Only seem to be able to play files from Modarchive.

Why

  • Use cases: unfinished track, not added yet to Modarchive, uploaded to another module sharing site, hosted on own site, or only showing some short musical idea that's not meant as a full song.
  • Every now and then looking for a player when sharing modules (that aren't on modarchive) with people who don't necessarily know how to play them. If they do just want it to be more convenient. I know that you could render mod files to mp3 but that's not the same, although it's the next best thing.
  • Maybe this player could additionally be a player for such modules.

Possible solutions

Extra

Repeat already played favorite mod plays previous track

Steps to reproduce:

  1. Start one favorite mod (x) (currentId = 0; prevIds = [x]);
  2. Start another one (y) (currentId = 1; prevIds = [x, y]);
  3. Start the first mod (x) from favorite mods list and turn on repeat mode (stays currentId = 1).

After the first mod (x) ends the second track (y) starts and repeats.

Support importing mods

We have an export feature but no import. It would be nice if it was possible to import favorited mod files from a txt.

modules don't loop as the artist intended

Expected
The song loops the way the artist intended it to loop (usually so it continues seamlessly like an infinite song)

Actual
The song loops from the very beginning with the intro again

Steps to reproduce

  1. open https://modarchive.org/index.php?request=view_player&query=180439
  2. fast forward it near the end, notice how the song continues after it's over
  3. open https://coolmodfiles.com/?trackId=180439
  4. make sure "repeat" is on, fast forward near the end, notice what happens when it's over

Extra
I don't know if it's a bug or a feature. Personally I prefer the originally intended looping, even if it breaks immersion.

There's another issue of "sub-songs".
https://modarchive.org/index.php?request=view_player&query=38420
This is three songs in one. The following link only plays the first one.
https://coolmodfiles.com/?trackId=38420

Do you think maybe there's some clever way to still get to have sub-songs and the intended looping but without breaking the "typical playback" experience? Most songs don't use this so maybe it wouldn't be a big deal if some songs had an extra "song select ui"? I like the overall design by the way.

Support browser sync for the liked mods

More of a discussion than a feature request as I'm not extremely well-versed in the topic.

I'm wondering if the browser couldn't be used for syncing liked mods between machines, thanks to things like Firefox Account. Browser plugins have a dedicated place in the API for e.g. syncing settings. If I understand correctly, CMF stores the mod list in local storage, maybe there's

a) a way to make that syncable
or
b) some other place a browser can use for that purpose?

Add a message about the mobile support

Currently we show a random message on mobile about CMF is not being supported. However, if you click the button you can still use the player. The problem is, the playback is sometimes jittery and glitchy on mobile.

But still, mods do work a significant number of times. Maybe we should show a warning in header/footer about this and make it more apparent that CMF is still usable on mobile.

Another idea is adding a "tap me to proceed to the player" sort of mini-text.

Ideas and feedback are welcome!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.