Commit graph

1278 commits

Author SHA1 Message Date
Jean Pierre Cimalando
b99b40b131 Implement fileg and pitcheg in the matrix 2020-09-23 23:32:47 +02:00
Jean Pierre Cimalando
2f12206c4c Rename egEnvelope to egAmplitude 2020-09-23 22:58:53 +02:00
Jean Pierre Cimalando
0f2bb80434 Add pitcheg and fileg opcodes, and modulation key 2020-09-23 22:41:12 +02:00
Jean Pierre Cimalando
23b7f50760 Copy and move assignments for EGDescription 2020-09-23 22:36:44 +02:00
Jean Pierre Cimalando
a1a68e115c Move EG v1 opcode processing in separate routine 2020-09-23 22:16:26 +02:00
JP Cimalando
296080bb56
Merge pull request #436 from jpcima/oscillators-fm
Add FM synthesis with 2 operators
2020-09-23 18:09:46 +02:00
Jean Pierre Cimalando
08dc206ad1 Clear the voice span before processing each voice 2020-09-23 18:01:42 +02:00
JP Cimalando
2b790f4efd
Merge pull request #434 from jpcima/oscillators-detunecc
Add oscillator_detune_oncc
2020-09-23 17:42:56 +02:00
Jean Pierre Cimalando
f3fbc1e327 Fix the unison osc broken after alignment work 2020-09-23 14:02:29 +02:00
Paul Ferrand
1bb2fbdf40 Add a default ampeg_release 2020-09-23 13:27:51 +02:00
Jean Pierre Cimalando
2b2a373b13 Add FM synthesis 2020-09-23 01:10:24 +02:00
Jean Pierre Cimalando
e19c20e90e Allow oscillator frequency to be modulated into negatives 2020-09-23 01:09:37 +02:00
Jean Pierre Cimalando
a587b4035b Give room for FM index greater than 1 2020-09-23 00:20:32 +02:00
Jean Pierre Cimalando
05b5728d88 Implement RM synthesis 2020-09-22 23:17:33 +02:00
Jean Pierre Cimalando
c5a1d04fb7 Make the key opcode not take effect on sample keycenter 2020-09-22 20:36:48 +02:00
Jean Pierre Cimalando
e310a4efe9 Support overriding with key opcode 2020-09-22 20:30:42 +02:00
Jean Pierre Cimalando
3b3f6d2731 Set the pitch key center from sample 2020-09-22 19:51:15 +02:00
Jean Pierre Cimalando
5c1931de2c Add oscillator_detune_oncc 2020-09-22 18:26:49 +02:00
Jean Pierre Cimalando
5d4a3741b3 Fix the build on Windows 2020-09-22 16:42:02 +02:00
Jean Pierre Cimalando
85883481c9 Auto-enable oscillator=on when a wavetable is provided 2020-09-22 16:12:42 +02:00
Paul Ferrand
8012829000
Merge pull request #424 from paulfd/eg-lfo-filters-eq
EGs and LFOs sources for the filters and EQs
2020-09-21 13:14:12 +02:00
Jean Pierre Cimalando
80924acf7a Adjust the level of *noise to match ARIA 2020-09-21 11:47:21 +02:00
Paul Ferrand
61146448a1
Merge pull request #426 from paulfd/arm-pan-tweaks
Arm pan tweaks
2020-09-20 21:58:17 +02:00
JP Cimalando
2f930d56af
Merge pull request #421 from jpcima/cc-initial
Store the initial values of controllers
2020-09-20 21:18:44 +02:00
Paul Ferrand
3bac650498 Add a NEON codepath for panning and width 2020-09-20 19:50:19 +01:00
Paul Ferrand
d9ba9c879e Align also in the overload 2020-09-20 15:06:53 +01:00
Jean Pierre Cimalando
ba03a8f996 Make the methods initCc and initHdcc private 2020-09-19 16:19:18 +02:00
Jean Pierre Cimalando
2260727a66 Aligned vector 2020-09-19 15:39:46 +02:00
Paul Ferrand
83cd4b6317 EG and LFO sources for the filters and EQs 2020-09-18 01:03:45 +02:00
Jean Pierre Cimalando
3e0549e4c9 Move the XML writer to its own file 2020-09-16 16:36:33 +02:00
Paul Ferrand
fd8b00b9a1 Update tests and connect all cc opcodes 2020-09-16 16:28:49 +02:00
Paul Ferrand
f07000dd88 Remove the cc maps 2020-09-16 16:09:59 +02:00
Paul Ferrand
fd3a08b7a4 Prepare filters on first call 2020-09-16 16:09:59 +02:00
Paul Ferrand
9aceecaa54 The eq number did not act like the filter index 2020-09-16 16:09:59 +02:00
Paul Ferrand
f145481160 Use the mod matrix in filters and eqs 2020-09-16 16:09:59 +02:00
Paul Ferrand
0f74039b39 Make find methods const in the mod matrix 2020-09-16 16:09:59 +02:00
Paul Ferrand
bebd398e39 Setup the filters and EQ from the region 2020-09-16 16:09:59 +02:00
Paul Ferrand
dc4f59107b Remove the EQ/Filter pools
Voices hold their own tentative eq and filters that get initialized upon starting the voice depending on how many there are in the region
2020-09-16 16:09:59 +02:00
Paul Ferrand
4e58a945a8 Parse filter/eq modulation targets 2020-09-16 16:09:59 +02:00
Paul Ferrand
8c625d1e04 Change filter cutoff modulation type to float 2020-09-16 16:07:55 +02:00
Jean Pierre Cimalando
3cf7536c57 Store the initial values of controllers 2020-09-16 14:45:32 +02:00
JP Cimalando
f0dd146361
Merge pull request #388 from jpcima/flex-eg
Add the Flex EG
2020-09-16 12:02:42 +02:00
Jean Pierre Cimalando
169ba940c9 Print the modulation key more compactly 2020-09-16 11:55:25 +02:00
Jean Pierre Cimalando
111af1b648 Ensure label entries to be unique for their cc/note 2020-09-16 11:13:37 +02:00
Jean Pierre Cimalando
1b104fd6d6 Initialize CC labels for volume and pan 2020-09-16 10:46:54 +02:00
Jean Pierre Cimalando
8ec3f3d2a8 midnam: only emit CC which are in 7bit range 2020-09-16 10:41:55 +02:00
Paul Ferrand
f317e2f6b9 Add flex eg tests, move test helpers around, and add a more verbose mod matrix graph output 2020-09-16 09:03:39 +02:00
Paul Ferrand
f969761b5a Only zero the remaining samples when the envelope is finished 2020-09-16 08:45:29 +02:00
Paul Ferrand
4d87716a30 Offset the time so that the envelopes "end" on the correct value
The envelope start is always considered to be the value before the current ramp started
2020-09-16 08:41:02 +02:00
Jean Pierre Cimalando
62ee1abd24 Comment on unimplemented loop opcodes 2020-09-12 02:03:07 +02:00