+ switch (paintMode) {
+ case PaintMode_Green:
+ for (int i = 0; i < waveformSize.width(); i++) {
+ for (int j = 0; j < waveformSize.height(); j++) {
+ // Logarithmic scale. Needs fine tuning by hand, but looks great.
+ wave.setPixel(i, waveformSize.height()-j-1, qRgba(CHOP255(52*log(0.1*gain*waveValues[i][j])),
+ CHOP255(52*log(gain*waveValues[i][j])),
+ CHOP255(52*log(.25*gain*waveValues[i][j])),
+ CHOP255(64*log(gain*waveValues[i][j]))));
+ }
+ }
+ break;
+ case PaintMode_Yellow:
+ for (int i = 0; i < waveformSize.width(); i++) {
+ for (int j = 0; j < waveformSize.height(); j++) {
+ wave.setPixel(i, waveformSize.height()-j-1, qRgba(255,242,0, CHOP255(gain*waveValues[i][j])));
+ }
+ }
+ break;
+ default:
+ for (int i = 0; i < waveformSize.width(); i++) {
+ for (int j = 0; j < waveformSize.height(); j++) {
+ wave.setPixel(i, waveformSize.height()-j-1, qRgba(255,255,255, CHOP255(2*gain*waveValues[i][j])));
+ }
+ }
+ break;
+ }
+