Releases: porres/pd-else
14th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial):
14th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial):
This library/tutorial pack version needs at least Pd version 0.56-1 or above!
See downloads below in the "assets" tab and check the readme https://github.com/porres/pd-else/blob/v.1.0-rc14/README.md for more details (also available as a PDF in the download). You can also download ELSE directly via Pd (in Tools => Find Externals). You can also download the latest hardcore bleeding edge from github actions for the main platforms. Note that the ELSE library is still in an experimental stage ("Release Candidate" phase 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.
When you download else via Pd or here you also get ELSE with the "Live Electronics Tutorial". 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-rc14! This tutorial heavily uses the objects from the ELSE library and it's a nice counterpart to it.
RELEASE NOTES:
Please support me on Patreon https://www.patreon.com/porres
You can follow me on instagram as well if you like... I'm always posting Pd development stuff over there https://www.instagram.com/alexandre.torres.porres/
CHANGELOG:
LIBRARY:
Breaking changes:
- [brane.m~] changed arguments.
- [play.file~] removed "stream" support (this is for a new [streamin~] object that didn't make it in just yet). By the way, the streaming wasn't really working for all links and I'm fixing into the new object.
- [dir] open without a symbol now opens a dialog instead of loading the else directory. If needed, this directory is given by the [else] binary since the previous version.
- [pan2~] removed -mc flag, the MC support now is different and more like other objects in ELSE
- [pan~]/[pan.mc~] radians input mode is removed (the input in polar form had an issue and the way to fix it was using a new cartesian mode instead). Offset is now normalized from 0-1.
- [count]: 'alt' message does not take a float argument anymore.
- [norm~] window size is now in ms, not samples
- [mov.avg~] removed 'abs' (absolute) mode
- [button] changed some messages and behaviour to make it possible to use it with [presets] (unlike [tgl], which is impossible). Changed color args and message so it also takes symbols.
- Deleted [sigs~], use [sig~] now that it has the same functionality since 0.56-0
- [timed.gate~] removed 2nd argument
- [adsr~] the default is again "immediate release", removing the '-rel' flag and message for a new '-imp'/'imp' flag/message. The old one gives an error for now.
- [del~] has been deprecated and virtually deleted, use [del.in~] / [del.out~] now - the object hasn't been removed really but will be in version 1.0!
- [trig.delay2~] has been deprecated and virtually deleted, the same functionality has been added to [trig.delay~] - the object hasn't been removed really but will be in version 1.0!
Enhancements/fixes/other changes:
- [norm~] fixed the algorithm, which was pretty bad. Added an inlet for window time.
- fixed load message in [sfload] for loading a single channel to an array
- Fixed compulation issues for some Linux distributions with objects linked to ffmpeg
- [lowpass~]/[highpass~] fixed regression bug in RC13 where they got ruined (specially [highpass~]).
- [knob]/[popmenu]/[numbox~], fixed bug to allow opening multiple properties windows.
- [knob] Added feedback protection for send/receive (this could blow up Pd before and now it reports an error like atom boxes). Fixed bugs in circular dragging mode. Added a new circular mode for "infinite knob" (which increments infinitely, while the regular circular mode just loops). Added inc/dec messages to increase and decrease, which is like using arrow keys and a "shift" message, which also useful for receiving values from a MIDI input infinite knob. Added support for mouse wheel scrolling when the object is active, which works for all modes and seems better suited for the circular modes. Now [knob] only understand double click to "reset", so it needs 0.56-0 to work inside abstractions (as with MERDA modules). Added better support to set color names supported by tcl/tk. Added a new 'colors' message to set all colors (background, arc color and foreground) at once. Added "theme" awareness, which is taking the colors set in Pd (also needs 0.56-0) and a mode for a transparent background. Added a new "show number" mode, where it starts showing the number value if you hover the mouse on top of the object. A hover send symbol also lets you react to hover status. Now the 'var' symbol is also used for special symbols like learn/forget/hover. Added a resizing handle so you can resize the knob when in edit mode by clicking and dragging on the bottom right corner! I can't believe what a feature creep bloated monster this became... but I think I'm finally done and have all I wanted it here.
- [button] added a new 'click' mode (which outputs click, double click and modifiers), readonly, added a new oval style mode, transparency, plus send/receive symbol and hovering.
- [dir] is now an abstraction based on [file], which gets this out of my back and makes it more portable I hope :) there was a Debian/Linux bug that also got fixed with this! Added a mechanism to show just files or just folders. Added new 'show' / 'hide' methods to show you the files/folders from the directory in a 'text' window. A click opens the dialog window to choose the directory. Added a new 'random' message to pick a random possibility from the directory. A show/hide message show the contents of a directory and shift+clicking also shows it.
- [vocoder~] now there's a default argument for number of channels (16). And it sounds better now I think, as I fixed/improved the [norm~] object used for normalization.
- [merge] fixed a bug where sometimes a cold inlet would trigger the object.
- [unmerge] fixed output on extra outlet.
- [mouse] added 2 outlets for "mouse wheel" scrolling.
- [db2lin]/[lin2db] added support for list input.
- [vsaw~] fixed phase bug.
- [colors] added functionality to convert symbols supported by tcl/tk (black, white, green, purple, magenta, chocolate, misty rose, etc).
- [count] Added random mode and fixed some bugs.
- [spectrograph~] Fixed resizing dimensions when in dB mode. Removed -db/-log flag, now it defaults to these settings, use messages to change
- [spectograph~] and [graph~] now hide their names with the new 'visname' message to arrays from 0.56-0.
- [timed.gate~] added 2nd outlet that sends impulses when gate hasn't finished.
- Added MC support to: [float2imp~], [timed.gate~] and [pan~].
- [pan2~] implemented a new MC support mode that the object now reacts to MC input. A new 'pan' message sets panning for all channels.
- [pan~]/[pan.mc~] added 'open' mode and "pan/gain/spread" messages to set parameters when no signals are connected. Added a new cartesian input.
- [pad] added transparency and improved the code so it doesn't redraw all the time.
- [slider2d] fixed initialization
- [range.hsl~] fixed GOP bug where it didn't work at all.
- [expand~] fixed the gain compensation formula (yikes)
- [trig.delay~] fixed timing accuracy and added ignore mode.
- [sample~] fixed not corrupting the buffer when changing sample rate
- [ms2samps/samps2ms] only updates if a previous value was sent
- [tabplayer~] fixed play message for windows
- M.E.R.D.A: fixed init errors in [pluck.m~]/[plaits.m~]. Implemented a new mechanism for minimizing and maximizing the GUI or opening at a new window. Added "tab" navigation for most knobs in the modules. Added an impulse mode to [adsr.m~]. Many improvements to [brane.m~] (swapped args, no need to set file sample rate anymore, adopting [sfload] now with all its supported formats, use spacebar to play/stop, allow loading files relative to the patch that owns the abstraction. Master now also controls the independent voice output). A couple new modules (see below)
- 15 new objects: [arpeggiator], [del.in~], [del.out~], [follow~], [vca~], [vca2~], [ms.enc~], [ms.dec~], [pan.stereo~], [width~], [rand.dev], [list.harm], [superosc~], [mix~] and [group~]. Plus [superosc.m~] and [vca2.m~].
Objects count: total of 587 (330 signal objects [152 of which are MC aware] and 257 control objects)!
- 326 coded objects (214 signal objects / 112 control objects)
- 236 abstractions objects (92 signal objects / 144 control objects)
- 25 MERDA modular abstractions (24 audio / 1 control)
TUTORIAL:
- New examples and revisions to add the new objects, features and breaking changes in ELSE.
- New and expanded subchapter about stereo imaging. Improved info on envelope following.
- Total number of examples is now 561!
13th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial) - Revision 2
This library/tutorial pack version needs at least Pd version 0.55-2 or above!
See downloads below in the "assets" tab and check the readme https://github.com/porres/pd-else/blob/v.1.0-rc13/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 hardcore bleeding edge from github actions for the main platforms. Note that the ELSE library is still in an experimental stage ("Release Candidate" phase 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.
When you download else via Pd or here you also get ELSE with the "Live Electronics Tutorial". 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-rc13! This tutorial heavily uses the objects from the ELSE library and it's a nice counterpart to it.
RELEASE NOTES:
Please support me on Patreon https://www.patreon.com/porres You can follow me on instagram as well if you like... I'm always posting Pd development stuff over there https://www.instagram.com/alexandre.torres.porres/
It's been a little bit over 7 months since the last update and I almost broke the record for taking too long to release an update (which had happened in my previous update). So yeah, there's just too much to talk about! I guess the delays in releasing updates is because it's been a little tricky and hard to sync the release cycles of ELSE with PlugData, which includes ELSE in its download.
Plugdata 0.9.2 should come out soon with ELSE RC13 and it's supposedly the last update before 1.0.0, so I've heard. And the plans was to get to that still in 2025! This means ELSE could be at its last "Release Candidate" phase as I'm aiming to sync the final release with PlugData. Until then, I'll still make breaking changes and I can't wait until I can't do that anymore as I really feel bad. On the other hand, it's kind of inevitable when I'm always adding new stuff and redesigning and reconfiguring objects to include more functionalities. And I always got a lot of new stuff! So I'm thinking that I will eventually try some mechanism like Pd's compatibility flag or something. I'll try to come up with something like that in the next update.
This update has 22 new objects for a total of 573 and 26 new examples in my tutorial for a total of 554 examples. Let's dive into the highlights (see full changelog below after the release notes).
-
Multichannel Support: Last release had 92 MC aware objects, now it's 139! Over a 50% increase that include old and new objects (all the new ones have been coming with MC support). Virtually all oscillators and envelope generators now have MC support, plus some other random ones. Let me highlight the new [lace~]/[delace~] objects that are 'MC' tools that perform interleave/deinterleave in Multichannel connections. My bare minimum number of objects "to start with" would be at least a bit over half the number of signal objects. That was my target for 1.0! ELSE right now has 319 signal objects, so that'd be at least 160. I will definitely pass this milestone in the next update. I guess a good number of MC objects would be around 75% of the signal objects. I will aim for that as soon as I can. Some objects simply can't be MC at all, so 100% will never be the case, but maybe an ideal 90% eventually? We'll see... I am just proud and happy that ELSE is taking such a big jump on MC awareness in less than a couple years.
-
Envelope generators ([adsr~]/[asr~]/[envgen~]/[function~]) now have more curve options. For [adsr~]/[asr~] the default is now a new log curve that you can set the curve parameter (and was 'stolen' from SuperCollider). A new [smooth~] family of objects perform the same kind of curved smoothening for alternating inputs - [envgen~] and [function~] also have that but also '1-pole' filtering, 'sine' and 'hann' curves. You can now trigger [adsr~] and [asr~] with impulses.
-
The [play.file~] object now supports even more file formats besides MP3 and stuff. Hey, you can even stream the supported formats from weblinks! The [sfload] object (which loads files into arrays) also gained support for more formats and can download from weblinks as well! It also has a new threaded mode, so loading big files won't choke Pd. It now also outputs the file information, which is a way to tell you when loading finished in threaded mode. The [sample~], [player~], [gran.player~] and [pvoc.player~] objects are now also based on [sfload], so they support all these file formats!!! Now [sample~] and [tabplayer~] are integrated in a way that [tabplayer~] is always aware of the sample rate of the file loaded in [sample~] (so it reads in the "correct speed"). A new [sfinfo] object is able to extract looping regions and instrument metadata information from AIFF files (which is something I wanted for ages) - it should do more stuff in the future.
-
[knob] has become the ultimate featured bloated creep GUI I always feared and avoided. MAX is envy! but I'm happy with this structure and I want to replicate in other GUIs in the future (yeah, I got plans to offer alternatives to all iemguis). I wanna highlight a new 'param' symbol I added that allows you to remotely set a particular method in an object, so you don't to connect to a "method $1" message and you can even do this wirelessly with a send symbol. [knob] now also acts like a number box, where you can type in the value, which may also be displayed in different ways or the value can be sent elsewhere via another send symbol so you can temper with it using [makefilename] or [else/format]. I've been using this for the MERDA modules and it's really cool.
-
We finally have a [popmenu] GUI object! This was in my to do list forever and was crucial to improve the MERDA modules to set waveforms, instruments and whatnot.
-
Let's talk about MERDA, the "Modular Euroracks Dancing Along" subset of abstractions in ELSE. It was first released in the last update and it's been driving lots of the development in ELSE as you can see. I now added a MIDI Learn feature for all knobs that feels great and quite handy! There are many fixes and improvements in general and some new modules. I wanna highlight the new [sfont.m~] module, which loads "sound font" banks and you can just click on a [popmenu] to choose the instrument you want. The default bank has numerous (hundreds) options and also comes with PlugData. The sequencer module [seq8.m~] was rather worthless but it's now a whole new cool thingie. It allows you to set pitches with symbols and even has quarter tone resolution. I added a right outlet to send impulses to trigger envelopes and stuff (there's still more stuff of course, see full changelog below).
-
There are newly designed/renamed/recreated [resonbank~]/[resonbank2~] objects that are well suited for Modal Synthesis.
-
What actually drives my development is my Live Electronics tutorial, which got a fair upgrade with a new chapter on Modal Synthesis amongst other things, such as new subtractive synthesis examples and a revision of envelope generators with examples on AHDSR and DAHDSR - by the way, there are new gaterelease~/gatedelay~ objects for handling envelopes (and other processes).
-
I have to thank some people. Tim added 'zoom' to the [pic] object, as well as an image offset. Tim also implemented a new and better technique for bandlimited oscillators. Ben Wesh gave me a new [scope3d~] GUI object, pretty cool, that plots an oscilloscope in 3 dimensions, which is coded in LUA - and ELSE has been carrying a modified version of [pdlua] because it now depends on it for a couple of GUIs. Tim and Ben made many improvements to [pdlua] (as well as Albert Graef, of course).
-
For more noew objects, let me also tell you about the simple and cool [float2imp~], that is based on [vline~] and can convert floats to impulses with sample accuracy (don't know why I didn't think of that earlier). A new [tanh~] object has Multichannel support. A bit earlier I made an update to Cyclone that actually "borrows" and includes this one from ELSE instead of its original one (which does not have Multichannel support). PlugData users will load the one from ELSE. This is another tiny step that sort of integrates ELSE and Cyclone, specially for PlugData users.
-
See full changelog below and, again, please support me on Patreon https://www.patreon.com/porres I will now try to add special content for subscribers.
cheers
CHANGELOG:
LIBRARY:
Breaking changes:
- [adsr~]/[asr~]: now a gate off before reaching the sustain point does not start the release right away (this allows you to trigger it with impulses). There's a new mode just for immediate release. There's a new exponential setting for curve factors, the old 'log' mode is renamed to 'lag' as it's the same as used in the [lag~] object. For [adsr~], a bang now is not "retrigger", but an impulse at control rate, there's a new 'retrigger' message for control rate retriggering (and now it only retriggers if the gate is on). For [asr~] a bang now also works like an impulse.
- [sample~]: no more 'load' message, args to 'open' message changed, size is now only in 'ms'.
- [format]: outputs are now always symbols, before you could get float outputs. Also, we just have a simplified symbol output, no more lists or anythings. Hopefully I'll be able to get the 'list' output back, but it involved some bugs tha...
12th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial)
12th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial):
This library/tutorial pack version needs at least Pd version 0.55-1 or above!
See downloads below in the "assets" tab and check the readme https://github.com/porres/pd-else/blob/v1.0-rc12/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-rc12! 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" phase 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.
RELEASE NOTES:
Hi, it's been almost 8 months without an update and I never took this long!!! So there's a lot of new stuff to cover, because it's not I've been just sleeping around ;)
The reason for the delay is that I'm trying to pair up with the release cycles of PlugData and we're having trouble syncing up. PlugData 0.9.0 came out recently after a delay of 6 months and we couldn't really sync and pair up then... we had no luck in syncing for a new update now, so now I'm just wrapping it up cause enough is enough, and hopefully in the next plugdata release we can sync and offer the same version. Nonetheless, as usual, I'm always in the middle of adding more things that will just have to wait.
First, as promised by me, support for double precision is now supported and provided!!! Let me know if you have issues...
And now for the biggest announcement: I'm finally and officially releasing a new pack as a submodule, which is a set of abstractions inspired by EuroRack Modules, so I'm thinking of VCV like things but into the Pd paradigm. Some similar stuff has been made for Pd over the years, most notably and famously "Automatonism", but I'm really proud of what I'm offering. I'm not trying to pretend Pd is a modular rack and I'm taking advantage of being in Pd. I'm naming this submodule "Modular EuroRacks Dancing Along" (M.E.R.D.A) and I've been working on it for a year and a half now (amongst many other things I do). PlugData has been offering this for a while now, by the way. Not really fully in sync though.
MERDA modules are polyphonic, thanks to multichannel connections. There are 20 modules so far and some are quite high level. I'm offering a PLAITS module based on the Mutable Instruments version. I have a 6-Op Phase Modulation module. A "Gendyn" module which is pretty cool. I'm also including an "extra" module that is not really quite a modular thing at all but fits well called "brane", which was a vanilla patch I first wrote like 15 years ago and is a cool granular live sampler and harmonizer. You'll also find the basics, like oscillators, filters, ADSR envelope and stuff I'm still working on. Lastly, a cool thing is that it has a nice presets system that still needs more work but is doing the job so far.
There are ideas and plans to add hundreds more MERDA modules, let's see when and if I can. People can collaborate and help me and create modules that follow the template by the way ;)
Thanks to Tim Schoen, [play.file~] is now a compiled object instead of an abstraction and it supports MP3, FLAC, WAV, AIF, AAC, OGG & OPUS audio file extensions. A new [sfload] object can import these files into arrays (but still needs lots of more work). There are many other player objects in ELSE that can load and play samples but these don't yet support these new formats (hang in there for the next version update).
Tim also worked on new [pdlink] and [pdlink~] objects, which send control and signal data to/from Pd instances, versions and even forks of Pure Data (it's like [send]/[receive] and [send~]/[receive~], all you need is a symbol, no complicated network or OSC configuration!). And yes, it works via UDP between different computers on the same network. And hell yeah, [pdlink~] has multichannel connections support! By the way, you can also communicate to a [pd~] subprocess. This will be part of ELSE and PlugData of course, and will allow easy communication between PlugData and Pd-Vanilla for instance.
The great pd-lib-build system has been replaced for a 'cmake' build process called 'pd.build' by Pierre Guillot. This simplifies things and had to be done as it all got too complex. Also, the [sfont~] object was a nightmare to build and with several dependencies that was simply hell to manage, now we have a new and much simpler system and NO DEPENDENCIES AT ALL!!! Some very rare file formats with obscure and seldom sound file extensions may not work though... (and I don't care, most and the 'sane' ones will work). The object now also dumps all preset information with a new message and backwards compatibility broke a bit :(
I'm now back to offering a modified version of [pdlua] as part of ELSE, which has recently seen major upgrades by Tim to support graphics and signals! This is currently needed in ELSE to provide a new version of [circle] that needed to be rewritten in lua so it'd look the same in PlugData. Ideally I'd hope I could only offer compiled GUI objects, but... the lua loader works by just loading the ELSE library, no need for anything "else". I'm not providing the actual [pdlua] and [pdluax] objects as they are not necessary, and this is basically the only modification.
Since PlugData provides support for externals in lua, if you load ELSE you can make use of stuff made for PlugData with lua without the need to install [pdlua] in Pd-Vanilla. For next, we're working on a [lua] object that will allow inline scripting and will also work for audio signals (again, wait for the next version)! Also for the next version, I'm saving Ben Wesch's nice 3d oscilloscope made in lua (it'll be called [scope3d~]). There's a lot going on with the lua development, which is very exciting.
As for more actual new objects I'm including, we have [vcf2~] and [damp.osc~]. The first is a complex one pole resonant filter that provides a damping oscillation for a ringing time you can set, the next is an oscillator based on it. There's also the new [velvet~] object, a cool and multichannel velvet noise generator that you can also adjust to morph into white noise.
I wasn't able to add multichannel capabilities to many existing objects in ELSE in this one, just a couple of them ([cosine~] and [pimp~]). Total number of objects that are multichannel aware now are: 92! This is almost a third of the number of audio objects in ELSE. I think that a bit over half might be a reasonably desired target. More multichannel support for existing objects to come in the next releases.
Total number of objects in the ELSE library is now 551!
As for the Live Electronics tutorial, as usual, there are new examples for new objects, and I made a good revision of the advanced filter section, where I added many examples to better explain how [slop~] works, with equivalent [fexpr~] implementations.
Total number of examples in the Live Electronics Tutorial is now 528!
There are more details of course, and breaking changes as usual, but these are the highlights! For a full changelog, check https://github.com/porres/pd-else/releases/tag/v.1.0-rc12
Unfortunately, ELSE RC12 is not yet fully merged, paired up and 100% synced in PlugData. Hopefully it will all be there and working fine soon in its next update. PlugData is now at version 0.9.1, reaching the 1.0 version soon. Since ELSE is currently so tightly synced to the development of PlugData, the idea is to finally offer a final 1.0 version of ELSE when PlugData 1.0 is out. Hence, it's getting closer than ever :)
Please support me on Patreon https://www.patreon.com/porres
You can follow me on instagram as well if you like... I'm always posting Pd development stuff over there https://www.instagram.com/alexandre.torres.porres/
cheers
CHANGELOG:
LIBRARY:
Breaking changes:
- [oscope~] renamed to [scope~]
- [plaits~] changed inlet order of modulation inputs and some method/flags name. If a MIDI pitch of 0 or less input is given, it becomes a '0hz'.
- [gbman~] changed signal output range, it is now filtered to remove DC and rescaled to a sane -1 to 1 audio range.
- [dust~] and [dust2~] go now up to the sample rate and become white noise (removed restriction that forced actual impulses, that is, no conscutive non zero values)
- [cmul~] object removed (this was only used in the old conv~ abstraction to try and reduce a bit the terrible CPU load)
- [findfile] object removed (use vanilla's [file which] now that it has been updated in Pd 0.55-0)
- [voices] swapped retrig modes 0 and 1, 'voices' renamed to 'n', now it always changes voice number by default as in [poly] (this was already happening unintentionally as a bug when one voice was already taken). The 'split' mode was removed (just use [route], will you?)
- [voices~] was also affected by changes ...
11th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial):
11th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial):
This library/tutorial pack version needs at least Pd version 0.54-1 or above!
See downloads below in the "assets" tab and check the readme https://github.com/porres/pd-else/blob/v1.0-rc11/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-rc11! 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" phase 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:
- [pan8~] removed, use the new [pan~] object now
- [autofade~] and [autofade2~], changed inlet order, gate is now the rightmost, for consistency. Removed status output cause that was kinda really stupid. Fade-in/out work better now by the way.
- [xgate2~], [xselect2~] big redesign, almost new objects, also changed inlet order for consistency and stuff
- [rec.file~] also changed inlet order, removed 1st control input, for consistency and stuff as well, no more toggle input though
- [tabwriter~] changed inlet order, gate is now the rightmost, for consistency. Changed some flags.
- [mtx~] removed dump outlet, 'fade' renamed to 'ramp', gain input is now not just on and off
- [mtx.ctl] changed output for export message
- [note2pitch] and [pitch2note] renamed to [note2midi] and [midi2note]
- [note2dur] renamed to [notedur2ratio]
- [canvas.file] renamed to [findfile] (this object will quite likely be removed anyway as soon as Pd's [file which] is updated in Pd, so forget about it already...)
- [noisegate~] added release time in ms
- [wavetable~] and [bl.wavetable~] removed 'offset' and 'size'
- [conv~] swapped args order
Enhancements/fixes/other changes:
- [plaits~] added attenuverters and sig modulation inputs, making it fully functional at last, documentation revised.
- fix crash of some objects in arm mac: [lfnoise~], [dust~], [dust2~], [rand.f~], [rand.i~], [pgm.in] and [ptouch.in] (these last two got fix by unkown reasons).
- [midi.learn] fixed (it wasn't working at all)
- [xfade~] and [xfade.mc~] added linear crossfading
- [xgate2~] added spread parameter and allow crossfading to silence when out of range
- [xselect2~] has a new spread parameter and is now either circular or crossfades to silence when out of range.
- [xgate.mc~] can now also route more than one channel and can now set number of out channels as a message as well
- [xselect.mc~] can now also set -n flag as a message
- [spread~] and [spread.mc~] added spread parameter
- [mtx~] added gain value so you can connect knobs, added print message.
- [mtx.ctl] and [drum.seq] fixed embed bugs
- [knob] fixed flags issues, a tcl/tk error and outline is now on by default
- [numbox~] fixed 'init' value in properties
- [rand.f~] fixed range bug
- [sine~], [impulse~], added 'set' message to set a single frequency channel
- [autotune], [autotune2], [retune], added support for lists
- [note2midi] and [midi2note] added support for quarter tones
- [keyboard] added 'show' and 'play' methods
- [chance~] now has a list method and a 2nd inlet for 1 arg and it all works like [chance] now
- [wavetable~] added slice parameter and inlet for crossfading between slices.
- [gendyn~] added signal input for center freq in hz, added 'bw' and 'cents' methods.
- [op] added support for lists in 2nd inlet
- [openfile] fixed bug not opening files in the current folder
- [sequencer], set message now works when [sequencer] is initialized without arguments, and sequence defults to 0 now.
- [crusher~] added support for signal input in secondary inlets
- [quantizer~], [fold~] and [wrap2~] added signal support (and also multichannel support) for secondary inlets
- [tabwriter~] added index mode to set index to record to with a signal
- [midi.in] fixed ext message/flag
- fixed memory leak and allocation in several objects
- [bend.out], [ctl.out], [note.out], [pgm.out], [ptouch.out], [touch.out], [midi.out], added '-ext' flag/message
- added MC awareness and capabilities to [fader~], [pan2~], [pan4~], [mix2~], [balance~] and [mix4~]
- 10 new objects: [wt2d~], [pan~], [pan.mc~], [autofade.mc~], [autofade2.mc~], [xgate2.mc~], [xselect2.mc~], [mtx.mc~], [abs.pd~] and [sendmidi]
Objects count: total of 527 (285 signal objects [82 of which are MC aware] and 242 control objects)!
- 307 coded objects (200 signal objects / 107 control objects)
- 220 abstractions (85 signal objects / 135 control objects)
TUTORIAL:
- New examples and revisions to add the new objects, features and breaking changes in ELSE.
- New chapter on Wavetable Synthesis (with wavetable scanning, vector synthesis and stuff).
- Revision and improvement of panning/routing section. Explanation about 'spread' in routing objects.
- Total number of examples is now 515!
10th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial):
10th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial):
This library/tutorial pack version needs at least Pd version 0.54-1 or above!
See downloads below in the "assets" tab and check the readme https://github.com/porres/pd-else/blob/v1.0-rc10/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-rc10! 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:
- [pmosc~] renamed to [pm~], mod freq is now 'ratio' of carrier
- [rms~], [mov.rms~] and [peak~], new 'lin' method instead of old ones, -lin flag instead of -db and now default is 'db'
- [fbsine~] default now is filter on
- [conv~] is now a compiled object that behaves differently (taking arrays instead of IR audio files)
- [plaits~]: changed behaviour of trigger mode, now it needs to be active to get audio trigger impulses, there's not a bang input anymore. Also, now you need to use a new 'level' method or flag to activate the rightmost input.
- [pluck~] first 2 inlets inlets swapped back again (yikes), bang trigger and 'gate' message removed, I hope I finally get this right, no other object wen theough so many braeaking changes.
- [adsr~] and [envgen~]: added a new second inlet to retrigger the envelope with impulses.
- deleted [osc.mc~], [imp.mc~], [stepnoise.mc~] and [rampnoise.mc~], use [sine~] and [imp~] for multichannel now and hang on for the others.
- [note.in]/[note.out] big redesign, changed behaviour of '-rel' flag and added '-both' flag, it now also listens to and send data connected MIDI devices.
- [touch.in], [ptouch.in], [bend.in], [pgm.in], [touch.out], [ptouch.out], [bend.out], [pgm.out] now also listens to and send data to connected MIDI devices.
Enhancements/fixes/other changes:
- fixed some errors in the object browser plugin
- [adsr~] fixed 'lin' message
- [maxpeak~] added 'lin' method
- [loadbanger] added '-fin' flag
- [knob] and [numbox~] allow min value greater than max, renamed min/max to lower/upper
- Improved peak metering for [meter~], meter2~], [meter4~] and [meter8~]
- Added MC support to [sine~], [impulse~], [cosine~], [fbsine~], [pm~] and [adsr~].
- Added internal wavetable lookup instead of trig functions for [sine~], [cosine~], [fbsine~], [pm~], [sin~] and more stuff (improves efficiency and accuracy).
- [mono] fixed flush and clear messages.
- [pm~] added a ratio flag.
- [conv~] is now a compiled object, which is way more efficient, and the old version wasn't working at all for ages anyway.
- [gain~], [gain2~] added MIDI 'learn' and 'forget' features.
- [out~] can now take mc input but sums it up.
- [keypress] fixed toggle flag and a bug where it'd zero the output if another key was pressed.
- [keymap] fixed initialization, added toggle mode to deal with hardware restrictions for polyphony.
- [note] fixed 'set' message at loadbang.
- [midi.in] and midi.out] added noteoff support
- [pluck~] added new list mode to connect directly to a note on message and support for midi pitch input
- [plaits~]: added new list mode to connect directly to a note on/off messages, fixed some wrong information and improved the documentation considerably
- [impulse~]: added 'midi' support and soft sync.
- [note.in]/[note.out], [touch.in], [ptouch.in], [bend.in], [pgm.in], [midi.in], added 'ext' message and flag to force only listening to external input.
- 12 new objects: [list.inc], [list.seq], [dispatch], [var], [mono~], [nop~], [send2~], [fm~], [pm2~], [pm4~], [pm6~] and [circuit~].
Objects count: total of 518 (277 signal objects [70 of which are MC aware] and 241 control objects)!
- 299 coded objects (192 signal objects / 107 control objects)
- 219 abstractions (85 signal objects / 134 control objects)
TUTORIAL:
- New examples and revisions to add the new objects and breaking changes in ELSE.
- Total number of examples is now 508!
9th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial):
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!
8th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial):
8th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial):
Objects count: total of 477 (248 signal objects and 230 control objects)!
- 268 coded objects (166 signal objects / 102 control objects)
- 209 abstractions (82 signal objects / 127 control objects)
This library/tutorial pack version needs at least Pd version 0.53-2 or above!
See downloads below in the "assets" tab and check the readme https://github.com/porres/pd-else/blob/v1.0-rc8/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-rc8! 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:
- [rdelay~] renamed to [revdelay~]
- [rescale]/[rescale~] drastic changes have been made to these objects, kind of a new one altogether, changed arguments, flags and now it always only has 2 inlets.
- [hz2rad]/[rad2hz] removed argument, set and bang method.
- [canvas.name] no more '-w' flag as it is now the default and only option.
- [numbox~] 'set' method renamed to 'init', input values are now clipped to min/max range
Enhancements/fixes:
- There's now a browser tcl/tk plugin for browsing ELSE's object and adding them to your patch when right clicking anywhere on a patch. In order for it to work, the 'else' folder needs to be added to the search paths in Preferences-->Path.
- Added "github actions" to compile for 64 bits linux, windows and mac (no apple silicon yet). This means people can easily download a build for the latest hardcore bleeding edge version on the master repository.
- [else] Fixed the warning to say that the Live-Electronics-Tutorial is part of the downloaded package. The object was also simplified to not print info all the time and the argument was removed.
- [rad2hz] fixed result output.
- [rescale]/[rescale~] fixed clip mode when range is inverted, added log mode.
- [dir] open message without a symbol opens the directory where the binary resides
- [fbdelay~] fixed regression bug from rc5 where this was blowing up
- [openfile] now opens files from search paths, not only in the patch's directory
- [numbox~] implemented a new double click feature that sets to the 'init' value and fixed a zooming issue.
- [keyboard] fixed zooming issues.
- [button] added toggle/bang mode, bang/float/set messages.
- [note] fixed setting receive name from properties and loading receive flag.
- [plaits~] fixed parameter's out of range issues and added a binary that actually works for M1.
- [sfont~] fixed compilation and binary for Linux Manjaro.
- [graph~]/[spectrograph~] do not allow mouse clicks on arrays no more.
- [canvas.mouse] A third argument allows output even in edit mode.
- [ramp~] fixed crash when min is higher than max.
- [note2pitch] fixed regression bug from rc7 where output was just wrong most of the times.
- 2 new objects for a total of 477: [knob] (yay, finally a knob) and [filterdelay~].
TUTORIAL:
- new example about [filterdelay~]
- Total number of examples is now 500!!!
7th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial):
7th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial):
Objects count: total of 475 (247 signal and 228 control objects)!
This library/tutorial pack version needs at least Pd version 0.53-2 or above!
See downloads below in the "assets" tab and check the readme https://github.com/porres/pd-else/blob/v1.0-rc6/README.md for more details and an object list (separated into categories)! The readme is also available as a PDF in the download. You can also download ELSE directly via Pd (in Help => Find Externals).
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-rc7! 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.
See also Plugdata, a fork of Pd that runs as a plugin and comes with ELSE: https://github.com/plugdata-team/plugdata
CHANGELOG:
LIBRARY:
Breaking changes:
- [adsr~]/[asr~] default values now are 10 10 1 10 for [adsr~] and '10 10' for [asr~], default is now 'log', and log message flag now removed for a new 'lin' method. Float input is now in the MIDI velocity range.
- Removed [pdlua]/[pdluax], I couldn't do anything good with it or change its design, ideally I could include a new lua scripting object with a similar design than ofelia's
Enhancements/fixes:
- fixed output range for rand.i / rand.i~
- [midi.learn] added 'teach' message
- [canvas.active] a new -name now reports window name.
- [(bl.)wavetable~], fixed linear interpolation / added size/offset messages so you can select portions of a wavetable.
- added midi frequency input and soft sync to: [pimp~], [sine~], [cosine~], [bl.saw~], [bl.saw2~], [bl.vsaw~], [bl.square~], [bl.tri~], [blip~], [bl.osc~], [wavetable~] and [bl.wavetable~] - added only midi frequency input to [bl.imp~] and [bl.imp2~].
- [else] 2nd and 3rd outlet that tells us the Pd and Pd-fork version
- [note2pitch] fixed symbol input for negative octaves
- [tabplayer~] fixed bang output
- [mtx.ctl] fixed many thingies like arguments management and resizing
- [numbox~] fixed bugs in handling settings via properties windows.
- [detect~] fixed bpm output.
- [bicoeff] fixed initialization and dim message/args; allow saving changes; plus more improvements under the hood.
- 4 new objects for a total of 475: [beat~], [plaits~], [keycode] and [keymap].
TUTORIAL:
- Updates for new else stuff like soft sync in oscillators, exponential FM using built in midi pitch in oscillators, an example for the [beat~] object. Also, new pd 0.54 stuff not yet released (I know), like [send~] being able to deal with block size of 1!
- New subsection on 'CV' in chapter 18
- Total number of examples is now 498
6th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial):
6th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial):
Objects count: total of 473 (245 signal and 228 control objects)!
This library/tutorial pack version needs at least Pd version 0.53-1 or above!
See downloads below in the "assets" tab and check the readme https://github.com/porres/pd-else/blob/v1.0-rc6/README.md for more details and an object list (separated into categories)! The readme is also available as a PDF in the download. You can also download ELSE directly via Pd (in Help => Find Externals).
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-rc6! 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.
See also ELSE compiled to run inside Camomile so you can build VSTs: https://github.com/porres/Camomile-ELSE/releases
CHANGELOG:
LIBRARY:
Breaking changes:
- [scales] - removed 3rd outlet (no more 'cents' output), 2nd outlet also removed (a new message changes the mode to output midi pitches instead).
- [pipe2], this is now a compiled object and you there's no more 'clear'/'flush' messages.
- deleted [gui] object (never liked it and it was a request by someone who's not really using it)
Enhancements/fixes:
- [pipe2] fixed time management bug.
- [eqdiv] fixed loading arguments.
- [resonbank~]: added 'decayall'/'ampall' messages/flags.
- 8 new objects for a total of 473: [sclae2freq], [osc.route], [osc.parse], [osc.format], [osc.send], [osc.receive], [pdlua] and [pdluax] (these aren't really part of ELSE but were included [version 0.11.1]).
TUTORIAL:
- Updated OSC section, total number of examples is now 494.
5th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial):
5th Release Candidate of ELSE 1.0-0 (with Live Electronics Tutorial):
Objects count: total of 466 (245 signal and 221 control objects)!
This library/tutorial pack version needs at least Pd version 0.53-1 or above!
See downloads below in the "assets" tab and check the readme https://github.com/porres/pd-else/blob/v1.0-rc5/README.md for more details and an object list (separated into categories)! The readme is also available as a PDF in the download. You can also download ELSE directly via Pd (in Help => Find Externals).
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-rc5! 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.
See also ELSE compiled to run inside Camomile so you can build VSTs: https://github.com/porres/Camomile-ELSE/releases
CHANGELOG:
LIBRARY:
Breaking changes:
- newly included [rand.d] renamed to [rand.dist]
- [oscope~]: removed 'drawstyle' mode.
- [messbox] renamed 'size' message to 'dim', removed undocumented resizing handle (wasn't working well either)
- [table~] object removed, use [tabreader~] instead which is basically the same thing.
- [tabplayer~]/[wavetable~]/[del~]/[ffdelay~]/[fbdelay~]/[shaper~] changed default interpolator to spline.
Enhancements/fixes:
- [numbox~] fixed loading properties window.
- [keyboard] fixed display in GOP.
- [oscope~] fixed resizing with handle.
- [pic]/[pad]/[button]/[keyboard] fixed zooming issues.
- [messbox]/[bicoeff] added zoom.
- [rand.i]/[rand.i~] fixed range for negative values.
- [rand.hist] fixed list input when not in unrepeated mode and clear message.
- [tabgen] removed stupid cyclone dependency & allow commands as args.
- [wavetable~] new interpolation modes.
- [scala] fix loading certain files.
- [spread] now takes lists, which allows 'keyboard split'.
- 3 new objects for a total of 466: [tabreader], [tabreader~] and [gendyn~].
TUTORIAL:
- new examples for newly added objects and a rewritten section with more interpolation modes from tabreader/tabreader~
- new chapter (21) on "Basic-Signal-Analysis"
- new chapter (38) for "stochastic synthesis" (this one is basically nothing now but the plan is to improve it with a patch implementation of gendyn~ not to mention add other chapters in this part of "advanced synthesis")
- Total number of examples is now 492