/0x40-web

Pretty images and colours

Primary LanguageJavaScriptMIT LicenseMIT

0x40-web

A fairly complete HTML5/CSS3 Canvas + Web Audio clone of the 0x40 Hues Flash.

Should work on most modern browsers.

Example pages:

Default Hues
420 Hues
Halloween Hues Christmas Hues

You can also have animations that sync perfectly with the beats of the songs. Inspired by Kepstin's Integral experiments.
420 Hues, Snoop Edition
"Montegral"

Install (Make your own Hues)

  1. Start by downloading the latest release. These are minified and load faster.
  2. Put your respack zips somewhere they can be found by your web server. My hues have a respacks/ folder under the main directory.
  3. Edit index.html:
  4. If your html is in a different location to your lib folder: * Edit workersPath to point to the correct (relative) location.
  5. Edit the defaults object so the respacks list contains the respacks you wish to load.
  6. Optional: Add any extra settings to the defaults object.
  7. Upload everything to your server!

Example settings

var defaults = {
    workersPath : "lib/workers/",
    respacks : ["./respacks/Defaults_v5.0.zip", 
                "./respacks/HuesMixA.zip"
                ],
    firstSong : "Nhato - Miss You",
};

Settings object

See HuesSettings.js for the possible options you can put into the defaults object.

Query string

Any setting that can go in the defaults object can also be dynamically specified in the URL. For example: http://0x40.mon.im/custom.html?packs=BIOS.zip,kitchen.zip&currentUI=v4.20

There are two special settings here:

  • firstSong can just be written as song.
  • Anything given as packs or respacks will be appended to the respacks specified in the defaults object, as opposed to overwriting them.

Building

Install Node.js. I used v16, but it should work with newer releases. Install the required packages for the build:

npm install

Build with npx webpack. It will create a dist folder. For seamless development with auto-reload, npx webpack serve.