From the original SynthMaker forum (2004–2014), with its members’ names and dates.
mwvdlee ·
Version 0006: Missing Links
Version 0007: Missing Links
Version 0008 Missing Links
Version 0009 Missing Links
Version 0010: Missing Links
Version 0011: Missing Links
Version 0012: Missing Links
Version 0013: Missing Links
Version 0014: Missing Links
Version 0015: Missing Links
_________________________________________________________________________
Hohoho!
Today I finally bought a license to SM. I can't yet get into the registered users forum, but other than that everything seems well. I'll post an introduction post in the offtopic forum soon, but first I'd like to share (in the spirit of christmas) a set of basic modules.
I call it...
(basically because it's a set of modules I found missing in the standard set and because it's still the year of Darwin and well, it just sounded cool and I needed a name for it)
It's quite a large set with many different and varied modules and if you dive into the modules you'll notice a lot of the modules used inside others, so I'm actually eating my own dogfood here. Some of these may come in handy to you, some you'll probably find useless or excessive. I could list the most interresting stuff, but I'll just let you guys decide and post what you like and don't like about these modules 😉
Commentary is always welcome and there's probably some performance or other type of improvements to be made.
If so, please post the improvements back in this thread and I'll incorporate them in the full set.
Also, I must give credit where credit is due; the preset stuff was mostly copied from other sources, some of the parser stuff as well. Too bad I don't remember the sources but thanks anyway, anonymous sources!
Use it, improve it & share it!
Merry christmas,
Martijn
nabulas1234 ·
OMG you're a f**in genius 😈 A beautiful present for Christmas!
Jay ·
Wow real cool! thanks very much for these,they will be very useful additions to the pot 🙂
best regards
stw ·
some really useful stuff. Thanks for sharing.
Maybe they can go into Exos comunity Development Toolkit?
infuzion ·
mwvdlee wrote: Also, I must give credit where credit is due; the preset stuff was mostly copied from other sources, some of the parser stuff as well. Too bad I don't remember the sources but thanks anyway, anonymous sources
mwvdlee wrote:
infuzion wrote: I did find a few things to improve
Nice work! I like the skinned delimited string, didn't know how to do that.
Would have been nice to have some credit for the skinning... 😕 Although I did take the idea/template from older SM modules.... 😇
The Preset Name modules are standard SM. I usually straighten out the links, get rid of the String primitive, & move in the a actual preset name String primitive inside the module.
Tip:
I try my hardest when I collect others' modules I atleast put the creator's name in the module's title bar. Sometimes I put the URL of the forum post in the Help.
Bug:
Your StreamBoolean stuff doesn't seem to be working? I think masking needs to be done to get that stuff to work right. SM's boolstream is always weird to me.
A few suggestions:
The Flip Flop can be reduced down to a simple Int Switch with a 1 connected to the "on" trigger. I think I got that trick from MyCo, oddson or one of the SM elders. The same idea behind your Adder modules. I don't even put a FlipFlop in a module anymore really.
I think the Boolean XOr can be reduced to a (Bool+Bool)=?1
Thanks for all your hard work!
Merry Christmas!
mwvdlee ·
infuzion wrote: I try my hardest when I collect others' modules I atleast put the creator's name in the module's title bar. Sometimes I put the URL of the forum post in the Help.
I'll make sure your name is in the next version 🙂
Atleast now I can say this; Guys, credit to infuzion for demonstrating the skinning! 😉
Regarding the preset, I guess I did get it from one of the standard controls.
infuzion wrote: Bug:
Your StreamBoolean stuff doesn't seem to be working? I think masking needs to be done to get that stuff to work right. SM's boolstream is always weird to me.
The poly stuff is pretty difficult to test without hooking up MIDI. I'm actually working on some stuff that makes testing poly easier by generating poly's in a reliable way.
I'll take a look at the suggestion for the Flip Flop. Boolean XOr can indeed be bool+bool=1 (that's how the poly variant does it, since for some reason beyond my comprehension, ASM seems to lack native Not and XOr operands), but doing boolean in pure math is typically the fastest way to do it. The "=" part would actually translate to some form of branching in assembler, which is typically a slow thing to do.
Is there any way to accurately test performance in SM? A CPU % is unusable for such tiny modules and I haven't found any sub-millisecond timing mechanisms yet in SM.
The reason I put stuff simple stuff in modules is because I use those constructs a lot. Turning it into a module makes the diagram easier to read IMHO. Besides, is there really any overhead to modules? I'd assume SM optimizes (inlines) those away when compiling?
sunsynth ·
Welcome to the Regs!
Like your kit and especially the nice looking groups! 😉
btw: will also have a closer look at the parser part...
So a big group hug from me!
***Merry Xmas everybody ***
infuzion ·
mwvdlee wrote: ...(that's how the poly variant does it, since for some reason beyond my comprehension, ASM seems to lack native Not and XOr operands), but doing boolean in pure math is typically the fastest way to do it. The "=" part would actually translate to some form of branching in assembler, which is typically a slow thing to do.
Is there any way to accurately test performance in SM? A CPU % is unusable for such tiny modules and I haven't found any sub-millisecond timing mechanisms yet in SM.
There are a few ASM SSE logic opcodes in SM: andps, orps, & pand, andnps may work but colors wrong, xorps may not work...? The comparison opcode, cmpps takes just about as long as adding & multiplying, though logic opcodes in Pentium M+ CPUs may run faster than all those since they interleave much easier.
mwvdlee wrote: The reason I put stuff simple stuff in modules is because I use those constructs a lot. Turning it into a module makes the diagram easier to read IMHO. Besides, is there really any overhead to modules? I'd assume SM optimizes (inlines) those away when compiling?
[/quote]I used to put simple things into modules alot. Even now, sometimes I'll still leave something in a module, like my old Sample & Hold on Change, but for something so simple like a Switch with a 1 connected I just know automatically that is a switch since I've seen that 500 times.
I tend to write fewer & fewer submodules since:
1) The main module I'll reuse often as a module, but not the 2-primitive submodule. I'll just cut & paste if I really am lazy.
2) Editing SM is harder for large projects than text-languages, since you have to click though everywhere. Fewer clicks to enter modules=faster editing & troubleshooting (can see more links at once). A good text IDE will let you jump around routines fast, has folding (text versions of modules, but much better), far better error checking, etc. A flatter module helps speed reviewing in my mind.
3) Though 1.1.5 is supposed to have this fixed, I'm still in the habit of making my OSMs smaller since large OSMs dragged down editing. I don't think SM compresses modules yet when it turns modules into VSTs, so fewer modules (which also means fewer primitives & links) means a smaller VST.
That said, I do have an OSM full of skinned math functions. Sometimes I'll take them out of the module when I use them, sometimes not. Here they all are if you're interested.
BTW, I write & tune alot of little tools like you have here for my first year in SM. Helped me get a feel for SM, & figure out the trigger system. So I must say you're on the path of SM greatness. 😉 😇
mwvdlee ·
I noticed "andnps" in the list, it seems to be the only available SSE operand capable of doing a not. It doesn't seem to compile however. Do I need to enable some setting for it to work?
infuzion ·
mwvdlee wrote: I noticed "andnps" in the list, it seems to be the only available SSE operand capable of doing a not. It doesn't seem to compile however. Do I need to enable some setting for it to work?
It may work/compile, but the coloring may be off?
mwvdlee ·
VERSION 0006!
What's new...
* Renamed Constants to Characters
+ Constants: Pi and 2 Pi
+ Math: Sign
+ Math: Float Modulo
+ Characters: Full set of control characters
+ Lookup: Font
+ Trigonometry: XY (cartesian) > Polar (in radians) > XY
+ Trigonometry: Hypothenuse
+ Trigonometry: Deg-to-Rad and Rad-to-Deg
+ GUI: View Center
+ GUI: View Cache and View/Area Cache
+ CSV: CSV to List
Oh, and I added proper credits! Let me know if you think your name belongs in there too 🙂
I've seen some polar conversion stuff elsewhere in the forum, but decided to make my own since I think these are more efficient. And they work in radians, which I prefer.
infuzion ·
mwvdlee wrote: VERSION 0006!
What's new...
* Renamed Constants to Characters
+ Constants: Pi and 2 Pi...
I'm rather certain that 98%+ of SM users will have the Symbols font. Interestingly, the Pi symbol is mapped to the letter "p" there.
BTW, those Constants/Characters were called "Special Characters" back in my C64 & PC/DOS days, though now that term has an extended meaning.
mwvdlee ·
infuzion wrote: I'm rather certain that 98%+ of SM users will have the Symbols font. Interestingly, the Pi symbol is mapped to the letter "p" there.
I don't 🙂 Those reskinned Pi and 2Pi's show as " " and "2 " on my system 🙁
The "Symbol" font is indeed installed on all Windows systems (atleast upto XP: http://www.kayskreations.net/fonts/fonttb.html).
What's interresting though, is that it doesn't show up in the "System Fonts" module inside Synthmaker.
Possibly this is an issue of different fonts and/or different OS's? I use XP Home. On my system the Symbol font's filename is "SY______.PFM", perhaps you have a .TTF file?
A quick check seems to imply that only TTF fonts are shows in System Fonts, and even then only certain members of font families. If you can indeed use only TTF's, then that limits the number of fonts you can expect to be installed on all Windows systems.
aliasant ·
Is there a newer list some were that shows us the newer systems?
update: Found one that has Vista and 7 as well. Not as easy to read but maybe we could make a list of all these?
http://www.autoitscript.com/autoit3/docs/appendix/fonts.htm
I have made a font selector I can put outside my main project and send fonts into via wireless and store in s&h's so when the project is "rendered" the fonts stick... but I lost the little sucker. Its in a build somewere....
sunsynth ·
Thanks again Martijn 🙂
btw: Your 'Missing Links' are the reason why i start my Xmas-Present @ #400 😉
mwvdlee ·
aliasant wrote: update: Found one that has Vista and 7 as well. Not as easy to read but maybe we could make a list of all these?
http://www.autoitscript.com/autoit3/docs/appendix/fonts.htm
Thanks!
I've tried quickly crossing all lists, but it turns out the situation is a bit more complex than I thought.
Either way, the following are supported in every version starting Win95.
Arial
Courier New
Tahoma
Times New Roman
Since the SM website claims SM requires atleast Win2000 or XP, I guess the list can be a bit longer if we drop all older versions of windows.
aliasant ·
I made a "Windows Only Font Selector" tp solve some of the Font problems here:Windows Only Font Selector
infuzion ·
mwvdlee wrote:
infuzion wrote: I'm rather certain that 98%+ of SM users will have the Symbols font. Interestingly, the Pi symbol is mapped to the letter "p" there.
I don't 🙂 Those reskinned Pi and 2Pi's show as " " and "2 " on my system 🙁
The "Symbol" font is indeed installed on all Windows systems (atleast upto XP: http://www.kayskreations.net/fonts/fonttb.html).
What's interresting though, is that it doesn't show up in the "System Fonts" module inside Synthmaker.
Possibly this is an issue of different fonts and/or different OS's? I use XP Home. On my system the Symbol font's filename is "SY______.PFM", perhaps you have a .TTF file?
A quick check seems to imply that only TTF fonts are shows in System Fonts, and even then only certain members of font families. If you can indeed use only TTF's, then that limits the number of fonts you can expect to be installed on all Windows systems.
What version of Windows are you running? Did you install Office, Adobe stuff?...
This sounds like a bug to me.
mwvdlee ·
infuzion wrote: What version of Windows are you running? Did you install Office, Adobe stuff?...
This sounds like a bug to me.
I'm running XP Home here, with Office, Photoshop, reader and a bunch of other programs.
Just checked the font, the location appears to be "P:\Reader 8.0\Resource\Font\PFM", which probably means it indeed isn't the default Symbols font 🙂 Perhaps the old Symbols font was accidentally deleted in some way.
I just installed the Symbol font, so I guess I WILL be copying you're Pi symbols into the next MissingLinks 🙂 Thanks!
trogluddite ·
mwvdlee wrote: the following are supported in every version starting Win95.
Arial
Courier New
Tahoma
Times New Roman
Very timely post - I'm just ready to release my first ever public beta - then it suddendly occured to me; will everyone have the Tahoma font, or willl I have to reformat my entire GUI to use Arial?!
Thanks for the info,
The Luddite
mwvdlee ·
Version 0007:
Here's what's new:
* Changed skins of Pi constants (by Infuzion)
+ Registry modules (USE WITH CAUTION!)
+ Math: Scale
+ Time: Unix Time (http://www.unixtimestamp.com/index.php)
+ Time: Performance Time
Unix Time isn't corrected for GMT sadly enough (since I don't know timezone), but local time only. Fortunately, that's how actual Unix computers usually do it too 🙂
The registry modules are pretty basic. Be careful with the "delete" modules. I mean, seriously, be careful. No warranty, absolutely none whatsoever. This stuff can seriously mess up your registry if used the wrong way. In fact, I suggest you not use the "delete" modules at all.
mwvdlee ·
NEW RELEASE
version 0008
* Changed Registry Get temporary filename to allow other types of discovery in threads.
+ Lookup: Windows version-specific font lists.
+ CSV: List to CSV module
+ GUI: Area Add
+ GUI: RGB-to-HSL and HSL-to-RGB
+ Analysis: Performance and difference readouts
I've included my own version of the fonts lists, based on my own research. It's fonts are a bit different from Aliasant/Infuzion's and it's just a basic list; no wireless comms or other fancy stuff.
If you want flashy lights or other color animation, it's probably easier to do in HSL color space than RGB. Although obviously with more overhead. HSL is also a bit more intuitive to people who aren't used to any particular color space (i.e. your typical user).
The rest is just generally useful modules.
aliasant ·
Just found the "on every true and false" modules but I think we have them already 🙂
Search for False and True in the toolbox.
Unless yours work differently ?
Nice update though!
Just wish we had a better toolbox/search/list system. So hard to save all the nice modules you guys are giving us in a fast finding system.
trogluddite ·
Nice work! 🙂
Had a couplle of attempts at RGB>HSL myself, but the maths beat me every time! Very useful indeed!
infuzion ·
Thanks for your hard work mwvdlee.
aliasant wrote: Just wish we had a better toolbox/search/list system. So hard to save all the nice modules you guys are giving us in a fast finding system.
I collect related modules in their own .OSM to help organize them. For instance, I have an OSM for just filter, anther just for OSC/LFO, one has only knobs/sliders, & another just for maths:
The 2 interconnected modules on the upper-right are RGB-HSV converters that came out like 4.5 years ago.
mwvdlee ·
Version 0009:
Changelog (also in the OSM itself):
+ INI: Parse, Write, Get Value triggerred.
+ Analysis: Counter (click to reset!)
+ GUI: Wireless Cache, Color preview, Blenders
+ Math: Blenders, Crop
+ Arrays: Repeaters
* Fixed bug in Compare: String comparisons; were triggered twice
* Fixed bug in File: Split Path; incorrect handling of missing folder or filename
* Fixed issue in File: Split Path; too many output triggers
* Fixed issue in INI: Load; test comments first or = is recognized.
* Fixed issue in INI: Get Keys/Value; trigger on change of INI.
* Added skins to many existing components
* Fixed bug in Math: Poly XOR and converted to ASM.
Nothing spectacular, mostly just generic-like modules that I needed myself, fixes based on practical use and some fun experimental modules.
For the nerds; the blenders use a method that is little known but roughly 25% faster (depending on the programming language, how it's compiled and on what architecture) than blending the usual way. You can use this trick in code and asm too. Simply put: (A * ratio) + (B * (1 - ratio)) == A - ((A - B) * ratio).
infuzion ·
I like the look of some of the new skins, like the Iterate Array. I wonder if the use of the database symbol for an array a good idea?
Also, I think one can add Areas together just by linking their Outs both into the same In, just like green link-addition.
I knew I'd regret showing you that you can skin modules someday; now everyone's HD are going to fill up faster. 😉
stw ·
mwvdlee wrote: (A * ratio) + (B * (1 - ratio)) == A - ((A - B) * ratio).
In that case this should rather equal to : B+(A-B)*ratio.
Sorry for being fussy... 😉
However, thanks for sharing.
mwvdlee ·
stw wrote: In that case this should rather equal to : B+(A-B)*ratio.
Well, you get the point; it's one less operator and one of the few "old-skool" optimizing tricks that's still worth the effort.
I'm one of those copy+paste developers; make something work well once, then just C+P and never think about it ever again 😉
exonerate ·
Thanks for these modules mwvdlee 🙂 some really useful ones.
I noticed in some array modules you assign the array to another array, obviously to get the size. You do this in "List to CV" and "iterate array" for example. This is unnecessary you can get the size directly from the original array by connecting an integer component to the array connector 🙂
Also in the group Trigonometry the module "Hypot" is not connected up.
Cheers 😉
Exo
mwvdlee ·
exonerate wrote: I noticed in some array modules you assign the array to another array, obviously to get the size. You do this in "List to CV" and "iterate array" for example. This is unnecessary you can get the size directly from the original array by connecting an integer component to the array connector 🙂
Also in the group Trigonometry the module "Hypot" is not connected up.
Thanks for the notice 🙂
I already found the quick way to get String Array size, but havent yet had the time to fix it in most modules.
The Hypot is new to me, but was a quick fix and should be okay in the next version.
philter5 ·
...hhmm. th copy/move/delete file does not work here..
mwvdlee ·
philter5 wrote: ...hhmm. th copy/move/delete file does not work here..
What Windows version are you using?
philter5 ·
Win XP Professional with Service Pack 2
mwvdlee ·
There was an issue with the Copy, perhaps that caused the other issues.
Anyway, here's version 0010 of Missing Links, which also fixes and adds some other stuff;
Change list:
+ GUI: Mouse View
+ Date & Time: Time.milli
+ GUI: Font/Pen/StringFormat/Colour
+ INI: Triggered gets
+ GUI: View Crop
+ Filesystem: Make/Remove directory
/ Replaced string array output of String: Mark Lines with string
* Some skins for the sections
* INI: Load and Parse; replaced the breakline-to-mark component
* General optimizing of string array iterators.
* Fixed Math: Hypot; became unlinked. Thanks to Exonerate.
* Fixed File: Move
* Fixed File: Copy (wrong command)
Nothing really spectacular. There's a view GUI tools that I find helpful and a number of important fixes.
philter5 ·
...hmmmm i must do something wrong, the file copy/move/delete modules still don´t work for me.
any ideas why?
philter5 ·
...and, BTW, is there a popup window with okay and cancel when i try to move/copy/delete a file or not?
sunsynth ·
@1st: thanks again 4 this nice tools 🙂
I have one more bug: Colour gets 100 for 100% Alpha (Output is before the x 2.55)
philter5 ·
ah okay now they work, it was my fault. Very dangerous that there is no message when deleting a file...
but fortunately we can build our own message box to ask if you really want to delete a file or something like that...
mwvdlee ·
sunsynth wrote: I have one more bug: Colour gets 100 for 100% Alpha (Output is before the x 2.55)
Thanks. It'll be fixed in 0011 (don't know when it'll be released. Perhaps I need a more frequent release schedule for bugs).
mwvdlee ·
philter5 wrote: ah okay now they work, it was my fault. Very dangerous that there is no message when deleting a file...
but fortunately we can build our own message box to ask if you really want to delete a file or something like that...
That's done on purpose, so you can chain multiple operations together.
Besides, message boxes are user interface choices; not something I like to force upon people.
philter5 ·
mwvdlee wrote:
philter5 wrote: ah okay now they work, it was my fault. Very dangerous that there is no message when deleting a file...
but fortunately we can build our own message box to ask if you really want to delete a file or something like that...
That's done on purpose, so you can chain multiple operations together.
Besides, message boxes are user interface choices; not something I like to force upon people.
😀 it was more a joke than a seroius sentence when i said "dangerous".
thanx again for the nice module pack !
philter5 ·
i found a small bug in the split path module...
mwvdlee ·
philter5 wrote: i found a small bug in the split path module...
Already noticed and fixed 🙂
I will release version 0011 this weekend, as it contains a few other bug fixes as well.
Acrobat ·
this is cool thanx a lot!! Keepon rockin'!
mwvdlee ·
Version 0011:
Mostly fixes to the bugs mentioned in previous posts. Most notable new feature is the "Bitmap Get At+" module (for lack of a better name); it's a very simple, but (to me atleast) an essential change.
I'm mostly trying to improve quality and stability of my main project right now, so not a lot of new features. I've got a lot of nice stuff that might make it into MissingLinks some day, but most of it requires me to do some boring work, so don't expect that anytime soon 😉
Changelog (copied from schematic):
+ GUI: Bitmap Get At+; returns boolean for success of failure.
+ Arrays: Repeat String Array
+ Presets: Preset Name Append with preference
+ Grouping: Color Matrix and Bitmap Array
* Changed Lookups; lightweight, different look and no preset
* Flow: changed input names of flip-flop's
* Fixed GUI: Color and Pen; transparency was 0-100
* Fixed Filesystem: Split Path; end slash in path was missing.
philter5 ·
😀 THX
mwvdlee ·
It's been a while. Hope it's worth the wait 😉
Here are the release notes, straight from the OSM:
IMPORTANT NOTICE!
Most Filesystem and Registry modules are currently broken in
SynthMaker v1.1.7 due to backwards incompatible changes in the
Shell Exec module.
version 0012
+ GUI: Area Flip
+ Controls group
+ Controls/String Label
+ GUI/Area Scale
+ Parser/Any
+ GUI/Bitmap Area
+ GUI/Area Shrink
+ Math/Green Is NaN? and Green/NaN to Zero
+ Constants; special floating points
+ New category; Elements
+ Elements; Mini's that fit smaller spaces
+ Math/Stream Abs
+ Filesystem/Wait for Path
+ Math/Average
* Filesystem/File Exists optimized
* Trigonometry: Fixed trigo functions
* Filesystem/Make Directory: Quotes around filename
* INI/Write: Fixed section order issue
* GUI: Color, Pen, Font and FontStyle now largely purgeable
Again, most of these are taken directly from my own projects (and some the end-result of a number of threads on this very forum). I hope they will be usefull to others.
Perhaps I'll add tooltips and some documentation for the next version... but probably not 😉
mwvdlee ·
Large update this time, with many useful components.
If you frequent this forum often, you'll probably know most of these modules already.
There is also some new stuff, though. And some things have been cleaned up and standardized a bit.
If you find any bugs, let me know.
On a more somber note (something like D-minor will do), I'm going back to school starting september. Full time job in the days, school two/three evenings a week for the next four years. As a consequence I'm going to be far less active within the S|M community in general and maintaining this module set in particular. I had hoped to be able to release atleast one commercial product before this date but due to reasons that I think we're all too familiair with, that is becoming increasingly unlikely to happen in the forseeable future.
Anyway, back to more happy note (I've always like Csus4, or pretty much anything sus4), here's the schematic and a list of all the changes.
version 0013
+ Shapes/Dropshadow
+ GUI/Catch Mousebuttons
+ Controls/Barcode Scope, Light Scope
+ Controls/Push button with rotated text
+ Animation/Swing, Stream Swing, Stream Bounce, Stream Slide
+ Arrays/Append Float Array
+ Math/Int Or, Int XOr, Int Not
+ GUI/Point Area
+ GUI/Redraw Motion
+ Math/Unit
+ Stream/StreamBool to Stream, Stream to StreamBool
+ Stream/PolyBool to MonoBool
+ Stream/Trigger to StreamBool
+ Elements/Mini Slider
+ Shapes/Pie
+ Shapes/Arrow
+ Shapes/Filled Regular Polygon, Filled Rotatable Square, Filled Convex Polygon
+ Shapes/Edge Triangle, Corner Triangle
+ Constants/Max & Min Stream Float
+ INI/INI Set by Properties
+ GUI/A-VA alpha Cache
+ Constants/Sqrt 2, ¼ Pi, ½ Pi
+ GUI/Mouse LDown Alpha, Mouse LDown Ellipse
+ GUI/C2HSL and HSL2C wrappers around HSL modules.
+ GUI/Area Grow (two types)
+ GUI/Colorize Matrix alternative version
+ Analysis/Readout Area
+ GUI/Fix Area
+ GUI/Float to Colour and Colour to Float
+ Math/Square Root, Square, Reverse, Half
+ Arrays/Min Float Array
* Moved all GUI colour modules to new Colours category
* Arrays/Average; optimized implementation
* Minor improvements all-round on skins
* Minor improvements all-round on performance
stw ·
mwvdlee wrote: Large update this time, with many useful components.
As usual incredible useful gadgets! Thanks for sharing. 😍
trogluddite ·
Is is Xmas already?? Thought I overslept a bit this morning.
Many thanks - this is great stuff, brilliantly organised too.
stw ·
mwvdlee wrote: On a more somber note (something like D-minor will do), I'm going back to school starting september. Full time job in the days, school two/three evenings a week for the next four years. As a consequence I'm going to be far less active within the S|M community in general and maintaining this module set in particular. I had hoped to be able to release atleast one commercial product before this date but due to reasons that I think we're all too familiair with, that is becoming increasingly unlikely to happen in the forseeable future.
Anyway, back to more happy note (I've always like Csus4, or pretty much anything sus4), here's the schematic and a list of all the changes.
...
+ GUI/Redraw Motion
Though it's not the help forum...
To bring my personal major chord solution a bit closer and maybe to prove that commercial plug ins are possible with SM could someone please help me with that motion redraw?
Is there a way to place that module into a draw loop (Draw loops seem to be my brain killer 😝 ) ? I have a bigger area with some movements on smaller areas which are nested inside a draw loop. I need to keep the redrawing area as small as possible to prevent a huge cpu hog.
My last idea was to link multiple of these redraws to fixed indexes to cover exactly the changed areas of the drawn element but i didn't succed... 😊
Any ideas about that?
mwvdlee ·
stw wrote: Is there a way to place that module into a draw loop
No, for two different reasons.
1. You should not put redraws inside draw loops. Doing so could trigger an infinite loop.
2. Motion Redraw is for relatively small graphic areas that move around (change position) within a larger area.
For your draw loop, your best bet seems to be to put an area redraw outside the draw loop and calculate the area it should redraw. GDI is very capable of clipping draw operations.
Alternatively, put a selector with bool input inside the draw loop in combination with the area redraw; this is risky though, since redraws may also be triggered outside of your explicit control.
trogluddite ·
Yes, bit of a tough problem that.
I also tried by using weird area union stuff and smaller redraws, but the way the Draw Loop is made just makes it unworkable. You can't have a trigger 'within' a draw loop - so that's out.
Then, tried to make a way to keep a running total of the areas - but the result is always one frame behind the drawing, because it is the ReDraw that sets the loop running to start with - the area to be redrawn seems to always be decided before the loop runs.
Also, in the vast majority of cases, ReDrawing a large area once per frame is easier on the CPU than multiple small draws.
The best I could come up with is to find a way of calculating the minimum area that needs re-drawing - but it only works if your animations have their co-ordinates stored in float arrays. In effect you find the max and min entries in your X and Y arrays (i.e. the furthest left, highest, lowest, furthest right), and then calculate the area from that - allowing for the size of the actual animated elements themselves. - of course, that doesn't help much if the elements are widely spaced, but here's the little module in case it's any use...
trogluddite ·
mwvdlee wrote: If you find any bugs, let me know.
Not sure it's really a bugfix or more just a 'depends how you use it' kind of thing - but here's a new 'Trigger on Match' module I've been using for a while. It avoids the problem of the match possibly occuring in between ticks by checking the M2F output to make sure it has been read - it will generate a trigger for a match that is only one sample long.
Sorry it's all a bit untidy - my own toolkit isn't half as organised as yours - I left a few of my other little tools in there for you to have a look at and include in V0014 if you like.
mwvdlee ·
trogluddite wrote: Not sure it's really a bugfix or more just a 'depends how you use it' kind of thing - but here's a new 'Trigger on Match' module I've been using for a while. It avoids the problem of the match possibly occuring in between ticks by checking the M2F output to make sure it has been read - it will generate a trigger for a match that is only one sample long.
Quite honestly I don't even remember what it was supposed to do 🙂
Turns out none of my big projects seem to use it, so I haven't a clue what context it was developed in.
Your version does make more sense.
stw ·
Thanks for your suggestions about the redraw issue. I tried different workarounds and it turns out as trogluddite already wrote that too many small redraws are heavier on CPU than one large. So i'll keep it as it is.
stw ·
trogluddite wrote:
I implemented that in the SickTheremin osm to activate the bumpers. Works far better now! 🙂
mwvdlee ·
Hi everybody,
It's been quite a long time since the last update of Missing Links.
This is not a major release (unless ofcourse, it contains the one thing you were waiting for).
These are mostly components that have been sitting there pretty much since the last release.
Download here:
Here's a change list:
+ Colours/Color Select
+ Shapes/Filled Rounded Vertical Gradient
+ Math/Double
+ Analysis/Mono4 Readout
+ GUI/Filled 90° triangle sides
+ Elements/Bits - 4
+ String/String to Lower case, String to Upper case
+ Stream/Stream Modulo
+ GUI/Area Shrink W/H
+ Flow/Set Toggle
+ Math/Subtract Float Array from float
+ GUI/Point/Radius Area
+ Math/Scale unit
- Several modules deprecated; duplicated by current SynthMaker
* Math/String Adder fixed
I'm not doing much new stuff with SM anymore but I do use it to play velocity-layered samples for my digital drum. Despite the fact that SM has bugs which stop me from releasing it (or in fact, putting in the effort to polish and fine-tune it), it's performance is much better than any of the commercial offerings. I've managed to hit the poly limit on all the ones I've tried, and I play at less than half the speed of a good drummer. So I've been using my own software instead, trying to ignore the SM bugs whenever they are audible (currently down to less than 1 promille of midi signals is lost; or 1 every two minutes or so).
I still have some interresting stuff on my harddisk, most of it half-finished experiments, which I plan to post on this forum in the following week in various topics, but don't expect any more public activity from me unless Malc finally grows up and gets his act together. A rare few people need an Xbox360 controller module, everybody needs bug-free primitives and core funtionality.
philter5 ·
happy new year (to ya all!) and thx for sharing mwvdleee 😀
sunsynth ·
I still have some interresting stuff on my harddisk, most of it half-finished experiments, which I plan to post on this forum in the following week in various topics, but don't expect any more public activity from me unless Malc finally grows up and gets his act together. A rare few people need an Xbox360 controller module, everybody needs bug-free primitives and core funtionality.
...plainly spoken...
Thanks 4 this Update and that we even can expect some more 😉
Happy New YEAR folks! 😍
stw ·
Martijn, I always appreciate your well done gadgets. Too bad SM doesn't fit your needs.
Many thanks for that update!
mwvdlee ·
And here is the "final" Missing Links: 0015
I name it "final" because this is pretty much every interresting module I had lined up for release in Missing Links. Since my SynthMaker efforts will be focussing exclusively on the drum software I'm using for my own, it's not likely (though not completely unlikely) that I'll develop many more generic stuff. Unless Outsim gets their act together, it's unlikely I'll be wasting any more time trying to do anything publishable with SynthMaker.
Notable is the Strided/Serialized stuff, which is a fast way to handle 2D arrays (though not completely obvious at first). I use this in the Skratz thing elsewhere on the forum. There's also some tooltip modules and a bunch of controls you've probably already seen elsewhere.
After 1st Look my new favorite: 'Real-time reflection stretched'
Thank U ...again
infuzion ·
Xtinct wrote: Wow its Xmas again that year went fast 😀
+1 😇
Reminds me of Exo's mega-pack also.
I can't blame you mwvdlee; I'm love/hate thing with SM; get me 70% of the way there, & can work around or ignore half of the missing part, the but the other half are show-stoppers or massive market-reducers.
attic ·
Thanks for your huge efforts. 🙂
Unless Outsim gets their act together, it's unlikely I'll be wasting any more time trying to do anything publishable with SynthMaker.
Its the year of the dragon end of the Aztec calendar end of the world so we wont need Synthmaker anyhow. 😈 Just joking.
Wrote something here? To have a post removed or your name hidden, write to [email protected].