forked from auracaster/pyalsaaudio
128 lines
4.7 KiB
Markdown
128 lines
4.7 KiB
Markdown
# Version 0.11.0
|
|
- Fixed `Mixer.getvolume()` returning outdated value (#126)
|
|
- Fixed PCM crashing with some sample formats due to buffer size
|
|
miscalculation
|
|
- Fixed `PCM.read()` ignoring overruns (regression in 0.10.0)
|
|
- Reverted to `PCM.write()` not throwing an exception on playback buffer
|
|
underrun; instead, return -EPIPE like `PCM.read()` does on overrun (#130)
|
|
- Added `PCM.avail()` and `PCM.polldescriptors_revents()` functions
|
|
- Added `nominal_bits` and `physical_bits` entries to `PCM.info()`'s
|
|
return value
|
|
- Added Python type hint file, and adjusted documentation accordingly (#58)
|
|
- Improvements to the examples, in particular isine.py (#42)
|
|
|
|
Contributions by @ossilator and @viinikv.
|
|
|
|
# Version 0.10.0
|
|
- assorted improvements (#123 from @ossilator)
|
|
- support for `periods` in the `PCM` constructor.
|
|
- new functions `PCM.state()`, `PCM.drop()` and `PCM.drain()`
|
|
- improved underrun/overrun handling
|
|
- documentation improvements/consolidation (docstrings were removed in favour of online documentation)
|
|
- more sampling rates
|
|
- bug fixes
|
|
|
|
# Version 0.9.2
|
|
- Fix alsamixer_getvolume (#112 from @stephensp)
|
|
|
|
# Version 0.9.1:
|
|
- Support decibel, percentage, and raw volumes in getvolume, setvolume, and getrange (#109 from @chrisdiamand)
|
|
|
|
# Version 0.9.0:
|
|
- Added keyword arguments for channels, format, rate and periodsize
|
|
- Deprecated `setchannel`, `setformat`, `setrate` and `setperiodsize`
|
|
|
|
# Version 0.8.6:
|
|
- Added four methods to the `PCM` class to allow users to get detailed information about the device:
|
|
|
|
- `getformats()` returns a dictionary of name / value pairs, one for each of the card's
|
|
supported formats - e.g. `{"U8": 1, "S16_LE": 2}`,
|
|
- `getchannels()` returns a list of the supported channel numbers, e.g. `[1, 2]`,
|
|
- `getrates()` returns supported sample rates for the device, e.g. `[48000]`,
|
|
- `getratebounds()` returns the device's official minimum and maximum supported
|
|
sample rates as a tuple, e.g. `(4000, 48000)`.
|
|
|
|
(#82 contributed by @jdstmporter)
|
|
|
|
- Prevent hang on close after capturing audio (#80 contributed by @daym)
|
|
|
|
# Version 0.8.5:
|
|
- Return an empty string/bytestring when `read()` detects an
|
|
overrun. Previously the returned data was undefined (contributed by @jcea)
|
|
|
|
- Unlimited setperiod buffer size when reading frames (contributed by @jcea)
|
|
|
|
# Version 0.8.4:
|
|
- Fix Python3 API usage broken in 0.8.3
|
|
|
|
# Version 0.8.3:
|
|
- Add DSD sample formats (contributed by @lintweaker)
|
|
- Add Mixer.handleevents() to acknowledge events identified by select.poll (contributed by @PaulSD)
|
|
- Add functions for listing cards and their names (contributed by @chrisdiamand)
|
|
- Add a method for setting enums (contributed by @chrisdiamand)
|
|
|
|
# Version 0.8.2:
|
|
- fix #3 (we cannot get the revision from git for pip installs)
|
|
|
|
# Version 0.8.1:
|
|
- document changes (this file)
|
|
|
|
# Version 0.8:
|
|
- `PCM()` has new `device` and `cardindex` keyword arguments.
|
|
|
|
The keyword `device` allows to select virtual devices, `cardindex` can be
|
|
used to select hardware cards by index (as with `mixers()` and `Mixer()`).
|
|
|
|
The `card` keyword argument is still supported, but deprecated.
|
|
|
|
The reason for this change is that the `card` keyword argument guessed
|
|
a device name from the card name, but this only works sometimes, and breaks
|
|
opening virtual devices.
|
|
|
|
- new function `pcms()` to list available PCM devices.
|
|
|
|
- `mixers()` and `Mixer()` take an additional `device` keyword argument.
|
|
This allows to list or open virtual devices.
|
|
|
|
- The default behaviour of `Mixer()` without any arguments has changed.
|
|
Now Mixer() will try to open the `default` Mixer instead of the Mixer
|
|
that is associated with card 0.
|
|
|
|
- fix a memory leak under Python 3.x
|
|
|
|
- some more memory leaks in error conditions fixed.
|
|
|
|
# Version 0.7:
|
|
- fixed several memory leaks (patch 3372909), contributed by Erik Kulyk)
|
|
|
|
# Version 0.6:
|
|
- mostly reverted patch 2594366: alsapcm_setup did not do complete error
|
|
checking for good reasons; some ALSA functions in alsapcm_setup may fail without
|
|
rendering the device unusable
|
|
|
|
# Version 0.5:
|
|
- applied patch 2777035: Fixed setrec method in alsaaudio.c
|
|
This included a mixertest with more features
|
|
- fixed/applied patch 2594366: alsapcm_setup does not do any error checking
|
|
|
|
# Version 0.4:
|
|
- API changes: mixers() and Mixer() now take a card index instead of a
|
|
card name as optional parameter.
|
|
- Support for Python 3.0
|
|
- Documentation converted to reStructuredText; use Sphinx instead of LaTeX.
|
|
- added `cards()`
|
|
- added `PCM.close()`
|
|
- added `Mixer.close()`
|
|
- added `mixer.getenum()`
|
|
|
|
# Version 0.3:
|
|
- wrapped blocking calls with `Py_BEGIN_ALLOW_THREADS`/`Py_END_ALLOW_THREADS`
|
|
- added pause
|
|
|
|
# Version 0.2:
|
|
- Many bugfixes related to playback in particular
|
|
- Module documentation in the doc subdirectory
|
|
|
|
# Version 0.1:
|
|
- Initial version
|