mmvari/Main.h

1119 lines
34 KiB
C
Raw Permalink Normal View History

2013-07-05 22:09:45 +02:00
//Copyright+LGPL
//-----------------------------------------------------------------------------------------------------------------------------------------------
// Copyright 2000-2013 Makoto Mori, Nobuyuki Oba
//-----------------------------------------------------------------------------------------------------------------------------------------------
// This file is part of MMVARI.
// MMVARI is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
// MMVARI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
// You should have received a copy of the GNU Lesser General Public License along with MMTTY. If not, see
// <http://www.gnu.org/licenses/>.
//-----------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------
#ifndef MainH
#define MainH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <Menus.hpp>
#include <ComCtrls.hpp>
#include <Buttons.hpp>
#include <Dialogs.hpp>
//---------------------------------------------------------------------------
#include "ComLib.h"
#include "wave.h"
#include "fft.h"
#include "dsp.h"
#include "dump.h"
#include "comm.h"
#include "fedit.h"
#include "PlayDlg.h"
#include "cradio.h"
#include "RxView.h"
#include "ClockAdj.h"
#include "RMenuDlg.h"
//---------------------------------------------------------------------------
#define KEY_DIRECT TRUE // WM_CHAR<41>ŏ<EFBFBD><C58F><EFBFBD>
//---------------------------------------------------------------------------
#define POINT TPoint
//---------------------------------------------------------------------------
#define MODGAIN 16384.0
#define LEVELMAX 2048
//---------------------------------------------------------------------------
#define STGCALLMAX 16
#define LOSTMSGTIME 3
//---------------------------------------------------------------------------
enum {
statusPAGE,
statusSN,
statusSAMP,
statusCOM,
statusVARI,
statusHint,
statusEND,
};
//---------------------------------------------------------------------------
#define MACBUTTONMAX 144
#define MACBUTTONWIDTH 60
#define MACBUTTONVW 3
#define MACBUTTONXW 12
#define MACEXBUTTONMAX 16
#define MACBUTTONALL (MACBUTTONMAX+MACEXBUTTONMAX)
#define button1ST 0x02 // Seq 1st
#define button2ND 0xaa // Seq 2nd
enum {
buttonCWON = 1,
buttonCWOFF,
buttonMOVETOP,
buttonMOVEEND,
buttonIDLE,
};
#define macTX 1
#define macRX 2
#define macTXOFF 4
#define macAUTOCLEAR 8
#define macTONE 16
#define macSEEK 32
#define macTXRX 64
typedef struct {
TSpeedButton *pButton;
AnsiString Name;
AnsiString Text;
TColor Color;
DWORD Style;
}MACBUTTON;
enum {
loopINTERNAL,
loopEXTERNAL,
};
enum {
txRX,
txINTERNAL,
txEXTERNAL,
};
#define RADIOMENUMAX 128
typedef struct {
AnsiString strTTL;
AnsiString strCMD;
}RADIOMENU;
#define iniwMETRIC 1
#define iniwLIMIT 2
#define iniwBOTH 3
//---------------------------------------------------------------------------
#define RXMAX 9
//---------------------------------------------------------------------------
class CRxSet {
public:
int m_Mode;
BOOL m_fJA;
BOOL m_fTWO;
int m_fMBCS;
int m_CarrierFreq;
RECT m_rcView;
FONTDATA m_FontData;
CMBCS m_MBCS;
BOOL m_fAFC;
BOOL m_SQ; // <20>X<EFBFBD>P<EFBFBD><50><EFBFBD>`<60>̏<EFBFBD><CC8F><EFBFBD>
int m_SQLevel;
int m_SQTimer;
double m_Speed;
int m_AFCTimerW; // <20>L<EFBFBD>ш<EFBFBD>AFC<46>̃K<CC83>[<5B>h<EFBFBD><68><EFBFBD><EFBFBD>
int m_AFCTimerN; // <20><><EFBFBD><EFBFBD><EFBFBD>xAFC<46>̃K<CC83>[<5B>h<EFBFBD><68><EFBFBD><EFBFBD>
int m_AFCTimerW2;
UINT m_AFCTimerPSK;
int m_AFCFQ;
BOOL m_AFCSQ;
CFAVG m_AvgAFC;
BOOL m_fATC;
int m_PeakSig;
CFAVG m_AvgSig;
FFTSTG m_StgFFT;
CDEMFSK *m_pDem;
CFFT *m_pFFT;
TRxViewDlg *m_pView;
int m_X;
int m_Y;
int m_WaterW; // for the sub channel
int m_cAutoTS1; // <20><><EFBFBD><EFBFBD><EFBFBD>^<5E>C<EFBFBD><43><EFBFBD>X<EFBFBD>^<5E><><EFBFBD>v<EFBFBD>J<EFBFBD>E<EFBFBD><45><EFBFBD>^
int m_cAutoTS2; // <20><><EFBFBD><EFBFBD><EFBFBD>^<5E>C<EFBFBD><43><EFBFBD>X<EFBFBD>^<5E><><EFBFBD>v<EFBFBD>J<EFBFBD>E<EFBFBD><45><EFBFBD>^
int m_MFSK_TYPE;
UINT m_AFCTimerMFSK;
int m_RTTYFFT;
int m_fShowed;
public:
__fastcall CRxSet();
__fastcall ~CRxSet();
void __fastcall SetMFSKType(int type);
void __fastcall SetSpeed(double b);
void __fastcall SetMode(int mode);
void __fastcall SetCarrierFreq(double f);
void __fastcall Create(BOOL fView);
void __fastcall Delete(void);
void __fastcall InitStgFFT(void);
void __fastcall SetSampleFreq(double f);
void __fastcall ClearWindow(void);
double __fastcall GetBandWidth(void);
double __fastcall GetSpeed(void);
inline BOOL __fastcall IsActive(void){return m_pDem != NULL;};
inline BOOL __fastcall IsRTTY(void){return ::IsRTTY(m_Mode);};
inline BOOL __fastcall Is170(void){return ::Is170(m_Mode);};
inline BOOL __fastcall IsBPSK(void){return ::IsBPSK(m_Mode);};
inline BOOL __fastcall IsFSK(void){return ::IsFSK(m_Mode);};
inline BOOL __fastcall IsMFSK(void){return ::IsMFSK(m_Mode);};
inline BOOL __fastcall IsQPSK(void){return ::IsQPSK(m_Mode);};
inline BOOL __fastcall IsPSK(void){return ::IsPSK(m_Mode);};
};
//---------------------------------------------------------------------------
class TMainVARI : public TForm
{
__published: // IDE <20>Ǘ<EFBFBD><C797>̃R<CC83><52><EFBFBD>|<7C>[<5B>l<EFBFBD><6C><EFBFBD>g
TMainMenu *MainMenu;
TMenuItem *KF;
TPanel *PCont;
TPanel *PLog;
TPanel *PCRXB;
TSplitter *Splitter;
TPanel *PCTXB;
TPanel *PCMac;
TStatusBar *StatusBar;
TPanel *PCRX;
TScrollBar *SBarRX;
TPanel *PCTX;
TScrollBar *SBarTX;
TPaintBox *PBoxRX;
TPaintBox *PBoxTX;
TSpeedButton *SBTX;
TSpeedButton *SBTXOFF;
TGroupBox *GBBPF;
TSpeedButton *SBBPFW;
TSpeedButton *SBBPFM;
TSpeedButton *SBBPFS;
TGroupBox *GBCarrier;
TLabel *L1;
TLabel *L2;
TComboBox *CBRXCarrier;
TComboBox *CBTxCarrier;
TSpeedButton *SBAFC;
TSpeedButton *SBNET;
TPanel *PCLevel;
TGroupBox *GBBaud;
TPanel *PFFT;
TSpeedButton *SBFFT;
TSpeedButton *SBWater;
TSpeedButton *SBWave;
TSpeedButton *SBFFT500;
TSpeedButton *SBFFT1K;
TSpeedButton *SBFFT2K;
TSpeedButton *SBFFT3K;
TUpDown *UdRxCarrier;
TUpDown *UdTxCarrier;
TComboBox *CBSpeed;
TGroupBox *GBTiming;
TEdit *EATC;
TUpDown *UdATC;
TSpeedButton *SBBPFN;
TPaintBox *PBoxFFT;
TPaintBox *PBoxLevel;
TMenuItem *KFS;
TSpeedButton *SBATC;
TLabel *L3;
TEdit *HisCall;
TMenuItem *KE;
TUpDown *UdMac;
TMenuItem *KV;
TMenuItem *KVF;
TMenuItem *KVF1;
TMenuItem *KVF3;
TMenuItem *KVFS;
TMenuItem *KVFS2;
TMenuItem *KVFS4;
TMenuItem *N1;
TMenuItem *KFX;
TMenuItem *KO;
TMenuItem *KEP;
TMenuItem *NOT;
TMenuItem *KOVO;
TMenuItem *KOVI;
TMenuItem *N3;
TMenuItem *KOO;
TMenuItem *N4;
TMenuItem *KOAI;
TMenuItem *KOAO;
TLabel *L4;
TEdit *HisName;
TLabel *L5;
TComboBox *HisRST;
TLabel *L6;
TComboBox *MyRST;
TSpeedButton *SBInit;
TMenuItem *KH;
TMenuItem *KHA;
TMenuItem *KHV;
TMenuItem *N5;
TMenuItem *KVFS3;
TMenuItem *KVF2;
TMenuItem *N6;
TMenuItem *KVCR;
TMenuItem *KVCT;
TPopupMenu *PupCharset;
TMenuItem *KANSI;
TMenuItem *KJA;
TMenuItem *KHL;
TMenuItem *KBV;
TMenuItem *KBY;
TMenuItem *KMISC;
TMenuItem *KOV;
TMenuItem *KHH;
TMenuItem *KEC;
TMenuItem *N2;
TMenuItem *KFWS;
TMenuItem *KFRS;
TMenuItem *KFES;
TMenuItem *N7;
TMenuItem *KVSP;
TMenuItem *KFWST;
TMenuItem *N8;
TMenuItem *KVL;
TSpeedButton *SBQSO;
TComboBox *LogFreq;
TMenuItem *N9;
TMenuItem *KFLF;
TSpeedButton *SBData;
TSpeedButton *SBFind;
TMenuItem *KOL;
TMenuItem *KFLO;
TSpeedButton *SBList;
TPopupMenu *PupRX;
TMenuItem *KRXQTH;
TMenuItem *KRXMY;
TMenuItem *KRXNAME;
TMenuItem *KRXNOTE;
TMenuItem *KRXCALL;
TMenuItem *N10;
TMenuItem *KVWA;
TMenuItem *N11;
TMenuItem *KVS;
TPopupMenu *PupCalls;
TSpeedButton *SBM;
TMenuItem *KHO;
TMenuItem *N12;
TMenuItem *KRXCopy;
TLabel *L16;
TEdit *HisQTH;
TLabel *L17;
TEdit *EditNote;
TLabel *L18;
TEdit *EditQSL;
TMenuItem *KVLA;
TMenuItem *KVM;
TMenuItem *KVM2;
TMenuItem *KVM3;
TMenuItem *KVM4;
TMenuItem *N13;
TMenuItem *KRXADDNAME;
TMenuItem *KRXADDNOTE;
TMenuItem *KOA;
TMenuItem *N14;
TMenuItem *KFL;
TMenuItem *KVSF;
TMenuItem *KVSFT;
TMenuItem *KVSFR;
TMenuItem *KOR;
TComboBox *CBMode;
TMenuItem *KFLR;
TMenuItem *KECP;
TMenuItem *KEX;
TPopupMenu *PupTX;
TMenuItem *N15;
TMenuItem *KRXADDQSL;
TMenuItem *N16;
TMenuItem *KECall;
TMenuItem *KEName;
TMenuItem *KERST;
TMenuItem *KEMyCall;
TMenuItem *KEDear;
TMenuItem *KESeq;
TMenuItem *KEFinal;
TPopupMenu *PupPage;
TMenuItem *KPG1;
TMenuItem *KPG2;
TMenuItem *KPG3;
TMenuItem *KPG4;
TPopupMenu *PupSpec;
TMenuItem *KSAS;
TMenuItem *N17;
TMenuItem *KSCan;
TMenuItem *N18;
TMenuItem *KFMS;
TMenuItem *KFML;
TPopupMenu *PupRXW;
TMenuItem *KRWC;
TMenuItem *N19;
TMenuItem *KRWT;
TMenuItem *KRWB;
TMenuItem *KRWE;
TMenuItem *KSW;
TMenuItem *N20;
TMenuItem *KVSD;
TMenuItem *KRXADDMY;
TMenuItem *KRXINV;
TMenuItem *KRXN;
TMenuItem *KORS;
TMenuItem *KORSC;
TMenuItem *KORSW;
TMenuItem *KSN;
TMenuItem *N21;
TMenuItem *KSTX;
TMenuItem *KSNRA;
TMenuItem *KSS;
TMenuItem *N23;
TMenuItem *KSRX;
TMenuItem *KSSR;
TMenuItem *KSSM;
TPanel *PF;
TPaintBox *PBoxPF;
TMenuItem *KVMX;
TMenuItem *N22;
TSpeedButton *SBP60;
TSpeedButton *SBP30;
TSpeedButton *SBP15;
TMenuItem *KRSC;
TMenuItem *N24;
TPopupMenu *PupSQ;
TMenuItem *KS0;
TMenuItem *KS1;
TMenuItem *KS2;
TMenuItem *KS3;
TMenuItem *KS4;
TMenuItem *N25;
TMenuItem *KHJ;
TMenuItem *KHN;
TMenuItem *KHS;
TMenuItem *KSNR;
TMenuItem *KR;
TMenuItem *NR;
TMenuItem *KRM;
TMenuItem *N26;
TMenuItem *KRL;
TMenuItem *KRO;
TMenuItem *NRE;
TMenuItem *KRADD;
TMenuItem *KHM;
void __fastcall FormDestroy(TObject *Sender);
void __fastcall PBoxFFTPaint(TObject *Sender);
void __fastcall PBoxLevelPaint(TObject *Sender);
void __fastcall PBoxRXPaint(TObject *Sender);
void __fastcall PBoxTXPaint(TObject *Sender);
void __fastcall PCTXEnter(TObject *Sender);
void __fastcall PCTXExit(TObject *Sender);
void __fastcall PBoxTXClick(TObject *Sender);
void __fastcall FormKeyPress(TObject *Sender, char &Key);
void __fastcall SBTXClick(TObject *Sender);
void __fastcall PCRXResize(TObject *Sender);
void __fastcall PCTXResize(TObject *Sender);
void __fastcall SBFFTClick(TObject *Sender);
void __fastcall SBBPFWClick(TObject *Sender);
void __fastcall UdTxCarrierClick(TObject *Sender, TUDBtnType Button);
void __fastcall UdRxCarrierClick(TObject *Sender, TUDBtnType Button);
void __fastcall CBSpeedChange(TObject *Sender);
void __fastcall KFSClick(TObject *Sender);
void __fastcall SBFFT500Click(TObject *Sender);
void __fastcall UdATCClick(TObject *Sender, TUDBtnType Button);
void __fastcall SBAFCClick(TObject *Sender);
void __fastcall SBATCClick(TObject *Sender);
void __fastcall PBoxFFTMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall PBoxLevelMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall SBTXOFFClick(TObject *Sender);
void __fastcall CBTxCarrierChange(TObject *Sender);
void __fastcall FormResize(TObject *Sender);
void __fastcall KFClick(TObject *Sender);
void __fastcall CBRXCarrierChange(TObject *Sender);
void __fastcall CBRXCarrierDropDown(TObject *Sender);
void __fastcall CBRXCarrierKeyPress(TObject *Sender, char &Key);
void __fastcall UdMacClick(TObject *Sender, TUDBtnType Button);
void __fastcall PBoxRXMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift);
void __fastcall SBQSOClick(TObject *Sender);
void __fastcall KVClick(TObject *Sender);
void __fastcall KVF1Click(TObject *Sender);
void __fastcall SBNETClick(TObject *Sender);
void __fastcall KVFS2Click(TObject *Sender);
void __fastcall KVFS4Click(TObject *Sender);
void __fastcall KFXClick(TObject *Sender);
void __fastcall FormActivate(TObject *Sender);
void __fastcall FormDeactivate(TObject *Sender);
void __fastcall KEClick(TObject *Sender);
void __fastcall KEPClick(TObject *Sender);
void __fastcall SBarRXChange(TObject *Sender);
void __fastcall SBarTXChange(TObject *Sender);
void __fastcall SBBPFWMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall KOVOClick(TObject *Sender);
void __fastcall KOOClick(TObject *Sender);
void __fastcall KOAIClick(TObject *Sender);
void __fastcall KOAOClick(TObject *Sender);
void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
void __fastcall SBInitClick(TObject *Sender);
void __fastcall KOClick(TObject *Sender);
void __fastcall KHAClick(TObject *Sender);
void __fastcall KHVClick(TObject *Sender);
void __fastcall FormPaint(TObject *Sender);
void __fastcall KVFS3Click(TObject *Sender);
void __fastcall KVCRClick(TObject *Sender);
void __fastcall KVCTClick(TObject *Sender);
void __fastcall FormCreate(TObject *Sender);
void __fastcall SBATCMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall StatusBarMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall KANSIClick(TObject *Sender);
void __fastcall KMISCClick(TObject *Sender);
void __fastcall PupCharsetPopup(TObject *Sender);
void __fastcall HisRSTChange(TObject *Sender);
void __fastcall KOVClick(TObject *Sender);
void __fastcall KECClick(TObject *Sender);
void __fastcall KFWSClick(TObject *Sender);
void __fastcall KFRSClick(TObject *Sender);
void __fastcall KFESClick(TObject *Sender);
void __fastcall KVSPClick(TObject *Sender);
void __fastcall KFWSTClick(TObject *Sender);
void __fastcall KVLClick(TObject *Sender);
void __fastcall KFLFClick(TObject *Sender);
void __fastcall HisCallChange(TObject *Sender);
void __fastcall SBDataClick(TObject *Sender);
void __fastcall SBFindClick(TObject *Sender);
void __fastcall KOLClick(TObject *Sender);
void __fastcall KFLOClick(TObject *Sender);
void __fastcall LogFreqChange(TObject *Sender);
void __fastcall SBListClick(TObject *Sender);
void __fastcall KRXMYClick(TObject *Sender);
void __fastcall KRXQTHClick(TObject *Sender);
void __fastcall KRXNAMEClick(TObject *Sender);
void __fastcall KRXNOTEClick(TObject *Sender);
void __fastcall KRXCALLClick(TObject *Sender);
void __fastcall KVWAClick(TObject *Sender);
void __fastcall PBoxFFTMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y);
void __fastcall PBoxFFTMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall PBoxLevelMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y);
void __fastcall PBoxLevelMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall SBMClick(TObject *Sender);
void __fastcall KRXCopyClick(TObject *Sender);
void __fastcall KVLAClick(TObject *Sender);
void __fastcall PLogMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall KVM2Click(TObject *Sender);
void __fastcall UdMacMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall KRXADDNAMEClick(TObject *Sender);
void __fastcall KRXADDNOTEClick(TObject *Sender);
void __fastcall KOAClick(TObject *Sender);
void __fastcall SBDataMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall SBFindMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall KFLClick(TObject *Sender);
void __fastcall KVSFTClick(TObject *Sender);
void __fastcall KORClick(TObject *Sender);
void __fastcall CBModeChange(TObject *Sender);
void __fastcall KFLRClick(TObject *Sender);
void __fastcall PBoxTXMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall KECPClick(TObject *Sender);
void __fastcall KEXClick(TObject *Sender);
void __fastcall PupTXPopup(TObject *Sender);
void __fastcall PBoxTXMouseMove(TObject *Sender, TShiftState Shift, int X,
int Y);
void __fastcall PBoxTXMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall KRXADDQSLClick(TObject *Sender);
void __fastcall KECallClick(TObject *Sender);
void __fastcall SBTXMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall KPG1Click(TObject *Sender);
void __fastcall PupPagePopup(TObject *Sender);
void __fastcall SBWaveMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall KSASClick(TObject *Sender);
void __fastcall KFMSClick(TObject *Sender);
void __fastcall KFMLClick(TObject *Sender);
void __fastcall KRWCClick(TObject *Sender);
void __fastcall KRWTClick(TObject *Sender);
void __fastcall PupRXWPopup(TObject *Sender);
void __fastcall KRWEClick(TObject *Sender);
void __fastcall PupSpecPopup(TObject *Sender);
void __fastcall KSWClick(TObject *Sender);
void __fastcall KVSDClick(TObject *Sender);
void __fastcall StatusBarDrawPanel(TStatusBar *StatusBar,
TStatusPanel *Panel, const TRect &Rect);
void __fastcall StatusBarMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y);
void __fastcall KRXADDMYClick(TObject *Sender);
void __fastcall KRXINVClick(TObject *Sender);
void __fastcall PupRXPopup(TObject *Sender);
void __fastcall KORSCClick(TObject *Sender);
void __fastcall KSNClick(TObject *Sender);
void __fastcall KSTXClick(TObject *Sender);
void __fastcall KSNRAClick(TObject *Sender);
void __fastcall KSRXClick(TObject *Sender);
void __fastcall KSSRClick(TObject *Sender);
void __fastcall PBoxPFPaint(TObject *Sender);
void __fastcall KVMXClick(TObject *Sender);
void __fastcall SBP60Click(TObject *Sender);
void __fastcall KRSCClick(TObject *Sender);
void __fastcall PupSQPopup(TObject *Sender);
void __fastcall KS0Click(TObject *Sender);
void __fastcall KHJClick(TObject *Sender);
void __fastcall KHClick(TObject *Sender);
void __fastcall KSNRClick(TObject *Sender);
void __fastcall KRClick(TObject *Sender);
void __fastcall KRADDClick(TObject *Sender);
void __fastcall KRLClick(TObject *Sender);
void __fastcall KROClick(TObject *Sender);
void __fastcall PupCallsPopup(TObject *Sender);
private: // <20><><EFBFBD>[<5B>U<EFBFBD>[<5B>
BOOL m_fInitFirst;
BOOL m_fDisEvent;
int m_AppErr;
public:
TTimer *m_pSoundTimer;
TTimer *m_pLogLinkTimer;
TTimer *m_pRadioTimer;
TTimer *m_pMacroTimer;
TTimer *m_pPlayBackTimer;
TTimer *m_pMacroOnTimer;
int m_BufferSize;
SHORT m_wBuffer[8192];
WAVEFORMATEX m_WFX;
CWave m_Wave;
CWaveFile m_WaveFile;
int m_SoundMsgTimer;
int m_RecoverSoundMode;
int m_LostSoundRX;
int m_LostSoundTX;
int m_fShowMsg;
int m_cInfoMsg[5];
int m_InfoMsgFlag;
AnsiString m_InfoMsg[5];
int m_cErrorMsg;
AnsiString m_ErrorMsg;
TPlayDlgBox *m_pPlayBox;
int m_TX;
BOOL m_fHPF;
CIIR m_HPF;
int m_NotchFreq;
CNotches m_Notches;
int m_MouseNotch;
CRxSet m_RxSet[RXMAX]; // <20><><EFBFBD>M<EFBFBD>Ǘ<EFBFBD><C797>f<EFBFBD>[<5B>^
CMODFSK m_ModFSK;
int m_ModGain;
double m_ModGainR;
// double m_Speed;
#if DEBUG
CMODFSK m_ModTest; // For test
CVCO m_VCOTest; // For test
CIIR m_TestHPF;
CFIR2 m_BPF500;
#endif
BOOL m_StatusUTC;
CDump m_Dump;
CDump m_Edit[4];
int m_SendingEdit;
int m_CurrentEdit;
int m_SaveEditPage;
BOOL m_fSendChar;
int m_WaveBitMax;
int m_WaveType;
CCOLLECT m_Collect1;
CCOLLECT m_Collect2;
// CFAVG m_AVGWave;
#if DEBUG
CQSB m_QSB;
CNoise m_Noise;
#endif
double m_DecFactor;
int m_fDec;
CDECM2 m_Dec2;
int m_RadioScaleCounter;
int m_ScaleAsRigFreq;
int m_ScaleDetails;
int m_FFTVType;
int m_FFTSmooth;
int m_FFTW;
int m_FFTB;
int m_FFTU;
int m_FFTWindow;
double m_FFTFactor;
double m_FFTSampFreq;
double m_fftbuf[FFT_BUFSIZE*2];
int m_fftout[FFT_BUFSIZE];
CFFT m_FFT;
int m_WaterNoiseL;
int m_WaterNoiseH;
int m_AFCWidth;
int m_AFCLevel;
int m_ATCLevel;
int m_ATCSpeed;
int m_ATCLimit;
int m_AFCKeyTimer;
int m_SkipTmg;
BOOL m_Lock;
BOOL m_fReqRX;
BOOL m_fDrop;
DWORD m_QSOStart;
SYSTEMTIME m_LocalTime;
BOOL m_fSubWindow;
int m_fftSC;
int m_fftMX;
int m_fftXW, m_fftYW;
Graphics::TBitmap *m_pBitmapFFT;
int m_levelXW, m_levelYW;
Graphics::TBitmap *m_pBitmapLevel;
int m_PFTimer;
int m_pfXW, m_pfYW, m_pfXC;
Graphics::TBitmap *m_pBitmapPF;
int m_tWaterLevel[6];
UCOL m_tWaterColset[12];
TColor m_tWaterColors[256];
UCOL m_tFFTColset[6];
FFTSTG m_StgWater;
int m_TestTimer;
FILE *m_fpText;
FILE *m_fpTest;
int m_MacButtonVW;
MACBUTTON m_tMacButton[MACBUTTONALL];
CComm *m_pCom;
CCradio *m_pRadio;
TFileEdit *m_pHelp;
TFileEdit *m_pEdit;
char m_HintText[256]; // <20>q<EFBFBD><71><EFBFBD>g<EFBFBD>p<EFBFBD>̃o<CC83>b<EFBFBD>t<EFBFBD>@
char m_TextBuff[256]; // <20>ėp<C497>̃o<CC83>b<EFBFBD>t<EFBFBD>@
LPCSTR m_pCheckKey;
AnsiString *m_pCheckBuff;
BOOL m_fHintUpdate;
AnsiString m_HintKey;
BOOL m_MouseDown;
int m_MouseSubChannel;
int m_Priority;
int m_Dupe;
AnsiString m_StrSel;
AnsiString m_UStrSel;
int m_MacroMenuNo;
TPopupMenu *m_pMacroPopup;
TMenuItem *m_pCurrentMacroMenu;
int m_CurrentMacro;
BOOL m_fMacroRepeat;
int m_ReqMacroTimer;
int m_ReqAutoClear;
int m_ReqAutoReturn;
int m_ReqAutoNET;
TMenuItem *m_ParentMenu;
TClockAdjDlg *m_pClockView;
BOOL m_fKeyShift;
BOOL m_fSuspend;
BOOL m_fTone;
int m_RightX;
int m_RightFreq;
AnsiString m_MacroInput;
CVal m_MacroVal;
BOOL m_fMBCS;
BOOL m_fConvAlpha;
BOOL m_fRttyWordOut;
AnsiString m_strStatus[statusEND];
TRect m_rcStatus[statusEND];
TTimer *m_pWheelTimer;
CDump *m_pDump;
int m_CPUBENCHType;
CFAVG m_CPUBENCH;
BYTE m_PlayBackTime[3];
CPlayBack m_PlayBack;
CWebRef m_WebRef;
CLIBL m_LibDLL;
int m_LogBand;
AnsiString m_ListBAUD;
AnsiString m_strLogMode;
public:
int m_nRadioMenu;
private:
RADIOMENU m_RadioMenu[RADIOMENUMAX];
#if DEBUG
TSpeedButton *m_pDebugButton;
#endif
private:
void __fastcall OnAppMessage(tagMSG &Msg, bool &Handled);
void __fastcall OnActiveFormChange(TObject *Sender);
void __fastcall SetSystemFont(void);
void __fastcall SoundTimer(TObject *Sender);
void __fastcall LogLinkTimer(TObject *Sender);
void __fastcall RadioTimer(TObject *Sender);
void __fastcall MacroTimer(TObject *Sender);
void __fastcall WheelTimer(TObject *Sender);
void __fastcall MacroOnTimer(TObject *Sender);
LPCSTR __fastcall GetHintStatus(LPCSTR pHint);
//void __fastcall DrawStatusBar(const Windows::TRect &Rect, LPCSTR pText, TColor col);
void __fastcall DrawStatusBar(const TRect &Rect, LPCSTR pText, TColor col); //JA7UDE 0428
void __fastcall DrawHint(void);
void __fastcall DrawStatus(int n, LPCSTR pText);
void __fastcall DrawStatus(int n);
int __fastcall GetStatusIndex(int x);
int __fastcall GetPopupIndex(TComponent *pComponent);
void __fastcall UpdateCharset(void);
void __fastcall UpdateTitle(void);
void __fastcall ReadRegister(void);
void __fastcall WriteRegister(void);
void __fastcall SampleStatus(void);
void __fastcall PageStatus(void);
BOOL __fastcall SampleFreq(double f);
void __fastcall FFTSampleFreq(double f);
BOOL __fastcall OpenSound(BOOL fTX);
BOOL __fastcall ReOutOpen(void);
void __fastcall OpenCom(void);
void __fastcall OpenRadio(void);
void __fastcall SetCBSpeed(void);
void __fastcall UpdateUI(void);
void __fastcall UpdateLogPanel(void);
void __fastcall OnWaveIn(void);
void __fastcall OnWaveOut(void);
void __fastcall RemoveUselessMessage(UINT wParam);
void __fastcall InitWFX(void);
void __fastcall Draw(BOOL fPaint);
void __fastcall DrawFFT(BOOL fPaint);
void __fastcall DrawWater(BOOL fPaint, BOOL fClear);
void __fastcall DrawWave(BOOL fPaint);
void __fastcall DrawPF(BOOL fPaint);
void __fastcall CalcFFTCenter(int fo);
void __fastcall CalcFFTFreq(void);
void __fastcall SetFFTWidth(int fw);
void __fastcall InitStgFFT(FFTSTG *pStg);
void __fastcall InitWater(int sw);
double __fastcall SqrtToDB(double d);
double __fastcall DBToSqrt(double d);
double __fastcall AdjDB(double d);
void __fastcall CalcStgFFT(CRxSet *pRxSet);
void __fastcall DoAFCMFSK(CRxSet *pRxSet, int fo, BOOL fUpdate);
void __fastcall CreateWaterColors(void);
void __fastcall DrawLevel(BOOL fPaint);
void __fastcall DoMod(void);
void __fastcall PutDumpChar(int d, CRxSet *pRxSet, CDump *pDump);
void __fastcall DoDem(double d);
void __fastcall DoDem(void);
void __fastcall UpdateWaveCaption(void);
void __fastcall SetTXCaption(void);
void __fastcall SetPTT(BOOL fTX);
void __fastcall RxStatus(CRxSet *pRxSet, LPCSTR p);
void __fastcall SetTXInternal(void);
void __fastcall ToTone(void);
void __fastcall ToTX(void);
void __fastcall ToRX(void);
void __fastcall DeleteSoundTimer(void);
void __fastcall SetRxFreq(int fq);
void __fastcall SetTxFreq(int fq);
void __fastcall SetMacButtonMax(void);
void __fastcall CreateMacButton(void);
int __fastcall GetMacButtonNo(TSpeedButton *pButton);
void __fastcall OnMacButtonClick(TObject *Sender);
void __fastcall OnMacButtonDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y);
void __fastcall CreateMacExButton(void);
void __fastcall DeleteMacExButton(void);
void __fastcall AttachFocus(void);
void __fastcall DettachFocus(void);
TSpeedButton *__fastcall GetDraw(int n);
int __fastcall GetDrawType(void);
void __fastcall SetDrawType(int n);
TSpeedButton *__fastcall GetBPF(int n);
int __fastcall GetBPFType(void);
void __fastcall SetBPFType(int n);
int __fastcall GetBPFTaps(TObject *Sender);
void __fastcall InitCheckValKey(LPCSTR pKey, AnsiString *pAS);
BOOL __fastcall CheckKey(LPCSTR pTemplate);
LPCSTR __fastcall CheckValKey(LPCSTR pTemplate);
LPCSTR __fastcall CheckValKey(LPCSTR pKey, LPCSTR pTemplate);
void __fastcall MacroDate(LPSTR t, SYSTEMTIME &now);
void __fastcall MacroHisName(LPSTR t);
// BOOL __fastcall CheckCond(LPCSTR p, LPCSTR v, int type, int &op, double &d, AnsiString &as);
LPCSTR __fastcall Cond(LPCSTR p, TSpeedButton *pButton);
BOOL __fastcall IsMBCSStr(LPCSTR p);
BOOL __fastcall GetDataCond(LPCSTR p, int err, TSpeedButton *pButton);
int __fastcall ConvMacro(LPSTR t, LPCSTR p, TSpeedButton *pButton);
void __fastcall DoMacroReturn(int f);
void __fastcall DoMacro(LPCSTR pMacro, TSpeedButton *pButton);
void __fastcall SendButton(int n);
void __fastcall UpdateCallsign(void);
void __fastcall UpdateLogMode(void);
void __fastcall UpdateLogData(void);
void __fastcall UpdateTextData(void);
void __fastcall FindCall(void);
void __fastcall UpdateLogLink(void);
void __fastcall AutoLogSave(void);
void __fastcall WndCopyData(TMessage &Message);
void __fastcall CheckLogLink(void);
void __fastcall InitDefKey(void);
void __fastcall UpdateSubWindow(void);
void __fastcall DrawSubChannel(TPaintBox *pBox);
void __fastcall AppException(TObject *Sender, Exception *E);
void __fastcall ShowSubChannel(int n, int sw);
void __fastcall MacroGreeting(LPSTR t, LPCSTR pCall, int type);
void __fastcall KCallClick(TObject *Sender);
void __fastcall AddCall(LPCSTR p);
void __fastcall SetTXFocus(void);
BOOL __fastcall DeleteMacroTimerS(void);
void __fastcall DeleteMacroTimer(void);
void __fastcall CreateMacroTimer(int n);
void __fastcall UpdateLogHeight(void);
void __fastcall UpdateMacButtonVW(int n);
void __fastcall UpdateSpeedList(int mode);
void __fastcall SetMode(int mode);
void __fastcall DoSuspend(BOOL fMinimize);
void __fastcall DoResume(void);
void __fastcall SetEditPage(int cno);
void __fastcall InitCollect(void);
void __fastcall LoadMacro(LPCSTR pName);
void __fastcall SaveMacro(LPCSTR pName);
void __fastcall LoadMacro(TMemIniFile *pIniFile);
void __fastcall SaveMacro(TMemIniFile *pIniFile);
void __fastcall SetSpeedInfo(double b);
BOOL __fastcall IsFreqErr(double d);
int __fastcall GetMsgCount(void);
inline BOOL __fastcall IsRTTY(void){return m_RxSet[0].IsRTTY();};
inline BOOL __fastcall Is170(void){return m_RxSet[0].Is170();};
inline BOOL __fastcall IsBPSK(void){return m_RxSet[0].IsBPSK();};
inline BOOL __fastcall IsPSK(void){return m_RxSet[0].IsPSK();};
void __fastcall OutYaesuVU(int hz);
void __fastcall OutYaesuHF(int hz);
void __fastcall OutCIV(int hz);
void __fastcall OutCIV4(int hz);
void __fastcall OutKENWOOD(int hz);
void __fastcall OutJST245(int hz);
void __fastcall OutModeYaesuHF(LPCSTR pMode);
void __fastcall OutModeYaesuVU(LPCSTR pMode);
void __fastcall OutModeCIV(LPCSTR pMode);
void __fastcall OutModeKENWOOD(LPCSTR pMode);
void __fastcall OutModeJST245(LPCSTR pMode);
void __fastcall OnMacroMenuClick(TObject *Sender);
void __fastcall WaitICOM(void);
void __fastcall DoMacroMenu(LPCSTR pVal, TSpeedButton *pButton, BOOL fRadio);
void __fastcall UpdatePlayBack(void);
void __fastcall DoPlayBack(int s);
void __fastcall StopPlayBack(void);
void __fastcall UpdateShowCtrl(void);
void __fastcall DoEvent(int n);
void __fastcall UpdateMacroOnTimer(void);
void __fastcall OnLogFreq(BOOL fLink);
void __fastcall ShutDown(void);
void __fastcall DoBench(LPSTR t, int type);
void __fastcall OnXmClick(TObject *Sender);
void __fastcall OnXClick(TObject *Sender);
TMenuItem* __fastcall FindMenu(TMenuItem *pMainMenu, LPCSTR pTitle);
TMenuItem* __fastcall GetMenuItem(TMenuItem *pMenu, LPCSTR pTitle);
TMenuItem* __fastcall GetMainMenu(LPCSTR pTitle, BOOL fNew);
TMenuItem* __fastcall GetSubMenu(LPCSTR pTitle);
void __fastcall AddExtensionMenu(LPCSTR pMain, LPCSTR pCaption, LPCSTR pHint);
void __fastcall InsExtensionMenu(LPCSTR pTitle, LPCSTR pPos, LPCSTR pCaption, LPCSTR pHint);
void __fastcall ShortCutExtensionMenu(TMenuItem *pMenu, LPCSTR pKey);
BOOL __fastcall IsXMenu(TMenuItem *pItem);
BOOL __fastcall OnMenuProc(TMenuItem *pMenu, LPCSTR pProc, LPCSTR pPara, BOOL fStop);
void __fastcall OnMenuProc(TMenuItem *pMenu, LPCSTR pCaption);
void __fastcall DoParentClick(TMenuItem *pMenu);
TMenuItem* __fastcall GetMenuArg(AnsiString &arg, LPCSTR pVal, BOOL fArg);
void __fastcall SetRadioMenu(TMenuItem *pMenu);
TSpeedButton* __fastcall FindButton(TComponent *pMainControl, LPCSTR pTitle, TSpeedButton *pButton, BOOL fErrMsg);
void __fastcall ClickButton(TSpeedButton *pButton);
void __fastcall CreateSubMenu(void);
void __fastcall KVSClick(TObject *Sender);
void __fastcall KSSClick(TObject *Sender);
void __fastcall LoadRadioDef(LPCSTR pName);
void __fastcall AdjustRadioMenu(void);
void __fastcall KRadioCmdClick(TObject *Sender);
void __fastcall KRadioEditClick(TObject *Sender);
#if DEBUG
void __fastcall TestSignal(void);
#endif
public: // <20><><EFBFBD>[<5B>U<EFBFBD>[<5B>
__fastcall TMainVARI(TComponent* Owner);
void __fastcall WndProc(TMessage &Message);
void __fastcall DisplayHint(TObject *Sender);
void __fastcall OnWave(void);
void __fastcall SetSoundCard(int ch, LPCSTR pID, LPCSTR pIDTX);
void __fastcall SetSampleFreq(double f, BOOL fForce);
void __fastcall SetTxOffset(double f);
void __fastcall SetRXFifo(int d);
void __fastcall SetTXFifo(int d);
void __fastcall UpdatePriority(int Priority);
void __fastcall OnFontChange(BOOL fTX);
void __fastcall DrawFreqScale(TCanvas *pCanvas, int XW, int YW, int fftb, int fftw, int fh, BOOL fRadio);
void __fastcall DrawErrorMsg(TCanvas *pCanvas, int XW, int YW, BOOL fReset);
void __fastcall SetInfoMsg(LPCSTR pStr);
void __fastcall SetInfoMsg(LPCSTR pStr, int pos);
void __fastcall SetErrorMsg(LPCSTR pStr);
int __fastcall GetOverlayTop(void);
void __fastcall SetConvAlpha(BOOL f);
void __fastcall SpeedChange(double b);
void __fastcall UpdateSpeed(CRxSet *pRxSet, double b);
void __fastcall UpdateMode(CRxSet *pRxSet, int offset);
void __fastcall SetATCSpeed(int f);
void __fastcall SetATCLimit(int f);
BOOL __fastcall GetDataConds(LPCSTR p, int err, TSpeedButton *pButton);
LPCSTR __fastcall GetMacroValue(LPCSTR pVal);
LPCSTR __fastcall GetMacroStr(AnsiString &as, LPCSTR pVal);
int __fastcall GetMacroInt(LPCSTR pVal);
double __fastcall GetMacroDouble(LPCSTR pVal);
int __fastcall ConvMacro(AnsiString &as, LPCSTR p, TSpeedButton *pButton);
int __fastcall ConvMacro_(AnsiString &as, LPCSTR p, TSpeedButton *pButton);
int __fastcall ConvMacro_(LPSTR t, LPCSTR p, TSpeedButton *pButton);
int __fastcall GetSignalFreq(int freq, int fm, CRxSet *pRxSet);
int __fastcall TMainVARI::GetSignalFreq(int fo, int fm, CRxSet *pRxSet, int th);
void __fastcall OnChar(int Key);
void __fastcall OpenWheelTimer(CDump *pDump);
void __fastcall CloseWheelTimer(CDump *pDump);
void __fastcall UpdateModGain(void);
void __fastcall InitCollect(CRxSet *pRxSet, int n);
inline void __fastcall ShowMacroSample(void){KHS->Click();};
inline void __fastcall ShowManual(void){KHO->Click();};
void __fastcall ExtFskIt(int r);
void __fastcall SetRTTYFFT(int f);
friend int __fastcall OnGetChar(void);
protected:
void __fastcall OnWaveEvent(TMessage &Message);
void __fastcall CMMML(TMessage &Message);
void __fastcall CMMMR(TMessage &Message);
void __fastcall OnActiveApp(TMessage &Message);
void __fastcall OnMouseWheel(TMessage &Message);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_WAVE, TMessage, OnWaveEvent)
MESSAGE_HANDLER(CM_CMML, TMessage, CMMML)
MESSAGE_HANDLER(CM_CMMR, TMessage, CMMMR)
MESSAGE_HANDLER(WM_ACTIVATEAPP, TMessage, OnActiveApp)
MESSAGE_HANDLER(WM_MOUSEWHEEL, TMessage, OnMouseWheel)
END_MESSAGE_MAP(TForm)
};
//---------------------------------------------------------------------------
extern PACKAGE TMainVARI *MainVARI;
//---------------------------------------------------------------------------
#endif