breakintoprogram / agon-vdp

Official AGON QUARK Firmware: ESP32 VDP
MIT License
76 stars 27 forks source link

Feature Request: class ProxyWaveformGenerator : public WaveformGenerator #136

Open jackokring opened 11 months ago

jackokring commented 11 months ago

To be able to insert a layer which does volume and frequency changes based on the sample value a generator emits, perhaps from another channel. So perhaps adds public methods setFreqencyMod(channel, gain) and setVolumeMod(channel, gain) for more effects on the audio layer.

jackokring commented 11 months ago

So to prevent a stack call overflow I suggest a similar to VDU waveform select, but modulator with waveform, limiting the one modulator per channel. It would have to be the source too, and maybe then accept based on type destinations to be listed.

Luckily, as source the getSample can be made to quiet the sample pass through, yet keep its value to gain it for applying to FM/AM other channels. This thus has no effect on needing the fab-gl source altering.

jackokring commented 11 months ago

VDU 23, 0, &85, channel, 11/12, waveform, destination-channel, gain with 11 or 12 being AM and FM? And maybe 13 for both?