ModPlug Central

OpenMPT => Development Corner => Topic started by: Really Weird Person on February 16, 2010, 00:15:37

Title: Modplug Tracker 1.16 Build Error
Post by: Really Weird Person on February 16, 2010, 00:15:37
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.
Title: Modplug Tracker 1.16 Build Error
Post by: Saga Musix on February 16, 2010, 06:17:31
What version of visual studio are you running? AFAIK it only compiles without errors in VS6.
Title: Modplug Tracker 1.16 Build Error
Post by: Really Weird Person on February 16, 2010, 16:08:51
That is probably my problem then. I am using Visual studio 2008.
Title: Modplug Tracker 1.16 Build Error
Post by: Really Weird Person on February 17, 2010, 17:47:38
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.
Title: Modplug Tracker 1.16 Build Error
Post by: Really Weird Person on February 20, 2010, 13:59:09
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?
Title: Modplug Tracker 1.16 Build Error
Post by: Saga Musix on February 20, 2010, 14:55:33
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.
Title: Modplug Tracker 1.16 Build Error
Post by: Really Weird Person on February 20, 2010, 17:06:56
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.
Title: Modplug Tracker 1.16 Build Error
Post by: Saga Musix on February 20, 2010, 17:10:24
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.
Title: Modplug Tracker 1.16 Build Error
Post by: Really Weird Person on February 20, 2010, 17:35:06
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.
Title: Modplug Tracker 1.16 Build Error
Post by: Saga Musix on February 20, 2010, 18:12:47
Uncomment "//#define NO_VST" in StdAfx.h
Title: Modplug Tracker 1.16 Build Error
Post by: Really Weird Person on February 20, 2010, 18:27:35
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!
Title: Modplug Tracker 1.16 Build Error
Post by: Saga Musix on February 20, 2010, 19:26:39
Yes, I've seen some problems with the linker before upgrading to Service Pack 1. That might help.
Title: Modplug Tracker 1.16 Build Error
Post by: Really Weird Person on February 20, 2010, 21:45:03
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.
Title: Modplug Tracker 1.16 Build Error
Post by: Saga Musix on February 20, 2010, 21:54:13
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.
Title: Modplug Tracker 1.16 Build Error
Post by: Really Weird Person on February 20, 2010, 22:21:52
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
Title: Modplug Tracker 1.16 Build Error
Post by: Really Weird Person on February 21, 2010, 19:40:21
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 :().