An interface which exports the following functions: (see fa38a6e)
The wave editor in the tracker will no longer display the preset waveform buttons; instead, right-clicking over the wave editor reveals a "Generate waves..." option, which is a dialog that implements the following:
[ ] A parameter setter function using stWavegenParam;
[ ] A list control to perform the aforementioned functionality;
[ ] A function quantizing the generated floating-point waveforms;
[ ] Optional. Applying a master volume to the generated waveforms, or normalizing all generated waveforms;
[ ] A function applying a clipping behaviour to the generated waveforms;
[ ] Choosing a waveform preset generator;
[ ] Replacing the currently selected waveform with a generated one at a specific tick;
[ ] Optional. Previewing the current waveform selected by the tick as above;
Optional. Previewing all waveforms; (Waveform generators may not guarantee or enforce any specific wave index sequence)
[ ] Replacing all waveforms with the generated ones (must be supported by the underlying instrument type; N163 only, FDS not yet);
[ ] Optional. Applying a master frequency multiplier to the generated waveforms;
Optional. Applying a filter to the generated waveforms. (Said feature should belong in the waveform generator itself if desired; loses accuracy since CreateWaves already samples the waveforms)
The tracker should contain at least the following built-in generators:
[x] Sine, no parameters;
[x] Triangle, no parameters;
[x] Sawtooth, no parameters;
[x] Pulse, with 1 float parameter (pulse width);
[ ] White noise, with 2 integer parameters (tick count, seed).
The tracker should enumerate through DLL files located at the /plugins directory so that third-party developers may include their own waveform generators for all sound chips that support wavetables: N163, FDS, and future extensions.
copied from http://0cc-famitracker.tumblr.com/post/137007965391/a-waveform-generator-interface:
An interface which exports the following functions: (see fa38a6e)
The wave editor in the tracker will no longer display the preset waveform buttons; instead, right-clicking over the wave editor reveals a "Generate waves..." option, which is a dialog that implements the following:
stWavegenParam
;Optional. Previewing all waveforms;(Waveform generators may not guarantee or enforce any specific wave index sequence)Optional. Applying a filter to the generated waveforms.(Said feature should belong in the waveform generator itself if desired; loses accuracy sinceCreateWaves
already samples the waveforms)The tracker should contain at least the following built-in generators:
The tracker should enumerate through DLL files located at the
/plugins
directory so that third-party developers may include their own waveform generators for all sound chips that support wavetables: N163, FDS, and future extensions.