1) Vertical scaling for non-zero-symmetrical data now keeps vertical mean at
same position for easier zooming in and out.
2) Horizontal scales no longer display secondary ticks when in integer mode
and primary ticks are successive integers.
3) Fixed bugs in "Set edit region" command that caused it to compain about
selecting entire file, and then not cancelling.
4) Highlighted selected region now expands and contracts correctly when
starting point < ending point (cursor dragged to right of start).
5) All frame-style selection redone to allow selecting frame n - frame n as
width of 1, and frames read from 0 to (nframes - 1), as they should.
6) Highlighted selected region now shifts right and left correctly, as in (4).
7) Added "collapse" command which sets insert point to edge of region.
8) Added first two of several planned pvoc analysis file editing commands.
9) Added curve generating commands to new Envelope special menu.
10) Fixed hourglass cursor so it shows in all windows when program is busy.
11) Added frame- vs. channel-view option for all multichannel data types.
12) Added crossfade command.
13) Improved frame-view display to show pos and neg signals, plus correct
obscuring of grid by waveform, and vice versa.
14) Cut memory usage of graph objects by almost half.
15) Fixed bug in LPC formant filter that was causing clicks.
16) Fixed memory leak in controller selection loop.
17) Added decibel display to frame view window.
18) Fixed signal catching for converter routines.
19) Fixed "bar" graph mode so that sound graphs display correctly.
20) Added optional filtering into sample rate conversion command.
21) Added optional filtering into transpose command.
22) Fixed bug in framing algorithm affecting FFT, LPC, and Pitch Tracking.
23) Fixed "bug" causing abort when reading zero-length files.
24) Added phase vocoder command (currently for analysis only).
25) Many changes to Sparc converter code.
26) Addition of converter code for several new platforms, including SGI.
27) Fixed bug in splicing code for mu-law file type.
28) Fixed bug in sample rate conversion for sound files.
29) Fixed bug in default directory code (when SFDIR not set).
30) Enabled automatic sound format conversion before playing (if SRs match).
31) Fixed file comment window so that comment text is visible (still not
32) Fixed horiz scale and edit labels to update when sr or length changes.
33) Added rec/play level and audio port output menu commands.
34) Fancied up menus a bit, added enable/disable.
35) Got stop command to work for both record and play operations.
36) Added "set default dir" command to allow resetting of dirs.
37) Modified C++ code to make it Cfront-compatible.
38) Fixed FormantFilter bug: non-lpc-file types rejected in all cases now.
39) Fixed bug in dialog panels: ^G now indicates Cancel whenever there is
a choice of responses.
40) Closing window from WM now invokes proper close() method (i.e., asks for
confirmation if file not saved).
41) Added raw file reading capability (sounds, lpcfiles).
42) Now can be started without filenames (will open temp soundfile).
43) Added continuous-update option for insert point (control key down).
44) Added frame value display to above option.
45) Added samp-rate check to crossfade option (check for mismatch).
46) Improved and debugged SGI converter code.
47) Many code changes to make AT&T compatible.
48) Numerous memory leaks found and patched.
49) Iconified windows now deiconify when displaying messages.
50) Added global resource for browser to remember each new path.
51) Fixed bug in "New view of selection" command.
52) Added file error checking to Header read and write routines (more complete).
53) Failed open commands no longer pop up blank window.
54) Added data dump command (dump to file).
55) Added raw file reading for FFT and envelope files.
56) Fixed bug in button text "boldification" which was causing random bold
text in panels.
57) Added header comment reading and writing to SGI AIFF code.
58) Fixed minor bug in key command recognition (XR5 vs. XR6).
59) Added error checking for raw header entry values.
60) Rewrote comment editing so that it now works.
61) Fixed more bugs in header code.
62) Added New Type menu to allow creation of other file types.
63) Fixed RMS amplitude code in envelope extractor.
64) Fixed floating point conversion on SGI platform.
65) Added LPC resynthesis to new Synthesis Sound submenu.
66) Added AIF-C format reading on non-SGI platforms.
67) Added SND format reading on SGI platforms.
68) Data saved back to its original on-disk file will preserve the header type.
69) Fixed bug in file browser which made it impossible to load root-level files.
70) Fixed serious bug in phasevocoder data modifier code.
71) Many memory leaks plugged.
72) Cleaned up code quite a bit.
73) Simplified QueryItem class.
74) Fixed edit status delegate to update edit panel items.
75) Added Pvoc resynthesis command, and rewrote PVanalysis command.
76) Data no longer scans for peak in newly created file, or when inserting
space (zero samples) or when extending file length.
77) Now can read phase vocoder files generated by Csound's pvanal program.
78) Added support for unsigned char (8 bit linear) sound format.
79) Default sound sample rate, format, and suffix are now set correctly.
80) Moved more editor method functionality into separate classes.
81) Fixed Selector so that when using the "set insert point" and "set edit
region" commands, the screen quantization is bypassed, allowing any sample
or range to be selected.
82) Added support for 8-bit linear soundfiles.
83) Completed addition of inskip and duration specifiers for files.
84) Added useful message when attempting to "revert" in-memory-only files.
85) Fixed copy and replace routines so that automatic scaling and conversion
takes place when two different data types interact.
86) Added WAVE sound header i/o, including byte-swapping when necessary.
87) Headers now check for invariants both after reading and before writing.
88) Added Sound and LPC options menu for setting default parameters.
89) Finished Save As... command -- now user may select header type when saving
to a new (nonexistent) sound file.
90) Fixed bug in error checking for transposition by ratio.
91) Added ugly pre-template hacks back in for stupid SGI CC compiler.
92) Fixed bug in AIF-C header that caused crash.
93) Added SMPTE time scale display.
94) Fixed Aifc header: float format disallowed.
95) Sound file suffix now changed rather than appended to when data type is
96) Worked on AIFC header code to make it more robust.
97) Dialog boxes are now popup windows, and are not affected by the WM. This
prevents the problem of hiding or iconifying the dialog box during popup.
This also allows them to appear before any other windows appear.
98) Status bar no longer Sync's the DISPLAY. This speeds up processes that
were waiting for a visual status bar update, esp. via remote connection.
V 1.06 Patches:
01: Fixed save-to bug: when invoked automatically from the save: command, it
was not displaying the sound-specific panel.
Fixed bug in snd/au header writing code -- was failing silently when
trying to write zero-length comment.
02: Fixed bug in SPARC converter code: close() was called on 0 fd, causing
close of stdin, and subsequent open() calls returned 0, causing failure.
Reworked SPARC converter code for better SPARC20 compatibility. Fixed
bug in non-SGI AIFF header code which produced "illegal format" error for
8-bit linear samples. Fixed several other SPARC converter code problems.
Added converter destructor code for exit condition. Fixed bug in file
option for saving last opened dir name.
03: Fixed bug in raw lpc file read.
Cleaned up and expanded dialogbox creation code.
Started addition of slider-controlled text entry items.
Fixed bugs in pitch scaling command for lpc datafiles.
Added byte swapping choice to raw soundfile read panel.
Fixed bug that disallowed inskip and duration settings for non-sound-
files, and serious bug in inskip for multi-channel soundfiles.
Fixed .wav header reading code to correctly set the data size and only
warn if file truncated.
Frame value display (control-leftmouse) now correctly displays values that
are less than .001.
Splice-out now gives clear error message when attempting to splice out
Fixed VoxWare (Linux) converter bug introduced in PL 02.
Fixed key-command workaround for IV 3.1 (didnt work!).
Changed ConverterDevice::stop() to close device before calling record-done
action (to avoid leaving device open during update).
Alert beep level now settable as global option.
Added gain adjustment in interpolation to avoid short int overflow.
Changed VOXWARE macro to VOXWARE_DACS to avoid conflict with sound.h.
File segments (opened with inskip or duration values) are now renamed to
avoid accidental overwriting of the entire original file.
04: Fixed bug in key-command workaround fix!
V 1.07 Patches:
00: Fixed bug in little-endian AIFF-header read code.
Added swapped-file detection for all sound types including Snd/Au.
Changed Hybrid and Snd/Au header format to be consistant on all platforms,
i.e., all will be 28 bytes with 4-byte char buff at end (plus remaining
bytes for Hybrid).
Fixed minor bug that caused stereo files to be played at 1/2 speed when
only one channel showed (due to implicit selection of one chan only).
Now play and record commands auto-select all sound channels.
Added File Option to ignore invisible files in browsers.
Fixed minor bug so that LPC/Pitch track command does not continue when LPC
fails or is cancelled.
Fixed bad bug in Pitch Track analysis datafile header code -- it was
writing a 4-byte "comment" to the beginning of the file, causing the
frames to be reversed!
Added comment-writing code for LPC, FFT, and Envelope headers.
Fixed serious bug in data allocation -- memory failures were producing an
error message, but nothing checked for the results!
Formant synthesis fixed -- upper and lower bounds for pitched/unpitched
now work as expected.
Added Memory Options including upper bounds on total and single
allocations, plus new SmartMemory class for implementing this.
Analysis functions (LPC, Pvoc, etc.) no longer abort at first frame
failure; all successfully analyzed frames will be displayed.
Pitch tracking greatly improved via (optional) use of a sharp bandpass
filter to pre-process data.
Fixed bug in WAV header reading -- format check was missing.
Added raw file reading code for pvoc files.
Added header-type override switch when saving to existing files.
Added support for new IRCAM-style header format.
Fixed bug in SGI code for displaying unsigned char files.
Fixed newly-introduced bug in soundheader reading code.
Added check for infinite range to scale code to avoid hanging.
Added calculated LPC frame interpolation to format filters.
Added frame warping to formant filters.
Added code to handle MPEG files on SGI.
Changes to channel display code when edit region includes more than
Rearranged menus to conform (more) to GUI standards.
Now allow arbitrary number of soundfile channels for new sound file.
Fixed bug: allow non-swap on littleendian version for raw files.
Fixed problems in Linux converter class code.
Added completely new SGI converter code to handle ADAT interface.
Fixed bug in edit region start point code -- was shifting when
Fixed bug in data dump command -- was not storing the selected
filename and so was failing to dump.
Added CDDA frame display option.
Revert-to-saved now allows re-read of unedited file, and will re-query
for raw file params (was failing on reread before).