Chris Robinson
a7ad6080f0
Modulator fixes
...
Modulator functions return 0..1 instead of -1..+1
Apply high-pass filter before modulation
Increase fractional precision to 24 bits from 16
Thanks to Mike Gorchak
2013-05-18 00:43:09 -07:00
Chris Robinson
991aba286f
Move the effect-specific get/set methods to where the effect is implemented
2013-03-13 21:53:42 -07:00
Chris Robinson
5ac0a93fba
Mark some parameters as const and/or RESTRICT
2012-10-14 10:27:15 -07:00
Chris Robinson
4c5cb2189b
Use a non-interleaved DryBuffer
2012-09-11 06:32:42 -07:00
Chris Robinson
6bd535bed0
Use wrappers for float-typed math functions
2012-06-29 02:12:36 -07:00
Chris Robinson
583dc8dbca
Don't use all caps for enum value names
2012-06-28 18:49:49 -07:00
Chris Robinson
b5ed2a5351
Pass a device to the effect update functions
2012-03-13 14:49:58 -07:00
Chris Robinson
5eebe73f79
Use a loop to write the modulator effect output
2011-11-01 17:12:56 -07:00
Chris Robinson
9e2600cac4
Use fast float-to-int conversions for some mixer-related code
2011-09-29 06:55:00 -07:00
Chris Robinson
9060d0cc36
Add a WAVEFORM_FRACONE macro and minor cleanups for the ring modulator
2011-09-23 23:11:35 -07:00
Chris Robinson
470b506952
Use macros for float-typed PI values, to avoid manual casts everywhere
2011-09-22 11:17:01 -07:00
Chris Robinson
a4b1239f45
Use cosf and sinf when available
...
Also clear away a few more MSVC precision warnings
2011-09-22 01:00:44 -07:00
Chris Robinson
0ceea27b44
Remove the effect slot parameter from the effect process method
2011-09-12 00:44:52 -07:00
Chris Robinson
d51b93f869
Remove the union from the effect parameter types
2011-09-11 07:42:23 -07:00
Chris Robinson
ce6db53e5f
Apply the slot gain during the effect update method
2011-07-16 03:35:51 -07:00
Chris Robinson
3bd7256dc8
Pass the effect slot to the effect update method
2011-07-16 03:02:16 -07:00
Chris Robinson
ac7ca07221
Get rid of a couple typedefs
2011-07-02 21:33:53 -07:00
Chris Robinson
1635132fd5
Use a template function to handle processing ring modulator types
2011-07-01 01:48:04 -07:00
Chris Robinson
35a0430c81
Store the separate effect parameters in a union
2011-05-20 09:36:36 -07:00
Chris Robinson
9e8fb89a52
Rename OUTPUTCHANNELS to something more descriptive
2010-12-01 18:33:17 -08:00
Chris Robinson
2d1988bb6f
Output on available channels only, for the echo and modulator effects
2010-08-09 06:12:00 -07:00
Chris Robinson
e3a70e5021
Scale output of effects to compensate for device down-mixing
2010-05-12 04:56:03 -07:00
Chris Robinson
e0fa497948
Use a linear scaling when sending multi-channel sources to auxiliary slots
2010-04-11 15:20:46 -07:00
Chris Robinson
704b386cc5
Scale the ring modulator's mono input when expanding to multi-channel
2010-04-08 16:34:51 -07:00
Chris Robinson
980167c99b
Modulate with the requested waveform in the ring modulator
2010-04-08 10:37:09 -07:00
Chris Robinson
76f8c1e4e2
Implement a basic high-pass cutoff filter in the ring modulator
2010-04-08 09:36:20 -07:00
Chris Robinson
b273d616ad
Implement a skeleton Ring Modulator effect
2010-04-08 08:54:28 -07:00