Log of changes made to mixview code.

10/89:
1) Changed fprintf formats to make BSD-Sun compatible.
2) Added window-mapped check to error code in mvio.c.
3) Fixed some variable types to avoid lint complaints.
4) Eliminated the need for font name aliases in font-loading code.
5) Fixed bug in play command that was causing program to hang.

11/89:
6) Added gravy command.
7) Simplified error dialog calls when possible.
8) Added warning dialog when saving file segment over original file.
9) Developed new buffer-transfer system to allow any size cut buffer.

12/89:
10) Added number-key modifiers for paging and hairine motion key cmds.
11) Modified GC's for compatibility with color screens.
12) Changed dialog code to include information struct ptr. as argument.
13) Changed open() code to give error when file does not exist.
14) Fixed several logical loopholes so as to better handle user errors.
15) Added additional functionality in menu setting code, plus an information
    struct for passing extra data to menu routines, etc.
16) Rewrote display routine to allow grain resolutions down to 1/128 spg.
17) Moved display mode and cursor mode commands into canvas menu.
18) Eliminated problem with bombing out after resize operation.
19) Made all popup windows children of the root window.

1/90:
20) Added curve-entry option code into mix, replace, and multiply.
21) Added crossfade command.
22) Added additional features to curve-entry window.
23) Added walking menu to open command for selecting soundfiles.

2/90:
24) Made minor improvements in program organization, incl. window creation.
25) Fixed bug in dialog call causing panel to remain frozen after certain
    selections.
26) Fixed bug so that display time and resolution DO get reset for new file.
27) Converted all panels and panel routines into objects in preparation for
    eventual conversion to c++.
28) Fixed bugs in new dialog code.
29) Added memory-freeing code to allow easier external buffer transfers.
30) Added menu command for displaying and changing the sfcomment.
31) Changed code so that dialog windows are only created on demand, and are
    then stored for use.
32) Added dialogs for setting grainsize and setting screen start and end times.
33) Changed most (char *) NULL arguments passed into functions into "" to
    avoid problems with the Sun C compiler.
34) Added dialog for confirming/denying peak amp scanning after file
    modification (this saves much waiting around).
35) Added "change sfdir" command to OPEN menu.
36) Made all code GNU C compiler - compatible.
37) Remade program using XR4-compatible version of LXT (with one small change
    to LXT to allow it to continue under R3.)
38) Added exit command under FILE menu in addition to the quit button.
39) Added option of opening a disk file when a new file already is open.

3/90:
40) Added message boxes (output-only popup panels) for greater user
    friendliness.
41) Revised dialog code, adding greater object-ness, adding functions.
42) Fixed bug in memory allocation for dialog objects.
43) Fixed bugs in phrase curve setup for trans and gravy commands.
44) Fixed bugs in region highlighting routines.
45) Changed Makefile to compile with gcc as default.
46) Recompiled both mixview and LXT under X11 R4 with gcc.
47) Consolidated dialog code for parameter entry.
48) Fixed bug in mode selection code.
49) Fixed bugs in sfile splicing/length-changing routines.
50) Added error checking to trans_set().

4/90:
51) Added dialog window for saving changes to sfcomment.
52) Added error-checking to OPEN menu code.
53) Added version-printing command to File menu.
54) Made progress towards a consistant nomenclature for functions and
    variables.
55) Fixed bug in rescaling command.
56) Made temporary fix in gravy algorithm.

5/90:
57) Added keyboard shortcuts for edit commands.

7/90:
58)  Added default button selection in dialog windows.
59)  Ported entire program to the NeXT computer, including soundfile playing routine.
60)  Fixed bug in buffer allocation/bcopying routine.

8/90:
61)  Moved soundfile information panel into dialog code and reduced size of control panel.

9/90
62)  Fixed bugs in cbuffer allocation/freeing.
63)  Fixed bug in setline routine.
64)  Fixed debugging print statements to work with gcc.
65)  Worked to maintain back-portability to non-NeXT systems.
66)  Fixed bizarre problem involving toupper() function.

