Commit graph

113 commits

Author SHA1 Message Date
Andy Sloane
3c0a865824 update the effects code after moving stuff into xm 2015-11-03 09:57:40 -08:00
Andy Sloane
fd52b21e3f only instruments with samplemaps can play
by refactoring the xm loader i inadvertently broke this
2015-11-03 09:50:19 -08:00
Andy Sloane
ea6edaf2e4 add play/pause function 2015-11-03 09:36:00 -08:00
Andy Sloane
5967da7353 only reset pan/vol on instrument, not note 2015-11-03 07:18:30 -08:00
Andy Sloane
07cd6e8111 another corner case, another broken .xm 2015-11-02 22:51:04 -08:00
Andy Sloane
06ad3ed8a5 fix instrument trigger glitch 2015-11-02 22:29:59 -08:00
Andy Sloane
27d0a0b1c3 render volume effect column with the icons 2015-11-02 16:51:02 -08:00
Andy Sloane
c4370f447c implemented multiple samples / instrument 2015-11-02 13:46:23 -08:00
Andy Sloane
22dd555228 zoom scopes out 4x; looks way better 2015-11-02 13:46:22 -08:00
Andy Sloane
d68e8e8225 show all instrument names 2015-11-01 21:26:03 -08:00
Andy Sloane
114240ca9f oscilloscopes.
couldn't really think of a better way to do it, but it looks pretty
awesome. you can really see the filter effect too.
2015-11-01 09:26:03 -08:00
Andy Sloane
3daeeee96b implement retrigger, move effects into separate js 2015-11-01 07:42:52 -08:00
Andy Sloane
6dee1787f3 show the instruments 2015-10-31 11:39:49 -07:00
Andy Sloane
a3b94c51b9 oh man, DUH 2015-10-31 11:17:22 -07:00
Andy Sloane
49005f0ae0 so many weird uses of effects 2015-10-31 10:52:46 -07:00
Andy Sloane
5e141535ab fix some filter weirdness 2015-10-31 09:33:59 -07:00
Andy Sloane
32b09bdf63 various envelope/effect fixes
Dubmood's .xms seem to expose a lot of bugs...
2015-10-31 09:27:38 -07:00
Andy Sloane
837e302796 workaround pattern rendering breakage
synchronized screen updates need to be a bit more robust...
2015-10-31 07:56:36 -07:00
Andy Sloane
9f014f35c8 how did i mess up arpeggio!? 2015-10-30 23:39:50 -07:00
Andy Sloane
acffa056a5 *really* fix instrument triggers
last commit was completely wrong. also i read somewhere that the
instrument alone doesn't reset volume, which is apparently a lie.
2015-10-30 22:54:19 -07:00
Andy Sloane
c12f2b8068 fix triggering without note
you can retrigger a note just by using the instrument column.
2015-10-30 22:35:48 -07:00
Andy Sloane
ee005ef668 implement volume column slides 2015-10-30 22:28:03 -07:00
Andy Sloane
c238aabd66 butter smooth screen updates, longer audio buffer 2015-10-30 21:25:21 -07:00
Andy Sloane
949a7c89c5 fix envelope sustain and fadeout 2015-10-30 18:13:13 -07:00
Andy Sloane
b7a2e58109 Ripped font gfx out of FastTracker 2 :) 2015-10-30 17:58:24 -07:00
Andy Sloane
dacb1a5852 hack to use first sample in instrument rather than last one 2015-10-30 08:53:39 -07:00
Andy Sloane
92c6bddcc6 fixed a bunch of playback-stopping bugs 2015-10-29 14:56:17 -07:00
Andy Sloane
156cca80d3 fix envelopes some more
whoops, was checking wrong envelope bits for sustain/loop
2015-10-29 14:04:25 -07:00
Andy Sloane
c3499eedaa Fix envelope hacks and a bug (panning left on release) 2015-10-29 13:51:57 -07:00
Andy Sloane
5645739edb unrolled main mixing loop 2015-10-28 21:59:54 -07:00
Andy Sloane
efec2d7273 implement instrument fadeout
i just hacked the fadeout directly into envelopes rather than
complicating anything else.
2015-10-28 19:47:42 -07:00
Andy Sloane
2615c201e2 implement sample loop unrolling & pingpong 2015-10-28 19:14:06 -07:00
Andy Sloane
16167bc599 implement pattern / song jumps 2015-10-28 16:21:12 -07:00
Andy Sloane
0bfc83d48b added a few simple effects, updated todo 2015-10-28 15:56:29 -07:00
Andy Sloane
34a50855b0 we can now play a bunch of XMs! 2015-10-28 15:43:33 -07:00
Andy Sloane
0f4517908d fix short patterns 2015-10-28 15:43:28 -07:00
Andy Sloane
49de30d741 a few Exy effects 2015-10-28 13:56:57 -07:00
Andy Sloane
84369dbc2c fix loading issues 2015-10-28 12:40:14 -07:00
Andy Sloane
beeec74fa1 fixed more terrible things
- tick 1+ effects were playing on tick 0, whoops
 - 8-bit samples were sometimes being loaded with an offset of -1, eesh,
   no wonder i had to work so hard to eliminate clicks and pops
 - the note display was totally wrong
2015-10-27 21:39:48 -07:00
Andy Sloane
b82a350011 fix vibrato, implement 6xy 2015-10-27 20:55:00 -07:00
Andy Sloane
17123cc5f1 made it so you can load other xms
and as a result, fixed a ton of bugs, many many remain
2015-10-27 17:41:11 -07:00
Andy Sloane
66958ca7d8 minor panning tweak 2015-10-27 16:04:11 -07:00
Andy Sloane
5161e55669 added volume column effects, fixed panning
when there was no panning envelope, panning was totally wrong

panning is still sort of wrong, in that the RMS power of a channel is
not constant over pans...
2015-10-27 15:38:42 -07:00
Andy Sloane
c2fe03797e refactored mixing code a bit
removed all doubt about handling note-end pops
2015-10-27 08:48:29 -07:00
Andy Sloane
343da0f3e9 creditz to zalza in index.html 2015-10-26 15:40:55 -07:00
Andy Sloane
8e6b6e7a90 safari compatible 2015-10-26 13:04:37 -07:00
Andy Sloane
bf601d8e9d added README 2015-10-26 11:44:31 -07:00
Andy Sloane
706770584a add code pointer in index 2015-10-26 11:03:51 -07:00
Andy Sloane
10ea0b5f65 rudimentary VU meters 2015-10-26 10:53:23 -07:00
Andy Sloane
94d378d4ce added panning envelopes
refactored envelopes.

no idea if the final panning is right, though. need to do some tests vs
FT2.
2015-10-26 10:41:58 -07:00