Authors:

  stw -- Stefan Westerfeld (stefan@space.twc.de)

Until Sun Jun 14 01:24:59 CEST 1998

  - The "low level synthesizer" (KSynthesizer) now compiles and runs
    entierly without Qt. I hope this will extend the potential user base
    of the synthesizer to anyone running linux.                  -- stw

  - The scheduling should be much better now, since the synthesizer just
    gets started using Synthesizer->Start once, instead of calling Run
    for every x cycles. (new files: ioevent.h/ioevent.cc)

    I am not quite shure wether the solution will be portable to other
    ORBs, but for mico it does the trick.                        -- stw

ksynth 0.2.0 - Sun Jun 21 17:53:19 CEST 1998

  - Finally added autoconf and automake to the package. It should now
    be nearly "KDE compliant". The option --without-kde is missing,
    though.                                                      -- stw

  - Complete reorganization of the directory structure and the like
    due to autoconf/automake.                                    -- stw

  - Added code that is able to set the synthesizer to realtime scheduling
    priority under linux. This means there should be no clicks or
    crumbling in the sound output, when the computer gets busy any
    longer.                                                      -- stw

ksynth 0.2.1 - Sun Jun 28 18:02:26 CEST 1998

  - Should compile now with and without mico's ministl           -- stw

ksynth 0.2.1 - Sat Jul  4 21:51:10 CEST 1998

  - Rewrote parts of the drawing code in ksbuild. It now handles
    connections from one source to multiple destinations
    gracefully. It also will interrupt lines of connections which
    cross their way but are not connected to each other.
    (complicated description?)                                   -- stw

ksynth 0.2.2 - Mon Jul 13 21:21:11 CEST 1998

  - Figured out how to install the .idl-Files into the appropriate
    KDE directory. KSynth and cantor - a sequencing software for Qt -
    will work fine together now. I hope the patches will be in cantor
    soon. Added README.cantor which tells you how to use it. Yes,
    pre, yes alpha, and yes, it works ;)                         -- stw

ksynth 0.2.3 - Sat Jul 25 11:56:05 CEST 1998

  - Optimized the Synth_PLAY module a little.  It's a lot faster now
    (more than twice as fast).                                   -- stw

  - Bugfixed the load and save behaviour.                        -- stw

  - Added experimental support for scheduling midi events to multiple
    channels. Perhaps needs rewrite though ;)                    -- stw

  - ADSR-Envelope module added.                                  -- stw

  - Prepared for inclusion into KDE's kmusic CVS.                -- stw

ksynth 0.2.4 - Sun Aug  2 22:35:27 CEST 1998

  - Reimplemented Synth_DELAY. The module didn't handle changing
    the delay while running gracefully. It should behave good regarding
    gain as well now.                                            -- stw

  - Synth_FILEPLAY: new module which allows capturing the output of KSynth
    as wav-file.                                                 -- stw

  - Added values that are configurable while the synthesis runs. This is just
    experimental to play around with the difficulties that will arrive later
    when we'll have a gui builder.                               -- stw

ksynth 0.2.5 - Wed Jan 13 18:50:28 CEST 1999

  - KSynth will now hopefully never bring down your system again. KSynth
    now measures it's cpu usage. When it gets more than 90% the synthesis
    stops (before this bugfix, when running as realtime process, KSynth
    happily continued using all cpu time -> system freezed, reboot required)

  - KSynth has a whole new internal communication structure. This may
    make this release not too stable, but will lead to greater flexibility.

    All in all the redesigns are targetted at two things:
      1. Make it possible to change the synthesis structure on the fly
         (for advanced midi support - to be included soon)
      2. Make it possible to have other GUIs (such as a Gtk+-equivalent
         of KSBuild) using the same file format
                                                                 -- stw

arts 0.2.6 - Tue Jan 19 22:42:33 CEST 1999

  - Yes, it is called Arts now.                                  -- stw

  - Arts has a new file format (which is now independant of the GUI, so
    you can use the same files with different programs), conversion from
    old .ks-Files is supported by artsbuilder, though.           -- stw

  - Lots of internal changes, I hope artsbuilder is really stable now.
    There are some modules which still crash when getting no or wrong
    input values (such as Synth_SEQUENCE). Give them proper input and
    everything will be fine.                                     -- stw

  - Documentation updates.                                       -- stw

  - Some more documentation fixes (wrong homepage URL)           -- stw

  - Should compile & run fine with mico-2.2.4 now                -- stw

