Skip to content

9th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial):

Pre-release
Pre-release
Compare
Choose a tag to compare
@porres porres released this 01 Sep 17:14
· 1454 commits to master since this release

9th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial):

This library/tutorial pack version needs at least Pd version 0.54-0 or above!

See downloads below in the "assets" tab and check the readme https://github.com/porres/pd-else/blob/v1.0-rc9/README.md for more details (also available as a PDF in the download). You can also download ELSE directly via Pd (in Help => Find Externals). You can also download the latest hardcode bleeding edge from github actions for the main platforms.

When you download via Pd you also get ELSE with the "Live Electronics Tutorial" directly via Pd. Just find the 'Live-Electronics-Tutorial' folder inside the 'else' folder! The "Live Electronics Tutorial" follows the same version of the library, it is compatible to the same version of ELSE and it has its own repository, available in: https://github.com/porres/Live-Electronic-Music-Tutorial/releases/tag/v1.0-rc9! This tutorial heavily uses the objects from the ELSE library and it's a nice counterpart to it. The last experimental version of ELSE and the tutorial is always downloadable as a single package directly from within Pure Data. Other earlier experimental versions reside in this repository of the ELSE library.

Note that the ELSE library is still in an experimental stage ("release candidate" stage at this point), this means some changes may occur to some of the objects and backwards compatibility is not guaranteed for future releases until the final stable release is made available.


CHANGELOG:

LIBRARY:

Breaking changes:

  • [voices] has been rather drastically redesigned! The "-list" flag was removed as this is now the default mode, use "-split" flag for the old default mode. The retrigger modes were also swapped (the default now is the old "mode 1" (now mode 0). Old mode 0 is now mode 2)! The secondary inlets were removed and it now takes only list messages.
  • [out1~] removed, use [out.mc~] instead now.
  • [pluck~] float input is now in the 0-127 range.
  • [oscbank~], [oscbank2~], [bpbank~], [resonbank~] and [resonbank2~] removed args for setting the size, list input sets number of oscillators and filters currently.
  • [touch.in] and [touch.out], poly flag removed, use the new [ptouch.in] and [ptouch.out] objects now
  • [note.in] and [note.out], "-rel" flag now has a swapped order of output and [note.in] now outputs lists
  • [makenote2] extra Note On parameters are now clipped and not output
  • [order] only takes list messages now (no more "anythings") and is a compiled object now (which doesn't break anything but hey, that changed).
  • [sin~] doesn't take float input anymore; [crusher~], [quantizer~], [fold~] and [wrap2~] no more signal inputs for secondary inlets, only floats.
  • [knob] 'init' message removed, now you have 'load' (a bit similar)... and now this value is not the 'arc start' anymore.
  • [numbox~] 'init' message removed, now you have 'load' (a bit similar).
  • [function], [slider2d], [circle], [gain~], [gain2~] and [multi.vsl] got 'init' removed and 'savestate' included instead (a bit similar).
  • [plaits~] removed "voct" setting, default for harmonics, timbre and morph is now 0.5.

Enhancements/fixes/other changes:

  • Improved license by now offering a text with multiple licenses
  • The object browser has been fixed for Pd 0.54-0! There's also an extra object browser entry for Vanilla objects as well (hopefully this one gets integrated into Vanilla itself). Also, fixed loading abstractions with loadbangs
  • Added MC (multichannel connection) support for some objects (very few gained it out of the box for being abstractions, lke [gain~]), they are: [ceil~], [floor~], [rint~], [trunc~], [sin~], [cents2ratio~], [ratio2cents~], [db2lin~], [lin2db~] (now a compiled object), [gain~], [samps2ms~], [ms2samps~], [mag~], [pol2car~]/[car2pol~] (now compiled objects), [bitnormal~], [op~], [sig2float~], [float2sig~] (now an abstraction), [rescale~], [fold~], [wrap2~], [quantizer~], [dust~], [dust2~], [oscbank~], [oscbank2~], [bpbank~], [resonbank~], [resonbank2~], [slew~], [slew2~], [glide~], [glide2~], [lag~], [lag2~], [rand.i~], [rand.f~], [meter2~], [meter4~], [meter8~] and [xgate~].
  • [knob] and [numbox~], use alt+click instead of double click to restore initial value
  • [knob] fixed loading send and receive names with dollar signs. Added 'start' message to set arc start independently
  • [decay2~] and [resonant2~] fixed cases where NaN was output.
  • [resonbank2~], fixed it cas this was actually just like [resonbank~], damn... also added new methods.
  • added "not" operation (!) to [op] and [op~].
  • [adsr~] and [asr~] fixed 2nd outlet in log mode, added "gate" message.
  • [pluck~] added "gate" message.
  • [stepnoise~], [rampnoise~] and [lfnoise~] fixed seed flag
  • [stepnoise~] and [rampnoise~] fixed loading hz argument when there's a 'seed' flag.
  • [rescale] and [rescale~] fixed bug when first argument is higher then the second
  • [slider2d] and [circle], fixed "init", shipping for macs and "-range" flag.
  • [rand.f] and [rand.i] can now output lists as well.
  • [makenote2] now allows more complex note off messages with extra arguments.
  • [voices] fixed some issues with the "release time" and repeated or new notes. The list input is now more flexible and can take arbitrary Note On and Note Off information lists as given by [makenote2]. Anything messages now allowed and routed to allocated voices if the pitch matches the first element.
  • [display]: added '-noflash' flag.
  • [receiver] added a first optional depth argument to expand dollar signs in receive names according to the parent's dollar values. With this it makes it easier to send values to receive symbols in a parent patch.
  • fix [ctl.in] control number filtering
  • [giga.rev~] fixes a crash with room size = 0
  • [plaits~] fixed some crashing bugs. Added 8 new synthesis modes based on firmware 1.2! Improved and updated the help file including a new manual.
  • [dir] can now expand "~" as the "HOME" directory.
  • [keymap] fixed 'oct' message and added arg to set 'oct'
  • 33 new objects: [osc.mc~], [imp.mc~], [rampnoise.mc~], [stepnoise.mc~] (these first 4 might be deleted soon), [keypress], [remove], [equal], [nchs~], [get~], [pick~], [repeat~], [sum~], [merge~], [unmerge~], [slice~], [sigs~], [out.mc~], [rotate.mc~], [spread.mc~], [xfade.mc~], [select~], [xselect.mc~], [xgate.mc~], [phaseseq~], [oscnoise~], [sender], [ptouch.in], [ptouch.out], [midi.in], [midi.out], [synth~], [voices~] and [sfz~].

Objects count: total of 509 (273 signal objects and 236 control objects)!

  • 291 coded objects (186 signal objects / 105 control objects)
  • 218 abstractions (87 signal objects / 131 control objects)

TUTORIAL:

  • Revision of Quickstart chapter with new info on MC connections.
  • New examples and revisions to add the new objects in ELSE. Total number of examples is now 509!