slowrx/common.h

108 wiersze
2.4 KiB
C
Czysty Zwykły widok Historia

2011-07-07 14:09:57 +00:00
#ifndef _COMMON_H_
#define _COMMON_H_
#define MINSLANT 30
#define MAXSLANT 150
2011-08-16 21:29:38 +00:00
#define BUFLEN 4096
2011-07-07 14:09:57 +00:00
2011-08-11 11:48:35 +00:00
extern guchar VISmap[128];
extern int PcmPointer;
extern int PWRdBthresh[10];
extern int SNRdBthresh[10];
2011-08-16 21:29:38 +00:00
extern gint16 *PcmBuffer;
2011-08-18 00:04:28 +00:00
extern guchar *StoredLum;
2011-08-16 21:29:38 +00:00
extern double *in;
extern double *out;
2011-08-11 11:48:35 +00:00
extern gshort HedrShift;
extern gboolean Adaptive;
extern gboolean ManualActivated;
extern gboolean Abort;
2011-08-12 20:06:23 +00:00
extern gboolean *HasSync;
2011-08-08 21:36:47 +00:00
2011-08-11 11:48:35 +00:00
extern GtkWidget *mainwindow;
extern GtkWidget *RxImage;
extern GtkWidget *statusbar;
extern GtkWidget *snrbar;
extern GtkWidget *pwrbar;
extern GtkWidget *vugrid;
extern GtkWidget *infolabel;
extern GtkWidget *aboutdialog;
extern GtkWidget *prefdialog;
extern GtkWidget *cardcombo;
extern GtkWidget *modecombo;
extern GtkWidget *togslant;
extern GtkWidget *togsave;
extern GtkWidget *togadapt;
extern GtkWidget *togrx;
2011-08-12 20:06:23 +00:00
extern GtkWidget *togfsk;
2011-08-11 11:48:35 +00:00
extern GtkWidget *btnabort;
extern GtkWidget *btnstart;
extern GtkWidget *manualframe;
extern GtkWidget *shiftspin;
extern GtkWidget *pwrimage;
extern GtkWidget *snrimage;
2011-08-12 20:06:23 +00:00
extern GtkWidget *idlabel;
2011-08-08 21:36:47 +00:00
2011-08-11 11:48:35 +00:00
extern GdkPixbuf *pixbufPWR;
extern GdkPixbuf *pixbufSNR;
extern GdkPixbuf *RxPixbuf;
extern GdkPixbuf *DispPixbuf;
2011-08-13 12:26:49 +00:00
extern GtkListStore *savedstore;
2011-08-11 11:48:35 +00:00
extern snd_pcm_t *pcm_handle;
2011-07-29 20:09:42 +00:00
2011-08-16 21:29:38 +00:00
extern fftw_plan Plan1024;
extern fftw_plan Plan2048;
2011-08-14 16:34:14 +00:00
// SSTV modes
2011-07-07 14:09:57 +00:00
enum {
2011-08-07 17:46:35 +00:00
UNKNOWN=0,
2011-07-07 14:09:57 +00:00
M1, M2, M3, M4,
S1, S2, SDX,
R72, R36, R24, R24BW, R12BW, R8BW,
PD50, PD90, PD120, PD160, PD180, PD240, PD290,
P3, P5, P7,
2011-08-07 17:46:35 +00:00
W2120, W2180
2011-07-07 14:09:57 +00:00
};
2011-08-14 16:34:14 +00:00
// Color encodings
2011-07-07 14:09:57 +00:00
enum {
GBR, RGB, YUV, BW
};
typedef struct ModeSpecDef {
2011-08-08 21:36:47 +00:00
char *Name;
char *ShortName;
2011-07-07 14:09:57 +00:00
double SyncLen;
double PorchLen;
double SeparatorLen;
double PixelLen;
double LineLen;
2011-08-11 11:48:35 +00:00
gushort ImgWidth;
gushort ImgHeight;
guchar YScale;
guchar ColorEnc;
2011-07-07 14:09:57 +00:00
} ModeSpecDef;
extern ModeSpecDef ModeSpec[];
2011-08-12 09:33:49 +00:00
void ClearPixbuf (GdkPixbuf *, gushort, gushort);
void createGUI ();
2011-08-18 00:04:28 +00:00
gboolean GetVideo (guchar, double, int, gboolean);
2011-08-12 09:33:49 +00:00
guint GetBin (double, int);
guchar clip (double);
void setVU (short int, double);
guchar GetVIS ();
2011-08-18 00:04:28 +00:00
double FindSync (guchar, double, int*);
2011-08-12 09:33:49 +00:00
double deg2rad (double);
void initPcmDevice ();
void delete_event ();
void GetAdaptive ();
void ManualStart ();
void AbortRx ();
2011-08-12 20:06:23 +00:00
void GetFSK (char*);
2011-08-16 21:29:38 +00:00
void readPcm (gint);
2011-08-02 23:42:56 +00:00
2011-07-07 14:09:57 +00:00
#endif