kopia lustrzana https://github.com/jamescoxon/dl-fldigi
Delayed Bandwidth
* Added delay to setting rigxml bandwidth when rig setmode
is in same macro definition.
pull/1/head
rodzic
29af73c7c5
commit
cba4a01628
|
|
@ -3814,6 +3814,13 @@ o->labelcolor(FL_FOREGROUND_COLOR);
|
|||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Counter *mbw_delay=(Fl_Counter *)0;
|
||||
|
||||
static void cb_mbw_delay(Fl_Counter* o, void*) {
|
||||
progdefaults.mbw=o->value();
|
||||
progdefaults.changed=true;
|
||||
}
|
||||
|
||||
Fl_Group *tabSoundCard=(Fl_Group *)0;
|
||||
|
||||
Fl_Tabs *tabsSoundCard=(Fl_Tabs *)0;
|
||||
|
|
@ -9146,6 +9153,22 @@ le Earth)"));
|
|||
} // Fl_Button* btnInitXMLRPC
|
||||
grpXMLRPC->end();
|
||||
} // Fl_Group* grpXMLRPC
|
||||
{ Fl_Group* o = new Fl_Group(55, 225, 490, 50);
|
||||
o->box(FL_ENGRAVED_BOX);
|
||||
{ Fl_Counter* o = mbw_delay = new Fl_Counter(210, 239, 90, 21, _("Mode/BW delay"));
|
||||
mbw_delay->tooltip(_("Delay in seconds between <RIGMODE... and <FILWID...\nwhen both in same macro \
|
||||
definition"));
|
||||
mbw_delay->type(1);
|
||||
mbw_delay->minimum(0.1);
|
||||
mbw_delay->maximum(2);
|
||||
mbw_delay->step(0.05);
|
||||
mbw_delay->value(0.1);
|
||||
mbw_delay->callback((Fl_Callback*)cb_mbw_delay);
|
||||
mbw_delay->align(Fl_Align(FL_ALIGN_RIGHT));
|
||||
o->value(progdefaults.mbw);
|
||||
} // Fl_Counter* mbw_delay
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
tabXMLRPC->end();
|
||||
} // Fl_Group* tabXMLRPC
|
||||
tabsRig->end();
|
||||
|
|
|
|||
|
|
@ -4709,6 +4709,18 @@ progdefaults.changed = true;}
|
|||
tooltip {Initialize XML-RPC rig control} xywh {251 184 113 24}
|
||||
}
|
||||
}
|
||||
Fl_Group {} {open
|
||||
xywh {55 225 490 50} box ENGRAVED_BOX
|
||||
} {
|
||||
Fl_Counter mbw_delay {
|
||||
label {Mode/BW delay}
|
||||
callback {progdefaults.mbw=o->value();
|
||||
progdefaults.changed=true;}
|
||||
tooltip {Delay in seconds between <RIGMODE... and <FILWID...
|
||||
when both in same macro definition} xywh {210 239 90 21} type Simple align 8 minimum 0.1 maximum 2 step 0.05 value 0.1
|
||||
code0 {o->value(progdefaults.mbw);}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -445,6 +445,7 @@ extern Fl_Group *tabXMLRPC;
|
|||
extern Fl_Group *grpXMLRPC;
|
||||
extern Fl_Check_Button *chkUSEXMLRPC;
|
||||
extern Fl_Button *btnInitXMLRPC;
|
||||
extern Fl_Counter *mbw_delay;
|
||||
extern Fl_Group *tabSoundCard;
|
||||
extern Fl_Tabs *tabsSoundCard;
|
||||
extern Fl_Group *tabAudio;
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@
|
|||
//
|
||||
// No preprocessor directives or C++ comments inside this macro!
|
||||
// Indent with spaces only.
|
||||
// The 'comments' field should not contain either '<' or '>' characters!
|
||||
|
||||
#ifdef ELEM_
|
||||
# error ELEM_ should not be defined at this point
|
||||
|
|
@ -1131,6 +1132,11 @@
|
|||
ELEM_(bool, UseLastMacro, "USELASTMACRO", \
|
||||
"Load last used macro file on startup", \
|
||||
false) \
|
||||
ELEM_(double, mbw, "MBW", \
|
||||
"Delay between execution of RIGMODE and FILWID\n" \
|
||||
"when in the same macro definition\n" \
|
||||
"range 0.1 to 2.0, default = 0.5", \
|
||||
0.5) \
|
||||
ELEM_(bool, DisplayMacroFilename, "DISPLAYMACROFILENAME", \
|
||||
"Display macro filename on startup", \
|
||||
false) \
|
||||
|
|
|
|||
|
|
@ -2118,6 +2118,15 @@ static void pQueQSY(std::string &s, size_t &i, size_t endbracket)
|
|||
s.replace(i, endbracket - i + 1, "^!");
|
||||
}
|
||||
|
||||
float waitFILWID = 0.0;
|
||||
static string sFILWID;
|
||||
static void delayedFILWID(void *)
|
||||
{
|
||||
qso_opBW->value(sFILWID.c_str());
|
||||
cb_qso_opBW();
|
||||
waitFILWID = 0.0;
|
||||
}
|
||||
|
||||
static void pRIGMODE(std::string& s, size_t& i, size_t endbracket)
|
||||
{
|
||||
if (within_exec) {
|
||||
|
|
@ -2128,6 +2137,8 @@ static void pRIGMODE(std::string& s, size_t& i, size_t endbracket)
|
|||
qso_opMODE->value(sMode.c_str());
|
||||
cb_qso_opMODE();
|
||||
s.replace(i, endbracket - i + 1, "");
|
||||
if (s.find("FILWID") != string::npos)
|
||||
waitFILWID = progdefaults.mbw;
|
||||
}
|
||||
|
||||
static void doRIGMODE(std::string s)
|
||||
|
|
@ -2156,8 +2167,10 @@ static void pFILWID(std::string& s, size_t& i, size_t endbracket)
|
|||
return;
|
||||
}
|
||||
std::string sWidth = s.substr(i+8, endbracket - i - 8);
|
||||
qso_opBW->value(sWidth.c_str());
|
||||
cb_qso_opBW();
|
||||
// qso_opBW->value(sWidth.c_str());
|
||||
// cb_qso_opBW();
|
||||
sFILWID = sWidth;
|
||||
Fl::add_timeout(waitFILWID, delayedFILWID);
|
||||
s.replace(i, endbracket - i + 1, "");
|
||||
}
|
||||
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue