| /* |
| * MilkdropWaveform.hpp |
| * |
| * Created on: Jun 25, 2008 |
| * Author: pete |
| */ |
| #ifndef MILKDROPWAVEFORM_HPP_ |
| #define MILKDROPWAVEFORM_HPP_ |
| |
| #include "Renderable.hpp" |
| |
| |
| enum MilkdropWaveformMode |
| { |
| Circle=0, |
| RadialBlob, |
| Blob2, |
| Blob3, |
| DerivativeLine, |
| Blob5, |
| Line, |
| DoubleLine |
| }; |
| |
| |
| class MilkdropWaveform : public RenderItem |
| { |
| public: |
| float x; |
| float y; |
| |
| float r; |
| float g; |
| float b; |
| float a; |
| |
| float mystery; |
| |
| MilkdropWaveformMode mode; |
| |
| bool additive; |
| bool dots; |
| bool thick; |
| bool modulateAlphaByVolume; |
| bool maximizeColors; |
| float scale; |
| float smoothing; |
| |
| MilkdropWaveform(); |
| void Draw(RenderContext &context); |
| |
| float modOpacityStart; |
| float modOpacityEnd; |
| |
| private: |
| float temp_a; |
| float rot; |
| float aspectScale; |
| int samples; |
| bool two_waves; |
| bool loop; |
| float wavearray[2048][2]; |
| float wavearray2[2048][2]; |
| |
| void MaximizeColors(RenderContext &context); |
| void ModulateOpacityByVolume(RenderContext &context); |
| void WaveformMath(RenderContext &context); |
| |
| }; |
| |
| #endif /* MILKDROPWAVEFORM_HPP_ */ |