Thomas Harte
|
65a3783dd2
|
Attempts the tom tom.
|
2020-04-25 19:21:55 -04:00 |
|
Thomas Harte
|
b9b5c2a3bc
|
Takes a first run at proper slot mixing and the bass drum.
|
2020-04-25 18:01:05 -04:00 |
|
Thomas Harte
|
b3979e2fda
|
Looking towards rhythm mode, and in search of bugs: factors out ADSR.
Further factorings to come.
|
2020-04-24 18:48:32 -04:00 |
|
Thomas Harte
|
983c32bf75
|
Adds vibrato.
This would complete melodic output, subject to bug fixes.
|
2020-04-24 18:02:41 -04:00 |
|
Thomas Harte
|
9e3614066a
|
Adds tremolo support, switches to global timer for ADSR stages other than attack.
|
2020-04-23 23:55:49 -04:00 |
|
Thomas Harte
|
c7ad6b1b50
|
Minor layout and commenting improvements.
|
2020-04-21 23:35:48 -04:00 |
|
Thomas Harte
|
676dcf7fbb
|
Calculates the proper key scale rate, though ADSR itself is still lacking that precision.
|
2020-04-21 22:57:56 -04:00 |
|
Thomas Harte
|
50d725330c
|
Adds missing header.
|
2020-04-21 22:48:52 -04:00 |
|
Thomas Harte
|
2886dd1dae
|
Collapses key-level scaling to a single 2d table.
I dare imagine I can do better; the columns in particular look like arithmetic progressions.
|
2020-04-21 20:19:02 -04:00 |
|
Thomas Harte
|
40424ac38b
|
Re-enables key-level scaling, with 3db and 1.5db the correct way around.
|
2020-04-21 20:10:40 -04:00 |
|
Thomas Harte
|
a4d3865394
|
Decreases sustain level attenuation; disables key-level scaling for now.
The latter was definitely wrong, I also think I don't need the big four tables.
|
2020-04-21 19:58:40 -04:00 |
|
Thomas Harte
|
bdce1c464a
|
Takes a shot at key-level scaling. Testing to come.
|
2020-04-21 00:09:42 -04:00 |
|
Thomas Harte
|
475d75c16a
|
Preserves fractional part of modulator phase.
|
2020-04-20 23:35:37 -04:00 |
|
Thomas Harte
|
32fd1897d0
|
Via a unit test, confirms and fixes relative volumes of OPLL channels.
Also rejigs responsibility for scaling to emulator-standard volume.
|
2020-04-20 23:17:29 -04:00 |
|
Thomas Harte
|
100fddcee1
|
Corrects divider, takes another whack at ADSR.
|
2020-04-20 18:58:10 -04:00 |
|
Thomas Harte
|
99fa86a67e
|
Adds a test for lookup sine. And fixes lookup sine.
|
2020-04-20 18:40:47 -04:00 |
|
Thomas Harte
|
6568c29c54
|
Improves commentary.
|
2020-04-19 22:42:25 -04:00 |
|
Thomas Harte
|
c54bbc5a04
|
Rename Table.h; LogSin -> LogSign and make it a bit more typer.
|
2020-04-19 13:33:17 -04:00 |
|
Thomas Harte
|
92d0c466c2
|
Moves complete phase -> output calculation inside Operator.
Reasoning being: otherwise I wasn't currently enforcing non-sine waveforms.
|
2020-04-19 13:27:24 -04:00 |
|
Thomas Harte
|
020c760976
|
Simplifies the phase counter.
|
2020-04-19 00:30:14 -04:00 |
|
Thomas Harte
|
cdfd7de221
|
Minor: enables all melodic channels when rhythm mode is disabled; supports non-modulated channels.
|
2020-04-18 17:48:29 -04:00 |
|
Thomas Harte
|
3da2e91acf
|
Adjusts range of output, makes declaration of level full owner of type information.
|
2020-04-17 23:29:09 -04:00 |
|
Thomas Harte
|
3948304172
|
Attempts to use table-based maths.
|
2020-04-17 23:23:16 -04:00 |
|
Thomas Harte
|
4a295cd95e
|
Wraps log_sin in an access function to enshrine sign and mask rules; switches both functions to non-math.h clashing names.
|
2020-04-17 23:22:42 -04:00 |
|
Thomas Harte
|
6f7c8b35c5
|
Applies an ahead-of-time transformation to the exp table, and wraps it in a helper function.
|
2020-04-17 22:33:13 -04:00 |
|
Thomas Harte
|
e58ba27c00
|
Clarifies meaning of scaling. Though it isn't yet applied.
|
2020-04-17 22:30:10 -04:00 |
|
Thomas Harte
|
0aceddd088
|
Starts tidying up the OPL2.
This is as a precursor to switching to using the proper table lookups, which I hope will automatically fix my range issues.
|
2020-04-15 22:10:50 -04:00 |
|