User Tools

Site Tools


6june2024

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
6june2024 [2024/06/06 07:31] – created lars6june2024 [2025/06/03 09:25] (current) – external edit 127.0.0.1
Line 11: Line 11:
  
 {{ :patchorganiser.png?700 |}} {{ :patchorganiser.png?700 |}}
 +
 +There are many new functions that comes with v1.2. Some of them do things that you would otherwise have to code yourself, like LFOs, but some are new features that wasn't available in v1.2. You can now both ring and sync modulate an oscillator. You can also use VividShaper as a MIDI effect unit. This works in apps that allow AUv3 plugins to send MIDI (Logic on Mac does but Ableton does not).
 +
 +Another new small thing is that you can change the number of generators to 16. Eight generators is still the default number, but by writing "generators=16" you can double them (or set anything between 1-16 of course).
 +
 +Then there are some changes "under the hood". The synth engine has been improved, with added cross fading between notes within a generator (removes that annoying "clicking" sound when a generator has to quickly change amplitude), and the code is now properly using locks between threads allowing for better compiler optimisation. You will hopefully notice that VividShaper is now slightly less CPU intensive.
 +
 +However, VividShaper is still very CPU hungry. It is, after all, running eight generators by default and each generator is running its own Lua interpreter about 90 times per second. I am still amazed that this even works, so 30% CPU load isn't that bad I would say. Still, it would be great if you could turn off the generators if they are not doing anything. I thought about doing this automatically, but realised that it is difficult to tell when the developer of a patch wants it turned off or not. Therefore, I leave it up to you as patch developer. There is a new variable called "active". If you set this to false, the generator will immediately turn itself off. By looking for a time point when all oscillators volume are below a certain threshold, you can easily just turn them off yourself (as you can see in the screenshots above):
 +
 +active = VSMax(vol) > 0.00001
 +
 +That simple line is looking at the max volume across all oscillators, then testing if this value is above 0.00001. If it is, it remains active. If not, it turns itself off. You don't want to do this trick if you have an LFO controlling the volume, but then there are other ways for you to determine if it should be turned off. Nevertheless, that line works in most situations.
 +
 +Finally, a new feature is that you can now update the patches online. I plan to release new patches regularly (aiming for weekly, on Fridays, with some exceptions). In the Patch menu, you can now click on "Update factory patches". It will then look for new patches.
  
  
6june2024.1717651897.txt.gz · Last modified: (external edit)