[English version follows]

Bonjour à tous,

Je suis très heureux d'annoncer la sortie de pyo 1.0.4, disponible pour python 3.6,
3.7, 3.8 et 3.9!

Pyo est un module Python écrit en C pour faciliter la programmation de traitement 
de signal audio-numérique. Il fournit un ensemble complet de classes pour développer 
des logiciels audio, composer des musiques algorithmiques ou simplement explorer 
le traitement du signal audio. Il est disponible pour Windows, MacOS et Linux. 
Il est publié sous la licence LGPL 3.

Site web officiel: http://ajaxsoundstudio.com/software/pyo/

La documentation: http://ajaxsoundstudio.com/pyodoc/

Sources et suivi des bugs: https://github.com/belangeo/pyo

Installation:

     python -m pip install --user pyo

Pour tous les détails concernant l'installation et comment désinstaller les versions 
antérieures à 1.0.0, voir cette page dans la documentation:

http://ajaxsoundstudio.com/pyodoc/download.html


Cette version se concentre sur la stabilité plus que sur l'ajout de nouvelles fonctionnalités.
Beaucoup de bogues de corrigés, ajout de tests unitaires et chaque objet de la librairie est
maintenant testé individuellement pour assurer qu'il ne produit pas de « memory leaks ».


Voir plus bas pour le détail des changements apportés dans cette version!


Olivier

---

Hello all,

I'm very happy to announce the release of pyo 1.0.4, available for python 3.6,
3.7, 3.8 and 3.9.

Pyo is a Python module written in C to help real-time digital signal processing
script creation. It provides a complete set of classes to build audio softwares, 
compose algorithmic musics or simply explore audio processing.It is available for 
Windows, macOS and linux. It is released under the LGPL 3 license.

Official website: http://ajaxsoundstudio.com/software/pyo/

pyo's documentation: http://ajaxsoundstudio.com/pyodoc/

Latest sources and bug tracker: https://github.com/belangeo/pyo

Installation:

    python -m pip install --user pyo

For all the details and how to uninstall version prior to 1.0.0, see this page
in the documentation:

http://ajaxsoundstudio.com/pyodoc/download.html


This version focuses on stability more than on adding new features.
Many bugs fixed, unit tests added and each object of the library is now 
tested individually to ensure that it does not produce memory leaks.

Olivier


WHAT CHANGED IN VERSION 1.0.4:

New features:

- Added a level argument to PyoTableObject.normalize() and PyoMatrixObject.normalize() methods.
- Added a shape argument to PyoTableObject.fadein() and PyoTableObject.fadeout() methods.
- Added a div() method to PyoTableObject.
- PyoTableObject get(), put() and copyData() methods can read backward with negative indices.
- On 64-bit architecture, use long instead of int as PyoObjectTable size.
- Added support for item assigment in PyoObjectBase.
- Scale's exp argument now supports float or PyoObject.
- Replaced all allocation functions with python's memory interface.

Bug Fixes:

- Fixed segmentation fault in PyoMatrixObject.read() method.
- VarPort now updates its increment when the time attribute changes.
- Fixed PadSynthTable crash on Windows.
- Fixed crash when DataTable or NewTable size != len(init).
- Fixed memory allocation in expr's initexpr function (issue #190).
- Fixed FreqShift backward shifting (issue #193).
- TableMorph checks table sizes before interpolating to prevent segmentation fault.
- Prevent normal order to happen in out() function when scrambling channels.
- Fix bug in isPlaying() returning wrong value when set from out().
- Added rt library to linker on linux (should fix shm_unlink undefined symbol) (issue #129).
- Fixed array out-of-bound bug in SVF2 object.
- Fixed wx assertion in Scope color rendering.
- Fixed segfault in embedded pyo_end_interpreter function.
- Fixed Select counter type range (now accept a long long value).
- Removed useless string copy in the Jack backend (fixed issue #221).
- Fixed linux libasound and libjack symlinks (issue #179 and #200).

================================================================================

Hello all,

I'm very happy to announce the release of pyo 1.0.4, available for python 3.6,
3.7, 3.8 and 3.9.

Pyo is a Python module written in C to help real-time digital signal processing
script creation. It provides a complete set of classes to build audio softwares, 
compose algorithmic musics or simply explore audio processing.It is available for 
Windows, macOS and linux. It is released under the LGPL 3 license.

Official website: http://ajaxsoundstudio.com/software/pyo/

pyo's documentation: http://ajaxsoundstudio.com/pyodoc/

Latest sources and bug tracker: https://github.com/belangeo/pyo

Installation:

    python -m pip install --user pyo

For all the details and how to uninstall version prior to 1.0.0, see this page
in the documentation:

http://ajaxsoundstudio.com/pyodoc/download.html


This version focuses on stability more than on adding new features.
Many bugs fixed, unit tests added and each object of the library is now 
tested individually to ensure that it does not produce memory leaks.


New features:

- Added a level argument to PyoTableObject.normalize() and PyoMatrixObject.normalize() methods.
- Added a shape argument to PyoTableObject.fadein() and PyoTableObject.fadeout() methods.
- Added a div() method to PyoTableObject.
- PyoTableObject get(), put() and copyData() methods can read backward with negative indices.
- On 64-bit architecture, use long instead of int as PyoObjectTable size.
- Added support for item assigment in PyoObjectBase.
- Scale's exp argument now supports float or PyoObject.
- Replaced all allocation functions with python's memory interface.

Bug Fixes:

- Fixed segmentation fault in PyoMatrixObject.read() method.
- VarPort now updates its increment when the time attribute changes.
- Fixed PadSynthTable crash on Windows.
- Fixed crash when DataTable or NewTable size != len(init).
- Fixed memory allocation in expr's initexpr function (issue #190).
- Fixed FreqShift backward shifting (issue #193).
- TableMorph checks table sizes before interpolating to prevent segmentation fault.
- Prevent normal order to happen in out() function when scrambling channels.
- Fix bug in isPlaying() returning wrong value when set from out().
- Added rt library to linker on linux (should fix shm_unlink undefined symbol) (issue #129).
- Fixed array out-of-bound bug in SVF2 object.
- Fixed wx assertion in Scope color rendering.
- Fixed segfault in embedded pyo_end_interpreter function.
- Fixed Select counter type range (now accept a long long value).
- Removed useless string copy in the Jack backend (fixed issue #221).
- Fixed linux libasound and libjack symlinks (issue #179 and #200).


Olivier Belanger
belangeo@gmail.com
http://olivier.ajaxsoundstudio.com/

----

<P><A HREF="http://ajaxsoundstudio.com/software/pyo/">Pyo 1.0.4</A> - short
Python DSP library. (08-Jun-21)

