Skip to content

Commit 547fe36

Browse files
authored
Update channels (#5)
* IMPROVED: show spectrum for each mod channel IMPROVED: clicking on a visualisation will mute the channel * ADDED: workaround for browsers that do not support audioWorkletNode * FIXED: emptybuffer didn't empty all channels in fallback mode FIXED: display left/right channels in fallback mode IMPROVED: now show "mute" for muted channels IMPROVED: call render once at startup/when mute change * REMOVED: audio files from github ADDED: more nice funky module files UPDATED: readme with ModPlug copyright UPDATED: Xbox ES5 version of mod-processor to latest version
1 parent 4492767 commit 547fe36

File tree

14 files changed

+283
-217
lines changed

14 files changed

+283
-217
lines changed

README.md

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ Modplayer-js will fall back to the deprecated `ScriptProcessorNode` API in these
2525
- Amiga 4 channel Sountracker/Noisetracker mod files with 4 channels and 15-31 instruments
2626
- Stereo playback (channels 0 & 3 goes to the left chan, 1 & 2 to the right, just like on a real Amiga)
2727
- LowPass filter (not sure it sounds right)
28-
- Left/Right Spectrum vizualizers
29-
- Ability to mute any of the 4 module channels
30-
- Includes 8 Module files from the Amiga-era
28+
- Individual Spectrum vizualizers for each channel (AudioWorklet mode only)
29+
- Ability to mute any of the 4 module channels (AudioWorklet only)
30+
- 26 great modules of various styles and times are downloaded from [The Mod Archive](https://modarchive.org)
3131

32-
Most note effects should be supported, including extended ones. Only effect not implemented is `Vibrato (0x4 & 0x6)`.
32+
Most note effects should be supported, including extended ones.
3333

3434
# Dependencies
3535

@@ -42,19 +42,6 @@ ModPlayer JS makes use of the following piece of software:
4242

4343
I also heavily used [MilkyTracker](https://milkytracker.titandemo.org/) and [webaudio-mod-player](https://mod.haxor.fi/) - which plays lot of module formats with high fidelity - to track down some timing bugs.
4444

45-
# Module files copyright
46-
47-
ModPlayer-js includes the following module files:
48-
49-
- agony.mod: music from Amiga game [Agony](https://www.youtube.com/watch?v=iRzIpghJeec) by [Tim Wright](https://twitter.com/CoLDSToRAGE)
50-
- all_that_she_wants.mod: Ace of Base remix from 1993 by Crossair
51-
- bigtime.mod: Björk Big Time Sensuality remix from 1994 by ISO from Axis group, appeared in the [Big Time Sensuality demo](https://www.youtube.com/watch?v=Y-2xUXk5F2w)
52-
- cannonfodder.mod: music from [Cannon Fodder](https://www.youtube.com/watch?v=PiYuq6Ac3a0) Amiga game by [John Hare](https://twitter.com/johnhare) / [Richard Joseph](https://en.wikipedia.org/wiki/Richard_Joseph)
53-
- desert_strike.mod: music from [Desert Strike](https://www.youtube.com/watch?v=hcJaph0D7UM) Amiga game by Jason Whitley
54-
- LotusII.mod: music from [Lotus II](https://www.youtube.com/watch?v=vETonlaTZ4c) game by [Barry Leitch](https://en.wikipedia.org/wiki/Barry_Leitch)
55-
- projectx.mod: music from [Project-X](https://www.youtube.com/watch?v=gjq-ONi3dZE) Amiga game by [Allister Brimble](https://twitter.com/allisterbrimble)
56-
- silkworm.mod: music from [Silkworm](https://www.youtube.com/watch?v=4wNidIucUuc) Amiga game by [Barry Leitch](https://en.wikipedia.org/wiki/Barry_Leitch)
57-
5845
# Module background
5946

6047
Modules are like MIDI files but with custom sound samples instead of builtin synth files.
@@ -107,3 +94,15 @@ Then comes the patterns data: first the list of positions and then each patterns
10794
Last but not least, sample data is stored, uncompressed in LPCM 8bit format.
10895

10996
More information can be found in the [original specs](https://github.com/cmatsuoka/tracker-history/blob/master/reference/amiga/soundtracker/Soundtracker_v1-v9/Soundtracker_v2.doc) file (which was written in 1988: ouch!).
97+
98+
# Module files copyright
99+
100+
No file is hosted in GitHub, all modules are downloaded from [The Mod Archive](https://modarchive.org) and are licensed under the [Mod Archive Distribution License](https://modarchive.org/index.php?terms-upload)
101+
102+
- [agony.mod](https://api.modarchive.org/downloads.php?moduleid=124303#agony_intro.mod): music from Amiga game [Agony](https://www.youtube.com/watch?v=iRzIpghJeec) by [Tim Wright](https://twitter.com/CoLDSToRAGE)
103+
- [bigtime.mod](https://api.modarchive.org/downloads.php?moduleid=98051#big_time_sensuality.mod): Björk Big Time Sensuality remix from 1994 by ISO from Axis group, appeared in the [Big Time Sensuality demo](https://www.youtube.com/watch?v=Y-2xUXk5F2w)
104+
- [cannonfodder.mod](https://api.modarchive.org/downloads.php?moduleid=34568#CANNONFO.MOD): music from [Cannon Fodder](https://www.youtube.com/watch?v=PiYuq6Ac3a0) Amiga game by [John Hare](https://twitter.com/johnhare) / [Richard Joseph](https://en.wikipedia.org/wiki/Richard_Joseph)
105+
- [desert_strike.mod](https://api.modarchive.org/downloads.php?moduleid=68835#desert_strike.mod): music from [Desert Strike](https://www.youtube.com/watch?v=hcJaph0D7UM) Amiga game by Jason Whitley
106+
- [LotusII.mod](https://api.modarchive.org/downloads.php?moduleid=87180#lotus2-title.mod): music from [Lotus II](https://www.youtube.com/watch?v=vETonlaTZ4c) game by [Barry Leitch](https://en.wikipedia.org/wiki/Barry_Leitch)
107+
- [projectx.mod](https://api.modarchive.org/downloads.php?moduleid=56660#projectx.mod): music from [Project-X](https://www.youtube.com/watch?v=gjq-ONi3dZE) Amiga game by [Allister Brimble](https://twitter.com/allisterbrimble)
108+
- [silkworm.mod](https://api.modarchive.org/downloads.php?moduleid=83115#silkwormtitle.mod): music from [Silkworm](https://www.youtube.com/watch?v=4wNidIucUuc) Amiga game by [Barry Leitch](https://en.wikipedia.org/wiki/Barry_Leitch)

audio/LotusII.mod

-81.3 KB
Binary file not shown.

audio/agony.mod

-175 KB
Binary file not shown.

audio/all_that_she_wants.mod

-322 KB
Binary file not shown.

audio/bigtime.mod

-719 KB
Binary file not shown.

audio/cannonfodder.mod

-242 KB
Binary file not shown.

audio/desert_strike.mod

-300 KB
Binary file not shown.

audio/projectx.mod

-115 KB
Binary file not shown.

audio/silkworm.mod

-46.3 KB
Binary file not shown.

index.html

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
}
5353

5454
.mdl-mini-footer--link-list li, .mdl-mini-footer__link-list li{
55-
margin-right: 32px;
55+
margin: 0 16px;
5656
}
5757

5858
.author{
@@ -61,6 +61,8 @@
6161

6262
canvas{
6363
width:100%;
64+
height:100px;
65+
cursor:pointer;
6466
}
6567
</style>
6668
<script defer src="https://code.getmdl.io/1.3.0/material.min.js"></script>
@@ -125,35 +127,12 @@
125127
.mdl-card__title{
126128
position:relative;
127129
}
128-
129-
.channel_control{
130-
position:absolute;
131-
top:10px;
132-
}
133130
</style>
134131

135132
<div class="demo-card-wide mdl-card mdl-shadow--2dp">
136133
<div class="mdl-card__title">
137134
<canvas width="512" height="128" id="visualizer"></canvas>
138135
<h2 class="mdl-card__title-text" title="Click here to load another module"><div><i class="material-icons">audiotrack</i></div><div><span class="title"></span><br />by&nbsp;<span class="author"></span></div></h2>
139-
<div class="channel_control">
140-
<label class="mdl-icon-toggle mdl-js-icon-toggle mdl-js-ripple-effect" for="channel-toggle-1" title="Click to mute/unmute channel 1">
141-
<input type="checkbox" id="channel-toggle-1" class="mdl-icon-toggle__input" checked>
142-
<i class="mdl-icon-toggle__label material-icons">volume_up</i>
143-
</label>
144-
<label class="mdl-icon-toggle mdl-js-icon-toggle mdl-js-ripple-effect" for="channel-toggle-2" title="Click to mute/unmute channel 2">
145-
<input type="checkbox" id="channel-toggle-2" class="mdl-icon-toggle__input" checked>
146-
<i class="mdl-icon-toggle__label material-icons">volume_up</i>
147-
</label>
148-
<label class="mdl-icon-toggle mdl-js-icon-toggle mdl-js-ripple-effect" for="channel-toggle-3" title="Click to mute/unmute channel 3">
149-
<input type="checkbox" id="channel-toggle-3" class="mdl-icon-toggle__input" checked>
150-
<i class="mdl-icon-toggle__label material-icons">volume_up</i>
151-
</label>
152-
<label class="mdl-icon-toggle mdl-js-icon-toggle mdl-js-ripple-effect" for="channel-toggle-4" title="Click to mute/unmute channel 4">
153-
<input type="checkbox" id="channel-toggle-4" class="mdl-icon-toggle__input" checked>
154-
<i class="mdl-icon-toggle__label material-icons">volume_up</i>
155-
</label>
156-
</div>
157136
</div>
158137
<div class="mdl-card__supporting-text">
159138
<div class="mdl-tabs mdl-js-tabs mdl-js-ripple-effect">

0 commit comments

Comments
 (0)