10/90
67)  Added ability to play floating point soundfiles.
68)  Fixed bug in gravy for 2-channel files.
69)  Added OPTIONS menu.
70)  Added option command to set whether peak scan happens after edit.
71)  Added option for quick display of large sections of file.
72)  Added option for OPEN menu display of '.snd' type files only.
73)  Fixed bug in external buffer routine.
74)  Put sfcomment code back in for NeXT users.
75)  Added dialog for setting vertical scale.
76)  Made error dialog windows more specific.

11/90
77)  Added ability to set fonts in defaults database.
78)  Added error-catching in file saving and closing routines.
79)  Fixed bug in vertical scale so it shows on fg=1 machines.
80)  Allowed vscale to show when peak < 1.
81)  Added pitch tracking and LPC analysis commands.
82)  Added beginnings of complete screen-object code.
83)  Fixed some bugs in dialog code that had caused occasional crashes.
84)  Further optimized soundfile display routine.
85)  Moved message displays to avoid confusion during waiting periods.
86)  Began parsing up of subroutines into individual files according to
     their function.
87)  Fixed dialog panels do they do not flit when being mapped.
88)  Added soundfile search feature:  search for any soundfile.

12/90
89)  Added data display window (see note 82) for displaying ptrack data.
90)  Centralized memory allocation and its error checking needs.
91)  Created utility routines for displaying common message types.
92)  Added LPC data display window.
93)  Fixed bugs in new char string routines.
94)  Fixed bug that caused segv's on non-NeXT platforms.
95)  Fixed data window displays so they are visible on "bg=0" machines.
96)  Fixed bug in scale number display for negative numbers.
97)  Added horizontal scale marks in data windows.  (Still need work.)
98)  Added "!!" and "?" icons to many of the alert, error, and query panels.
99)  Fixed small bugs in GrabPointer code.

2/91
100) Added capability to read/edit/play 8-bit NeXT soundfiles.
101) Fixed stupid mistake in tone filter setup code.
102) Compacted soundfile reading code, eliminating old Cmix #define'd routines.
103) Added capability to read/edit/play 8-bit SPARC soundfiles.

3/91
104) Fixed some bugs in command processing.
105) Fixed some of the bugs in 8-bit soundfile mode.
106) Neatened up the Makefile a bit.
107) Added more error checking to the file save-to command.
108) Turned off the window-confine option on dialog panels.
109) Fixed bug in gravy command that was causing exit when length factor<1.0.
110) Fixed bugs in sfile format conversion code.
111) Edited code to make gcc compatible (without -bsd option).
112) Fixed serious bug in newBuffer() function. (where is lint when u need it?)
113) Fixed lots of small things that lint complained about.
114) Fixed dotted baseline display for use on new NeXT X server.
115) Added more error checking in filters, etc.
116) Added warning dialog if saving converted mulaw in new format.
117) Fixed header reading code so as to not skip first 1024 bytes.
118) Added soundfile-type choice buttons to save-to command.
119) Expanded sfcomment code to allow comments to be read/written to both
     BSD and Native soundfiles.

4/91
120) Fixed bugs in sfcode routines.
121) Fixed bug in OPEN menu code that caused crashes when encountering subdirs
     that were unreadable.
122) Fixed bug that was causing mixview to truncate native soundfiles.
123) Moved almost all function declarations into decl.h.
124) Added keyboard alternatives for resolution, playing, etc.
125) Changed Open command so that it is selectable when there is already an
     open file.
126) Fixed bug concerning saving new file to new filename.
127) Fixed data reading code so that headers are skipped when necessary.
128) Began simplification of the menu command code.
129) Added FFT analysis routine.
130) Greatly enhanced the data display window so that scales, etc., work.
131) Added volume and audio output choice for Sparc users.
132) Fixed bug that caused crash when hitting <cr> in view panel.
133) Added short-to-float conversion.
134) Added amplitude factor to crossfade and curve choice to multiply routines.
135) Added safety features when playing unscanned float files.

5/91
136) Changed New command so that old file need not be closed first (see #125).
137) More enhancements to data-display windows.
138) More error checking in LPC and in sfile header-reading routines.
139) Fixed a large number of memory leaks!
140) Made sfcomment window controllable by the window manager.

