| return 0; | return 0; | ||||
| } | } | ||||
| void SetSynth_Klatt(int length, int modn, frame_t *fr1, frame_t *fr2, voice_t *v, int control) | |||||
| void SetSynth_Klatt(int length, frame_t *fr1, frame_t *fr2, voice_t *v, int control) | |||||
| { | { | ||||
| int ix; | int ix; | ||||
| DOUBLEX next; | DOUBLEX next; | ||||
| } | } | ||||
| } | } | ||||
| int Wavegen_Klatt2(int length, int modulation, int resume, frame_t *fr1, frame_t *fr2) | |||||
| int Wavegen_Klatt2(int length, int resume, frame_t *fr1, frame_t *fr2) | |||||
| { | { | ||||
| if (resume == 0) | if (resume == 0) | ||||
| SetSynth_Klatt(length, modulation, fr1, fr2, wvoice, 1); | |||||
| SetSynth_Klatt(length, fr1, fr2, wvoice, 1); | |||||
| return Wavegen_Klatt(resume); | return Wavegen_Klatt(resume); | ||||
| } | } |
| void KlattInit(); | void KlattInit(); | ||||
| void KlattReset(int control); | void KlattReset(int control); | ||||
| int Wavegen_Klatt2(int length, int modulation, int resume, frame_t *fr1, frame_t *fr2); | |||||
| int Wavegen_Klatt2(int length, int resume, frame_t *fr1, frame_t *fr2); | |||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||
| } | } |
| wdata.n_mix_wavefile = 0; // ... and drop through to WCMD_SPECT case | wdata.n_mix_wavefile = 0; // ... and drop through to WCMD_SPECT case | ||||
| case WCMD_KLATT: | case WCMD_KLATT: | ||||
| echo_complete = echo_length; | echo_complete = echo_length; | ||||
| result = Wavegen_Klatt2(length & 0xffff, q[1] >> 16, resume, (frame_t *)q[2], (frame_t *)q[3]); | |||||
| result = Wavegen_Klatt2(length & 0xffff, resume, (frame_t *)q[2], (frame_t *)q[3]); | |||||
| break; | break; | ||||
| #endif | #endif | ||||
| case WCMD_MARKER: | case WCMD_MARKER: |