Upstream version 2.08

pull/2/head
Stelios Bounanos 2008-01-29 15:58:15 +00:00
rodzic 34f68be951
commit d4ad637704
4 zmienionych plików z 82 dodań i 110 usunięć

Wyświetl plik

@ -1,47 +1,34 @@
Change Log:
2.08 1) Use PortAudio's C API; the C++ bindings are no longer required
2) Boost is no longer required when std::(tr1::)bind is available,
as is the case with g++ >= 4.0
3) Autodetect TLS support
4) Switch to the PortAudio C API (portaudiocpp no longer required).
Improved PortAudio error handling.
5) Use std::bind (or std::tr1::bind) if available. Boost no longer
needed with g++-4.x, still required with with very old compilers
(g++ 3.x).
6) qrunner cleanups
7) Add m4 macros for TLS autodetection (the --enable-tls/--disable-tls
switches are still supported).
8) New ringbuffer and other utility code
9) New item in the sample rate menu: "Native" selects the hardware's
2.08 1) Changes to build process:
a. Use PortAudio's C API; the C++ bindings are no longer required
b. Boost is no longer required when std::(tr1::)bind is available,
as is the case with g++ >= 4.0
c. Autodetect TLS support
d. Use std::bind (or std::tr1::bind) if available.
e. Add m4 macros for TLS autodetection (the --enable-tls/--disable-tls
switches are still supported).
f. Minor changes to configure.ac
2) qrunner cleanups
3) New ringbuffer and other utility code
4) New item in the sample rate menu: "Native" selects the hardware's
preferred sample rate. Breaks backward compatibility: saving this
with fldigi-2.08 will result in an "invalid sample rate" message if
the same fldigi_def.xml file is then used with 2.07 -- until "Auto"
or a specific value is selected again.
10) Correction to the waterfall's "casual tuning" feature: don't set the
5) Correction to the waterfall's "casual tuning" feature: don't set the
modem to SIGSEARCH when the right mouse button is released.
11) Set locale only for LC_TIME
12) Add .desktop, move icons to data/
13) Minor changes to configure.ac
14) Stacktrace updates Kill a newline in Aborting... message.
Skip pstack's own frame when printing stack trace.
15) Print host API errors
16) Add debug_exec
17) Fix key bindings loop
18) Olivia bug fixes. Set smargin and sinteg to avoid access to
uninitialised memory. Also set lastfreq to 0 in ctor to avoid
valgrind warnings
19) MFSK bug fixes. Set some variables to avoid accessing uninitialised
memory. Initialise interleave table with 0s; the original gmfsk code
used g_new0 to do this. This avoids another access to random bits.
Fix memory leak by creating the small syms array on the stack.
Initialise symbolpair[] with 0s in ctor to avoid vargrind warnings
20) CW fix. Initialise usedefaultWPM in ctor to avoid valgrind warning
about conditional jump depending on access to uninitialised memory
21) Throb bug fix. Plug a memory leak caused by using the wrong delete
operator.
22) PSK bug fix. Initialise s/n and imd variables.
23) Add Olivia settings.
6) Set locale only for LC_TIME
7) Add .desktop, move icons to data/; for deb / rpm build compatibility
8) Exception trapping and print to stdout on program failure
9) Fixes to modem class logic:
a. Olivia Corrected uninitialized variables.
b. MFSK Corrected uninitialized variables. Fixed memory leak.
c. CW Corrected uinitialized variable.
d. Throb Fix memory leak caused by using the wrong delete operator.
e. PSK Corrected uninitialized variables.
10) Rigcat/Hamlib dialog. Added mode, sideband, and current audio
frequency to "saved" frequencies list.
2.07 1) bug fix for mode changes via SysV interface (pskmail / flarq)
2) bug fix for modem configuration post quick change from status

Wyświetl plik

@ -1,12 +1,12 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
# Copyright (C) 2007 Stelios Bounanos, M0GLD (m0gld AT enotty DOT net)
AC_COPYRIGHT([Copyright (C) 2007 Stelios Bounanos, M0GLD (m0gld AT enotty DOT net)])
AC_PREREQ(2.61)
AC_INIT([fldigi], [2.08G], [w1hkj AT w1hkj DOT com])
AC_INIT([fldigi], [2.08], [w1hkj AT w1hkj DOT com])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([-Wall foreign 1.9.6])
AM_INIT_AUTOMAKE([-Wall foreign std-options 1.9.6])
AM_MAINTAINER_MODE
AC_CONFIG_SRCDIR([src/main.cxx])
AC_CONFIG_HEADER([src/config.h])

Wyświetl plik