arts 0.3.0 - Tue Mar 23 23:04:12 CEST 1999

  :: major performance improvements ::

  - ArtsBuilder AutoRouting is now a lot more usable (faster, more
    responsive): now uses a second thread; some optimizations on the
    init of the routing are also new.                            -- stw

  - Internal flowsystem changed, this means aRts is *a lot faster* now,
    sometimes factors of 3-5 are realistic!!                     -- stw

  :: midi synthesis rewritten, new structural elements ::

  - Publishing structures and retrieving back from server.       -- stw

  - Structure interfaces.                                        -- stw

  - New dynamic midi synthesis (instruments are just instiated
    and removed on the fly, as the midi events come in... well:
    read the docs :).                                            -- stw

  :: major documentation improvements ::

  - The whole documentation is now available as SGML and in the online
    help of artsbuilder.                                         -- stw

  - All modules are documented.                                  -- stw

  - There is a tutorial.                                         -- stw

  :: new modules ::

  - Synth_PLAY_WAV module to play simple wav files (currently requires
    libaudiofile though).                                        -- stw

  - New filter (SHELVE_CUTOFF) added, extremely useful when using
    Synth_WAVE_TRI oscillators.                                  -- stw

  - Synth_CDELAY for constant delay (require less cpu time and work
    with recursive loops in the new flow system style).          -- stw

  :: improved CORBA interface ::

  - New functions due to publishing and retrieving structure definition
    (see advanced midi synthesis).                               -- stw

  - Debugging is now runtime configurable (aRts simply performs better
    without printing debugging infos all the time ;).            -- stw

  - Lots of other stuff (Cycles, RingBuffer sizes,...) is also runtime
    configurable (use artsshell to do so).                       -- stw

  - Some more Informations about resource usage are exported via CORBA.
    (Number of active modules, number of buffers/bytes in buffers etc).
                                                                 -- stw

  :: small fixes ::

  - Icons will now be installed with arts and loaded.            -- stw

  - Fixed compilation issues with some egcs releases (so SuSE 6.0 users
    should finally be able to compile it again).                 -- stw

  - Configure switch to compile without KDE support.             -- stw

arts 0.3.1 - Sat Jun 05 01:54:31 CEST 1999

  - Implemented using structures inside structures (thus using structures
    as modules).

  - GUI elements now possible (though this is alpha code), artsbuilder
    now runs as server.

  - Bugfix: NaN bug: when the cutoff filter (Synth_SHELVE_CUTOFF) got a too
    high clipping frequency (> SampleRate/2) it started producing NaNs and
    crashed the whole synthesizer.

  - Bugfix: crash when Synth_BUS_DOWNLINK objects were terminated doesn't
    occur anymore

  - New module: Synth_ATAN_SATURATE - which can be used to get an input
    signal of any size to the range from -1..1. (simply atan).
                                                                 -- stw

arts 0.3.2 - Fri Jul 30 23:18:13 CEST 1999

  - Widgets should be usable as subwidgets in most useful combinations,
    so you can create panels inside panels inside panels, which makes it
	possible to give reusable components (such as effects) a gui which
	is reusable as well.                                                                           
  - New module Gui_SUB_PANEL to support substructuring. On the other hand
    it makes it possible to have "front panels" for instruments finally,
	where you can change instrument parameters on the fly.

  - Changes in MidiRouter, new PARAM_GET/SET modules and others for the
    "front panel" stuff.

  - New module Gui_INSTRUMENT_MAPPER allows assigning instruments to midi
    channels on the fly (with user interface while synthesis is running).

  - New modules Gui_POTI (turning knob for parameters) and Gui_WINDOW.

  - Some work on parent/child widgets and layout in the guiserver.

  - Autoloading of example structures (which install themselves now) and
    everything in $HOME/arts/structures.

  - Some bugfixes ;)
                                                                 -- stw

arts 0.3.3 - Tue Aug 31 01:15:50 CEST 1999

  - Support for compiling aRts into one single statically linked binary

  - Code cleanups (warning free compilation, common files are now in the
    common directory and build as convenience libraries)

  - Gui_POTI requires one more arg for the initial value

  - New gui objects: Gui_LABEL, Gui_MIXER, Gui_AUDIO_MANAGER

  - Work on being able to be a "generic audio server" like esd and
    kaudioserver ; artscat is implemented and some audiomanager CORBA/TCP
	interface to aRts

  - "Bug"fixes: FreeBSD compile fixes, publishing a structure twice with
    different ports now works, possible setuid-permissions are dropped now,
	removed one bug in freeStructure

  - Work on changing string properties, which implies that you can use an
    Synth_BUS_UPLINK now and relink the target dynamically, which is
	required for instance for the "generic audio server stuff".

  - Added Synth_STD_EQUALIZER which allows - in combination with the
    Gui_MIXER really nice mixing desks.

  - synth_server[.bin] has been renamed to artsserver[.bin]
                                                                 -- stw

arts 0.3.4 - Wed Sep 29 11:32:56 CEST 1999

  - Brahms (a really nice sequencer KDE application, formerly called kooBase)
    and aRts interoperate now nicely.

  - full duplex support, that means you can use it for full duplex effect
    processing now (real low latency)!

  - audio subsystem features configurable fragment size now, so people
    who want to use aRts "just" as audio server, and insist in running
	without root rights have a chance now

  - put suid functionality in a seperate small C program for security
    reasons (this should be easier to overview)

  - implemented recording interface for the audioserver, so an equivalent
    to the esdmon and esdrec functionality is now available

  - mapped instruments now available, so one midi instrument may now
    contain a drum map with different samples

  - Akai support: added utilities to read Akai Sample CDs & build keymaps
    from akai samples and play them in instruments with Synth_PLAY_AKAI

  - Session management: while you are in a performace, you can save all
    settings, such as instrument setup, mixer parameters, instrument
	parameters, and restore them later

  - added Synth_MOOG_VCF, a nice 4pole lowpass with resonance (thanks
    Andy Mucho for the hint)

  - mico-2.3.0 support

  - bugfixes
                                                                  -- stw
  - new version of midisend, which allows keyboard splitting and
    similar mapping operations (Emmeran Seehuber)

  - new icons for many modules (Harald Lapp)

  - new modules: Synth_SQUARE, Synth_FX_CFLANGER, Synth_AUTOPANNER
    (Jens Hahn)
