tinyalsa (2.0.0) xenial; urgency=medium

 * Miscellaneous bugs fixed.
 * PCM plugin support.
 * Add CMake build support.
 * Add meson build support.
 * tinyplay can now read from stdin.
 * Improved versioning support for library.
 * Improvements to pcm actions (prepare at open time and after overrun, etc.)
 * Improvements/fixes to pcm_get_htimestamp().
 * Fixes for the mixer percent functions.

 -- Simon Wilson <ksattic@gmail.com>  Mon, 21 Sep 2020 11:27:00 -0600

tinyalsa (1.1.1) xenial; urgency=medium

  * Fixed some minor bugs
  * Added some protection from integer overflow

 -- Taylor Holberton <taylorcholberton@gmail.com>  Tue, 23 May 2017 21:21:10 -0800

tinyalsa (1.1.0) xenial; urgency=medium

  * Finished most of the PCM and mixer API documentation
  * Added const specifiers where necessary
  * Added pcm_readi() and pcm_writei()
  * Deprecated pcm_read() and pcm_write()
  * Added mixer_get_num_ctls_by_name()
  * Added pcm_get_channels(), pcm_get_rate() and pcm_get_format()
  * Made libtinyalsa.so.x a symbol link, using libtinyalsa.so.x.y.z as library name
  * Added long option names in tinyplay
  * Using amixer-style interface for tinymix

 -- Taylor Holberton <taylorcholberton@gmail.com>  Thu, 01 Dec 2016 21:38:12 -0800

tinyalsa (1.0.2) xenial; urgency=medium

  * Removed install of libtinyalsa.so in package libtinyalsa

 -- Taylor Holberton <taylorcholberton@gmail.com>  Sun, 02 Oct 2016 13:46:33 -0400

tinyalsa (1.0.1) xenial; urgency=medium

  * Added man pages for tinycap, tinyplay, tinymix and tinypcminfo.
  * Fixed overwrite of shared library in package libtinyalsa-dev

 -- Taylor Holberton <taylorcholberton@gmail.com>  Sun, 02 Oct 2016 12:24:28 -0400

tinyalsa (1.0.0) xenial; urgency=medium

  * Initial debian release.

 -- Taylor Holberton <taylorcholberton@gmail.com>  Sat, 01 Oct 2016 20:31:04 -0400

