Kirill
New Member
Posts: 9
Posts: 9
|
Post by Kirill on Jan 22, 2017 4:33:24 GMT 1
Hello! I've started to compile Gain from SDK3 module examples. After building I've copied it to some folder in "modules", moved "gain.sem" from the root of "modules" folder (to avoid doubling) then tryed to insert it in a structure. It compiles almost without errors: only one about wcpcpy command that tells to be better replaced to wcpcpy_s but I've didn't managed it how and second was just a copying error. I've didn't edited the folder where a builded .sem will be copied. I've found it manually so it's not a problem/error actually. I've inserted Gain from SDK Examples. Then I've pressed Play and SE immediatelly crashed. The crash info looks the same: Exception code: c0000005 Exception Offset(?): 001250e5 OS Version: 6.1.7601.2.1.0.256.1 Language code: 1049 Additional Notes (info?) 1: 0a9e Additional Notes (info?) 2: 0a9e372d3b4ad19135b953a78882e789 Additional Notes (info?) 3: 0a9e Additional Notes (info?) 4: 0a9e372d3b4ad19135b953a78882e789 The info was translated manually to English so I don't know the exact words (doesn't matter). SE version 1.18. Compiled with MSVS 2015 v140_xp. Before that I've tried v110_xp, v110 on Visual Studio 2012 and the results are the same: crashes. What possible reasons can be behind this? BTW one example didn't crashed after building: Hello Note. It's a GUI module. So I guess it's due to that it has no outputs. Gain.sem (197.5 KB)
|
|
Kirill
New Member
Posts: 9
Posts: 9
|
Post by Kirill on Jan 22, 2017 23:57:54 GMT 1
I've added that compiled SEM.
|
|
Andrew
Developer
Posts: 110
Posts: 110
|
Post by Andrew on Jan 24, 2017 18:09:48 GMT 1
I'm not completely sure about your bug - that error says access violation. Could you do a quick test and see if it crashes SE1.2 32bit? There was a breaking change in the SDK3 in the last quarter of last year, it mostly broke gcc builds(that is what I use), but ever since then, audio modules crash SE1.1 but not SE1.2. So I still use an older SDK3 version for audio builds, the updated(current) one has all the new GUI cross-platform stuff, but I only do audio stuff, so it's no use to me atm. If your module works in SE1.2, we can confirm the problem with Jeff. Btw, I can't test your module in SE1.2 because you didn't rename it, SE1.2 won't load it if the names are the same.
|
|
Kirill
New Member
Posts: 9
Posts: 9
|
Post by Kirill on Jan 25, 2017 1:25:05 GMT 1
If you say so then I could check it with that old SDK3... Can you give me an URL? Because I'm not sure how SE1.1 and SE1.2 will be living together... P.S. When I've tested this Gain then I've moved the actual Gain module to another location (so SE will not see it on load and there will be no doubling).
|
|
Andrew
Developer
Posts: 110
Posts: 110
|
Post by Andrew on Jan 25, 2017 6:39:16 GMT 1
SE1.1 & SE1.2 lives together in harmony without any problems, only SE1.0 & SE1.1 can't live together without a hack. You can't move the gain module in SE1.2, SE1.2 will just auto-generate it again, you have to rename it(it's really simple), there is no other choice. In SE1.2 user-modules are in program files(x86)/common files/ synthedit btw. I can't send you a copy of my SDK3 'cause it's modified with gcc compiler hints/attributes, I can get you a copy though but that is *if* that is your problem, but you first need to test it, a ton of things can go wrong with your first compile, took a a week the first time. If you don't want to install SE1.2, I'm happy to test it for you, but you have to rename. Look at the codeblocks tutorial to get some hints about how and what you have to rename, basically everytime you see "Gain" just append it with your initials(in .cpp .h and .xml), for me it would be TD_Gain, and then change the output file name in your MSV settings. www.synthedit.com/software-development-kit/sdk-version-3-documentation/tutorial-codeblocks-compiler/
|
|
Kirill
New Member
Posts: 9
Posts: 9
|
Post by Kirill on Jan 25, 2017 11:21:38 GMT 1
All right! I'll do one of these tonight. _______________________________ I've installed SE 1.2, changed all "Gain" to "NS_Gain". Did found all includes and changed their names to right. Opened ns_gain.rc and changed gain.xml to ns_gain.xml to allow compiling. Then I've rebuilded Gain.sem. It did gave me this additional (maybe it was before) warning:
1> Generating Code... 1>NS_Gain.obj : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification
I've copied NS_Gain.sem to SE1.2/modules folder. (replaced the original) If I placed NS_Gain to /Common files then SE1.2 couldn't see it. Strange... Then I've started SE, added Gain3 (it's strange that it wasn't renamed!) from SDK Examples. It didn't gave me a crash nor a sound. Seems like this compiled SEM simply doesn't work here. Then I've retried the same scheme with the original Gain.sem - it gives sound.
This is the whole building log:
1>------ Rebuild All started: Project: NS_Gain, Configuration: Debug Win32 ------ 1> MP_SDK_common.cpp 1>c:\se_work\sdk\se_sdk3\mp_sdk_common.cpp(396): warning C4996: 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:\program files (x86)\windows kits\10\include\10.0.10240.0\ucrt\corecrt_wstring.h(121): note: see declaration of 'wcscpy' 1> MP_SDK_Audio.cpp 1> NS_Gain.cpp 1> Generating Code... 1>NS_Gain.obj : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification 1> Creating library C:\SE_Work\SDK\Gain\BuildProducts\NS_Gain\Win32\Debug\NS_Gain.lib and object C:\SE_Work\SDK\Gain\BuildProducts\NS_Gain\Win32\Debug\NS_Gain.exp 1> Gain.vcxproj -> C:\SE_Work\SDK\Gain\BuildProducts\NS_Gain\Win32\Debug\NS_Gain.sem 1> Gain.vcxproj -> C:\SE_Work\SDK\Gain\BuildProducts\NS_Gain\Win32\Debug\NS_Gain.pdb (Full PDB) 1>BSCMAKE : warning BK4503: minor error in .SBR file 'C:\temp\build\NS_Gain\Win32\Debug\MP_SDK_common.sbr' ignored 1> Системе не удается найти указанный путь. 1> Скопировано файлов: 0. 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(133,5): error MSB3073: The command "copy "C:\SE_Work\SDK\Gain\BuildProducts\NS_Gain\Win32\Debug\NS_Gain.sem" "../../../SynthEdit/modules" 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(133,5): error MSB3073: :VCEnd" exited with code 1. ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
I ignore last errors. It just fails to copy files to a proper place.
|
|
Kirill
New Member
Posts: 9
Posts: 9
|
Post by Kirill on Jan 25, 2017 20:11:16 GMT 1
|
|
Andrew
Developer
Posts: 110
Posts: 110
|
Post by Andrew on Jan 26, 2017 6:34:06 GMT 1
I've copied NS_Gain.sem to SE1.2/modules folder. (replaced the original) If I placed NS_Gain to /Common files then SE1.2 couldn't see it. Strange... Then I've started SE, added Gain3 (it's strange that it wasn't renamed!) from SDK Examples. It didn't gave me a crash nor a sound. Seems like this compiled SEM simply doesn't work here. Then I've retried the same scheme with the original Gain.sem - it gives sound. NEVER copy your own modules to SE1.2/modules folder!!! Basically all your tests are invalid. I forgot to mention, SE1.2 doesn't scan for new modules on startup, you have to scan manually in Preferences -> Re-scan modules. I don't know MSV so well, but it actually looks like your build failed, plz supply your files for NS_Gain, then I'll check it, will also check your module later. That SAFESEH warning shouldn't do anything wrong, but you can turn it off for just in case. Edit: Just checked the module in SE1.2, either you did the renaming incorrectly or the build failed, SE does not pick it up.
|
|
Kirill
New Member
Posts: 9
Posts: 9
|
Post by Kirill on Jan 26, 2017 15:37:07 GMT 1
NEVER copy your own modules to SE1.2/modules folder!!! Basically all your tests are invalid. I forgot to mention, SE1.2 doesn't scan for new modules on startup, you have to scan manually in Preferences -> Re-scan modules. I don't know MSV so well, but it actually looks like your build failed, plz supply your files for NS_Gain, then I'll check it, will also check your module later. That SAFESEH warning shouldn't do anything wrong, but you can turn it off for just in case. Edit: Just checked the module in SE1.2, either you did the renaming incorrectly or the build failed, SE does not pick it up. OK, Andrew, I understand now! Thank you for clarifying! I've just repeated the steps you've wrote here and it shows and works in SE 1.2  Seems it was the problem that I've didn't knew that new modules have to placed only in Common Files. It changes the Volume by Slider, it works as intended. ![]()  Again checked with SE1.1 and it crashes. I'll attach this sem again (for a case... IDK) NS_Gain.sem (197.5 KB)
|
|
Andrew
Developer
Posts: 110
Posts: 110
|
Post by Andrew on Jan 26, 2017 16:16:25 GMT 1
Congrats on your 1st build! Getting over that 1st hurdle is rough for everybody, learning the SDK3 and coding can be frustrating at times but also exceptionally rewarding, just have to keep at it. I'll look on my backup drive for an older (unmodified) SDK3 version for you if you want to make modules that work in both SE1.1 and SE1.2( both 32bit and 64bit), it just doesn't have the new 64bit cross-platform GUI stuff, ideally Jeff should see what's up with the SE1.1 crash, my debugger doesn't even step into the code before it crashes, so I have no idea what is wrong.
|
|
Andrew
Developer
Posts: 110
Posts: 110
|
Post by Andrew on Jan 26, 2017 18:04:00 GMT 1
se_sdk33.zip (763.54 KB) Older/Stable SDK3 version attached, should be stable for SE1.1 and SE1.2. Remember to unpack into a different folder, you don't want the two SDKs getting mixed up.
|
|
Kirill
New Member
Posts: 9
Posts: 9
|
Post by Kirill on Jan 27, 2017 1:23:01 GMT 1
Thanks a lot, Andrew! I'll simply kill my old SDK folder and unpack this. I'll add now my Gain folder so maybe it will help somehow to determine what causes the crash. Gain.zip (545.37 KB) Gain.z01 (900 KB) Gain.z02 (900 KB)
|
|
Andrew
Developer
Posts: 110
Posts: 110
|
Post by Andrew on Jan 27, 2017 5:55:43 GMT 1
Jeff just released a fix for SDK3! Thanks for helping me confirm the problem. I haven't tested it yet, will do so tonight.
Cheers
|
|
Kirill
New Member
Posts: 9
Posts: 9
|
Post by Kirill on Jan 27, 2017 11:12:56 GMT 1
Great!  That version gives no crash BTW! It's good too. Thanks again! Can I remove MSVS 2015 and all it's good components? I've installed it because thought it will be a solution  My needs are already filled by MSVS 2012. I guess this will not broke a thing about building for SynthEdit but just want to be sure...
|
|
Andrew
Developer
Posts: 110
Posts: 110
|
Post by Andrew on Jan 27, 2017 14:33:23 GMT 1
I'm not too sure about MSV, I'm a GCC guy remember  But one thing I do know is that SDK3 uses c++11 features, so you have to check that your current version is fully compliant. Compilers tend to get smarter and faster with times albeit a very little at a time, sometimes a bit buggier but usually better. This is personal preference, but I tend update my compiler to a new version once a year, but with a one year lag, in 2017 -> I'll use the 2016 version, In 2016 -> I used the 2015 version. That way, most of the bugs are already fixed. But it is your own choice, do some research and decide what is best for you.
|
|
Kirill
New Member
Posts: 9
Posts: 9
|
Post by Kirill on Jan 27, 2017 21:18:09 GMT 1
I'm not too sure about MSV, I'm a GCC guy remember  But one thing I do know is that SDK3 uses c++11 features, so you have to check that your current version is fully compliant. Compilers tend to get smarter and faster with times albeit a very little at a time, sometimes a bit buggier but usually better. This is personal preference, but I tend update my compiler to a new version once a year, but with a one year lag, in 2017 -> I'll use the 2016 version, In 2016 -> I used the 2015 version. That way, most of the bugs are already fixed. But it is your own choice, do some research and decide what is best for you. OK, I understand. Thanks!
|
|