diff --git a/mbricks/CMakeLists.txt b/mbricks/CMakeLists.txt index 45db234..6148010 100644 --- a/mbricks/CMakeLists.txt +++ b/mbricks/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT LIBPROJECT) endif () include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${PIP_INCLUDES}) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall") -#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS}") file(GLOB HDRS "*.h") diff --git a/mbricks/brick_math.cpp b/mbricks/brick_math.cpp index 6085870..1e5a5db 100644 --- a/mbricks/brick_math.cpp +++ b/mbricks/brick_math.cpp @@ -185,10 +185,13 @@ bool BrickMathFFT::tick_body(double time) { buffer.resize(t, 0.); t = 0; } - outputs[0] = o[t].real(); + outputs[0] = (t >= 0 && t < o.size_s()) ? o[t].real() : 0.; if (t >= v.size()) { t = 0; - //fft(o.data(), log2((double)v.size()), parameters[1].toInt() > 0.); + if (parameters[1].toInt() > 0.) + o = *fft.calcFFTinverse(v); + else + o = *fft.calcFFT(v); for (uint i = 0; i < buffer.size(); ++i) buffer[i] = abs(o[i]); } else { diff --git a/qad_graphic/graphic.h b/qad_graphic/graphic.h index 9757295..6f01aac 100644 --- a/qad_graphic/graphic.h +++ b/qad_graphic/graphic.h @@ -320,7 +320,7 @@ protected: void setCurrentAction(GraphicAction action); void findGraphicsRect(double start_x = 0., double end_x = 0., double start_y = 0., double end_y = 0.); void tick(int index, bool slide = true, bool update = true); - void repaintCanvas(bool force = false) {if (tm.elapsed() < min_repaint_int && !force) return; tm.restart(); canvas->update();} + void repaintCanvas(bool force = false) {if (tm.elapsed() < min_repaint_int && !force) return; tm.restart(); canvas->repaint();} void drawGraphics(); void drawGrid(); void drawGuides();