
XWave modified
--------------

I'm pleased to announce that I have improved XWave wave editor originally
written by Kai Kollmorgen (kkollmor at informatik.uni-rostock.de) such
that it actually is usable. The original XWave had a few severe design
errors making it impossible to use XWave to what it is cabable.

Both freely available MiXViews and DAP are not able to handle large files
unless your virtual memory is big enough. XWave is cabable for handling
large waves (45 minutes CD quality audio, for example) and thus it was
a good idea to improve XWave.

Below you will find a list of changes with usage information and improved
XWave (XWave2) is available at "http://www.funet.fi/~kouhia/xwave2.tar.gz".

I will continue to improve XWave and use it as a test-bed for routines
developed for other free wave editors (Audiotechque, KWave, and my Waver).

Yours,

Juhana Kouhia
kouhia at nic.funet.fi

 -*-

Changes:

1.

A selection is now readjustable after it is initially set by "mb1 down,
pointer move, mb1 up": click mb2 down (and up) and the  nearest selection
edge to the pointer is readjusted to the pointer's location.

Problem: an edge can move only half of the length of the selection at
a time, i.e., you cannot bring one edge near the other with one click:

      initial selection:    |                       |
      you click here:                           *
      then the first edge don't move, but the second:
                            |                   |

      You have to do it this way with three clicks:
                            |           *           |
                                        |     *     |
                                              | *   |
                                                |   |

Because of the problem I have no intention to keep this as only selection
readjustment method. Neither I will take it away because it is a good
method and deserves its place in a good wave editor.


2.

It is now possible to play the wave between the pointer and the nearest
selection edge: press ctrl-mb2.

This fix the problem that the play button plays the whole selection and
so, it is impossible to both keep the selection and play only at near the
selection edge when it is fine-tuned.

Because it is also possible to play at outside the selection, you can hear
if something important is left outside the selection.


3.

Wave scrollbar movement is made better. Earlier the wave moved in very short
steps even if clicked (with mb1 and mb3) at far right on the scrollbar. Now
it moves full window size when clicked at far right, half size when clicked
at middle, and so on.

When scrollbar was moved with mb2, the waveform jumped to end when we
were reaching the end of wave. Now the waveform moves without the jump.

Zoom scrollbar is changed such that the zoom ratio is exponential with
respect to the knob position. Earlier it was linear which caused that
with large waves (such as 45 minutes of the CD quality) there were zoomings
either with 1 sample/pixel, 1000 samples/pixel, 2000 samples/pixel and so
on, but not betweens --- using mb2 it was impossible to get good zoomings.

The reason for why the zooming is started from 1 sample/pixel is simply
because the waveform drawing is so slow. After speeding up the drawing,
zooming might be started from where the whole wave is visible, or such.


4.

Recording level meter is changed to contain both the old maximum level
meter and the new slowly varying maximum level meter. The old meter was
updated every N samples (N may be 1024-4096, I don't know). The new meter
is updated every SLOWMETERFREQ*N samples --- now it is 32*N, and can be
redefined in recording_dialog.c (however, more slower meter is visually
unpleasant).

The old meter is in the upper part of the horizontal bar and the new
meter is in the lower part.

