[linux-audio-dev] [ANN] libgig 0.7.0

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] [ANN] libgig 0.7.0
From: Christian Schoenebeck (christian.schoenebeck_AT_epost.de)
Date: Mon May 03 2004 - 18:50:08 EEST


libgig is a C++ cross-platform file loader library for Gigasampler and DLS
Level 1 and 2 files.

You can get the sources (including command line tools), API documentation, UML
diagram and a short kick start docu at:

        http://stud.fh-heilbronn.de/~cschoene/projects/libgig/

Changes since libgig 0.6.0:

  * general changes:
    - various big endian specific corrections
      (successfully tested now on PPC)
    - minor adjustments to avoid compile errors on some systems
      (using now pow() instead of powl() and --pedantic g++ compiler switch)
    - libtoolized the library
    - added man pages for the command line tools
      (gigextract, gigdump, dlsdump, rifftree)

  * src/gig.cpp, src/gig.h:
    - fixed bug in decompression algorithm which caused it not to detect
      the end of a stream
    - added method GetVelocityAttenuation() to class 'DimensionRegion' which
      takes the MIDI key velocity value as an argument and returns the
      appropriate volume factor (0.0 ... 1.0) for the sample to be played
      back, the velocity curve transformation functions used for this are
      only an approximation so far
    - fixed class attributes 'Sample::LoopStart', 'Sample::LoopEnd' and
      'Sample::LoopSize' which reflected wrong values
    - class attributes 'Sample::LoopStart' and 'Sample::LoopEnd' are now
      measured in sample points instead of byte offset
    - renamed misleading attribute name 'Sample::MIDIPitchFraction' to
      'Sample::FineTune'
    - added class attribute 'Sample::LoopSize'
    - added method GetInstrument(uint index) to class 'File'
    - added ReadAndLoop() method to class 'Sample' which is an extension to
      the normal Read() method to honor the sample's looping information
      while streaming from disk
    - changed interface for 'attenuation_ctrl_t', 'eg1_ctrl_t' and
      'eg2_ctrl_t': replaced this huge enumeration by a structure which
      reflects the MIDI controller number in case of an ordinary control
      change controller (this saves a huge switch-case block in the
      application of the library user)
    - renamed following attributes in class 'DimensionRegion':
      'AttenuationContol' -> 'AttenuationController',
      'InvertAttenuationControl' -> 'InvertAttenuationController',
      'AttenuationControlTreshold' -> 'AttenuationControllerThreshold'
    - minor fix in API documentation for method GetVelocityAttenuation() in
      class 'DimensionRegion'

  * src/RIFF.cpp, src/RIFF.h:
    - added additional API documentation
    - minor fix in Chunk::Read() method (only a minor efficiency issue)

  * src/gigdump.cpp:
    - added printout of samples' looping informations

Best regards
Christian Schoenebeck


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Mon May 03 2004 - 18:57:45 EEST