kopia lustrzana https://github.com/jamescoxon/dl-fldigi
MFSK fixes
rodzic
e30e06c790
commit
d92e346e8a
|
@ -399,7 +399,7 @@ void startup_modem(modem *m)
|
|||
FHdisp->hide();
|
||||
}
|
||||
|
||||
if (m->getcap() & modem::CAP_AFC) {
|
||||
if (m->get_cap() & modem::CAP_AFC) {
|
||||
btn_afconoff->value(progStatus.afconoff);
|
||||
btn_afconoff->activate();
|
||||
}
|
||||
|
@ -409,7 +409,7 @@ void startup_modem(modem *m)
|
|||
}
|
||||
|
||||
wf->btnRev->value(wf->Reverse());
|
||||
if (m->getcap() & modem::CAP_REV) {
|
||||
if (m->get_cap() & modem::CAP_REV) {
|
||||
wf->btnRev->value(wf->Reverse());
|
||||
wf->btnRev->activate();
|
||||
}
|
||||
|
@ -1339,7 +1339,7 @@ Fl_Menu_Item menu_[] = {
|
|||
{"MFSK", 0, 0, 0, FL_SUBMENU, FL_NORMAL_LABEL, 0, 14, 0},
|
||||
{ mode_info[MODE_MFSK8].name, 0, cb_init_mode, (void *)MODE_MFSK8, 0, FL_NORMAL_LABEL, 0, 14, 0},
|
||||
{ mode_info[MODE_MFSK16].name, 0, cb_init_mode, (void *)MODE_MFSK16, 0, FL_NORMAL_LABEL, 0, 14, 0},
|
||||
{ mode_info[MODE_MFSK32].name, 0, cb_init_mode, (void *)MODE_MFSK32, FL_MENU_DIVIDER, FL_NORMAL_LABEL, 0, 14, 0},
|
||||
{ mode_info[MODE_MFSK32].name, 0, cb_init_mode, (void *)MODE_MFSK32, 0, FL_NORMAL_LABEL, 0, 14, 0},
|
||||
// experimental modes
|
||||
{ mode_info[MODE_MFSK4].name, 0, cb_init_mode, (void *)MODE_MFSK4, 0, FL_NORMAL_LABEL, 0, 14, 0},
|
||||
{ mode_info[MODE_MFSK11].name, 0, cb_init_mode, (void *)MODE_MFSK11, 0, FL_NORMAL_LABEL, 0, 14, 0},
|
||||
|
@ -1473,6 +1473,8 @@ void activate_experimental()
|
|||
m_exp->show();
|
||||
if ((m_exp = getMenuItem(mode_info[MODE_MFSK64].name)) != 0)
|
||||
m_exp->show();
|
||||
if ((m_exp = getMenuItem(mode_info[MODE_MFSK32].name)) != 0)
|
||||
m_exp->flags |= FL_MENU_DIVIDER;
|
||||
} else {
|
||||
if ((m_exp = getMenuItem(mode_info[MODE_MFSK4].name)) != 0)
|
||||
m_exp->hide();
|
||||
|
|
|
@ -120,8 +120,8 @@ public:
|
|||
|
||||
void set_stopflag(bool b) { stopflag = b;};
|
||||
|
||||
unsigned getcap(void) { return cap; }
|
||||
enum { CAP_AFC = 1 << 0, CAP_REV = 1 << 1 };
|
||||
unsigned get_cap(void) { return cap; }
|
||||
enum { CAP_AFC = 1 << 0, CAP_REV = 1 << 1, CAP_IMG = 1 << 2 };
|
||||
|
||||
// for CW modem use only
|
||||
bool get_cwTrack();
|
||||
|
|
|
@ -169,6 +169,11 @@ void load_image(const char *n) {
|
|||
TxImg = Fl_Shared_Image::get(n);
|
||||
if (!TxImg)
|
||||
return;
|
||||
if (TxImg->count() > 1) { // we only handle rgb images
|
||||
TxImg->release();
|
||||
TxImg = 0;
|
||||
return;
|
||||
}
|
||||
img_data = (unsigned char *)TxImg->data()[0];
|
||||
W = TxImg->w();
|
||||
H = TxImg->h();
|
||||
|
@ -201,6 +206,7 @@ void load_image(const char *n) {
|
|||
picTxBox->label(0);
|
||||
// load the picture widget with the rgb image
|
||||
FL_LOCK_D();
|
||||
picTx->show();
|
||||
picTx->clear();
|
||||
picTxWin->redraw();
|
||||
picTx->video(xmtimg, W * H * 3);
|
||||
|
@ -373,6 +379,7 @@ void createTxViewer()
|
|||
picTxWin->begin();
|
||||
|
||||
picTx = new picture (2, 2, 286, 150);
|
||||
picTx->hide();
|
||||
picTxBox = new picbox(picTxWin->x(), picTxWin->y(), picTxWin->w(), picTxWin->h(),
|
||||
"Load or drop an image file\nSupported types: PNG, JPEG, BMP");
|
||||
picTxBox->labelfont(FL_HELVETICA_ITALIC);
|
||||
|
|
|
@ -106,7 +106,6 @@ mfsk::~mfsk()
|
|||
if (picRxWin)
|
||||
picRxWin->hide();
|
||||
activate_mfsk_image_item(false);
|
||||
setpicture_link(0);
|
||||
|
||||
if (bpfilt) delete bpfilt;
|
||||
if (rxinlv) delete rxinlv;
|
||||
|
@ -145,12 +144,14 @@ mfsk::mfsk(trx_mode mfsk_mode) : modem()
|
|||
symlen = 512;
|
||||
symbits = 4;
|
||||
basetone = 64;
|
||||
break;
|
||||
cap |= CAP_IMG;
|
||||
break;
|
||||
case MODE_MFSK32:
|
||||
samplerate = 8000;
|
||||
symlen = 256;
|
||||
symbits = 4;
|
||||
basetone = 32;
|
||||
cap |= CAP_IMG;
|
||||
break;
|
||||
// experimental modes
|
||||
case MODE_MFSK4:
|
||||
|
@ -164,18 +165,21 @@ mfsk::mfsk(trx_mode mfsk_mode) : modem()
|
|||
symlen = 128;
|
||||
symbits = 4;
|
||||
basetone = 16;
|
||||
cap |= CAP_IMG;
|
||||
break;
|
||||
case MODE_MFSK11:
|
||||
samplerate = 11025;
|
||||
symlen = 1024;
|
||||
symbits = 4;
|
||||
basetone = 93;
|
||||
break;
|
||||
cap |= CAP_IMG;
|
||||
break;
|
||||
case MODE_MFSK22:
|
||||
samplerate = 11025;
|
||||
symlen = 512;
|
||||
symbits = 4;
|
||||
basetone = 46;
|
||||
cap |= CAP_IMG;
|
||||
break;
|
||||
//
|
||||
default:
|
||||
|
|
|
@ -728,14 +728,10 @@ int FTextEdit::handle(int event)
|
|||
}
|
||||
|
||||
// handle a right click
|
||||
// if (active_modem != mfsk16_modem)
|
||||
// edit_menu[TX_MENU_MFSK16_IMG].flags |= FL_MENU_INACTIVE;
|
||||
// else
|
||||
// edit_menu[TX_MENU_MFSK16_IMG].flags &= ~FL_MENU_INACTIVE;
|
||||
if (active_modem == mfsk8_modem || active_modem == mfsk4_modem)
|
||||
edit_menu[TX_MENU_MFSK16_IMG].flags |= FL_MENU_INACTIVE;
|
||||
else
|
||||
if (active_modem->get_cap() & modem::CAP_IMG)
|
||||
edit_menu[TX_MENU_MFSK16_IMG].flags &= ~FL_MENU_INACTIVE;
|
||||
else
|
||||
edit_menu[TX_MENU_MFSK16_IMG].flags |= FL_MENU_INACTIVE;
|
||||
|
||||
if (tbuf->length())
|
||||
edit_menu[TX_MENU_CLEAR].flags &= ~FL_MENU_INACTIVE;
|
||||
|
|
Ładowanie…
Reference in New Issue