diff --git a/qmap/libqmap/q65b.f90 b/qmap/libqmap/q65b.f90
index fb2a07c15..163df32ca 100644
--- a/qmap/libqmap/q65b.f90
+++ b/qmap/libqmap/q65b.f90
@@ -44,16 +44,19 @@ subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol, &
! Find best frequency from sync_dat, the "orange sync curve".
df3=96000.0/32768.0
ipk=(1000.0*f0-1.0)/df3
+ if(nagain.ge.2) then
+ f_mouse=1000.0*(fqso+ikhz-48.0) + mousedf - 1270.0
+ ipk = nint(f_mouse/df3)
+ endif
nfft1=MAXFFT1
nfft2=MAXFFT2
df=96000.0/NFFT1
nh=nfft2/2
- f_mouse=1000.0*(fqso+48.0) + mousedf
k0=nint((ipk*df3-1000.0)/df)
if(k0.lt.nh .or. k0.gt.MAXFFT1-nfft2+1) go to 900
fac=1.0/nfft2
- cx(0:nfft2-1)=ca(k0:k0+nfft2-1)
- cx=fac*cx
+ if(nagain.ge.2) print*,nagain,k0,k0*df
+ cx(0:nfft2-1)=fac*ca(k0:k0+nfft2-1)
! Here cx is frequency-domain data around the selected
! QSO frequency, taken from the full-length FFT computed in fftbig().
@@ -110,18 +113,28 @@ subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol, &
if(iseq.eq.1) datetime1(12:13)='30'
endif
-! if(nagain.eq.2) then
-! h=default_header(12000,30*12000)
-! ifile=ifile+1
-! write(fname,1000) ifile
-!1000 format('000000_',i6.6,'.wav')
-! open(27,file=fname,status='unknown',access='stream')
-! ia=ifile*30*12000 + 1
-! ib=ia + 30*12000 - 1
-! write(27) h,iwave(ia:ib)
-! close(27)
-! endif
-! print*,'A',nagain,ifile,fname
+ if(nagain.ge.2) then
+ ifile=ifile+1
+ write(fname,1000) ifile
+1000 format('000000_',i6.6,'.wav')
+ open(27,file=fname,status='unknown',access='stream')
+ if(nagain.eq.2) then
+ h=default_header(12000,60*12000)
+ ia=1
+ ib=60*12000
+ else if(nagain.eq.3) then
+ h=default_header(12000,30*12000)
+ ia=1
+ ib=30*12000
+ else
+ h=default_header(12000,30*12000)
+ ia=30*12000 + 1
+ ib=60*12000
+ endif
+ write(27) h,iwave(ia:ib)
+ close(27)
+ go to 900
+ endif
! NB: Frequency of ipk is now shifted to 1000 Hz.
nagain2=0
diff --git a/qmap/mainwindow.cpp b/qmap/mainwindow.cpp
index cf1f6259d..9a527498d 100644
--- a/qmap/mainwindow.cpp
+++ b/qmap/mainwindow.cpp
@@ -951,6 +951,7 @@ void MainWindow::decode() //decode()
memcpy(savecom_.saveFileName, m_saveFileName.toLatin1(),len1);
ui->actionExport_wav_file_at_fQSO->setEnabled(m_diskData);
+ qDebug() << "aa" << datcom2_.nagain;
watcher3.setFuture(QtConcurrent::run (q65c_));
decodeBusy(true);
}
@@ -1187,8 +1188,20 @@ void MainWindow::on_sbMaxDrift_valueChanged(int n)
void MainWindow::on_actionExport_wav_file_at_fQSO_triggered()
{
- qDebug() << "Export .wav file" << m_path;
datcom_.newdat=0;
datcom_.nagain=2;
decode();
}
+
+void MainWindow::on_actionExport_wav_file_at_fQSO_30a_triggered()
+{
+ datcom_.newdat=0;
+ datcom_.nagain=3;
+ decode();
+}
+
+void MainWindow::on_actionExport_wav_file_at_fQSO_30b_triggered()
+{
+ datcom_.newdat=0;
+ datcom_.nagain=4;
+ decode();}
diff --git a/qmap/mainwindow.h b/qmap/mainwindow.h
index 534f9e853..15d6f6377 100644
--- a/qmap/mainwindow.h
+++ b/qmap/mainwindow.h
@@ -86,6 +86,10 @@ private slots:
void on_actionSave_decoded_triggered();
void on_actionExport_wav_file_at_fQSO_triggered();
+ void on_actionExport_wav_file_at_fQSO_30a_triggered();
+
+ void on_actionExport_wav_file_at_fQSO_30b_triggered();
+
private:
Ui::MainWindow *ui;
QString m_appDir;
diff --git a/qmap/mainwindow.ui b/qmap/mainwindow.ui
index 3e4fe795e..6b8c65e58 100644
--- a/qmap/mainwindow.ui
+++ b/qmap/mainwindow.ui
@@ -435,6 +435,8 @@ p, li { white-space: pre-wrap; }
+
+
@@ -858,7 +860,17 @@ p, li { white-space: pre-wrap; }
- Export .wav file at fQSO
+ Export .wav file at fQSO (60 s)
+
+
+
+
+ Export .wav file at fQSO (30 s, second part)
+
+
+
+
+ Export .wav file at fQSO (30 s, first part)