
                         The Warped Wave Editor (WaWE)
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

                                Version 0.78
                               (Release build)


About WaWE
----------

This is a work-in-progress version of a new audio file editor for OS/2 and
eComStation systems. It should be able to read and write the formats supported
by OS/2 natively, and you should be able to make simple editation on those
files.

The application is not bug-free, you shouldn't think that it is. Be prepared
for crashes and misfunctionalities!

The WaWE is freeware, the source code is available by request.
(Or by looking for it at ftp://ftp.netlabs.org/pub/misc )



How to use WaWE - Quick overview
--------------------------------


In WaWE, you can load, edit and save different audio files, called
channel-sets. A channel-set consists of channels, and each channel
have a number of audio samples.

Once you opened a file, or created a new channel-set using the File->New
menu item, you can start editing.

You can zoom in/out in the file, and select ranges of the audio data
using the mouse. This selection can be complicated by using special keys:

Selecting with the mouse:
  replaces old selection with new one

Selecting with the mouse while pressing Ctrl:
  adds the new selected area (starting from mouse button pressing, ending at
  mouse button release) to the old one

Selecting with the mouse while pressing Alt:
  removes the new selected area (starting from mouse button pressing, ending at
  mouse button release) from the old one

Selecting with the mouse while pressing both Ctrl and Alt:
  makes a logical XOR to the new and the old selected areas

All of the above variations, plus pressing the Shift key:
  the start of the new selected area will be the current position of the
  channel or channel-set, and not the position where the mouse button has
  been pressed



Almost everything can be done using the pop-up menu, which pops up when you
press the right user button on the channel or channel-set you want to modify.

The pop-up menu can now be reached by pressing the 'm' button anywhere, thanks
to Franz Bakan.



Things to be implemented
------------------------


Missing from this version, but on the to-do list:
- Simple toolbar for functions like open, save, save as, etc..
- Printing
- More plugins (Editor, Processor, Import and Export plugins)
- Dinamically changing the Editor plugins to use
- Fully working Playback plugin (currently the "No sound" is not implemented,
  and it only supports DART)
- UniAUD API support for Playback plugin
- FFT plugin



Plugins
-------


Currently available plugins:
- EWave
  This is a Editor class plugin, showing the audio data as an audio wave.
- IMMIO
  This is an Import class plugin. It is used to open audio files using the
  installed IOProcs of the MMOS/2 subsystem of OS/2. It should be able to
  open every kind of audio file which can be played back from WPS.
  One exception is the MP3 format, which seems to be somehow broken in MMIO,
  so now that there is a native MP3 import plugin, the MP3 support is explicitly
  disabled in the IMMIO plugin.
- IRAW
  This is an Import class plugin. It is used to read files as they are on
  the HDD, without headers and so on.
- IOGG
  This is an Import plugin, that can decode ogg vorbis files. It can handle
  the ogg comments too. It uses the libogg and libvorbis libraries.
- PClipbrd
  This is a Processor class plugin. It mimics the clipboard. Using this plugin,
  you can cut, copy and paste audio data.
- PVolume
  This is a Processor class plugin. It can be used to increase or decrease the
  volume of a given channel or channel-set.
- PPlay
  This is a Processor class plugin. Currently, it can use DART to play back
  the audio data. UniAUD support is planned.
- XMMIO
  This is an Export class plugin. It is used to save audio files using the
  installed IOProcs of the MMOS/2 subsystem of OS/2. It should be able to
  save every kind of audio file which can be saved by the built-in Audio 
  Editor application. Please note that there are IOProcs for audio file formats
  which support reading but do not support writing, so if you can open or play
  back a file from the WPS it doesn't mean you can also save in that format!
- XRAW
  This is an Export class plugin. It is used to save the audio data into a file
  as it is, without any headers or conversion.
- XOGG
  This is an Export plugin, that can encode ogg vorbis files. It can append
  the ogg comments too, so if it's used together with the IOGG plugin, the
  ogg comments will be preserved. It uses the libogg and libvorbis libraries.
- IMPA
  This is an MPEG Audio import plugin. It can load (decode) MP3 files. It can
  handle ID3v1 and ID3v1.1 TAGs, ID3v2 TAG support is planned.
  For decoding, it uses the free mpglib decoder.
- XMPA
  This is an MPEG Audio Layer 3 export plugin. It can save (encode) MP3 files,
  using the free LAME encoder engine. Please note that saving an MP3 file means
  re-encoding it, so if you save the file every 10 minutes, you'll likely loose
  audio quality.
  The plugin currently only supports ID3v1 and ID3v1.1 TAGs.
- Props
  This is the plugin which shows the Properties window for the channel-sets.
  It can be used to change channel-set format, like samplerate, bit-depth,
  and it can move channels up and down in the channel-set.
- XWAV
  This is a simple export plugin, which saves the channel-set lossless and
  uncompressed into a WAV file, using the standard RIFF WAVE container format.


Improving WaWE
--------------

There are many areas people could help me to improve WaWE.

First of all, a general documentation (preferably in HTML format) would be
very handy, that would tell the users the basics of WaWE.

Also, different kind of processor plugins would also be good to have, as
they are the ones which make the application usable for many things.

Then, import and export plugins for different audio formats would be very good 
to have.

If you think that you can help in any way, please contact the author!



Thankyous
---------


Many thanks to Lelik, Cinc, DJMutex and other people from #netlabs for their
help!



Contacting the author
---------------------

If you have any questions, bug-reports, recommendations, ideas, or you want
to develop a plugin for WaWE, feel free to contact me at:

Doodle <doodle@scenergy.dfmk.hu>

For bug-reports, please always try the latest WaWE version, and if it's still
buggy in there, don't forget to send me the output of WaWE.exe with the
description of the problem, and the last entry of your POPUPLOG.OS2 file in the
root of your boot-drive!


<eof>

