diff --git a/AudioInput.cpp b/AudioInput.cpp index 47e2fd1e2..4e57a4767 100644 --- a/AudioInput.cpp +++ b/AudioInput.cpp @@ -140,8 +140,6 @@ AudioInput::~AudioInput() delete [] pfY; } -int frama = 0; - void AudioInput::encodeAudioFrame() { int iArg; float fArg; @@ -158,19 +156,24 @@ void AudioInput::encodeAudioFrame() { return; } - frama++; - if (frama >= 100) - frama = 0; +// #define ECHOTEST +#ifdef ECHOTEST + + static double framhist[10]; + + for(int i=0;i<9;i++) + framhist[i]=framhist[i+1]; + framhist[9]=1+(int) (310.0*rand()/(RAND_MAX+1.0)); // Sine wave test - /* for(i=0;isetToolTip(tr("Weights of the echo canceller")); + aewEcho->setWhatsThis(tr("This shows the weights of the echo canceller, with time increasing downwards and frequency increasing to the right.
" + "Ideally, this should be black, indicating no echo exists at all. More commonly, you'll have one or more horizontal stripes " + "of bluish color representing time delayed echo. If you have reddish stripes instead of blue, the signal is inverted somewhere " + "along the path, and while this won't affect echo cancellation, you might want to check your cabling.
" + "If you have a checkerboard pattern of small, alternating red/blue rectangles, the echo canceller is having trouble locking on " + "to your echo. Your echo path should preferably be stable over a bit of time, so using a headphone microphone (which moves) with " + "stationary loudspeakers will hinder the adaptation.
" + "If the entire image fluctuates massively, the echo canceller fails to find any correlation whatsoever between the two input " + "sources (speakers and microphone). Either you have a very long delay on the echo, or one of the input sources is misconfigured." + )); + } + QMetaObject::connectSlotsByName(this); bTalking = false; diff --git a/MainWindow.cpp b/MainWindow.cpp index ad83994ad..553f49494 100644 --- a/MainWindow.cpp +++ b/MainWindow.cpp @@ -331,9 +331,11 @@ void MainWindow::setupGui() { gsMetaChannel=new GlobalShortcut(this, idx++, "Join Channel"); gsMetaChannel->setObjectName("MetaChannel"); +#ifdef Q_OS_WIN gsToggleOverlay=new GlobalShortcut(this, idx++, "Toggle Overlay"); gsToggleOverlay->setObjectName("ToggleOverlay"); connect(gsToggleOverlay, SIGNAL(down()), g.o, SLOT(toggleShow())); +#endif qsSplit = new QSplitter(Qt::Horizontal, this); qsSplit->addWidget(qteLog); diff --git a/main.cpp b/main.cpp index 77e47977c..12be7367c 100644 --- a/main.cpp +++ b/main.cpp @@ -62,7 +62,8 @@ int main(int argc, char **argv) int res; - QT_REQUIRE_VERSION(argc, argv, "4.0.1"); +// Ironically, this macro is actually broken in 4.0.1 +// QT_REQUIRE_VERSION(argc, argv, "4.0.1"); // Initialize application object. QApplication a(argc, argv);