Hi everyone, we've released a new version of Magic, v2.22. Besides a few very minor fixes/improvements, it has one very fun new feature, a new module in the Special menu called Iterator. The Iterator module will let you repeat a part of your scene as many times as you indicate. It's very useful for creating arrays of things easily.
As you can see in the above image, the module can be used multiple times in a row, so you can create x/y arrays (for example). The real usefulness comes from the new Internals feature called "Iteration #", which lets you increment any linked parameter based on the nearest Iteration module to the right. Thus in the above example, you get three iterations for the first Translate module (in the Y param), and four for the second Translate module (in the X param), creating a 3x4 grid. I've also linked the Iteration # to the Polygon Sides param, indicating how you can do other things (another example would be selecting an InputSelector input).
All this happens within one "rendering" of the current frame, so be careful not to have high iteration counts if you are using 2D effects before your Iterator. For example, if you had a Trails module and then an Iterator with 20 iterations, the Trails module would be rendered 20 times per frame, and would really lower your FPS a lot.
The further usefulness of the Iterator module is shown below:
Audio sources have a new feature in the Freq. Range menu called "Iterator Freq. Ranges", and MIDI sources have a new feature called "Iterator Notes". For audio sources, if you specify 20 iterations, then the Iterator Freqs. will give you a 20-unit frequency spectrum of values, so you can easily create arbitrary spectra without repeating the modules for each unit. Thus, the old StereoSpectrum_30band.magic sample project requires 30 times less modules. Cool, eh? Similarly as you may have guessed, Iterator Notes does the same thing for MIDI notes, so the old MIDIPiano.magic sample project becomes a lot simpler as well, allowing you to create arbitrary keyboards without repeating the modules for each note. (See below for new/updated sample projects).
The Iterator module's Offset parameter lets you start at an arbitrary starting point, so an Offset of 5 with 20 Iterations would mean the Iterator starts at 5 and goes until 25. This is useful if you don't want to do the whole MIDI keyboard, but just a segment in the middle, for example.
I've added/updated several sample projects that come with version 2.22, so be sure to check out IteratorBasicExamples.magic, IteratorCubeExamples.magic, IteratorSpectrumExamples.magic, MIDIPiano.magic, and StereoSpectrum_30Band.magic. After that, if you have any questions, be sure to post in the General Discussion forum.
https://magicmusicvisuals.com/getfullversion
I hope you enjoy, and here are the other minor fixes/improvements for this version:
- Added more quick resolution presets
- Allowed video_size override in VideoCaptureDS module
- Improved output stability when making large project edits
- Fixed bug with missing device in VideoCaptureQT module
- Fixed bug with reloading VideoStream module
- Fixed bug with playlist export timing
- Fixed rare bug with licensing on Windows
Magic 2.22 released
Re: Magic 2.22 released
In case any of you are using macOS Catalina (10.15), we've resolved an issue with the Magic installer. Installing Magic 2.22 should work fine now on this OS version.