kopia lustrzana https://gitlab.com/eliggett/wfview
Added tic marks, removed audio RMS calculation for now at least.
rodzic
9623226b0c
commit
0f226fdca5
|
@ -158,7 +158,12 @@ bool audioConverter::convert(audioPacket audio)
|
|||
|
||||
{
|
||||
audio.amplitudePeak = samplesF.array().abs().maxCoeff();
|
||||
audio.amplitudeRMS = samplesF.array().abs().mean();
|
||||
//audio.amplitudeRMS = samplesF.array().abs().mean(); // zero for tx audio
|
||||
//audio.amplitudeRMS = samplesF.norm() / sqrt(samplesF.size()); // too high values. Zero for tx audio.
|
||||
//audio.amplitudeRMS = samplesF.squaredNorm(); // tx not zero. Values higher than peak sometimes
|
||||
//audio.amplitudeRMS = samplesF.norm(); // too small values. also too small on TX
|
||||
//audio.amplitudeRMS = samplesF.blueNorm(); // scale same as norm, too small.
|
||||
|
||||
|
||||
// Set the volume
|
||||
samplesF *= audio.volume;
|
||||
|
|
17
meter.cpp
17
meter.cpp
|
@ -378,12 +378,25 @@ void meter::drawScale_dBFs(QPainter *qp)
|
|||
//qp->setFont(QFont("Arial", fontSize));
|
||||
peakRedLevel = 193;
|
||||
|
||||
qp->drawText(20+mXstart,scaleTextYstart, QString("-15"));
|
||||
qp->drawText(20+mXstart-5,scaleTextYstart, QString("-15"));
|
||||
qp->drawText(38+mXstart,scaleTextYstart, QString("-12"));
|
||||
qp->drawText(71+mXstart,scaleTextYstart, QString("-9"));
|
||||
qp->drawText(124+mXstart,scaleTextYstart, QString("-6"));
|
||||
qp->drawText(193+mXstart,scaleTextYstart, QString("-3"));
|
||||
qp->drawText(255+mXstart,scaleTextYstart, QString("0dB"));
|
||||
qp->drawText(255+mXstart,scaleTextYstart, QString("0"));
|
||||
|
||||
// Low ticks:
|
||||
qp->setPen(lowLineColor);
|
||||
qp->drawLine(20+mXstart,scaleTextYstart, 20+mXstart, scaleTextYstart+5);
|
||||
qp->drawLine(38+mXstart,scaleTextYstart, 38+mXstart, scaleTextYstart+5);
|
||||
qp->drawLine(71+mXstart,scaleTextYstart, 71+mXstart, scaleTextYstart+5);
|
||||
qp->drawLine(124+mXstart,scaleTextYstart, 124+mXstart, scaleTextYstart+5);
|
||||
|
||||
|
||||
// High ticks:
|
||||
qp->setPen(highLineColor);
|
||||
qp->drawLine(193+mXstart,scaleTextYstart, 193+mXstart, scaleTextYstart+5);
|
||||
qp->drawLine(255+mXstart,scaleTextYstart, 255+mXstart, scaleTextYstart+5);
|
||||
|
||||
// Now the lines:
|
||||
qp->setPen(lowLineColor);
|
||||
|
|
|
@ -152,7 +152,7 @@ void udpHandler::getRxLevels(quint16 amplitudePeak, quint16 amplitudeRMS,quint16
|
|||
audioLevelsRxPeak[(audioLevelsRxPosition)%audioLevelBufferSize] = amplitudePeak;
|
||||
audioLevelsRxRMS[(audioLevelsRxPosition)%audioLevelBufferSize] = amplitudeRMS;
|
||||
|
||||
if((audioLevelsRxPosition)%3 == 0)
|
||||
if((audioLevelsRxPosition)%4 == 0)
|
||||
{
|
||||
// calculate mean and emit signal
|
||||
unsigned char meanPeak = findMax(audioLevelsRxPeak);
|
||||
|
@ -175,7 +175,7 @@ void udpHandler::getTxLevels(quint16 amplitudePeak, quint16 amplitudeRMS ,quint1
|
|||
audioLevelsTxPeak[(audioLevelsTxPosition)%audioLevelBufferSize] = amplitudePeak;
|
||||
audioLevelsTxRMS[(audioLevelsTxPosition)%audioLevelBufferSize] = amplitudeRMS;
|
||||
|
||||
if((audioLevelsTxPosition)%3 == 0)
|
||||
if((audioLevelsTxPosition)%4 == 0)
|
||||
{
|
||||
// calculate mean and emit signal
|
||||
unsigned char meanPeak = findMax(audioLevelsTxPeak);
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
#include "udpcivdata.h"
|
||||
#include "udpaudio.h"
|
||||
|
||||
#define audioLevelBufferSize (3)
|
||||
#define audioLevelBufferSize (4)
|
||||
|
||||
// Class to handle the connection/disconnection of the radio.
|
||||
class udpHandler: public udpBase
|
||||
|
|
11
wfmain.cpp
11
wfmain.cpp
|
@ -623,7 +623,9 @@ void wfmain::receiveStatusUpdate(networkStatus status)
|
|||
|
||||
void wfmain::receiveNetworkAudioLevels(networkAudioLevels l)
|
||||
{
|
||||
/*
|
||||
meterKind m2mtr = ui->meter2Widget->getMeterType();
|
||||
|
||||
if(m2mtr == meterAudio)
|
||||
{
|
||||
if(amTransmitting)
|
||||
|
@ -641,20 +643,21 @@ void wfmain::receiveNetworkAudioLevels(networkAudioLevels l)
|
|||
if(l.haveRxLevels)
|
||||
ui->meter2Widget->setLevels(l.rxAudioRMS, l.rxAudioPeak);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
meterKind m = meterNone;
|
||||
if(l.haveRxLevels)
|
||||
{
|
||||
m = meterRxAudio;
|
||||
receiveMeter(m, l.rxAudioRMS);
|
||||
receiveMeter(m, l.rxAudioPeak);
|
||||
}
|
||||
if(l.haveTxLevels)
|
||||
{
|
||||
m = meterTxMod;
|
||||
receiveMeter(m, l.txAudioRMS);
|
||||
receiveMeter(m, l.txAudioPeak);
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
void wfmain::setupPlots()
|
||||
|
|
Ładowanie…
Reference in New Issue