GUI: new osc renderer, part 19
now with a setting
This commit is contained in:
parent
c9b1305b61
commit
894b1f5a3c
6 changed files with 28 additions and 9 deletions
|
|
@ -592,7 +592,7 @@ void FurnaceGUI::drawChanOsc() {
|
|||
ImGui::ItemSize(size,style.FramePadding.y);
|
||||
if (ImGui::ItemAdd(rect,ImGui::GetID("chOscDisplay"))) {
|
||||
if (!e->isRunning()) {
|
||||
if (newOscCode) {
|
||||
if (settings.shaderOsc) {
|
||||
memset(fft->oscTex,0,2048*sizeof(float));
|
||||
} else {
|
||||
for (unsigned short j=0; j<precision; j++) {
|
||||
|
|
@ -617,7 +617,7 @@ void FurnaceGUI::drawChanOsc() {
|
|||
}
|
||||
if (maxavg>0.0000001) maxavg=0.5/maxavg;
|
||||
|
||||
if (newOscCode) {
|
||||
if (settings.shaderOsc) {
|
||||
for (unsigned short j=0; j<precision && j<2048; j++) {
|
||||
float y;
|
||||
if (j>=precision/2) {
|
||||
|
|
@ -666,7 +666,7 @@ void FurnaceGUI::drawChanOsc() {
|
|||
}
|
||||
dcOff=(minLevel+maxLevel)*0.5f;
|
||||
|
||||
if (newOscCode) {
|
||||
if (settings.shaderOsc) {
|
||||
for (unsigned short j=0; j<precision; j++) {
|
||||
float y=(float)buf->data[(unsigned short)(fft->needle+(j*displaySize/precision))]/32768.0f;
|
||||
y-=dcOff;
|
||||
|
|
@ -699,7 +699,7 @@ void FurnaceGUI::drawChanOsc() {
|
|||
color=chanOscGrad.get(xVal,1.0f-yVal);
|
||||
}
|
||||
|
||||
if (rend->supportsDrawOsc() && newOscCode) {
|
||||
if (rend->supportsDrawOsc() && settings.shaderOsc) {
|
||||
fft->drawOp.gui=this;
|
||||
fft->drawOp.data=fft->oscTex;
|
||||
fft->drawOp.len=precision;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue