mirror of
https://github.com/AlexandreRouma/SDRPlusPlus.git
synced 2025-06-28 21:37:50 +02:00
Added FFT hold feature
This commit is contained in:
@ -76,8 +76,8 @@ namespace ImGui {
|
||||
lastWidgetPos.y = 0;
|
||||
lastWidgetSize.x = 0;
|
||||
lastWidgetSize.y = 0;
|
||||
latestFFT = new float[1];
|
||||
latestFFTHold = new float[1];
|
||||
latestFFT = new float[dataWidth];
|
||||
latestFFTHold = new float[dataWidth];
|
||||
waterfallFb = new uint32_t[1];
|
||||
|
||||
viewBandwidth = 1.0;
|
||||
@ -98,7 +98,7 @@ namespace ImGui {
|
||||
char buf[100];
|
||||
|
||||
ImU32 trace = ImGui::GetColorU32(ImGuiCol_PlotLines);
|
||||
ImU32 traceHold = ImGui::ColorConvertFloat4ToU32(ImVec4(1.0, 1.0, 0.0, 1.0));
|
||||
ImU32 traceHold = ImGui::ColorConvertFloat4ToU32(gui::themeManager.fftHoldColor);
|
||||
ImU32 shadow = ImGui::GetColorU32(ImGuiCol_PlotLines, 0.2);
|
||||
ImU32 text = ImGui::GetColorU32(ImGuiCol_Text);
|
||||
float textVOffset = 10.0f * style::uiScale;
|
||||
@ -888,7 +888,7 @@ namespace ImGui {
|
||||
// If FFT hold is enabled, update it
|
||||
if (fftHold && latestFFT != NULL && latestFFTHold != NULL && fftLines != 0) {
|
||||
for (int i = 1; i < dataWidth; i++) {
|
||||
latestFFTHold[i] = std::max<float>(latestFFT[i], latestFFTHold[i] - 0.3f);
|
||||
latestFFTHold[i] = std::max<float>(latestFFT[i], latestFFTHold[i] - fftHoldSpeed);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1112,6 +1112,10 @@ namespace ImGui {
|
||||
}
|
||||
}
|
||||
|
||||
void WaterFall::setFFTHoldSpeed(float speed) {
|
||||
fftHoldSpeed = speed;
|
||||
}
|
||||
|
||||
void WaterfallVFO::setOffset(double offset) {
|
||||
generalOffset = offset;
|
||||
if (reference == REF_CENTER) {
|
||||
|
@ -177,6 +177,7 @@ namespace ImGui {
|
||||
void setBandPlanPos(int pos);
|
||||
|
||||
void setFFTHold(bool hold);
|
||||
void setFFTHoldSpeed(float speed);
|
||||
|
||||
bool centerFreqMoved = false;
|
||||
bool vfoFreqChanged = false;
|
||||
@ -328,6 +329,7 @@ namespace ImGui {
|
||||
int bandPlanPos = BANDPLAN_POS_BOTTOM;
|
||||
|
||||
bool fftHold = false;
|
||||
float fftHoldSpeed = 0.3f;
|
||||
|
||||
// UI Select elements
|
||||
bool fftResizeSelect = false;
|
||||
|
Reference in New Issue
Block a user