adamszabo ·
Hey guys, when I export a project to exe or vst in SM2, it will crash if it has a high shelf from the RJB Filter pack. This didnt happen in SM 1. Anyone experienced the same thing?
From the original SynthMaker forum (2004–2014), with its members’ names and dates.
adamszabo ·
Hey guys, when I export a project to exe or vst in SM2, it will crash if it has a high shelf from the RJB Filter pack. This didnt happen in SM 1. Anyone experienced the same thing?
trogluddite ·
There is something weird going on here... I opened the RBJ Filter pack to investigate - there have been changes to the code module in SM2 (some new functions), so I wondered if the problem might be badly compiled code (maybe a variable that looks like one of the new functions, say)
I connected a text primitive to the code output to see if it was compiling OK - and... ...nothing. A completely blank text box, indicating (I assume) that the code hadn't compiled when loading the schematic. Looked at some other projects of my own with code - no problem, the compiled assembly shows up OK straight after load.
The filter code stays weird even if you cut/paste the module to a new schematic, however... ...if you go inside the RBJ code and edit anything (I just deleted a character from one of the comments) - the compiled assembly magically appears. If you then save the schematic and re-load it, normal behaviour is resumed (with the compiled code intact after loading). Cutting and pasting the text of the code into a new code primitive also seems to work OK. I'll try to look more into this some more, but maybe tinkering with the code box (to force it to compile) will force the exports to work OK..
None of my own code uses the 'polyin/polyout' type connectors (I always use streamin/streamout), so maybe that's the difference - or there has been some sort of change to the behaviour of the code primitive (RBJ collection is quite old now) - maybe compiled code is now stored in the schematic, but it used to be re-compiled at load time in old SM versions?
trogluddite ·
I can't replicate the crash at all - but I looked closer at the filter pack schematic, there is some seriously out of date stuff in there ("To Parent" GUI primitive anyone). There doesn't seem to be any fundamental problem with the filter code though - once compiled, the assembly looks (and works) fine. So I'd guess some weird problem with back compatability is the problem.
adamszabo ·
Hmm, thats strange, when I connect the text box on mine one, it shows up directly. I also dont use the polyin polyout, as far as Im concerned.
I have attached the osm, can anyone test if it crashes as well? If I save it as an exe, and when it opens the exe, it crashes, and when I save it as a vst, and I open it in FL Studio, it says an unknown error occured cannot open vst, etc...
trogluddite ·
Sorry, talking at cross purposes there - seems I have an older version of the RJB filters. Your schematic does indeed crash repeatably - oddly Shifrin's original version doesn't, though your code looks like it should be far more efficient (less divides, denormal catcher etc.). Had a quick look at the compiled assembly, can't see any obvious problems there either.
trogluddite ·
Aha - I can make it stop crashing if I change the stage(1) part to stage(2) I tried an all mono (blue) setup too - that also crashes if the main filter code is in stage (1) , but fine if stage (2).
Those filters have been around a long time, and I never heard of this problem before - so maybe this is new to SM2?
adamszabo ·
Ah, if I change the stage 1 to 2, it does not crash here either. Its definitely a SM2 problem, this never happened in the older version. About the filters, those are some updated ones, and I dont remember touching them. I havent gotten to that section of my synth yet, so they are just placeholders, I was going to check for efficiency later, but if you have any suggestions for them right now, it would be extrely wonderful!
Disco_Steve ·
to fix the one sample delay bug would have required some complicated things to change with the way the stages work. and it looks like in this case it causes a crash.
I hope malc can work out how to fix this! as I exspect it took him long enough to work out how to get the single sample delay to work!!
trogluddite ·
Well spotted Steve. That would make sense, as the filters effectively are using 1 sample delays (in1,in2,out1,out2) - so I guess that stage 1 now can't both read and write to the same input/output stream.
MichaelBenjamin ·
filters without a stage assignment however seem to work.
trogluddite ·
AFAIK, no stage assignment defaults to stage(2).
Wrote something here? To have a post removed or your name hidden, write to [email protected].