SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

************ README file for MiXViews version 1.30 Patch Level 01 ************

Important notes for users of this software:

All warnings I gave about XAPPLRESDIR are no longer applicable because the InterViews library is statically linked into mxv.


Bugs and missing features from MiXViews

On SGI platform:

  1. Though aiff and aifc files can be read in, only uncompressed aifc files

    may be written back out (if writing out an AIF/C file).

  2. The record level is not accurate at the low end (0 - 10 out of 100). Use the SGI apanel for exact levels. (Play levels are accurate, though).

On NeXT platform:

  1. The record level control does nothing (i.e., cannot be set).

On Sparc platform:

  1. Pops and clicks during conversion of 16-bit sounds on SPARC 10's, LX's, and

    20's is a Sun hardware bug (call Sun up and complain!).

  2. See the README.sparc file for information about Sun audio software problems and fixes.

On all platforms:

  1. When changing name of model, additional views of same model do not get

    their names updated.

  2. MXV can now read pvoc files generated by the Csound phase vocoder, but does not do the proper shifting of the nyquist value to allow resynthesis. Email me for a workaround.
  3. If multiple files are given on the command line, and any of them causes

    mxv to pop up a panel (e.g., a bad header or mismatched values), mxv will refuse to accept input when the windows are mapped. Workaround: open them individually from within mxv.


For those that are interested, here is the latest CHANGELOG:

Version 1.01:
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.

Version 1.02:
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).

Version 1.03:
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

editable, though).
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.

Version 1.04:
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.

Version 1.05:
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.

Version 1.06:
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

changed.
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 
                entire file.
         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.
01:
         Fixed bug in SGI code for displaying unsigned char files.
         Fixed newly-introduced bug in soundheader reading code.
02:
         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.

Version 1.1:

        Added code to handle MPEG files on SGI.
        Changes to channel display code when edit region includes more than
                diplayed region.
        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.

Version 1.2:

        Added completely new SGI converter code to handle ADAT interface.
        Fixed bug in edit region start point code -- was shifting when
                off-screen.
        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).

Versions 1.21

        Fixed bug: reset channel selection to orig value after record or play.
        Fixed bug: unsigned char WAVE files' waveforms displayed wrong.
        Partially implemented .mxvrc option entries.
        Increased allowable ranges for single and total memory allocations.
        SGI version now allows playback of odd-channel-count files (which are
                padded out to nearest legal count).

Version 1.22

        Fixed several significant memory leaks.
        Made all processing operations use buffering to increase efficiency.
        Added edge-value-detection to envelope creation code.
        Added parameter "memory" to many dialog panels.
        LPC datafile writes/reads now work between little- and big-endian.
        Added "swap bytes" command.
        Raw envelope datafile writes now work (before it always wrote header).
        Added ability to save LPC and Envelope files as either big- or
            little-endian files via Options commands.

Version 1.23

        Added support for ulaw AIFF-C files for non-SGI platforms.
        Added panel for accessing mixer functions (volume, input device)
            on Linux machines.
        Added options for default sample format, rate, and channels for
            headerless soundfiles.
        Updated Linux menu to show "OSS" rather than "Voxware".
        Added small fixes for Linux/OSS input select buttons.
        Added "save selection as temp file" command.

Patch 01 and 02:

        Fixed raw file read/write to perform correct swapping on BE and LE
            machines.
        Fixed transpose command window to remember correct format for
            transposition factor (ratio vs. Octave Pt.)

Patch 03:

Adjusted buffering parameters for OSS audio driver.

Patch 04:

        Fixed harmonic shift command for pvoc to not overlap with stretch/shrink
        command.

Version 1.24

        Fixed OSS converter so last buffer does not get cut off while playing.
        Insert point no longer dissappears after playing a sound.
        User can set resources "OSSAudioDevice", "OSSMixerDevice", and
                "*OSSBufferTime" to alternate OSS devices.
        Added Sound Playback Options command for interactively setting these.
        Menu command labels are now all capitalized.
        Added commands for re-reading and writing .mxvrc file.
        Added transpose option to LPC resynthesis.
        Changed default Linux/OSS sound format to 44.1k short integer.

Version 1.25

        Fixed data types so large memory requests do not wrap to negative numbers.
        Added check for requests which exceed max builtin datasize.
        Added auto-correlate command to to allow removal of glitches.
        Fixed bug in AIFC header writer which wrote garbage after the compression
                name pstring.

Version 1.26

        Changed "save selection to temp file" to "save selection to file" and have
                it query user for where to save.

Version 1.27

        Added gain param to pv synthesizer command window.
        Improved OSS playback code to handle arbitrary sized buffers without
                cutting off the ends.
        Fixed bug in "raw" reads of WAV files.
        Added code to recognize floating point WAV files.
        Added more features to formant synthesis (amp thresh, voiced mute).

Version 1.28

        Updated source to allow build under newer versions of Gnu.
        Added Fade In and Fade Out commands.
        Added audition command for LPC datafiles.
        Fixed bug: saved floating point WAV files now have correct format tag.
        Horizontal time scale now displayed in H:M:S format.
        Added Help menu with commands for displaying mxv man html and home page.

        PL 01:  Added missing Help menu to frame display window (i.e., FFTs).
                        Fixed crash bug when attempting to audition lpcfiles.

Version 1.29

        Modernized old c++lib code.  Made changes to allow compile on Mac OSX.
        Added moving cursor during playback/record.
        Fixed bugs in .mxvrc file write.
        Added popup progress bar for most processing commands.

Version 1.30

        Fixed bug in "save" command (after opening file from command line).
        Full undo/redo command history control.
        Added read/write of RTcmix peakamp strings in header comments.
        Improved progress bar action.
        Added audition command for PVoc datafiles.
        Extended Fade In/Out command for all data types.
        Fixed bugs in several commands.
        Full menu command enable/disable depending on edit state.

        PL 01:
        Fixed smart memory to properly report total limit overflow, and have it
                reset the limit when user replies yes.
        Insert cursor now returns to position after playback.
        Displayed region's scale does not change after playback.
        Undo of "delay" command fixed.
        Fixed bug in menu state update.
        Fixed bug in wave header write -- forgot unsigned char case.


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.