I tried to build Modplug Tracker (1.16) from its source code, but I received the following error.
Error 97 fatal error C1189: #error : _WIN32_WINNT settings conflicts with _WIN32_IE setting C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\sdkddkver.h 217 mptrack
How do I fix this so that the program will run?
I played around and managed to get the program to run (ultimately by using F5 after inserting mptrack.exe into the folder named Debug), but it has errors, so changes to the code are not being committed. I am guessing that is what is happening.
What version of visual studio are you running? AFAIK it only compiles without errors in VS6.
That is probably my problem then. I am using Visual studio 2008.
I fixed that now, but I have a couple of questions, one regarding an error and the other regarding the pattern row.
1. Error: Occasionnally, when I run the program, I receive an error saying that MODCHANNEL is misaligned (and that it equals 264) or something to that effect.
2. Pattern row: I increased the pattern limit, but the pattern row does not work prioerly. The first 254 patterns display properly, but 255 is a hyphen (blank) and at 256, the patterns repeat. The tree view and pattern indicator (to the left of the first channel) seems to work fine, but the pattern row does not.
How might I fix these problems? Wow, with the pattern row one, I can maybe see now why you are not interested in reincreasing the pattern limit.
Something else that I would like to do is add the Go To... dialog, but I am thinking that can wait until I have a definite pattern and order limit. They are both currently set to 65,536, thouugh I am thinking that I would like to use [at least] 131,072 in the end (primarily because some songs actually require more than 65,536 as well, such as one that I am considering, which requires 66,963 patterns). Hmmm, I tried 131,072 and that was no good. 65,536 seemed to work, except for the pattern row portion.
I downloaded the latest source code recently. I have a question though. Rakib had mentioned linking the platform and VST SDKs. How do I do that?
http://openmpt.xwiki.com/xwiki/bin/view/Development/GettingTheCode
The VST stuff goes into OpenMPT's include directory. You can get the necessary files from code revision 241 or older.
I put the files there, but that didn't seem to help. Below is a list of the errors.
1. Error 106 fatal error LNK1000: Internal error during IncrBuildImage SoundTouch SoundTouch
With this error, Microsoft Incremental Linker stops working.
2. Error 189 error C2664: 'AEffect *(audioMasterCallback)' : cannot convert parameter 1 from 'overloaded-function' to 'audioMasterCallback' c:\software\modplug tracker source code\mptrack\vstplug.cpp 320 mptrack
3. Error 190 error C2664: 'AEffect *(audioMasterCallback)' : cannot convert parameter 1 from 'overloaded-function' to 'audioMasterCallback' c:\software\modplug tracker source code\mptrack\vstplug.cpp 552 mptrack
4. Error 191 error C2065: 'effIdle' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 627 mptrack
5. Error 192 error C2065: 'audioMasterPinConnected' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 721 mptrack
6. Error 193 error C2051: case expression not constant c:\software\modplug tracker source code\mptrack\vstplug.cpp 721 mptrack
7. Error 194 error C2065: 'audioMasterWantMidi' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 740 mptrack
8. Error 195 error C2051: case expression not constant c:\software\modplug tracker source code\mptrack\vstplug.cpp 740 mptrack
9. Error 196 error C2065: 'audioMasterSetTime' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 792 mptrack
10. Error 197 error C2051: case expression not constant c:\software\modplug tracker source code\mptrack\vstplug.cpp 792 mptrack
11. Error 198 error C2065: 'audioMasterTempoAt' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 796 mptrack
12. Error 199 error C2051: case expression not constant c:\software\modplug tracker source code\mptrack\vstplug.cpp 796 mptrack
13. Error 201 error C2065: 'audioMasterGetNumAutomatableParameters' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 808 mptrack
14. Error 202 error C2051: case expression not constant c:\software\modplug tracker source code\mptrack\vstplug.cpp 808 mptrack
15. Error 203 error C2065: 'audioMasterGetParameterQuantization' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 812 mptrack
16. Error 204 error C2051: case expression not constant c:\software\modplug tracker source code\mptrack\vstplug.cpp 812 mptrack
17. Error 205 error C2065: 'audioMasterNeedIdle' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 820 mptrack
18. Error 206 error C2051: case expression not constant c:\software\modplug tracker source code\mptrack\vstplug.cpp 820 mptrack
19. Error 207 error C2065: 'audioMasterGetPreviousPlug' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 861 mptrack
20. Error 208 error C2051: case expression not constant c:\software\modplug tracker source code\mptrack\vstplug.cpp 861 mptrack
21. Error 209 error C2065: 'audioMasterGetNextPlug' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 865 mptrack
22. Error 210 error C2051: case expression not constant c:\software\modplug tracker source code\mptrack\vstplug.cpp 865 mptrack
23. Error 211 error C2065: 'audioMasterWillReplaceOrAccumulate' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 870 mptrack
24. Error 212 error C2051: case expression not constant c:\software\modplug tracker source code\mptrack\vstplug.cpp 870 mptrack
25. Error 213 error C2065: 'audioMasterSetOutputSampleRate' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 905 mptrack
26. Error 214 error C2051: case expression not constant c:\software\modplug tracker source code\mptrack\vstplug.cpp 905 mptrack
27. Error 215 error C2065: 'audioMasterGetOutputSpeakerArrangement' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 909 mptrack
28. Error 216 error C2051: case expression not constant c:\software\modplug tracker source code\mptrack\vstplug.cpp 909 mptrack
29. Error 217 error C2065: 'audioMasterSetIcon' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 928 mptrack
30. Error 218 error C2051: case expression not constant c:\software\modplug tracker source code\mptrack\vstplug.cpp 928 mptrack
31. Error 219 error C2065: 'audioMasterOpenWindow' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 954 mptrack
32. Error 220 error C2051: case expression not constant c:\software\modplug tracker source code\mptrack\vstplug.cpp 954 mptrack
33. Error 221 error C2065: 'audioMasterCloseWindow' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 958 mptrack
34. Error 222 error C2051: case expression not constant c:\software\modplug tracker source code\mptrack\vstplug.cpp 958 mptrack
35. Error 223 error C2065: 'audioMasterEditFile' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 1003 mptrack
36. Error 224 error C2051: case expression not constant c:\software\modplug tracker source code\mptrack\vstplug.cpp 1003 mptrack
37. Error 225 error C2065: 'audioMasterGetChunkFile' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 1008 mptrack
38. Error 226 error C2051: case expression not constant c:\software\modplug tracker source code\mptrack\vstplug.cpp 1008 mptrack
39. Error 227 error C2065: 'audioMasterGetInputSpeakerArrangement' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 1014 mptrack
40. Error 228 error C2051: case expression not constant c:\software\modplug tracker source code\mptrack\vstplug.cpp 1014 mptrack
41. Error 231 error C2065: 'effConnectInput' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 1590 mptrack
42. Error 232 error C2065: 'effConnectInput' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 1591 mptrack
43. Error 233 error C2065: 'effConnectOutput' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 1592 mptrack
44. Error 234 error C2065: 'effConnectOutput' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 1593 mptrack
45. Error 235 error C2065: 'effConnectInput' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 1596 mptrack
46. Error 236 error C2065: 'effConnectOutput' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 1598 mptrack
47. Error 238 error C2039: 'process' : is not a member of 'AEffect' c:\software\modplug tracker source code\mptrack\vstplug.cpp 1652 mptrack
48. Error 240 error C2065: 'effConnectInput' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 1686 mptrack
49. Error 241 error C2065: 'effConnectInput' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 1687 mptrack
50. Error 242 error C2065: 'effConnectOutput' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 1688 mptrack
51. Error 243 error C2065: 'effConnectOutput' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 1689 mptrack
52. Error 250 error C2065: 'effIdentify' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 2862 mptrack
53. Error 251 error C2065: 'effIdentify' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 2943 mptrack
54. Error 252 error C2065: 'effKeysRequired' : undeclared identifier c:\software\modplug tracker source code\mptrack\vstplug.cpp 3150 mptrack
55. Error 253 error C2039: 'ioRatio' : is not a member of 'AEffect' c:\software\modplug tracker source code\mptrack\vstplug.cpp 3688 mptrack
56. Error 254 error C2440: '=' : cannot convert from 'long (__cdecl *)(AEffect *,long,long,long,void *,float)' to 'AEffectDispatcherProc' c:\software\modplug tracker source code\mptrack\vstplug.cpp 3704 mptrack
57. Error 255 error C2440: '=' : cannot convert from 'void (__cdecl *)(AEffect *,long,float)' to 'AEffectSetParameterProc' c:\software\modplug tracker source code\mptrack\vstplug.cpp 3705 mptrack
58. Error 256 error C2440: '=' : cannot convert from 'float (__cdecl *)(AEffect *,long)' to 'AEffectGetParameterProc' c:\software\modplug tracker source code\mptrack\vstplug.cpp 3706 mptrack
59. Error 257 error C2039: 'process' : is not a member of 'AEffect' c:\software\modplug tracker source code\mptrack\vstplug.cpp 3707 mptrack
60. Error 337 error C2371: 'ERect' : redefinition; different basic types c:\software\modplug tracker source code\mptrack\vsteditor.cpp 36 mptrack
61. Error 338 error C2065: 'effEditTop' : undeclared identifier c:\software\modplug tracker source code\mptrack\vsteditor.cpp 77 mptrack
Perhaps my problem is that I am missing a file or some files, but the errors do not say that I am missing any files.
yeah, that looks like you got the wrong VST SDK or put the wrong files in the include\ directory. Note that you can also compile without VST support if you don't need it.
I have personally not used VST that I can recall. How do I do the compilation without it? I suppose that I could exclude the VST files from the build.
Uncomment "//#define NO_VST" in StdAfx.h
That seems to have worked. Now I have only two errors. They both involve Microsoft Incremental Linker not working. I am instating an update for Visual Studio. I will see if that helps. It seems to be working now! Thank you, everybody for your help!
Yes, I've seen some problems with the linker before upgrading to Service Pack 1. That might help.
I guess that is not going to work, eh? I was hoping to use at least 131,072 patterns (though preferably 1,048,576 as to reduce or even eliminate the need to use the position jump) (since it is unaffected by the x-parameter effect anyway), but I would need assistance in modifying ModSequence.h to change the range to go beyond 65,535. Perhaps someone can help me with this.
Good luck with finding someone to do that for you! Do you really think we will help you with getting OpenRWPlug to support more patterns while we already say that the tracker is simply not capable of doing it without rewriting maybe half of the code? Changing limits in the ModSequence stuff is easy, but you will break the tracker with that.
Quote from: "Jojo"OpenRWPlug
I must admit, that is funny. I also increased the row quantity to 65,536 to take full advantage of the pattern break. That seems reasonable to me. More than that doesn't though
Hmmm, that is not going to work. So much for the pattern break. It would appear that the rows follow the same weird 65,535 (which is more like 65,472 because I would want the row quantity to be divisible by 64, obviously) rule as the patterns. Although since:
1. I am not exactly sure how I would need to make the increases happen (even though modifying ModSequence.h is said to be easy, though that came from a developer, so that would seem reasonable) and
2. I had read that trying to "fix" this would break the program,
I guess that it would be considered a situation of "keep dreaming, buddy" or "that was wishful thinking."
Hmmm, I am using 65,472 (1,023 × 64) rows now (and 65,535 patterns). That equals 67,042,305. That is a net loss of 65,535 patterns (for that scale), whew. It is, however, a net gain of 66,002,305 patterns from the previous 1,040,000, so I guess that I cannot complain. Hmmm, so much for that. The row thing is simply not working. It is back to 1,024 because I tried saving a song with patterns larger than that, but it did not work.
It also appears that you were correct, Jojo, I tried modifying some of the files to make the limits work, but it was to no avail. I kind of wish that I could use those, but perhaps that will come with time.
OK, this is weird. I opened my song that contains the 65,472 row patterns and it seems to have worked, but when I tried to save it earlier, it did not. Maybe it will have trouble this time. I will see in a little bit though. When I opened another instance of the song, it worked just fine. I will try 65,536 again. And the verdict is (drumrolls): It does not work (but 65,535 does). Unfortunately, 65,536 is the number that is divisible by 64, not 65,535 :().