kopia lustrzana https://github.com/jamescoxon/dl-fldigi
Upstream version 3.04AH
rodzic
00fab81d89
commit
8421e49439
|
@ -9,7 +9,7 @@ dnl major and minor must be integers; patch may
|
|||
dnl contain other characters or be empty
|
||||
m4_define(FLDIGI_MAJOR, [3])
|
||||
m4_define(FLDIGI_MINOR, [0])
|
||||
m4_define(FLDIGI_PATCH, [4AG])
|
||||
m4_define(FLDIGI_PATCH, [4AH])
|
||||
|
||||
AC_INIT([fldigi], FLDIGI_MAJOR.FLDIGI_MINOR[FLDIGI_PATCH], [w1hkj AT w1hkj DOT com])
|
||||
|
||||
|
|
|
@ -853,6 +853,45 @@ progdefaults.changed = true;
|
|||
|
||||
Fl_Group *tabMisc=(Fl_Group *)0;
|
||||
|
||||
Fl_Tabs *tabsMisc=(Fl_Tabs *)0;
|
||||
|
||||
Fl_Group *tabCPUspeed=(Fl_Group *)0;
|
||||
|
||||
Fl_Check_Button *chkSlowCpu=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_chkSlowCpu(Fl_Check_Button* o, void*) {
|
||||
progdefaults.slowcpu = o->value();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Group *tabMacros=(Fl_Group *)0;
|
||||
|
||||
Fl_Check_Button *btnUseLastMacro=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_btnUseLastMacro(Fl_Check_Button* o, void*) {
|
||||
progdefaults.UseLastMacro = o->value();
|
||||
update_main_title();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Group *tabRSid=(Fl_Group *)0;
|
||||
|
||||
Fl_Check_Button *chkTransmitRSid=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_chkTransmitRSid(Fl_Check_Button* o, void*) {
|
||||
progdefaults.TransmitRSid = o->value();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *chkRSidWideSearch=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_chkRSidWideSearch(Fl_Check_Button* o, void*) {
|
||||
progdefaults.rsidWideSearch=o->value();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Group *tabSweetSpot=(Fl_Group *)0;
|
||||
|
||||
Fl_Value_Input *valCWsweetspot=(Fl_Value_Input *)0;
|
||||
|
||||
static void cb_valCWsweetspot(Fl_Value_Input* o, void*) {
|
||||
|
@ -881,27 +920,6 @@ static void cb_btnStartAtSweetSpot(Fl_Check_Button* o, void*) {
|
|||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *chkTransmitRSid=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_chkTransmitRSid(Fl_Check_Button* o, void*) {
|
||||
progdefaults.TransmitRSid = o->value();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *chkRSidWideSearch=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_chkRSidWideSearch(Fl_Check_Button* o, void*) {
|
||||
progdefaults.rsidWideSearch=o->value();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *chkSlowCpu=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_chkSlowCpu(Fl_Check_Button* o, void*) {
|
||||
progdefaults.slowcpu = o->value();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Group *tabModems=(Fl_Group *)0;
|
||||
|
||||
Fl_Tabs *tabsModems=(Fl_Tabs *)0;
|
||||
|
@ -1389,13 +1407,6 @@ static void cb_cntrAUTOCRLF(Fl_Counter* o, void*) {
|
|||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *btnRTTY_USB=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_btnRTTY_USB(Fl_Check_Button* o, void*) {
|
||||
//progdefaults.RTTY_USB = o->value();
|
||||
//progdefaults.changed = true;
|
||||
}
|
||||
|
||||
static void cb_btnRTTYafc(Fl_Round_Button*, void*) {
|
||||
progdefaults.rtty_afcspeed=0;
|
||||
progdefaults.changed = true;
|
||||
|
@ -1463,12 +1474,12 @@ static const char szStopBits[] = "1|1.5|2";
|
|||
static const char szOliviaTones[] = "2|4|8|16|32|64|128|256";
|
||||
static const char szOliviaBandwidth[] = "125|250|500|1000|2000";
|
||||
static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600|115200|230400|460800";
|
||||
{ Fl_Double_Window* o = new Fl_Double_Window(400, 250, "fldigi - config");
|
||||
{ Fl_Double_Window* o = new Fl_Double_Window(400, 255, "fldigi - config");
|
||||
w = o;
|
||||
o->color(FL_DARK2);
|
||||
o->selection_color((Fl_Color)51);
|
||||
o->align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE);
|
||||
{ tabsConfigure = new Fl_Tabs(0, 0, 405, 220);
|
||||
{ tabsConfigure = new Fl_Tabs(0, 0, 405, 225);
|
||||
tabsConfigure->color(FL_DARK1);
|
||||
tabsConfigure->selection_color((Fl_Color)9);
|
||||
{ tabOperator = new Fl_Group(0, 25, 400, 195, "Oper");
|
||||
|
@ -2136,71 +2147,98 @@ l with your sound hardware.");
|
|||
} // Fl_Tabs* tabsSoundCard
|
||||
tabSoundCard->end();
|
||||
} // Fl_Group* tabSoundCard
|
||||
{ tabMisc = new Fl_Group(0, 25, 400, 195, "Misc");
|
||||
{ tabMisc = new Fl_Group(0, 25, 405, 200, "Misc");
|
||||
tabMisc->color((Fl_Color)51);
|
||||
tabMisc->selection_color((Fl_Color)51);
|
||||
tabMisc->hide();
|
||||
{ Fl_Group* o = new Fl_Group(5, 35, 390, 90, "Sweet Spot");
|
||||
o->box(FL_ENGRAVED_FRAME);
|
||||
o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
|
||||
{ Fl_Value_Input* o = valCWsweetspot = new Fl_Value_Input(50, 59, 65, 20, "CW");
|
||||
valCWsweetspot->minimum(200);
|
||||
valCWsweetspot->maximum(4000);
|
||||
valCWsweetspot->step(1);
|
||||
valCWsweetspot->value(1000);
|
||||
valCWsweetspot->callback((Fl_Callback*)cb_valCWsweetspot);
|
||||
o->value(progdefaults.CWsweetspot);
|
||||
} // Fl_Value_Input* valCWsweetspot
|
||||
{ Fl_Value_Input* o = valRTTYsweetspot = new Fl_Value_Input(182, 59, 65, 20, "RTTY");
|
||||
valRTTYsweetspot->minimum(200);
|
||||
valRTTYsweetspot->maximum(4000);
|
||||
valRTTYsweetspot->step(1);
|
||||
valRTTYsweetspot->value(1000);
|
||||
valRTTYsweetspot->callback((Fl_Callback*)cb_valRTTYsweetspot);
|
||||
o->value(progdefaults.RTTYsweetspot);
|
||||
} // Fl_Value_Input* valRTTYsweetspot
|
||||
{ Fl_Value_Input* o = valPSKsweetspot = new Fl_Value_Input(315, 59, 65, 20, "PSK etal");
|
||||
valPSKsweetspot->minimum(200);
|
||||
valPSKsweetspot->maximum(4000);
|
||||
valPSKsweetspot->step(1);
|
||||
valPSKsweetspot->value(1000);
|
||||
valPSKsweetspot->callback((Fl_Callback*)cb_valPSKsweetspot);
|
||||
o->value(progdefaults.PSKsweetspot);
|
||||
} // Fl_Value_Input* valPSKsweetspot
|
||||
{ Fl_Check_Button* o = btnStartAtSweetSpot = new Fl_Check_Button(49, 88, 246, 25, "Start New Modem at Sweet Spot");
|
||||
btnStartAtSweetSpot->down_box(FL_DOWN_BOX);
|
||||
btnStartAtSweetSpot->value(1);
|
||||
btnStartAtSweetSpot->callback((Fl_Callback*)cb_btnStartAtSweetSpot);
|
||||
o->value(progdefaults.StartAtSweetSpot);
|
||||
} // Fl_Check_Button* btnStartAtSweetSpot
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
{ Fl_Group* o = new Fl_Group(5, 125, 390, 45, "RSid");
|
||||
o->box(FL_ENGRAVED_FRAME);
|
||||
o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
|
||||
{ Fl_Check_Button* o = chkTransmitRSid = new Fl_Check_Button(49, 138, 119, 20, "Transmit RSid");
|
||||
chkTransmitRSid->tooltip("Transmit Reed Solomon ID");
|
||||
chkTransmitRSid->down_box(FL_DOWN_BOX);
|
||||
chkTransmitRSid->callback((Fl_Callback*)cb_chkTransmitRSid);
|
||||
o->value(progdefaults.TransmitRSid);
|
||||
} // Fl_Check_Button* chkTransmitRSid
|
||||
{ Fl_Check_Button* o = chkRSidWideSearch = new Fl_Check_Button(188, 140, 85, 15, "Wide Search Detector");
|
||||
chkRSidWideSearch->down_box(FL_DOWN_BOX);
|
||||
chkRSidWideSearch->callback((Fl_Callback*)cb_chkRSidWideSearch);
|
||||
o->value(progdefaults.rsidWideSearch);
|
||||
} // Fl_Check_Button* chkRSidWideSearch
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
{ Fl_Group* o = new Fl_Group(5, 172, 390, 43, "CPU speed");
|
||||
o->box(FL_ENGRAVED_FRAME);
|
||||
o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
|
||||
{ Fl_Check_Button* o = chkSlowCpu = new Fl_Check_Button(110, 182, 89, 20, "Slow cpu");
|
||||
chkSlowCpu->down_box(FL_DOWN_BOX);
|
||||
chkSlowCpu->callback((Fl_Callback*)cb_chkSlowCpu);
|
||||
o->value(progdefaults.slowcpu);
|
||||
} // Fl_Check_Button* chkSlowCpu
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
{ tabsMisc = new Fl_Tabs(0, 25, 400, 195);
|
||||
{ tabCPUspeed = new Fl_Group(0, 50, 400, 170, "CPU speed");
|
||||
tabCPUspeed->hide();
|
||||
{ Fl_Group* o = new Fl_Group(5, 62, 390, 43);
|
||||
o->box(FL_ENGRAVED_FRAME);
|
||||
o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
|
||||
{ Fl_Check_Button* o = chkSlowCpu = new Fl_Check_Button(110, 72, 89, 20, "Slow cpu");
|
||||
chkSlowCpu->down_box(FL_DOWN_BOX);
|
||||
chkSlowCpu->callback((Fl_Callback*)cb_chkSlowCpu);
|
||||
o->value(progdefaults.slowcpu);
|
||||
} // Fl_Check_Button* chkSlowCpu
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
tabCPUspeed->end();
|
||||
} // Fl_Group* tabCPUspeed
|
||||
{ tabMacros = new Fl_Group(0, 50, 400, 170, "Macros");
|
||||
{ Fl_Group* o = new Fl_Group(5, 55, 390, 49);
|
||||
o->box(FL_ENGRAVED_FRAME);
|
||||
{ Fl_Check_Button* o = btnUseLastMacro = new Fl_Check_Button(30, 70, 274, 15, "load last used Macro set on startup");
|
||||
btnUseLastMacro->down_box(FL_DOWN_BOX);
|
||||
btnUseLastMacro->callback((Fl_Callback*)cb_btnUseLastMacro);
|
||||
o->value(progdefaults.UseLastMacro);
|
||||
} // Fl_Check_Button* btnUseLastMacro
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
tabMacros->end();
|
||||
} // Fl_Group* tabMacros
|
||||
{ tabRSid = new Fl_Group(0, 50, 400, 170, "RSid");
|
||||
tabRSid->hide();
|
||||
{ Fl_Group* o = new Fl_Group(5, 65, 390, 45);
|
||||
o->box(FL_ENGRAVED_FRAME);
|
||||
o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
|
||||
{ Fl_Check_Button* o = chkTransmitRSid = new Fl_Check_Button(49, 78, 119, 20, "Transmit RSid");
|
||||
chkTransmitRSid->tooltip("Transmit Reed Solomon ID");
|
||||
chkTransmitRSid->down_box(FL_DOWN_BOX);
|
||||
chkTransmitRSid->callback((Fl_Callback*)cb_chkTransmitRSid);
|
||||
o->value(progdefaults.TransmitRSid);
|
||||
} // Fl_Check_Button* chkTransmitRSid
|
||||
{ Fl_Check_Button* o = chkRSidWideSearch = new Fl_Check_Button(188, 80, 85, 15, "Wide Search Detector");
|
||||
chkRSidWideSearch->down_box(FL_DOWN_BOX);
|
||||
chkRSidWideSearch->callback((Fl_Callback*)cb_chkRSidWideSearch);
|
||||
o->value(progdefaults.rsidWideSearch);
|
||||
} // Fl_Check_Button* chkRSidWideSearch
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
tabRSid->end();
|
||||
} // Fl_Group* tabRSid
|
||||
{ tabSweetSpot = new Fl_Group(0, 50, 400, 170, "Sweet Spot");
|
||||
tabSweetSpot->hide();
|
||||
{ Fl_Group* o = new Fl_Group(5, 60, 390, 75);
|
||||
o->box(FL_ENGRAVED_FRAME);
|
||||
o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
|
||||
{ Fl_Value_Input* o = valCWsweetspot = new Fl_Value_Input(50, 71, 65, 20, "CW");
|
||||
valCWsweetspot->minimum(200);
|
||||
valCWsweetspot->maximum(4000);
|
||||
valCWsweetspot->step(1);
|
||||
valCWsweetspot->value(1000);
|
||||
valCWsweetspot->callback((Fl_Callback*)cb_valCWsweetspot);
|
||||
o->value(progdefaults.CWsweetspot);
|
||||
} // Fl_Value_Input* valCWsweetspot
|
||||
{ Fl_Value_Input* o = valRTTYsweetspot = new Fl_Value_Input(182, 71, 65, 20, "RTTY");
|
||||
valRTTYsweetspot->minimum(200);
|
||||
valRTTYsweetspot->maximum(4000);
|
||||
valRTTYsweetspot->step(1);
|
||||
valRTTYsweetspot->value(1000);
|
||||
valRTTYsweetspot->callback((Fl_Callback*)cb_valRTTYsweetspot);
|
||||
o->value(progdefaults.RTTYsweetspot);
|
||||
} // Fl_Value_Input* valRTTYsweetspot
|
||||
{ Fl_Value_Input* o = valPSKsweetspot = new Fl_Value_Input(315, 71, 65, 20, "PSK etal");
|
||||
valPSKsweetspot->minimum(200);
|
||||
valPSKsweetspot->maximum(4000);
|
||||
valPSKsweetspot->step(1);
|
||||
valPSKsweetspot->value(1000);
|
||||
valPSKsweetspot->callback((Fl_Callback*)cb_valPSKsweetspot);
|
||||
o->value(progdefaults.PSKsweetspot);
|
||||
} // Fl_Value_Input* valPSKsweetspot
|
||||
{ Fl_Check_Button* o = btnStartAtSweetSpot = new Fl_Check_Button(49, 100, 246, 25, "Start New Modem at Sweet Spot");
|
||||
btnStartAtSweetSpot->down_box(FL_DOWN_BOX);
|
||||
btnStartAtSweetSpot->value(1);
|
||||
btnStartAtSweetSpot->callback((Fl_Callback*)cb_btnStartAtSweetSpot);
|
||||
o->value(progdefaults.StartAtSweetSpot);
|
||||
} // Fl_Check_Button* btnStartAtSweetSpot
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
tabSweetSpot->end();
|
||||
} // Fl_Group* tabSweetSpot
|
||||
tabsMisc->end();
|
||||
} // Fl_Tabs* tabsMisc
|
||||
tabMisc->end();
|
||||
} // Fl_Group* tabMisc
|
||||
{ tabModems = new Fl_Group(0, 25, 401, 195, "Modem");
|
||||
|
@ -2738,13 +2776,6 @@ l with your sound hardware.");
|
|||
cntrAUTOCRLF->callback((Fl_Callback*)cb_cntrAUTOCRLF);
|
||||
cntrAUTOCRLF->align(FL_ALIGN_LEFT);
|
||||
} // Fl_Counter* cntrAUTOCRLF
|
||||
{ Fl_Check_Button* o = btnRTTY_USB = new Fl_Check_Button(235, 185, 22, 22, "RTTY is USB");
|
||||
btnRTTY_USB->down_box(FL_DOWN_BOX);
|
||||
btnRTTY_USB->callback((Fl_Callback*)cb_btnRTTY_USB);
|
||||
btnRTTY_USB->align(FL_ALIGN_LEFT);
|
||||
btnRTTY_USB->hide();
|
||||
//o->value(progdefaults.RTTY_USB);
|
||||
} // Fl_Check_Button* btnRTTY_USB
|
||||
{ Fl_Group* o = new Fl_Group(135, 60, 130, 60, "AFC");
|
||||
o->box(FL_ENGRAVED_FRAME);
|
||||
o->color((Fl_Color)51);
|
||||
|
@ -2808,10 +2839,10 @@ l with your sound hardware.");
|
|||
} // Fl_Group* tabModems
|
||||
tabsConfigure->end();
|
||||
} // Fl_Tabs* tabsConfigure
|
||||
{ btnCloseConfig = new Fl_Return_Button(285, 222, 100, 25, "Close");
|
||||
{ btnCloseConfig = new Fl_Return_Button(285, 228, 100, 25, "Close");
|
||||
btnCloseConfig->callback((Fl_Callback*)cb_btnCloseConfig);
|
||||
} // Fl_Return_Button* btnCloseConfig
|
||||
{ btnSaveConfig = new Fl_Button(15, 222, 100, 25, "Save Config");
|
||||
{ btnSaveConfig = new Fl_Button(15, 228, 100, 25, "Save Config");
|
||||
btnSaveConfig->callback((Fl_Callback*)cb_btnSaveConfig);
|
||||
} // Fl_Button* btnSaveConfig
|
||||
o->end();
|
||||
|
|
|
@ -39,10 +39,10 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
code {} {}
|
||||
Fl_Window {} {
|
||||
label {fldigi - config} open
|
||||
xywh {611 467 400 250} type Double color 45 selection_color 51 align 80 visible
|
||||
xywh {555 456 400 255} type Double color 45 selection_color 51 align 80 visible
|
||||
} {
|
||||
Fl_Tabs tabsConfigure {open
|
||||
xywh {0 0 405 220} color 47 selection_color 9
|
||||
xywh {0 0 405 225} color 47 selection_color 9
|
||||
} {
|
||||
Fl_Group tabOperator {
|
||||
label Oper
|
||||
|
@ -809,14 +809,14 @@ o->label((inpQRZuserpassword->type() & FL_SECRET_INPUT) ? "Show" : "Hide");}
|
|||
}
|
||||
}
|
||||
Fl_Group tabSoundCard {
|
||||
label SndCrd open
|
||||
label SndCrd
|
||||
xywh {0 25 400 195} color 51 selection_color 51 hide
|
||||
} {
|
||||
Fl_Tabs tabsSoundCard {open
|
||||
xywh {0 25 400 195} selection_color 10
|
||||
} {
|
||||
Fl_Group tabAudio {
|
||||
label {Audio devices} open
|
||||
label {Audio devices}
|
||||
xywh {0 50 400 170} color 51 selection_color 51
|
||||
} {
|
||||
Fl_Group AudioOSS {open
|
||||
|
@ -898,7 +898,7 @@ resetSoundCard();}
|
|||
}
|
||||
}
|
||||
Fl_Group tabAudioOpt {
|
||||
label {Audio settings} open
|
||||
label {Audio settings}
|
||||
xywh {0 50 400 170} color 51 selection_color 51 hide
|
||||
} {
|
||||
Fl_Spinner cntRxRateCorr {
|
||||
|
@ -1025,70 +1025,103 @@ progdefaults.changed = true;}
|
|||
}
|
||||
Fl_Group tabMisc {
|
||||
label Misc open
|
||||
xywh {0 25 400 195} color 51 selection_color 51 hide
|
||||
xywh {0 25 405 200} color 51 selection_color 51 hide
|
||||
} {
|
||||
Fl_Group {} {
|
||||
label {Sweet Spot} open
|
||||
xywh {5 35 390 90} box ENGRAVED_FRAME align 21
|
||||
Fl_Tabs tabsMisc {open
|
||||
xywh {0 25 400 195}
|
||||
} {
|
||||
Fl_Value_Input valCWsweetspot {
|
||||
label CW
|
||||
callback {progdefaults.CWsweetspot=o->value();
|
||||
Fl_Group tabCPUspeed {
|
||||
label {CPU speed} open
|
||||
xywh {0 50 400 170} hide
|
||||
} {
|
||||
Fl_Group {} {open
|
||||
xywh {5 62 390 43} box ENGRAVED_FRAME align 21
|
||||
} {
|
||||
Fl_Check_Button chkSlowCpu {
|
||||
label {Slow cpu}
|
||||
callback {progdefaults.slowcpu = o->value();
|
||||
progdefaults.changed = true;}
|
||||
xywh {50 59 65 20} minimum 200 maximum 4000 step 1 value 1000
|
||||
code0 {o->value(progdefaults.CWsweetspot);}
|
||||
xywh {110 72 89 20} down_box DOWN_BOX
|
||||
code0 {o->value(progdefaults.slowcpu);}
|
||||
}
|
||||
}
|
||||
}
|
||||
Fl_Value_Input valRTTYsweetspot {
|
||||
label RTTY
|
||||
callback {progdefaults.RTTYsweetspot=o->value();
|
||||
Fl_Group tabMacros {
|
||||
label Macros open
|
||||
xywh {0 50 400 170}
|
||||
} {
|
||||
Fl_Group {} {open
|
||||
xywh {5 55 390 49} box ENGRAVED_FRAME
|
||||
} {
|
||||
Fl_Check_Button btnUseLastMacro {
|
||||
label {load last used Macro set on startup}
|
||||
callback {progdefaults.UseLastMacro = o->value();
|
||||
update_main_title();
|
||||
progdefaults.changed = true;}
|
||||
xywh {182 59 65 20} minimum 200 maximum 4000 step 1 value 1000
|
||||
code0 {o->value(progdefaults.RTTYsweetspot);}
|
||||
xywh {30 70 274 15} down_box DOWN_BOX
|
||||
code0 {o->value(progdefaults.UseLastMacro);}
|
||||
}
|
||||
}
|
||||
}
|
||||
Fl_Value_Input valPSKsweetspot {
|
||||
label {PSK etal}
|
||||
callback {progdefaults.PSKsweetspot=o->value();
|
||||
Fl_Group tabRSid {
|
||||
label RSid open
|
||||
xywh {0 50 400 170} hide
|
||||
} {
|
||||
Fl_Group {} {open
|
||||
xywh {5 65 390 45} box ENGRAVED_FRAME align 21
|
||||
} {
|
||||
Fl_Check_Button chkTransmitRSid {
|
||||
label {Transmit RSid}
|
||||
callback {progdefaults.TransmitRSid = o->value();
|
||||
progdefaults.changed = true;}
|
||||
xywh {315 59 65 20} minimum 200 maximum 4000 step 1 value 1000
|
||||
code0 {o->value(progdefaults.PSKsweetspot);}
|
||||
tooltip {Transmit Reed Solomon ID} xywh {49 78 119 20} down_box DOWN_BOX
|
||||
code0 {o->value(progdefaults.TransmitRSid);}
|
||||
}
|
||||
Fl_Check_Button chkRSidWideSearch {
|
||||
label {Wide Search Detector}
|
||||
callback {progdefaults.rsidWideSearch=o->value();
|
||||
progdefaults.changed = true;}
|
||||
xywh {188 80 85 15} down_box DOWN_BOX
|
||||
code0 {o->value(progdefaults.rsidWideSearch);}
|
||||
}
|
||||
}
|
||||
}
|
||||
Fl_Check_Button btnStartAtSweetSpot {
|
||||
label {Start New Modem at Sweet Spot}
|
||||
callback {progdefaults.StartAtSweetSpot = o->value();
|
||||
Fl_Group tabSweetSpot {
|
||||
label {Sweet Spot} open
|
||||
xywh {0 50 400 170} hide
|
||||
} {
|
||||
Fl_Group {} {open
|
||||
xywh {5 60 390 75} box ENGRAVED_FRAME align 21
|
||||
} {
|
||||
Fl_Value_Input valCWsweetspot {
|
||||
label CW
|
||||
callback {progdefaults.CWsweetspot=o->value();
|
||||
progdefaults.changed = true;}
|
||||
xywh {49 88 246 25} down_box DOWN_BOX value 1
|
||||
code0 {o->value(progdefaults.StartAtSweetSpot);}
|
||||
}
|
||||
}
|
||||
Fl_Group {} {
|
||||
label RSid open
|
||||
xywh {5 125 390 45} box ENGRAVED_FRAME align 21
|
||||
} {
|
||||
Fl_Check_Button chkTransmitRSid {
|
||||
label {Transmit RSid}
|
||||
callback {progdefaults.TransmitRSid = o->value();
|
||||
xywh {50 71 65 20} minimum 200 maximum 4000 step 1 value 1000
|
||||
code0 {o->value(progdefaults.CWsweetspot);}
|
||||
}
|
||||
Fl_Value_Input valRTTYsweetspot {
|
||||
label RTTY
|
||||
callback {progdefaults.RTTYsweetspot=o->value();
|
||||
progdefaults.changed = true;}
|
||||
tooltip {Transmit Reed Solomon ID} xywh {49 138 119 20} down_box DOWN_BOX
|
||||
code0 {o->value(progdefaults.TransmitRSid);}
|
||||
}
|
||||
Fl_Check_Button chkRSidWideSearch {
|
||||
label {Wide Search Detector}
|
||||
callback {progdefaults.rsidWideSearch=o->value();
|
||||
xywh {182 71 65 20} minimum 200 maximum 4000 step 1 value 1000
|
||||
code0 {o->value(progdefaults.RTTYsweetspot);}
|
||||
}
|
||||
Fl_Value_Input valPSKsweetspot {
|
||||
label {PSK etal}
|
||||
callback {progdefaults.PSKsweetspot=o->value();
|
||||
progdefaults.changed = true;}
|
||||
xywh {188 140 85 15} down_box DOWN_BOX
|
||||
code0 {o->value(progdefaults.rsidWideSearch);}
|
||||
}
|
||||
}
|
||||
Fl_Group {} {
|
||||
label {CPU speed} open
|
||||
xywh {5 172 390 43} box ENGRAVED_FRAME align 21
|
||||
} {
|
||||
Fl_Check_Button chkSlowCpu {
|
||||
label {Slow cpu}
|
||||
callback {progdefaults.slowcpu = o->value();
|
||||
xywh {315 71 65 20} minimum 200 maximum 4000 step 1 value 1000
|
||||
code0 {o->value(progdefaults.PSKsweetspot);}
|
||||
}
|
||||
Fl_Check_Button btnStartAtSweetSpot {
|
||||
label {Start New Modem at Sweet Spot}
|
||||
callback {progdefaults.StartAtSweetSpot = o->value();
|
||||
progdefaults.changed = true;}
|
||||
xywh {110 182 89 20} down_box DOWN_BOX
|
||||
code0 {o->value(progdefaults.slowcpu);}
|
||||
xywh {49 100 246 25} down_box DOWN_BOX value 1
|
||||
code0 {o->value(progdefaults.StartAtSweetSpot);}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1640,13 +1673,6 @@ progdefaults.changed = true;}
|
|||
progdefaults.changed = true;}
|
||||
xywh {321 117 65 20} type Simple align 4 minimum 68 maximum 80 step 1 value 72
|
||||
}
|
||||
Fl_Check_Button btnRTTY_USB {
|
||||
label {RTTY is USB}
|
||||
callback {//progdefaults.RTTY_USB = o->value();
|
||||
//progdefaults.changed = true;}
|
||||
xywh {235 185 22 22} down_box DOWN_BOX align 4 hide
|
||||
code0 {//o->value(progdefaults.RTTY_USB);}
|
||||
}
|
||||
Fl_Group {} {
|
||||
label AFC open
|
||||
xywh {135 60 130 60} box ENGRAVED_FRAME color 51 align 21
|
||||
|
@ -1710,12 +1736,12 @@ progdefaults.changed = true;}
|
|||
Fl_Return_Button btnCloseConfig {
|
||||
label Close
|
||||
callback {closeDialog();}
|
||||
xywh {285 222 100 25}
|
||||
xywh {285 228 100 25}
|
||||
}
|
||||
Fl_Button btnSaveConfig {
|
||||
label {Save Config}
|
||||
callback {progdefaults.saveDefaults();}
|
||||
xywh {15 222 100 25}
|
||||
xywh {15 228 100 25}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1615,12 +1615,16 @@ int below(Fl_Widget* w)
|
|||
|
||||
char main_window_title[256];
|
||||
void update_main_title() {
|
||||
snprintf(main_window_title, sizeof(main_window_title),
|
||||
"%s %s -- %s",
|
||||
PACKAGE_NAME, PACKAGE_VERSION,
|
||||
progdefaults.myCall.empty() ? "NO CALLSIGN SET" : progdefaults.myCall.c_str());
|
||||
if (fl_digi_main != NULL)
|
||||
fl_digi_main->label(main_window_title);
|
||||
string macrotitle = " -- ";
|
||||
macrotitle.append(progStatus.LastMacroFile);
|
||||
|
||||
snprintf(main_window_title, sizeof(main_window_title),
|
||||
"%s %s -- %s %s",
|
||||
PACKAGE_NAME, PACKAGE_VERSION,
|
||||
progdefaults.myCall.empty() ? "NO CALLSIGN SET" : progdefaults.myCall.c_str(),
|
||||
macrotitle.c_str());
|
||||
if (fl_digi_main != NULL)
|
||||
fl_digi_main->label(main_window_title);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -120,13 +120,19 @@ extern Fl_Input_Choice *menuMix;
|
|||
extern void resetMixerControls();
|
||||
extern Fl_Check_Button *btnMixer;
|
||||
extern Fl_Group *tabMisc;
|
||||
extern Fl_Tabs *tabsMisc;
|
||||
extern Fl_Group *tabCPUspeed;
|
||||
extern Fl_Check_Button *chkSlowCpu;
|
||||
extern Fl_Group *tabMacros;
|
||||
extern Fl_Check_Button *btnUseLastMacro;
|
||||
extern Fl_Group *tabRSid;
|
||||
extern Fl_Check_Button *chkTransmitRSid;
|
||||
extern Fl_Check_Button *chkRSidWideSearch;
|
||||
extern Fl_Group *tabSweetSpot;
|
||||
extern Fl_Value_Input *valCWsweetspot;
|
||||
extern Fl_Value_Input *valRTTYsweetspot;
|
||||
extern Fl_Value_Input *valPSKsweetspot;
|
||||
extern Fl_Check_Button *btnStartAtSweetSpot;
|
||||
extern Fl_Check_Button *chkTransmitRSid;
|
||||
extern Fl_Check_Button *chkRSidWideSearch;
|
||||
extern Fl_Check_Button *chkSlowCpu;
|
||||
extern Fl_Group *tabModems;
|
||||
extern Fl_Tabs *tabsModems;
|
||||
extern Fl_Group *tabCW;
|
||||
|
@ -202,7 +208,6 @@ extern Fl_Check_Button *chkPseudoFSK;
|
|||
extern Fl_Check_Button *btnCRCRLF;
|
||||
extern Fl_Check_Button *btnAUTOCRLF;
|
||||
extern Fl_Counter *cntrAUTOCRLF;
|
||||
extern Fl_Check_Button *btnRTTY_USB;
|
||||
extern Fl_Round_Button *btnRTTYafc[3];
|
||||
extern Fl_Check_Button *btnPreferXhairScope;
|
||||
extern Fl_Check_Button *chkXagc;
|
||||
|
|
|
@ -180,6 +180,7 @@ struct configuration {
|
|||
bool useTimer;
|
||||
int macronumber;
|
||||
int timeout;
|
||||
bool UseLastMacro;
|
||||
|
||||
// Mixer configuration
|
||||
string MXdevice;
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
#ifndef _status_H
|
||||
#define _status_H
|
||||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
|
||||
#include "globals.h"
|
||||
|
||||
struct status {
|
||||
|
@ -35,12 +39,14 @@ struct status {
|
|||
bool scopeVisible;
|
||||
int scopeW;
|
||||
int scopeH;
|
||||
string LastMacroFile;
|
||||
|
||||
bool bLastStateRead;
|
||||
|
||||
void initLastState();
|
||||
void saveLastState();
|
||||
void loadLastState();
|
||||
|
||||
};
|
||||
|
||||
extern status progStatus;
|
||||
|
|
|
@ -217,6 +217,7 @@ configuration progdefaults = {
|
|||
false, // bool useTimer;
|
||||
0, // int macronumber;
|
||||
0, // int timeout;
|
||||
0, // bool UseLastMacro;
|
||||
|
||||
"", // string MXdevice
|
||||
false, // bool MicIn;
|
||||
|
@ -330,7 +331,7 @@ enum TAG { \
|
|||
AUDIOIO, OSSDEVICE, PADEVICE, PORTINDEVICE, PORTININDEX, PORTOUTDEVICE, PORTOUTINDEX, PULSESERVER,
|
||||
SAMPLERATE, INSAMPLERATE, OUTSAMPLERATE, SAMPLECONVERTER, RXCORR, TXCORR, TXOFFSET,
|
||||
USELEADINGZEROS, CONTESTSTART, CONTESTDIGITS,
|
||||
USETIMER, MACRONUMBER, TIMEOUT,
|
||||
USETIMER, MACRONUMBER, TIMEOUT, USELASTMACRO,
|
||||
MXDEVICE,
|
||||
PCMVOLUME,
|
||||
MICIN, LINEIN, ENABLEMIXER, MUTEINPUT,
|
||||
|
@ -562,6 +563,7 @@ void configuration::writeDefaultsXML()
|
|||
writeXMLbool(f, "USETIMER", useTimer);
|
||||
writeXMLint(f, "MACRONUMBER", macronumber);
|
||||
writeXMLint(f, "TIMEOUT", timeout);
|
||||
writeXMLbool(f, "USELASTMACRO", UseLastMacro);
|
||||
writeXMLstr(f, "MXDEVICE", MXdevice);
|
||||
writeXMLdbl(f, "PCMVOLUME", PCMvolume);
|
||||
writeXMLbool(f, "MICIN", MicIn);
|
||||
|
@ -1036,6 +1038,9 @@ bool configuration::readDefaultsXML()
|
|||
case TIMEOUT :
|
||||
timeout = atoi(getstring(xml).c_str());
|
||||
break;
|
||||
case USELASTMACRO :
|
||||
UseLastMacro = atoi(getstring(xml).c_str());
|
||||
break;
|
||||
case MXDEVICE :
|
||||
MXdevice = getstring(xml);
|
||||
break;
|
||||
|
@ -1331,6 +1336,7 @@ bool configuration::readDefaultsXML()
|
|||
else if (!strcmp("USETIMER", nodeName)) tag = USETIMER;
|
||||
else if (!strcmp("MACRONUMBER", nodeName)) tag = MACRONUMBER;
|
||||
else if (!strcmp("TIMEOUT", nodeName)) tag = TIMEOUT;
|
||||
else if (!strcmp("USELASTMACRO", nodeName)) tag = USELASTMACRO;
|
||||
else if (!strcmp("MXDEVICE", nodeName)) tag = MXDEVICE;
|
||||
else if (!strcmp("PCMVOLUME", nodeName)) tag = PCMVOLUME;
|
||||
else if (!strcmp("MICIN", nodeName)) tag = MICIN;
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include "newinstall.h"
|
||||
#include "globals.h"
|
||||
#include "debug.h"
|
||||
#include "status.h"
|
||||
|
||||
#include <FL/Fl.H>
|
||||
#include "fileselect.h"
|
||||
|
@ -577,7 +578,12 @@ void MACROTEXT::loadDefault()
|
|||
{
|
||||
int erc;
|
||||
string Filename = HomeDir;
|
||||
Filename.append("macros.mdf");
|
||||
if (progdefaults.UseLastMacro == true)
|
||||
Filename.append(progStatus.LastMacroFile);
|
||||
else {
|
||||
Filename.append("macros.mdf");
|
||||
progStatus.LastMacroFile = "macros.mdf";
|
||||
}
|
||||
if ((erc = loadMacros(Filename)) != 0)
|
||||
#ifndef __CYGWIN__
|
||||
LOG_ERROR("Error #%d loading %s\n", erc, Filename.c_str());
|
||||
|
@ -589,19 +595,25 @@ void MACROTEXT::loadDefault()
|
|||
void MACROTEXT::openMacroFile()
|
||||
{
|
||||
string deffilename = HomeDir;
|
||||
deffilename.append("macros.mdf");
|
||||
deffilename.append(progStatus.LastMacroFile);
|
||||
const char *p = FSEL::select("Open macro file", "Fldigi macro definition file\t*.mdf", deffilename.c_str());
|
||||
if (p)
|
||||
if (p) {
|
||||
loadMacros(p);
|
||||
progStatus.LastMacroFile = fl_filename_name(p);
|
||||
update_main_title();
|
||||
}
|
||||
}
|
||||
|
||||
void MACROTEXT::saveMacroFile()
|
||||
{
|
||||
string deffilename = HomeDir;
|
||||
deffilename.append("macros.mdf");
|
||||
deffilename.append(progStatus.LastMacroFile);
|
||||
const char *p = FSEL::saveas("Save macro file", "Fldigi macro definition file\t*.mdf", deffilename.c_str());
|
||||
if (p)
|
||||
if (p) {
|
||||
saveMacros(p);
|
||||
progStatus.LastMacroFile = fl_filename_name(p);
|
||||
update_main_title();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -66,6 +66,7 @@ status progStatus = {
|
|||
false, // bool scopeVisible;
|
||||
50, // int scopeW;
|
||||
50, // int scopeH;
|
||||
"macros.mdf", // string LastMacroFile;
|
||||
|
||||
false // bool bLastStateRead;
|
||||
};
|
||||
|
@ -154,6 +155,8 @@ void status::saveLastState()
|
|||
spref.set("scope_y", scopeY);
|
||||
spref.set("scope_w", scopeW);
|
||||
spref.set("scope_h", scopeH);
|
||||
|
||||
spref.set("last_macro_file", LastMacroFile.c_str());
|
||||
}
|
||||
|
||||
void status::loadLastState()
|
||||
|
@ -211,6 +214,11 @@ void status::loadLastState()
|
|||
spref.get("scope_y", scopeY, scopeY);
|
||||
spref.get("scope_w", scopeW, scopeW);
|
||||
spref.get("scope_h", scopeH, scopeH);
|
||||
|
||||
char *defbuffer;
|
||||
spref.get("last_macro_file", defbuffer, "macros.mdf");
|
||||
LastMacroFile = defbuffer;
|
||||
if (defbuffer) free(defbuffer);
|
||||
}
|
||||
|
||||
void status::initLastState()
|
||||
|
|
|
@ -27,16 +27,16 @@
|
|||
|
||||
#include <config.h>
|
||||
|
||||
#include <string>
|
||||
#include <FL/Fl.H>
|
||||
#include <FL/fl_ask.H>
|
||||
|
||||
#include "olivia.h"
|
||||
#include "sound.h"
|
||||
#include "status.h"
|
||||
|
||||
#include "confdialog.h"
|
||||
|
||||
#include "status.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
double olivia::nco(double freq)
|
||||
|
|
Ładowanie…
Reference in New Issue