Spat~ 4.7.1

A new Spat release is available.

* all objects : avoid crashes when loading corrupted or weird audio files

* spat.viewer : added message 'adjustzoom'

* spat.viewer : added attribute 'autozoom'

* spat.sfplay~, spat.sfrecord~ : added supbport for WAV RF64 files

(WAV extension for files larger than 4 Go; the new maximum filesize is now approximately 16 exabytes)

* spat.viewer / spat.oper : deprecated messages like 'source 1 30 1 0' (index azimuth distance elevation).

The format identifier (e.g. 'source 1 aed 30 1 0') is now mandatory.

* spat.hostinfos : added 'folder' message to retrieve the folder of the current patcher

* added spat.fileinfo : retrieves various infos about files

* added spat.zpplot : plot poles/zeros of a cascade of biquads

* added spat.transform : performs translation, rotation, scaling of sources/speakers positions.

spat.transform comes as a replacement of spat.translate and spat.rotate which will be deprecated

* spat.spectroscope~ : added 'smoothing' attribute; added 'fill' attribute; added messages to 'fill' and 'show'

each channel individually.

* spat.frequencyresponse : added 'fill' attribute

* spat.waveform : added 'toprulercolor' attribute

* spat.waveform : fix bug with 'vline' mode

* spat.waveform : fix several bugs when no audio waveform was loaded

* spat.eigenencode~ : improved transcoding process; improved soft-limiting compensation; improved cpu

* spat.spat~ : fix denormal bug when @parallel is enabled

* spat.conv~ : changed minimum blocksize to 32 instead of 64

* all dsp objects : fix minor bug with 'automute' attribute

* spat.meter~ : added 'clearsolo' message

* spat.knn : fixed bug when numneighbors > 1

* spat.pan, spat.pan~, spat.spat~, spat.pansig~ : added new panning type : 'knn'. This performs amplitude panning

on the k-nearest loudpseakers (somehow similar to dbap then) (alpha version)

* spat.viewer : added 'rightclicklock' attribute (enable/disable right click)

* spat.viewer, spat.oper : now supports rectangular window. Attribute 'windowsize' is replaced by 'width' and 'height’.

* spat.viewer, spat.viewer.embedded : added attribute 'defer' : this determines the behavior of the graphic refresh.

The value 'defer = 1', corresponds to the operating mode in previous versions :

each message is deferred and triggers a refresh. The low-priority queue may become backlogged

and the UI irresponsive if the messages rate is too high.

With 'defer = 0', messages are not deferred, and the UI refresh is queued until the next service of the

low-priority thread.

NB : The default value is 'defer = 0'

NB : This DO NOT work yet for spat.oper or other GUI objects