@ -86,39 +86,6 @@
Fl_Double_Window *fl_digi_main=(Fl_Double_Window *)0;
Fl_Help_Dialog *help_dialog = (Fl_Help_Dialog *)0;
void fldigi_help(string theHelp) {
if (!help_dialog)
help_dialog = new Fl_Help_Dialog();
string htmlHelp =
"<HTML>"//\n"
"<HEAD>"//\n"
"<TITLE>fldigi Help</TITLE>"//\n"
"</HEAD>"//\n"
"<BODY BGCOLOR='#ffffff'>"//\n"
"<FONT FACE=fixed, SIZE=18>"
"<P><TT>";
string postHelp =
"</TT></P>"//\n"
"</BODY>";//\n";
string sHelp;
for (size_t i = 0; i < theHelp.length(); i++)
if (theHelp[i] == '\n') {
if (theHelp[i+1] == '\n') {
sHelp += "</TT></P><P><TT>";
i++;
} else
sHelp += "<BR>";//"\n<BR>";
} else
sHelp += theHelp[i];
htmlHelp += sHelp;
htmlHelp += postHelp;
help_dialog->value(htmlHelp.c_str());
help_dialog->show();
}
cMixer mixer;
bool useCheckButtons = false;
@ -640,35 +607,57 @@ void cb_mnuVisitURL(Fl_Widget*, void* arg)
restoreFocus();
}
void html_help( const string &Html)
{
if (!help_dialog)
help_dialog = new Fl_Help_Dialog;
help_dialog->value(Html.c_str());
help_dialog->show();
}
void fldigi_help(const string& theHelp)
{
string htmlHelp =
"<HTML>"
"<HEAD>"
"<TITLE>" PACKAGE " Help</TITLE>"
"</HEAD>"
"<BODY>"
"<FONT FACE=fixed>"
"<P><TT>";
for (size_t i = 0; i < theHelp.length(); i++) {
if (theHelp[i] == '\n') {
if (theHelp[i+1] == '\n') {
htmlHelp += "</TT></P><P><TT>";
i++;
}
else
htmlHelp += "<BR>";
} else if (theHelp[i] == ' ' && theHelp[i+1] == ' ') {
htmlHelp += "&nbsp;&nbsp;";
i++;
} else
htmlHelp += theHelp[i];
}
htmlHelp +=
"</TT></P>"
"</BODY>"
"</HTML>";
html_help(htmlHelp);
}
void cb_mnuCmdLineHelp(Fl_Widget*, void*)
{
extern std::string option_help;
extern string option_help;
fldigi_help(option_help);
// fl_message_font(FL_SCREEN, FL_NORMAL_SIZE - 1);
// fl_message("%s", option_help.c_str());
// fl_message_font(FL_HELVETICA, FL_NORMAL_SIZE);
restoreFocus();
}
void cb_mnuBuildInfo(Fl_Widget*, void*)
{
extern std::string version_text;
std::string s = version_text;
std::string::size_type i = 0;
// escape the at chars
while ((i = s.find('@', i)) != std::string::npos) {
s.insert(i, 1, '@');
i += 2;
}
fldigi_help(s);
// fl_message_font(FL_SCREEN, FL_NORMAL_SIZE - 1);
// fl_message("%s", s.c_str());
// fl_message_font(FL_HELVETICA, FL_NORMAL_SIZE);
extern string version_text;
fldigi_help(version_text);
restoreFocus();
}

Wyświetl plik

@ -291,30 +291,30 @@ void generate_option_help(void) {
ostringstream help;
// int width = 72;
help << "Usage:\n"
help << "Usage:\n"
<< " " << PACKAGE_NAME << " [option...]\n\n";
help << PACKAGE_NAME << " options:\n\n"
<< " --config-dir DIRECTORY\n"
<< " --config-dir DIRECTORY\n"
<< " Look for configuration files in DIRECTORY\n"
<< " The default is: " << HomeDir << "\n\n"
<< " --rx-ipc-key KEY" << "Set the receive message queue key\n"
<< " --rx-ipc-key KEY\n"
<< " Set the receive message queue key\n"
<< " May be given in hex if prefixed with \"0x\"\n"
<< " The default is: " << progdefaults.rx_msgid
<< " or 0x" << hex << progdefaults.rx_msgid << dec << "\n\n"
<< " --tx-ipc-key KEY" << "Set the transmit message queue key\n"
<< " --tx-ipc-key KEY\n"
<< " Set the transmit message queue key\n"
<< " May be given in hex if prefixed with \"0x\"\n"
<< " The default is: " << progdefaults.tx_msgid
<< " or 0x" << hex << progdefaults.tx_msgid << dec << "\n\n"
<< " --version\n"
<< " --version\n"
<< " Print version information\n\n"
<< " --help\n"
<< " --help\n"
<< " Print this option help\n\n";
// Fl::help looks ugly so we'll write our own
@ -332,8 +332,7 @@ void generate_option_help(void) {
<< " format is ``host:n.n''\n\n"
<< " -dn, -dnd or -nodn, -nodnd\n"
<< " Enable or disable drag and drop copy and\n"
<< " paste in text fields\n\n"
<< " Enable or disable drag and drop copy and paste in text fields\n\n"
<< " -fg COLOR, -foreground COLOR\n"
<< " Set the foreground color\n\n"
@ -364,9 +363,6 @@ void generate_option_help(void) {
help << "Additional UI options:\n\n"
// << setw(width) << setiosflags(ios::left)
// << " --fast-text" << "Use fast text widgets\n"
<< " --font FONT[:SIZE]\n"
<< " Set the widget font and (optionally) size\n"
<< " The default is: " << Fl::get_font(FL_HELVETICA)
@ -523,11 +519,11 @@ int parse_args(int argc, char **argv, int& idx)
return 2;
#endif // USE_PORTAUDIO
case OPT_HELP:
cerr << option_help;
cout << option_help;
exit(EXIT_SUCCESS);
case OPT_VERSION:
cerr << version_text;
cout << version_text;
exit(EXIT_SUCCESS);
case '?':