                          Upload Information Template for Hobbes.nmsu.edu
                          ===============================================

        Archive Filename: libkai-2.2.0.zip
       Short Description: libkai v2.2.0
        Long Description: K Audio Interface v2.2.0.
                          DART/UNIAUD implementation library.

v2.2.0:
    * Added a server mode
      - now, audio devices can be shared among all the programs using
        libkai v2.2.0+
      - kaisrv.exe should be running
          + you can add RUN=x:\path\to\kaisrv.exe to your config.sys
          + use -q option to quit kaisrv.exe
      - kaiMixer*() APIs do not share audio devices even in a server mode
      - set KAI_NOSERVER to any value to disable a server mode

    * Added kaiGetCardCount() to query the number of installed audio cards
    * Added a device index support in soft mixer mode
    * Added kaiCapsEx() to query the capability of the given device index
    * Added KAI_MIXERRATE#, # is a device index, for a device-specific sampling
      rate. For example, KAI_MIXERRATE3 is a sampling rate for the 3rd audio
      device
    * Added KAI_MINSAMPLES#, # is a device index, for device-specific minimum
      samples. For example, KAI_MINSAMPLES3 is minimum samples for the 3rd
      audio device

v2.1.0:
    * Added actual support of multiple buffers more than 2
    * Added KAI_TIMECRITICAL for playing thread boost
      - default is to inherit a priority of a current tread
      - if set to any value, a playing thread runs in a time critical priority

    * Added kaiGetInitCount() to get initialization count of libkai
    * Added KAI_MIXERRATE to override sampling rate of a default soft mixer
      - default is 48000 Hz
      - if using SB16, set KAI_MIXERRATE to 44100 Hz

    * Added KAI_PLAYLATENCY to workaround the problem that trying to play
      right after completed leads to pause on DART(#8) or silence on UNIAUD(#9)
      - default is 100 ms
      - If set to 0, workaround is disabled

    * Improved compilation for Open Watcom. PR #4, #5, #6 from sezero
    * Improved debug message
    * Improved thread safety(#10)
    * Fixed buffer-underrun at very initial time

v2.0.0:
    * Added a soft mixer
        - now use a soft mixer by default
        - set KAI_NOSOFTMIXER to any value if you want to disable a soft mixer
          by default
        - added kaiMixer*() APIs
            kaiMixerOpen(), kaiMixerClose(),
            kaiMixerStreamOpen(), kaiMixerStreamClose(),
            kaiEnableSoftMixer()
        - a soft mixer should be opend in 16 bits stereo audio mode
        - with a soft mixer, it's possible to play multiple instances
          simultaneously
        - number of instances is limited by RAM size and CPU power
        - added KAI_RESAMPLEQ to set resampling quality
            0 is lowest and 10 is highest quality.
            default is 0

    * Added KAI_MINSAMPLES to set minimum audio buffer size in samples
        - default value is 2048
        - if audio buffer is too small, sound is not played correctly

    * Set DLL version to 1, that is, kai1.dll
    * Fixed kaidemo3 repeats very first samples in DART mode

v1.3.1:
    * Improved volume control
    * Fixed freezing in dartClose() in multimedia sub-system

v1.3.0:
    * Added kaiFloatToS16() API to convert float samples to s16 samples

v1.2.0:
    * Added soft volume control support
        - now use soft volume control by default
        - set KAI_NOSOFTVOLUME to any value if you want to disable soft volume
          control by default
        - added kaiEnableSoftVolume() API

    * Improved volume control on UNIAUD mode
    * Now ignore KAISPEC.ulDataFormat field. It is always MCI_WAVE_FORMAT_PCM
    * Device index is not consistent on UNIAUD mode. Fixed
        - 0 = default, 1 = first, 2 = second, and so forth

v1.1.4:
    * Introduced KAI_AUTOMODE to override kai mode if auto mode
        - set KAI_AUTOMODE=UNIAUD if you want to open in uniaud mode
        - set KAI_AUTOMODE=DART if you want to open in dart mode

    * Allow multiple initialization
    * Distribute a DLL, kai0.dll

v1.1.3:
    * High-memory is not supported on uniaud mode. Fixed

v1.1.2:
    * If uniaud.dll is present even though Uniaud driver is not loaded,
    the crash occur in kaiUniaudInit() on a second call time. Fixed

v1.1.1:
    * Undefine VERSION macro to avoid a name clash

V1.1.0:
    * Try to improve the compatibility with LIBPATHSTRICT
    ( Thanks to Andy Willis )
    * Support multiple instances
    * dartPlay() checks whether instance is inactive before playing
    * kaiInit() check a parameter validity
    * Callback is called one more after EOS. Fixed
    * dartGetVolume() returns a volume of both channel. Fixed

v1.0.1:
    * Added KAI_VERSION macro
    * Sometimes dead lock occur in dartStop(). Fixed
    * If it takes too long time returning from callback, looping sounds can be
    generated due to underrun. Fixed

      Proposed directory
           for placement: /pub/os2/dev/mm

               Your name: KO Myung-Hun
           Email address: komh@chollian.net
    Program contact name: (same)
   Program contact email: (same)
             Program URL: https://github.com/komh/kai

      Would you like the
   contact email address
    included in listings? yes

Operating System/Version:
 Additional requirements: kLIBC v0.6.6

                Replaces: (none)



