mirror of
https://github.com/cjcliffe/CubicSDR.git
synced 2025-04-07 03:58:37 -04:00
Merge pull request #368 from vsonnier/peakhold_on_demod_spectrum_and_misc
Peakhold on demod spectrum and misc
This commit is contained in:
commit
13be18a2a3
@ -1478,6 +1478,9 @@ void AppFrame::OnIdle(wxIdleEvent& event) {
|
||||
int peakHoldMode = peakHoldButton->getSelection();
|
||||
if (peakHoldButton->modeChanged()) {
|
||||
wxGetApp().getSpectrumProcessor()->setPeakHold(peakHoldMode == 1);
|
||||
|
||||
//make the peak hold act on the current dmod also, like a zoomed-in version.
|
||||
wxGetApp().getDemodSpectrumProcessor()->setPeakHold(peakHoldMode == 1);
|
||||
peakHoldButton->clearModeChanged();
|
||||
}
|
||||
|
||||
|
@ -24,6 +24,8 @@
|
||||
|
||||
IMPLEMENT_APP(CubicSDR)
|
||||
|
||||
#include <fstream>
|
||||
|
||||
//#ifdef ENABLE_DIGITAL_LAB
|
||||
//// console output buffer for windows
|
||||
//#ifdef _WINDOWS
|
||||
@ -156,18 +158,21 @@ bool CubicSDR::OnInit() {
|
||||
return false;
|
||||
}
|
||||
|
||||
//#ifdef ENABLE_DIGITAL_LAB
|
||||
// // console output for windows
|
||||
// #ifdef _WINDOWS
|
||||
// if (AllocConsole()) {
|
||||
// freopen("CONOUT$", "w", stdout);
|
||||
// SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED);
|
||||
// }
|
||||
// outbuf ob;
|
||||
// std::streambuf *sb = std::cout.rdbuf(&ob);
|
||||
// std::cout.rdbuf(sb);
|
||||
// #endif
|
||||
//#endif
|
||||
// // console output for Windows: available in DEBUG or in case of ENABLE_DIGITAL_LAB
|
||||
#if (defined(WIN32) && (defined(ENABLE_DIGITAL_LAB) || defined(_DEBUG)))
|
||||
if (AllocConsole()) {
|
||||
freopen("CONOUT$", "w", stdout);
|
||||
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED);
|
||||
SetConsoleTitle(L"CubicSDR: stdout");
|
||||
|
||||
}
|
||||
|
||||
//refresh
|
||||
ofstream ob;
|
||||
std::streambuf *sb = std::cout.rdbuf();
|
||||
std::cout.rdbuf(sb);
|
||||
#endif
|
||||
|
||||
|
||||
wxApp::SetAppName("CubicSDR");
|
||||
|
||||
@ -448,6 +453,9 @@ void CubicSDR::setFrequency(long long freq) {
|
||||
frequency = freq;
|
||||
sdrThread->setFrequency(freq);
|
||||
getSpectrumProcessor()->setPeakHold(getSpectrumProcessor()->getPeakHold());
|
||||
|
||||
//make the peak hold act on the current dmod also, like a zoomed-in version.
|
||||
getDemodSpectrumProcessor()->setPeakHold(getSpectrumProcessor()->getPeakHold());
|
||||
}
|
||||
|
||||
long long CubicSDR::getOffset() {
|
||||
|
@ -23,6 +23,11 @@ struct map_string_less : public std::binary_function<std::string,std::string,boo
|
||||
class ReferenceCounter {
|
||||
|
||||
public:
|
||||
|
||||
//default constructor, initialized with refcont 1, sounds very natural
|
||||
ReferenceCounter() {
|
||||
refCount = 1;
|
||||
}
|
||||
|
||||
// void setIndex(int idx) {
|
||||
// std::lock_guard < std::recursive_mutex > lock(m_mutex);
|
||||
@ -139,8 +144,8 @@ public:
|
||||
std::cout << "Warning: ReBuffer '" << bufferId << "' count '" << outputBuffers.size() << "' exceeds threshold of '" << REBUFFER_WARNING_THRESHOLD << "'" << std::endl;
|
||||
}
|
||||
|
||||
//by default created with refcount = 1
|
||||
buf = new BufferType();
|
||||
buf->setRefCount(1);
|
||||
// buf->setIndex(indexCounter++);
|
||||
outputBuffers.push_back(buf);
|
||||
|
||||
|
@ -198,7 +198,6 @@ void DemodulatorPreThread::run() {
|
||||
unsigned int numWritten;
|
||||
msresamp_crcf_execute(iqResampler, in_buf, bufSize, &resampledData[0], &numWritten);
|
||||
|
||||
resamp->setRefCount(1);
|
||||
resamp->data.assign(resampledData.begin(), resampledData.begin() + numWritten);
|
||||
|
||||
resamp->modemType = cModem->getType();
|
||||
|
@ -120,7 +120,6 @@ void DemodulatorThread::run() {
|
||||
|
||||
modemData.sampleRate = inp->sampleRate;
|
||||
modemData.data.assign(inputData->begin(), inputData->end());
|
||||
modemData.setRefCount(1);
|
||||
|
||||
AudioThreadInput *ati = nullptr;
|
||||
|
||||
@ -186,7 +185,6 @@ void DemodulatorThread::run() {
|
||||
if (ati && localAudioVisOutputQueue != nullptr && localAudioVisOutputQueue->empty()) {
|
||||
AudioThreadInput *ati_vis = new AudioThreadInput;
|
||||
|
||||
ati_vis->setRefCount(1);
|
||||
ati_vis->sampleRate = inp->sampleRate;
|
||||
ati_vis->inputRate = inp->sampleRate;
|
||||
|
||||
|
@ -207,7 +207,6 @@ void SDRThread::readStream(SDRThreadIQDataQueue* iqDataOutQueue) {
|
||||
dataOut->data.assign(inpBuffer.data.begin(), inpBuffer.data.begin()+n_read);
|
||||
}
|
||||
|
||||
dataOut->setRefCount(1);
|
||||
dataOut->frequency = frequency.load();
|
||||
dataOut->sampleRate = sampleRate.load();
|
||||
dataOut->dcCorrected = hasHardwareDC.load();
|
||||
|
@ -293,6 +293,9 @@ void SpectrumCanvas::OnMouseRightReleased(wxMouseEvent& event) {
|
||||
if (!mouseTracker.getOriginDeltaMouseY()) {
|
||||
resetScaleFactor = true;
|
||||
wxGetApp().getSpectrumProcessor()->setPeakHold(wxGetApp().getSpectrumProcessor()->getPeakHold());
|
||||
|
||||
//make the peak hold act on the current dmod also, like a zoomed-in version.
|
||||
wxGetApp().getDemodSpectrumProcessor()->setPeakHold(wxGetApp().getSpectrumProcessor()->getPeakHold());
|
||||
}
|
||||
mouseTracker.OnMouseRightReleased(event);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user