home *** CD-ROM | disk | FTP | other *** search
- /***************************************************************************
- * Copyright (C) 1994 Charles P. Peterson *
- * 4007 Enchanted Sun, San Antonio, Texas 78244-1254 *
- * Email: Charles_P_Peterson@fcircus.sat.tx.us *
- * *
- * This is free software with NO WARRANTY. *
- * See gfft.c, or run program itself, for details. *
- * Support is available for a fee. *
- ***************************************************************************
- *
- * Program: gfft--General FFT analysis
- * File: messages.c
- * Purpose: (most) console messages
- * Author: Charles Peterson (CPP)
- * History: 3-August-1993 CPP; Created.
- * 30-June-1994 CPP (0.72); Expanded launching script for MORE
- * 6-July-1994 CPP (0.73); call display_file() in more_strings
- * 6-July-1994 CPP (0.74); allow simultaneous MORE sessions
- * 27-July-1994 CPP (1.03); fix COPYING display under ADOS 1.3
- * 12-Aug-1994 CPP (1.11); fix enforcer hit in more_strings
- * 13-January-1995 CPP (1.19) use <string.h> for ANSI compat
- * 17-Jan-1995 CPP (1.20); Size shells nicely
- * 20-Jan-1995 CPP (1.24); Remove enforcer hits during show
- * 20-Jan-1994 CPP (1.23); Use icon tooltypes
- * 15-Feb-1995 CPP (1.43); Show all non-default settings
- *
- * Comments: This is where message strings are output.
- * The include file messages.h should ONLY be included here.
- */
-
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- #include <ctype.h> /* tolower */
-
- #include "gfft.h"
- #include "settings.h"
- #include "messages.h"
- #include "format.h"
-
- #include "wbench.h"
- extern struct Window *dialog_window_p;
- extern struct Gadget *message_gadgetp;
-
- #define CONSOLE_WIDTH 79
- #define PAGE_SIZE 20
- #define MESSAGE_BUFSIZE 160
-
- extern Name_Info_St Gfft_Command[];
- extern int Shell_Width;
- extern int Shell_Height;
-
- static char message___message_buf[MESSAGE_IOBUFFER_SIZE];
- static FILE *message___read_file = NULL;
- static char **message___strings = NULL;
- static int message___string_index = 0;
-
- static void display_iterate (char *iterator_func());
- static void display_strings (char *messagestrings[]);
- static char *next_file_line (void);
- static char *next_string (void);
- static void message_display (char *message_string, FILE *output_ptr);
- static void error_message_display (char *message_string, FILE *output_ptr);
- static void more_strings (char **message_strings);
-
- #ifdef AMIGA
- static void display_file (char *filename, BOOLEAN delete);
- #else
- static void display_file (FILE *read_file);
- #endif
-
- static int count = 0;
-
- char *banner_message (char *arguments)
- {
- char name_string[82];
- int i;
- int name_length;
- int name_delta;
- int name_indent;
- int copyright_length = strlen (Copyright);
- int copyright_delta = CONSOLE_WIDTH - copyright_length;
- int copyright_indent = copyright_delta / 2;
-
- strcpy (name_string, NameAuthor);
- strcat (name_string, VersionData);
- name_length = strlen (name_string);
- name_delta = CONSOLE_WIDTH - name_length;
- name_indent = name_delta / 2;
-
- printf ("\n");
- for (i = 0; i < name_indent; i++) printf (" ");
- printf (name_string);
-
- printf ("\n");
- for (i = 0; i < copyright_indent; i++) printf (" ");
- printf (Copyright);
-
- display_strings (banner_strings);
- return arguments;
- }
-
- char *about_message (char *arguments)
- {
- display_strings (Author_Strings);
- return arguments;
- }
-
- #define HELP_BUFSIZ 90
-
- static char *help_message_with_arguments (char *arguments)
- /*
- * Note: the assumption is made that all arguments present are to be
- * used in the help command (even though only one argument is currently
- * supported). Thus, a help command could not be used at the beginning
- * of a batch command, followed by 'real' commands. In fact, given the
- * current batch command algorithm, a help command with arguments in
- * batch wouldn't work anyway...the arguments would be assumed to be
- * real commands.
- */
- {
- FILE *help_file_ptr;
- FILE *message_file_ptr;
- char help_buf[HELP_BUFSIZ];
- char message_file_name[MAX_PATH];
- int i;
- int length = strlen (arguments);
-
- #ifdef AMIGA
- sprintf (message_file_name, "%s%d",
- MESSAGE_FILE_NAME, ++count);
-
- message_file_ptr = fopen (message_file_name, "w");
- if (!message_file_ptr)
- {
- error_message (CANT_CREATE_MESSAGE_FILE);
- RAISE_ERROR (NOTHING_SPECIAL); /* longjmp outa here! */
- }
- #else
- message_file_ptr = stdout;
- #endif
-
- if (help_file_ptr = gopen (HelpPathList, HELP_FILE_NAME, "r"))
- {
- while (fgets (help_buf, HELP_BUFSIZ, help_file_ptr))
- {
- if (help_buf[0] == '?')
- {
- for (i = 0; i < length; i++)
- {
- if (tolower (help_buf[i+1]) != tolower (arguments[i]))
- break;
- }
- if (length == i) /* No mismatch */
- {
- BOOLEAN line_output_already = FALSE;
- while (fgets (help_buf, HELP_BUFSIZ, help_file_ptr))
- {
- if (help_buf[0] != ' ' && help_buf[0] != '\n')
- {
- if (line_output_already) break;
- continue;
- }
- line_output_already = TRUE;
- fputs (help_buf, message_file_ptr);
- }
- # ifdef AMIGA
- fclose (message_file_ptr);
- display_file (message_file_name, TRUE);
- # else
- display_file (message_file_ptr);
- fclose (message_file_ptr);
- # endif
- fclose (help_file_ptr);
- return NullString;
- }
- }
- }
- fclose (help_file_ptr);
- fclose (message_file_ptr);
- error_message (HELP_MESSAGE_UNAVAILABLE);
- RAISE_ERROR (NOTHING_SPECIAL); /* longjmp outa here */
- }
- fclose (message_file_ptr);
- error_message (HELP_FILE_NOT_FOUND);
- RAISE_ERROR (NOTHING_SPECIAL); /* longjmp outa here */
- return NullString; /* shouldn't get here actually */
- }
-
-
- char *copying_message (char *arguments)
- {
- FILE *copying_file;
-
- if (copying_file = gopen (HelpPathList,"COPYING","r"))
- {
- # ifdef AMIGA
-
- /* bugfix (1.03)
- * under 1.3, spawned process doesn't inheirit current directory (DAMN!)
- * so, we must copy COPYING into a temporary file so that we know where
- * it is.
- */
- FILE *message_file;
- char buffer[HELP_BUFSIZ];
- char message_file_name[MAX_PATH];
-
- sprintf (message_file_name, "%s%d",
- MESSAGE_FILE_NAME, ++count);
-
- message_file = fopen (message_file_name, "w");
- if (!message_file)
- {
- error_message (CANT_CREATE_MESSAGE_FILE);
- RAISE_ERROR (NOTHING_SPECIAL); /* longjmp outa here! */
- }
- while (fgets (buffer, HELP_BUFSIZ, copying_file))
- {
- fputs (buffer, message_file);
- }
- fclose (copying_file);
- fclose (message_file);
- display_file (message_file_name, TRUE);
-
-
- # else /* AMIGA not defined */
- display_file (copying_file);
- fclose (copying_file);
- # endif
-
-
- }
- else
- {
- more_strings (copying_unavailable_strings);
- }
- return arguments;
- }
-
- char *no_warranty_message (char *arguments)
- {
- more_strings (no_warranty_strings);
- return arguments;
- }
-
- char *question_message (char *arguments)
- {
- display_strings (question_message_strings);
- return arguments;
- }
-
- #define HELP_COLUMNS 3
- #if (HELP_COLUMNS == 3)
- #define TAB_1 26
- #define TAB_2 52
- #else
- #define TAB_1 20
- #define TAB_2 40
- #define TAB_3 60
- #endif
-
- char *help_message (char *arguments)
- {
- /*
- * I find it easier to read commands if they are listed in multiple columns
- * AND if each column has commands in alphabetical order
- */
- int i;
- int midcommand;
- int end_command_number;
- int col;
- char message_file_name[MAX_PATH];
- FILE *message_file_ptr;
-
- if (arguments[0] != '\0')
- {
- return help_message_with_arguments (arguments);
- }
-
- #ifdef AMIGA /* Use MORE to display in separate shell */
- sprintf (message_file_name, "%s%d",
- MESSAGE_FILE_NAME, ++count);
-
- message_file_ptr = fopen (message_file_name, "w");
- if (!message_file_ptr)
- {
- error_message (CANT_CREATE_MESSAGE_FILE);
- RAISE_ERROR (NOTHING_SPECIAL); /* longjmp outa here! */
- }
- #else
- message_file_ptr = stdout;
- #endif
-
- for (i = 0; strlen (Gfft_Command[i].full_string); i++);
- end_command_number = i + 1;
- midcommand = end_command_number / HELP_COLUMNS;
-
- for (i = 0; help_prolog_strings[i]; i++)
- {
- fprintf (message_file_ptr, "%s\n", help_prolog_strings[i]);
- }
-
- for (i = 0; i < midcommand; i++)
- {
- col = 0;
- col += fprintf (message_file_ptr, "%s", Gfft_Command[i].full_string);
- if (i + midcommand < end_command_number)
- {
- fputc (' ', message_file_ptr);
- while (++col < TAB_1) fputc (' ', message_file_ptr);
- col += fprintf (message_file_ptr, "%s",
- Gfft_Command[i + midcommand].full_string);
- if (i + midcommand*2 < end_command_number)
- {
- fputc (' ', message_file_ptr);
- while (++col < TAB_2) fputc (' ', message_file_ptr);
- col += fprintf (message_file_ptr, "%s",
- Gfft_Command[i + midcommand*2].full_string);
- #if (TAB_COLUMNS == 4)
- if (i + midcommand*3 < end_command_number)
- {
- fputc (' ', message_file_ptr);
- while (++col < TAB_3) fputc (' ', message_file_ptr);
- col += fprintf (message_file_ptr, "%s",
- Gfft_Command[i + midcommand*3].full_string);
- }
- #endif
- }
- }
- fprintf (message_file_ptr,"\n");
- }
-
- for (i = 0; help_epilog_strings[i]; i++)
- {
- fprintf (message_file_ptr, "%s\n", help_epilog_strings[i]);
- }
- if (message_file_ptr != stdout)
- {
- # ifdef AMIGA
- fclose (message_file_ptr);
- display_file (message_file_name, TRUE);
- # else
- display_file (message_file_ptr);
- fclose (message_file_ptr);
- # endif
- }
- return arguments;
- }
-
- #ifdef AMIGA
- static void display_file (char *filename, BOOLEAN delete)
- #else
- static void display_file (FILE *read_file)
- #endif
- {
- #ifdef AMIGA /* Run MORE command to display file in new shell */
- char buffer[COMMAND_BUFFER_SIZE];
- char command_file_name[MAX_PATH];
- FILE *comfile_ptr;
-
- sprintf (command_file_name, "%s%d",
- MORE_COMMAND_FILE_NAME, ++count);
-
- comfile_ptr = fopen (command_file_name,"w");
- if (!comfile_ptr)
- {
- error_message (CANT_CREATE_MORE_COMMAND_FILE);
- RAISE_ERROR (NOTHING_SPECIAL); /* longjmp outa here! */
- }
- fprintf (comfile_ptr, "which >nil: more\n");
- fprintf (comfile_ptr, "if warn\n");
- fprintf (comfile_ptr, "if exists sys:utilities\n");
- fprintf (comfile_ptr, "path >nil: sys:utilities add\n");
- fprintf (comfile_ptr, "endif\n");
- fprintf (comfile_ptr, "endif\n");
- fprintf (comfile_ptr, "more %s\n", filename);
- fprintf (comfile_ptr, "failat 100\n");
- if (delete)
- {
- fprintf (comfile_ptr, "delete >nil: %s QUIET\n", filename);
- }
- fprintf (comfile_ptr,
- ";The following is to delete EARLIER scripts still hanging around.\n");
- fprintf (comfile_ptr, "delete >nil: %s QUIET\n",
- COMMAND_FILE_WILDCARD); /* delete OLDer versions */
- fprintf (comfile_ptr, "endcli\n");
- fclose (comfile_ptr);
- sprintf (buffer,
- "newshell CON:0/0/%d/%d/Gfft-More-Shell from %s",
- Shell_Width, Shell_Height, command_file_name);
- system (buffer);
-
- #else /* Display file directly in current shell */
- message___read_file = read_file;
- display_iterate (next_file_line);
- #endif
- }
-
- static void more_strings (char **message_strings)
- {
- #ifdef AMIGA /* Use MORE command to display strings in new shell */
- FILE *message_file_ptr;
- char message_file_name[MAX_PATH];
- int i;
-
- sprintf (message_file_name, "%s%d",
- MESSAGE_FILE_NAME, ++count);
-
- message_file_ptr = fopen (message_file_name,"w");
- if (!message_file_ptr)
- {
- error_message (CANT_CREATE_MESSAGE_FILE);
- RAISE_ERROR (NOTHING_SPECIAL); /* longjmp outa here! */
- }
- for (i = 0; message_strings[i]; i++)
- {
- fprintf (message_file_ptr, "%s\n", message_strings[i]);
- }
- fclose (message_file_ptr);
-
- display_file (message_file_name, TRUE);
-
- #else /* Display strings in current shell */
- display_strings (message_strings);
- #endif
- }
-
- static void display_strings (char **message_strings)
- {
- message___strings = message_strings;
- message___string_index = 0;
- display_iterate (next_string);
- message___strings = NULL;
- }
-
- static char *next_file_line (void)
- {
- int i = 0;
- int c;
- static ff_found = FALSE;
-
- if (ff_found)
- {
- ff_found = FALSE;
- message___message_buf[0] = '\f';
- message___message_buf[1] = '\0';
- return message___message_buf;
- }
- while (EOF != (c = getc (message___read_file)))
- {
- if (c == '\n')
- {
- break;
- }
- if (c == '\f')
- {
- ff_found = TRUE;
- break;
- }
- message___message_buf[i] = (char) c;
- if (++i >= MESSAGE_IOBUFFER_SIZE - 1)
- {
- break;
- }
- }
- message___message_buf[i] = '\0';
- if (c == EOF && i == 0)
- {
- return NULL;
- }
- else
- {
- return message___message_buf;
- }
- }
-
- static char *next_string (void)
- {
- char *string = NULL;
-
- if (message___strings)
- {
- if (message___strings[message___string_index])
- {
- string = message___strings[message___string_index++];
- }
- else
- {
- message___strings = NULL;
- }
- }
- return string;
- }
-
-
- static void display_iterate (char *iterator_function(void))
- {
- char input_line[MESSAGE_IOBUFFER_SIZE];
- char *message_string;
- int i = 0;
-
- while (message_string = (*iterator_function)())
- {
- if (++i > PAGE_SIZE)
- {
- printf ("\n%s",MORE_STRING);
- gets (input_line);
- if (strlen(input_line) > 0 && (input_line[0] == NO_MORE_CHAR_1 ||
- input_line[0] == NO_MORE_CHAR_2))
- {
- break;
- }
- printf("\n");
- i = 1;
- }
- if (message_string[0] == '\f')
- {
- printf ("\n");
- i = PAGE_SIZE;
- }
- else
- {
- printf ("%s\n",message_string);
- }
- }
- }
-
- void command_error_message (int message_number, char *bad_charp)
- {
- long spaces;
-
- if (Quiet) return;
-
- if (CommandMode != WORKBENCH_MODE)
- {
- spaces = strlen (PROMPT) + (bad_charp - Command);
- if (CommandMode != INTERACTIVE_MODE)
- {
- fprintf (stderr,"%s\n",Command);
- spaces -= strlen (PROMPT);
- }
- for (; spaces > 0; spaces--)
- {
- fprintf (stderr," ");
- }
- fprintf (stderr,"^\n");
- }
- error_message (message_number);
- }
-
- void error_message (int message_number)
- {
- /*
- * Since all messages herein are error messages
- * They are all written to stderr (or, output to a window)
- */
- char *message_string;
-
- Error_Count++;
-
- switch (message_number)
- {
- case NO_SUCH_COMMAND:
- message_string = NO_SUCH_COMMAND_S;
- break;
- case OUT_OF_MEMORY:
- message_string = OUT_OF_MEMORY_S;
- break;
- case REQUESTER_STACK_OVERFLOW:
- message_string = REQUESTER_STACK_OVERFLOW_S;
- break;
- case UNSUPPORTED_COMMAND:
- message_string = UNSUPPORTED_COMMAND_S;
- break;
- case MISSING_ARGUMENT:
- message_string = MISSING_ARGUMENT_S;
- break;
- case BAD_ARGUMENT:
- message_string = BAD_ARGUMENT_S;
- break;
- case ALREADY_IN_CLI_MODE:
- message_string = ALREADY_IN_CLI_MODE_S;
- break;
- case BAD_NAME:
- message_string = BAD_NAME_S;
- break;
- case AMBIGUOUS_COMMAND:
- message_string = AMBIGUOUS_COMMAND_S;
- break;
- case BACKUP_CREATED:
- message_string = BACKUP_CREATED_S;
- break;
- case OUTPUT_BACKUP_FAILURE:
- message_string = OUTPUT_BACKUP_FAILURE_S;
- break;
- case CANT_CREATE_OUTPUT_FILE:
- message_string = CANT_CREATE_OUTPUT_FILE_S;
- break;
- case CANT_CLEANUP_BATCH_PLOT:
- message_string = CANT_CLEANUP_BATCH_PLOT_S;
- break;
- case CANT_RE_OUTPUT:
- message_string = CANT_RE_OUTPUT_S;
- break;
- case CANT_RE_PLOT:
- message_string = CANT_RE_PLOT_S;
- break;
- case BACKUP_OVERWRITTEN:
- message_string = BACKUP_OVERWRITTEN_S;
- break;
- case CANT_OPEN_INPUT_FILE:
- message_string = CANT_OPEN_INPUT_FILE_S;
- break;
- case SCANNING_FILE:
- if (CommandMode == WORKBENCH_MODE) return; /* redundant here */
- message_string = SCANNING_FILE_S;
- break;
- case NO_DATA_PRESENT:
- message_string = NO_DATA_PRESENT_S;
- break;
- case PADDING_TAILEND:
- return; /* Now a non-default option */
- /* message_string = PADDING_TAILEND_S; */
- /* break; */
- case AMBIGUOUS_ARGUMENT:
- message_string = AMBIGUOUS_ARGUMENT_S;
- break;
- case NO_SUCH_ARGUMENT:
- message_string = NO_SUCH_ARGUMENT_S;
- break;
- case NO_NUMERICAL:
- message_string = NO_NUMERICAL_S;
- break;
- case INVALID_NUMBER:
- message_string = INVALID_NUMBER_S;
- break;
- case IGNORING_TAILEND:
- message_string = IGNORING_TAILEND_S;
- break;
- case INSUFFICIENT_DATA:
- message_string = INSUFFICIENT_DATA_S;
- break;
- case FILENAME_TOO_LONG:
- message_string = FILENAME_TOO_LONG_S;
- break;
- case NO_RATE_SPECIFIED:
- message_string = NO_RATE_SPECIFIED_S;
- break;
- case NO_READ_FILE:
- message_string = NO_READ_FILE_S;
- break;
- case UNSUPPORTED_FORMAT:
- message_string = UNSUPPORTED_FORMAT_S;
- break;
- case TOOLTYPE_ERROR:
- message_string = TOOLTYPE_ERROR_S;
- break;
- case STARTUP_FILE_ERROR:
- message_string = STARTUP_FILE_ERROR_S;
- break;
- case CORRUPT_IFF:
- message_string = CORRUPT_IFF_S;
- break;
- case CORRUPT_AVR:
- message_string = CORRUPT_AVR_S;
- break;
- case COMPRESSION_NOT_SUPPORTED:
- message_string = COMPRESSION_NOT_SUPPORTED_S;
- break;
- case ONESHOT_BUT_NOT_8SVX:
- message_string = ONESHOT_BUT_NOT_8SVX_S;
- break;
- case FORMAT_NOT_OK:
- message_string = FORMAT_NOT_OK_S;
- break;
- case NOT_ENOUGH_FRAMES:
- message_string = NOT_ENOUGH_FRAMES_S;
- break;
- case OCTAVE_NOT_PRESENT:
- message_string = OCTAVE_NOT_PRESENT_S;
- break;
- case CORRUPT_AIFF:
- message_string = CORRUPT_AIFF_S;
- break;
- case CORRUPT_AIFC:
- message_string = CORRUPT_AIFC_S;
- break;
- case NO_WRITE_FILE:
- message_string = NO_WRITE_FILE_S;
- break;
- case DB_OF_ZERO:
- message_string = DB_OF_ZERO_S;
- break;
- case NO_FILE_REQSTR:
- message_string = NO_FILE_REQSTR_S;
- break;
- case SPEC_CHANNEL_UNAVAIL:
- message_string = SPEC_CHANNEL_UNAVAIL_S;
- break;
- case INVALID_BINS_SPEC:
- message_string = INVALID_BINS_SPEC_S;
- break;
- case INVALID_INTERLEAVE_SPEC:
- message_string = INVALID_INTERLEAVE_SPEC_S;
- break;
- case INVALID_SMOOTHING_SPEC:
- message_string = INVALID_SMOOTHING_SPEC_S;
- break;
- case INVALID_TIMESEG_PARAMETERS:
- message_string = INVALID_TIMESEG_PARAMETERS_S;
- break;
- case MISSING_TIMESEG_PARAMETERS:
- message_string = MISSING_TIMESEG_PARAMETERS_S;
- break;
- case CANT_CREATE_PLOTTER_FILE:
- message_string = CANT_CREATE_PLOTTER_FILE_S;
- break;
- case CANT_CREATE_MORE_COMMAND_FILE:
- message_string = CANT_CREATE_MORE_COMMAND_FILE_S;
- break;
- case CANT_CREATE_MESSAGE_FILE:
- message_string = CANT_CREATE_MESSAGE_FILE_S;
- break;
- case HELP_MESSAGE_UNAVAILABLE:
- message_string = HELP_MESSAGE_UNAVAILABLE_S;
- break;
- case HELP_FILE_NOT_FOUND:
- message_string = HELP_FILE_NOT_FOUND_S;
- break;
- case CANT_PLOT_FROM_STDOUT:
- message_string = CANT_PLOT_FROM_STDOUT_S;
- break;
- case INVALID_ROTATION_SPEC:
- message_string = INVALID_ROTATION_SPEC_S;
- break;
- case CHANGED_FORMAT_DEP_VALUE:
- message_string = CHANGED_FORMAT_DEP_VALUE_S;
- break;
- case INVALID_CALIBRATION_FILE:
- message_string = INVALID_CALIBRATION_FILE_S;
- break;
- case CANT_OPEN_INTUITION:
- message_string = CANT_OPEN_INTUITION_S;
- break;
- case WINDOW_OPEN_FAILED:
- message_string = WINDOW_OPEN_FAILED_S;
- break;
- default:
- message_string = UNDOCUMENTED_ERROR_S;
- break;
- }
- error_message_display (message_string, stderr);
- }
-
- static void error_message_display (char *message_string, FILE *output_ptr)
- {
- if (Quiet) return;
-
- #ifdef AMIGA
- if (CommandMode == WORKBENCH_MODE && dialog_window_p)
- {
- message_requester (dialog_window_p, message_string);
- }
- else
- #endif
- {
- fprintf (output_ptr, "%s\n", message_string);
- }
- }
-
- static void message_display (char *message_string, FILE *output_ptr)
- {
- if (Quiet) return;
-
- #ifdef AMIGA
- if (CommandMode == WORKBENCH_MODE && dialog_window_p)
- {
- message_gadget__write (message_gadgetp, message_string,
- dialog_window_p);
- }
- else
- #endif
- {
- fprintf (output_ptr, "%s\n", message_string);
- }
- }
-
- void loop_time_message (double seconds)
- {
- char time_string[160];
-
- if (Quiet) return;
-
- sprintf (time_string,
- "FFT loop elapsed time (sec): %-11.5g Now writing fft data...",
- seconds);
- message_display (time_string, stdout);
- }
-
-
- void loop_time_message_done (double seconds)
- {
- char time_string[160];
-
- if (Quiet) return;
-
- sprintf (time_string,
- "FFT loop elapsed time (sec): %-11.5g Ready for next analysis.",
- seconds);
- message_display (time_string, stdout);
- }
-
-
- void bins_d_message (unsigned long total_actually_read,
- unsigned long number_bins)
- {
- if (Quiet) return;
-
- /*
- * In workbench mode, gadget shows maximum value all the time
- * (at least, for formatted files)
- */
- if (CommandMode != WORKBENCH_MODE || FileFormat == UNFORMATTED)
- {
- char message_string[MESSAGE_BUFSIZE];
- sprintf (message_string, BINS_DETERMINED_S,
- total_actually_read, number_bins);
- message_display (message_string, stdout);
- }
- }
-
- void bins_s_message (void)
- {
- char message_string[MESSAGE_BUFSIZE];
-
- if (Quiet) return;
-
- sprintf (message_string, BINS_SELECTED_S, NumberBins);
- message_display (message_string, stdout);
- }
-
- char *settings_message (char *arguments)
- {
- printf ("Synopsis: \n");
- if (ReadPtr == stdin)
- {
- printf (KEYBOARD_INPUT_S);
- }
- else
- {
- if (ReadName && ReadName != NullString)
- {
- printf (INPUT_FILENAME_S, ReadName);
- if (StartByte)
- {
- printf (STARTBYTE_S, StartByte);
- }
- }
- }
- if (WritePtr == stdout)
- {
- printf (OUTPUT_SCREEN_S);
- }
- else if (WriteName && WriteName != NullString)
- {
- printf (OUTPUT_FILENAME_S,WriteName);
- }
- if (Rate)
- {
- printf (SAMPLING_RATE_S);
- #ifdef _FFP
- printf ("%-15.8g\n", Rate);
- #else
- printf ("%-19.12g\n", Rate);
- #endif
- }
- else
- {
- error_message (NO_RATE_SPECIFIED);
- }
- if (Numerical)
- {
- printf (NUMERICAL_RECIPES_USED_S);
- }
- if (Amplitude)
- {
- printf (AMPLITUDE_SPECTRUM_S);
- }
- if (Power)
- {
- printf (POWER_SPECTRUM_S);
- }
- if (!Power && !Amplitude)
- {
- printf (FFT_S);
- }
- else
- {
- if (Mean)
- {
- printf (MEAN_NORMALIZED_S);
- }
- else
- {
- printf (SUMMED_S);
- }
- if (NumberBins < 0)
- {
- printf (DEFAULT_BINS_S);
- }
- else
- {
- printf (BINS_S, NumberBins);
- }
- switch (WindowType)
- {
- case RECTANGLE_WINDOW:
- printf (RECTANGLE_WINDOWS_S);
- break;
- case HANN_WINDOW:
- printf (HANN_WINDOWS_S);
- break;
- case PARZEN_WINDOW:
- printf (PARZEN_WINDOWS_S);
- break;
- case WELCH_WINDOW:
- printf (WELCH_WINDOWS_S);
- break;
- case TRIANGLE_WINDOW:
- printf (TRIANGLE_WINDOWS_S);
- break;
- case HAMMING_WINDOW:
- printf (HAMMING_WINDOWS_S);
- break;
- case BLACKMAN_HARRIS_74DB_WINDOW:
- printf (BLACKMAN_HARRIS_74DB_WINDOWS_S);
- break;
- case BLACKMAN_HARRIS_92DB_WINDOW:
- printf (BLACKMAN_HARRIS_92DB_WINDOWS_S);
- break;
- }
- if (Overlap)
- {
- printf (OVERLAP_S);
- }
- else
- {
- printf (NO_OVERLAP_S);
- }
- if (Interleave > 1)
- {
- printf (INTERLEAVE_S);
- }
- if (Pink)
- {
- printf (PINK_S);
- }
- }
- if (HighFrequency != HIGHEST_FREQUENCY)
- {
- printf (MAX_FREQUENCY_S, HighFrequency);
- }
- if (LowFrequency != LOWEST_FREQUENCY)
- {
- printf (MIN_FREQUENCY_S, LowFrequency);
- }
- printf ("\nList of non-default settings:\n");
- write_settings (stdout, NullString, TRUE, TRUE);
- return arguments;
- }
-