kopia lustrzana https://github.com/jamescoxon/dl-fldigi
Upstream version 3.04AK
rodzic
87aa9d5dab
commit
53e71e80ad
|
@ -48,6 +48,7 @@ Change Log:
|
|||
18) Added brief message to the opening Rx text area indicating which
|
||||
macro file was loaded on start up. Also added name of the working
|
||||
macro file to the title bar of the macro editor.
|
||||
19) Addition of Navy MARS prosigns to the CW Morse encoder / decoder.
|
||||
|
||||
3.03
|
||||
1) Changes to socket server to correct shutdown process
|
||||
|
|
|
@ -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, [4AJ])
|
||||
m4_define(FLDIGI_PATCH, [4AK])
|
||||
|
||||
AC_INIT([fldigi], FLDIGI_MAJOR.FLDIGI_MINOR[FLDIGI_PATCH], [w1hkj AT w1hkj DOT com])
|
||||
|
||||
|
|
|
@ -85,8 +85,8 @@ static CW_TABLE cw_table[] = {
|
|||
{"\"", ".-..-.", CW_ENTRY_NORMAL},
|
||||
{"'", ".----.", CW_ENTRY_NORMAL},
|
||||
{"$", "...-..-", CW_ENTRY_NORMAL},
|
||||
// {"(", "-.--.", CW_ENTRY_NORMAL},
|
||||
// {")", "-.--.-", CW_ENTRY_NORMAL},
|
||||
{"(", "-.--.", CW_ENTRY_NORMAL},
|
||||
{")", "-.--.-", CW_ENTRY_NORMAL},
|
||||
// {"+", ".-.-.", CW_ENTRY_NORMAL},
|
||||
{",", "--..--", CW_ENTRY_NORMAL},
|
||||
{"-", "-....-", CW_ENTRY_NORMAL},
|
||||
|
@ -99,23 +99,19 @@ static CW_TABLE cw_table[] = {
|
|||
{"_", "..--.-", CW_ENTRY_NORMAL},
|
||||
{"@", ".--.-.", CW_ENTRY_NORMAL},
|
||||
{"!", "-.-.--", CW_ENTRY_NORMAL},
|
||||
/* ISO 8859-1 accented characters */
|
||||
{"\334\374", "..--", CW_ENTRY_NORMAL}, /* U diaeresis */
|
||||
{"\304\344", ".-.-", CW_ENTRY_NORMAL}, /* A diaeresis */
|
||||
{"\307\347", "-.-..",CW_ENTRY_NORMAL}, /* C cedilla */
|
||||
{"\326\366", "---.", CW_ENTRY_NORMAL}, /* O diaeresis */
|
||||
{"\311\351", "..-..",CW_ENTRY_NORMAL}, /* E acute */
|
||||
{"\310\350", ".-..-",CW_ENTRY_NORMAL}, /* E grave */
|
||||
{"\305\345", ".--.-",CW_ENTRY_NORMAL}, /* A ring */
|
||||
{"\321\361", "--.--",CW_ENTRY_NORMAL}, /* N tilde */
|
||||
/* ISO 8859-2 accented characters */
|
||||
{"\252", "----", CW_ENTRY_NORMAL}, /* S cedilla */
|
||||
{"\256", "--..-", CW_ENTRY_NORMAL}, /* Z dot above */
|
||||
/* special characters */
|
||||
{"~", ".-.-", CW_ENTRY_NORMAL},
|
||||
{"<AA>", ".-.-", CW_ENTRY_EXTENDED},
|
||||
{"%", ".-...", CW_ENTRY_NORMAL},
|
||||
{"<AS>", ".-...", CW_ENTRY_EXTENDED},
|
||||
{"^", "....--", CW_ENTRY_NORMAL},
|
||||
{"<HM>", "....--", CW_ENTRY_EXTENDED},
|
||||
{"&", "..-.-", CW_ENTRY_NORMAL},
|
||||
{"<INT>", "..-.-", CW_ENTRY_EXTENDED},
|
||||
{">", "...-.-", CW_ENTRY_NORMAL},
|
||||
{"<SK>", "...-.-", CW_ENTRY_EXTENDED},
|
||||
{"<", "-.--.", CW_ENTRY_NORMAL},
|
||||
{"<KN>", "-.--.", CW_ENTRY_EXTENDED},
|
||||
{"<SK>", "...-.-", CW_ENTRY_EXTENDED},
|
||||
// {"<", "-.--.", CW_ENTRY_NORMAL},
|
||||
// {"<KN>", "-.--.", CW_ENTRY_EXTENDED},
|
||||
{"}", ".-.-.", CW_ENTRY_NORMAL},
|
||||
{"<AR>", ".-.-.", CW_ENTRY_EXTENDED},
|
||||
{"{", "...-.", CW_ENTRY_NORMAL},
|
||||
|
@ -123,6 +119,18 @@ static CW_TABLE cw_table[] = {
|
|||
/* Sentinel end of table value */
|
||||
{NULL, NULL, 0}
|
||||
};
|
||||
/* ISO 8859-1 accented characters */
|
||||
// {"\334\374", "..--", CW_ENTRY_NORMAL}, /* U diaeresis */
|
||||
// {"\304\344", ".-.-", CW_ENTRY_NORMAL}, /* A diaeresis */
|
||||
// {"\307\347", "-.-..",CW_ENTRY_NORMAL}, /* C cedilla */
|
||||
// {"\326\366", "---.", CW_ENTRY_NORMAL}, /* O diaeresis */
|
||||
// {"\311\351", "..-..",CW_ENTRY_NORMAL}, /* E acute */
|
||||
// {"\310\350", ".-..-",CW_ENTRY_NORMAL}, /* E grave */
|
||||
// {"\305\345", ".--.-",CW_ENTRY_NORMAL}, /* A ring */
|
||||
// {"\321\361", "--.--",CW_ENTRY_NORMAL}, /* N tilde */
|
||||
/* ISO 8859-2 accented characters */
|
||||
// {"\252", "----", CW_ENTRY_NORMAL}, /* S cedilla */
|
||||
// {"\256", "--..-", CW_ENTRY_NORMAL}, /* Z dot above */
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -874,6 +874,13 @@ update_main_title();
|
|||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *btnDisplayMacroFilename=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_btnDisplayMacroFilename(Fl_Check_Button* o, void*) {
|
||||
progdefaults.DisplayMacroFilename = o->value();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Group *tabRSid=(Fl_Group *)0;
|
||||
|
||||
Fl_Check_Button *chkTransmitRSid=(Fl_Check_Button *)0;
|
||||
|
@ -1487,6 +1494,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
tabOperator->selection_color((Fl_Color)51);
|
||||
tabOperator->callback((Fl_Callback*)cb_tabOperator);
|
||||
tabOperator->when(FL_WHEN_CHANGED);
|
||||
tabOperator->hide();
|
||||
{ inpMyCallsign = new Fl_Input(78, 36, 85, 24, "Callsign:");
|
||||
inpMyCallsign->callback((Fl_Callback*)cb_inpMyCallsign);
|
||||
} // Fl_Input* inpMyCallsign
|
||||
|
@ -2150,7 +2158,6 @@ l with your sound hardware.");
|
|||
{ tabMisc = new Fl_Group(0, 25, 405, 200, "Misc");
|
||||
tabMisc->color((Fl_Color)51);
|
||||
tabMisc->selection_color((Fl_Color)51);
|
||||
tabMisc->hide();
|
||||
{ tabsMisc = new Fl_Tabs(0, 25, 400, 195);
|
||||
{ tabCPUspeed = new Fl_Group(0, 50, 400, 170, "CPU speed");
|
||||
tabCPUspeed->hide();
|
||||
|
@ -2167,13 +2174,19 @@ l with your sound hardware.");
|
|||
tabCPUspeed->end();
|
||||
} // Fl_Group* tabCPUspeed
|
||||
{ tabMacros = new Fl_Group(0, 50, 400, 170, "Macros");
|
||||
{ Fl_Group* o = new Fl_Group(5, 55, 390, 49);
|
||||
{ Fl_Group* o = new Fl_Group(5, 55, 390, 69);
|
||||
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");
|
||||
{ Fl_Check_Button* o = btnUseLastMacro = new Fl_Check_Button(30, 70, 274, 15, "load last used Macro file on startup");
|
||||
btnUseLastMacro->down_box(FL_DOWN_BOX);
|
||||
btnUseLastMacro->callback((Fl_Callback*)cb_btnUseLastMacro);
|
||||
o->value(progdefaults.UseLastMacro);
|
||||
} // Fl_Check_Button* btnUseLastMacro
|
||||
{ Fl_Check_Button* o = btnDisplayMacroFilename = new Fl_Check_Button(30, 91, 274, 15, "display Macro Filename on startup");
|
||||
btnDisplayMacroFilename->tooltip("filename is written to the Rx text area");
|
||||
btnDisplayMacroFilename->down_box(FL_DOWN_BOX);
|
||||
btnDisplayMacroFilename->callback((Fl_Callback*)cb_btnDisplayMacroFilename);
|
||||
o->value(progdefaults.DisplayMacroFilename);
|
||||
} // Fl_Check_Button* btnDisplayMacroFilename
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
tabMacros->end();
|
||||
|
|
|
@ -46,8 +46,8 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
} {
|
||||
Fl_Group tabOperator {
|
||||
label Oper
|
||||
callback {progdefaults.changed = true;} open selected
|
||||
xywh {0 25 400 195} color 51 selection_color 51 when 1
|
||||
callback {progdefaults.changed = true;} open
|
||||
xywh {0 25 400 195} color 51 selection_color 51 when 1 hide
|
||||
} {
|
||||
Fl_Input inpMyCallsign {
|
||||
label {Callsign:}
|
||||
|
@ -1025,7 +1025,7 @@ progdefaults.changed = true;}
|
|||
}
|
||||
Fl_Group tabMisc {
|
||||
label Misc open
|
||||
xywh {0 25 405 200} color 51 selection_color 51 hide
|
||||
xywh {0 25 405 200} color 51 selection_color 51
|
||||
} {
|
||||
Fl_Tabs tabsMisc {open
|
||||
xywh {0 25 400 195}
|
||||
|
@ -1051,16 +1051,23 @@ progdefaults.changed = true;}
|
|||
xywh {0 50 400 170}
|
||||
} {
|
||||
Fl_Group {} {open
|
||||
xywh {5 55 390 49} box ENGRAVED_FRAME
|
||||
xywh {5 55 390 69} box ENGRAVED_FRAME
|
||||
} {
|
||||
Fl_Check_Button btnUseLastMacro {
|
||||
label {load last used Macro set on startup}
|
||||
label {load last used Macro file on startup}
|
||||
callback {progdefaults.UseLastMacro = o->value();
|
||||
update_main_title();
|
||||
progdefaults.changed = true;}
|
||||
progdefaults.changed = true;} selected
|
||||
xywh {30 70 274 15} down_box DOWN_BOX
|
||||
code0 {o->value(progdefaults.UseLastMacro);}
|
||||
}
|
||||
Fl_Check_Button btnDisplayMacroFilename {
|
||||
label {display Macro Filename on startup}
|
||||
callback {progdefaults.DisplayMacroFilename = o->value();
|
||||
progdefaults.changed = true;}
|
||||
tooltip {filename is written to the Rx text area} xywh {30 91 274 15} down_box DOWN_BOX
|
||||
code0 {o->value(progdefaults.DisplayMacroFilename);}
|
||||
}
|
||||
}
|
||||
}
|
||||
Fl_Group tabRSid {
|
||||
|
|
|
@ -1808,11 +1808,14 @@ void create_fl_digi_main() {
|
|||
ReceiveText->setFontColor(progdefaults.CTRLcolor, FTextBase::CTRL);
|
||||
ReceiveText->setFontColor(progdefaults.SKIPcolor, FTextBase::SKIP);
|
||||
ReceiveText->setFontColor(progdefaults.ALTRcolor, FTextBase::ALTR);
|
||||
string Macroset = "<<<===== Macro File ";
|
||||
Macroset.append(progStatus.LastMacroFile);
|
||||
Macroset.append(" Loaded =====>>>\n\n");
|
||||
ReceiveText->add(Macroset.c_str());
|
||||
|
||||
|
||||
if (progdefaults.DisplayMacroFilename) {
|
||||
string Macroset = "<<<===== Macro File ";
|
||||
Macroset.append(progStatus.LastMacroFile);
|
||||
Macroset.append(" Loaded =====>>>\n\n");
|
||||
ReceiveText->add(Macroset.c_str());
|
||||
}
|
||||
|
||||
TiledGroup->add_resize_check(FTextView::wheight_mult_tsize, ReceiveText);
|
||||
FHdisp = new Raster(sw, Y, WNOM-sw, minRxHeight);
|
||||
FHdisp->hide();
|
||||
|
|
|
@ -125,6 +125,7 @@ extern Fl_Group *tabCPUspeed;
|
|||
extern Fl_Check_Button *chkSlowCpu;
|
||||
extern Fl_Group *tabMacros;
|
||||
extern Fl_Check_Button *btnUseLastMacro;
|
||||
extern Fl_Check_Button *btnDisplayMacroFilename;
|
||||
extern Fl_Group *tabRSid;
|
||||
extern Fl_Check_Button *chkTransmitRSid;
|
||||
extern Fl_Check_Button *chkRSidWideSearch;
|
||||
|
|
|
@ -181,6 +181,7 @@ struct configuration {
|
|||
int macronumber;
|
||||
int timeout;
|
||||
bool UseLastMacro;
|
||||
bool DisplayMacroFilename;
|
||||
|
||||
// Mixer configuration
|
||||
string MXdevice;
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
#include "hamlib.h"
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
extern Fl_Double_Window *rigcontrol;
|
||||
extern string windowTitle;
|
||||
extern Cserial rigio;
|
||||
|
|
|
@ -218,6 +218,7 @@ configuration progdefaults = {
|
|||
0, // int macronumber;
|
||||
0, // int timeout;
|
||||
0, // bool UseLastMacro;
|
||||
0, // bool DisplayMacroFilename;
|
||||
|
||||
"", // string MXdevice
|
||||
false, // bool MicIn;
|
||||
|
@ -331,7 +332,7 @@ enum TAG { \
|
|||
AUDIOIO, OSSDEVICE, PADEVICE, PORTINDEVICE, PORTININDEX, PORTOUTDEVICE, PORTOUTINDEX, PULSESERVER,
|
||||
SAMPLERATE, INSAMPLERATE, OUTSAMPLERATE, SAMPLECONVERTER, RXCORR, TXCORR, TXOFFSET,
|
||||
USELEADINGZEROS, CONTESTSTART, CONTESTDIGITS,
|
||||
USETIMER, MACRONUMBER, TIMEOUT, USELASTMACRO,
|
||||
USETIMER, MACRONUMBER, TIMEOUT, USELASTMACRO, DISPLAYMACROFILENAME,
|
||||
MXDEVICE,
|
||||
PCMVOLUME,
|
||||
MICIN, LINEIN, ENABLEMIXER, MUTEINPUT,
|
||||
|
@ -564,6 +565,7 @@ void configuration::writeDefaultsXML()
|
|||
writeXMLint(f, "MACRONUMBER", macronumber);
|
||||
writeXMLint(f, "TIMEOUT", timeout);
|
||||
writeXMLbool(f, "USELASTMACRO", UseLastMacro);
|
||||
writeXMLbool(f, "DISPLAYMACROFILENAME", DisplayMacroFilename);
|
||||
writeXMLstr(f, "MXDEVICE", MXdevice);
|
||||
writeXMLdbl(f, "PCMVOLUME", PCMvolume);
|
||||
writeXMLbool(f, "MICIN", MicIn);
|
||||
|
@ -1041,6 +1043,9 @@ bool configuration::readDefaultsXML()
|
|||
case USELASTMACRO :
|
||||
UseLastMacro = atoi(getstring(xml).c_str());
|
||||
break;
|
||||
case DISPLAYMACROFILENAME :
|
||||
DisplayMacroFilename = atoi(getstring(xml).c_str());
|
||||
break;
|
||||
case MXDEVICE :
|
||||
MXdevice = getstring(xml);
|
||||
break;
|
||||
|
@ -1337,6 +1342,7 @@ bool configuration::readDefaultsXML()
|
|||
else if (!strcmp("MACRONUMBER", nodeName)) tag = MACRONUMBER;
|
||||
else if (!strcmp("TIMEOUT", nodeName)) tag = TIMEOUT;
|
||||
else if (!strcmp("USELASTMACRO", nodeName)) tag = USELASTMACRO;
|
||||
else if (!strcmp("DISPLAYMACROFILENAME", nodeName)) tag = DISPLAYMACROFILENAME;
|
||||
else if (!strcmp("MXDEVICE", nodeName)) tag = MXDEVICE;
|
||||
else if (!strcmp("PCMVOLUME", nodeName)) tag = PCMVOLUME;
|
||||
else if (!strcmp("MICIN", nodeName)) tag = MICIN;
|
||||
|
|
Ładowanie…
Reference in New Issue