HardwareHeaven.com

HardwareHeaven.com

Looking for the skin chooser?
 
 
  • Home

  • Reviews

  • Articles

  • News

  • Tools

  • Gaming at HardwareHeaven

  • Forums

  • Network

 

Go Back   HardwareHeaven.com > Forums > Hardware and Related Topics > kX Project Audio Driver Support Forum > Effects and the DSP


Reply
 
Thread Tools
Old Mar 22, 2005, 04:05 AM   #1
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Visual C++ Compatibilty info.

Here is some info regarding the compatibility of different versions of Visual C++ and the kX Project SDK.

Visual C++ 6
  • This is the recommended version as this is the version used to create the SDK.
Visual C++ .NET 2002
  • Changes in the MFC libraries make this version incompatible with the kX SDK. You can however create plugins, etc, using this version, provided that you link with the MFC library files from VC++ 6. (this seems to work, but it is possible that you could run into problems, and you still need to get a hold of the MFC library files from VC++ 6, so if you have these files, then you probably have VC++ 6 and should probably just use it instead)
Visual C++ .NET 2003
  • This has the same issue with the MFC library as the 2002 version, but due to additional incompatibilities it does not seem that this version can be used to create kX Plugins, etc.
Addtional Info:
Current versions of Visual C++ include a downgrade option. What this means is that you could purchase the current version (i.e. Visual C++ .NET 2003 Standard), and use your downgrade option to get Visual C++ 6, etc for the price of the media plus shipping and handling (i.e. media only version). See the following link for more info: Downgrade Information for Visual C++

I thought this info might be useful to anyone wanting to create kX Plugins, but are not sure what thier options are. Of course this information may not be accurate with future versions of kX, and Microsoft could change it's downgrade options in the future, so be sure to check these things before deciding to purchase anything in order to develop kX plugins, etc.
Russ is offline   Reply With Quote


Old Mar 22, 2005, 08:48 PM   #2
kX Project DSP Engineer
 
Join Date: Dec 2002
Location: Denmark
Posts: 94
Rep Power: 0
Soeren_B is on a distinguished road

This is indeed useful information, which should be in a FAQ and/or perhaps a sticky thread

/Soeren
Soeren_B is offline   Reply With Quote
Old Mar 23, 2005, 06:18 AM Threadstarter Thread Starter   #3
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

I did so more testing with Visual C++ .NET 2003, and discovered that you can get it to work, using the same method as with the 2002 version, however you must also make some modifications to afxtempl.h. (tested with the fx_demo plugin).

I was also able to compile (and tested successfully) a very basic plugin using VC++ 2003 .NET without the MFC 6.0 lib files, by making some small modifications to some of the kX SDK headers (kDefs.h and plgmath.h). Again this was just a very basic plugin (hardly used any of the kX SDK API functions), and would not work with other plugins (i.e. does not work with fx_demo).

This was just some basic testing, but it shows that you can use the newer VC++ versions to create kX plugins, and may even be able to do it without using the MFC files from VC++ 6 (but much more testing would be needed to figure out all the necessary changes to the kX SDK headers, and/or MFC files).

-Russ
Russ is offline   Reply With Quote
Old Mar 23, 2005, 02:03 PM Threadstarter Thread Starter   #4
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Unfortunately, I hit a dead end with the VC++ .NET 2003 testing. As was discovered in this thread, there seems to be a problem/incompatibility in the CKXPluginGUI::create() function, which causes a crash when trying to open the tweak window (when not using VC++ 6 MFC files). Without the source code for that function, I do not know of anyway to get around that problem. This means that unless you want to make plugins without a custom GUI (i.e. not using that function, as it seems to work otherwise (i.e. no tweak window, or tweak window from microcode 'control's)), that you will have to use the VC++ 6 MFC files, and as such, might as well just use VC++ 6.
Russ is offline   Reply With Quote
Old Jul 10, 2005, 07:52 PM   #5
Tail Razer
 
Maddogg6's Avatar
 
Join Date: Jun 2005
Location: Bernyurass, AZ - USA
Posts: 4,027
Rep Power: 50
Maddogg6 will become famous soon enoughMaddogg6 will become famous soon enough

Any freeware Compilers for us amatures that could work?
Maddogg6 is offline   Reply With Quote
Old Jul 10, 2005, 09:48 PM Threadstarter Thread Starter   #6
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Quote:
Originally Posted by Maddogg6
Any freeware Compilers for us amatures that could work?
Currently kX uses the Microsoft Foundation Class libraries (MFC), so you are limited with your options on what compiler you can use.
Russ is offline   Reply With Quote
Old Jul 10, 2005, 09:58 PM Threadstarter Thread Starter   #7
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

BTW: The above tests using different versions of VC++, only apply to plugin development, and not necessarilly to other areas of kX. i.e. I have been able to successfully use the kxapi (i.e. reading/writing AC97 registers using kxapi and the iKX interface) with VC++ .NET 2003 without any problems. Use with other areas of kX Development (i.e. addons, or whatever) would require further testing.
Russ is offline   Reply With Quote
Old Jul 26, 2005, 11:49 PM   #8
kX Project Lead Programmer and Coordinator
 
Join Date: Dec 2002
Posts: 3,106
Rep Power: 73
Eugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud ofEugene Gavrilov has much to be proud of

yes, you can use any compiler provided you have vc6's MFC headers and libraries (.h & .lib)

E.
Eugene Gavrilov is offline   Reply With Quote
Old Sep 7, 2005, 09:12 PM   #9
DriverHeaven Senior Member
 
ROBSCIX's Avatar
 
Join Date: Mar 2004
Posts: 1,732
Rep Power: 0
ROBSCIX is on a distinguished road

OK, Thats what I wanted to know...
ROBSCIX is offline   Reply With Quote
Old Feb 22, 2006, 08:35 PM   #10
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,930
Rep Power: 62
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

Quote:
Originally Posted by Eugene Gavrilov
yes, you can use any compiler provided you have vc6's MFC headers and libraries (.h & .lib)
E.
Correction: (to avoid incorrect info floating around)
No, it is currently NOT possible to use any compiler even if you have all
required MFC headers and libs!

Reason (discussed elsewhere);
You can not link to kxapi.lib with any non-MS compiler due to incompatible C++ ABIs.
So kX's MFC dependancy is NOT the real bottleneck here.

/LeMury
Lex Nahumury is offline   Reply With Quote
Old Feb 23, 2006, 12:18 PM   #11
h/h member-shmember
 
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,606
Rep Power: 66
Max M. is a name known to allMax M. is a name known to allMax M. is a name known to allMax M. is a name known to allMax M. is a name known to allMax M. is a name known to all

>So kX's MFC dependancy is NOT the real bottleneck here.

confirmed.

/m
Max M. is offline   Reply With Quote
Old Apr 20, 2009, 12:43 PM   #12
h/h member-shmember
 
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,606
Rep Power: 66
Max M. is a name known to allMax M. is a name known to allMax M. is a name known to allMax M. is a name known to allMax M. is a name known to allMax M. is a name known to all

Îòâåò: Visual C++ Compatibilty info.

just to update the info (yek, it's 2009 now).
the following information is quite raw and may not be 100% correct - it's just to keep this thread less or more up-to-date as the earlier posts here are really obsolete and could be confusing:

Current versions of kX SDK are supposed to be used with the WDK.
Technically it's also possible to use the DDK or Visual Studio (>= 2003) - but there you likely will face some necessity of certain cosmetic modifications here and there (specificaly some extra global macros, due to minor crt/mfc incompatibilities).

Note that the "express" versions of the Visual Studio do not include MFC headers and libraries, therefore the "express" cannot be used to compile plugins with the "default kX GUI".
(Although it's possible to use (like me does for example) a combination of DDK/WDK and VS IDE (including "express"), but this requires quite tricky tweaking of the VS configurations)
__________________

Last edited by Max M.; Apr 20, 2009 at 01:37 PM.
Max M. is offline   Reply With Quote
Old Jun 9, 2009, 04:46 PM   #13
HardwareHeaven Lover
 
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26
stylus02 will become famous soon enoughstylus02 will become famous soon enough

Re: Visual C++ Compatibilty info.

hi guys,

tried to build the demo.kxl, 3545 sdk, vc++ v6.0 but no luck. following error occurs, mixer crashes after doubleclick the plugin in dsp- window.

http://freenet-homepage.de/stylish-s...ation_3545.jpg

anything wrong/need update the compiler settings?

stylus
__________________
http://kxm.dyndns.org

Last edited by stylus02; Jun 9, 2009 at 05:10 PM.
stylus02 is offline   Reply With Quote
Old Jun 9, 2009, 07:02 PM   #14
h/h member-shmember
 
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,606
Rep Power: 66
Max M. is a name known to allMax M. is a name known to allMax M. is a name known to allMax M. is a name known to allMax M. is a name known to allMax M. is a name known to all

Îòâåò: Visual C++ Compatibilty info.

i guess it's: http://www.hardwareheaven.com/effects-...ng-plugin.html
__________________

Last edited by Max M.; Jun 9, 2009 at 07:10 PM. Reason: catcha!
Max M. is offline   Reply With Quote
Old Jun 9, 2009, 07:04 PM Threadstarter Thread Starter   #15
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Re: Visual C++ Compatibilty info.

<edit>
Nevermind... Max beat me to it...

Make sure that you are building the the Release version, not the Debug version...
Russ is offline   Reply With Quote
Old Jun 9, 2009, 07:25 PM   #16
HardwareHeaven Lover
 
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26
stylus02 will become famous soon enoughstylus02 will become famous soon enough

Re: Visual C++ Compatibilty info.

active configuration set to "win32 release". output window shows..

...
Linking...
LINK : error : Internal error during ReadSymbolTable
ExceptionCode = C0000005
ExceptionFlags = 00000000
ExceptionAddress = 004623F2
NumberParameters = 00000002
ExceptionInformation[ 0] = 00000000
ExceptionInformation[ 1] = 00000008
CONTEXT:
Eax = 00980DC0 Esp = 0012E6D8
Ebx = 00000002 Ebp = 007399D0
Ecx = 00980DC0 Esi = 009A0764
Edx = 00000000 Edi = 009A0764
Eip = 004623F2 EFlags = 00010246
SegCs = 0000001B SegDs = 00000023
SegSs = 00000023 SegEs = 00000023
SegFs = 0000003B SegGs = 00000000
Dr0 = 0012E6D8 Dr3 = 00000002
Dr1 = 007399D0 Dr6 = 00980DC0
Dr2 = 00000000 Dr7 = 00000000
Error executing link.exe.
Tool execution canceled by user.

stylus
__________________
http://kxm.dyndns.org
stylus02 is offline   Reply With Quote
Old Jun 9, 2009, 07:32 PM Threadstarter Thread Starter   #17
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Re: Visual C++ Compatibilty info.

Try doing a "Clean" and then "Rebuild All".
Russ is offline   Reply With Quote
Old Jun 9, 2009, 07:58 PM   #18
HardwareHeaven Lover
 
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26
stylus02 will become famous soon enoughstylus02 will become famous soon enough

Re: Visual C++ Compatibilty info.

after "clean", "rebuild all" same error. perhaps a problem with the linker call?

build log
--------Configuration: demo - Win32 Release-----
..

C
reating command line "link.exe ..\lib\kxapi.lib ..\lib\kxgui.lib /nologo /dll /incremental:no /pdb:"Release/demo.pdb" /machine:I386 /out:"Release/demo.dll" /implib:"Release/demo.lib" ".\Release\debug.obj" ".\Release\demo.obj" ".\Release\simple.obj" ".\Release\fxlib.res" "

btw: i use win xp version 2002/ sp2/ P4/ 2.6ghz/ 512mb
don't know if this could be important. my last succesfully builds were on windows me/ P2 (celeron)/ 256mb.


stylus
__________________
http://kxm.dyndns.org

Last edited by stylus02; Jun 9, 2009 at 08:35 PM. Reason: os trouble?
stylus02 is offline   Reply With Quote
Old Jun 9, 2009, 09:06 PM Threadstarter Thread Starter   #19
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Re: Visual C++ Compatibilty info.

You are talking about the fx_demo, right?
Did you use the included workspace (which includes all the necessary compiler and linker options, etc) or are you trying to compile from command line? It compiles fine for me (using the workspace), without having to do anything...

Last edited by Russ; Jun 9, 2009 at 09:13 PM.
Russ is offline   Reply With Quote
Old Jun 9, 2009, 09:27 PM Threadstarter Thread Starter   #20
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Re: Visual C++ Compatibilty info.

Assuming you using the workspace (so we know the settings are correct), I wonder if maybe one of your lib files got corrupted... You might try adding /verbose to the linker options and see if it gives any clues about the problem.
Russ is offline   Reply With Quote
Old Jun 9, 2009, 09:51 PM   #21
HardwareHeaven Lover
 
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26
stylus02 will become famous soon enoughstylus02 will become famous soon enough

Re: Visual C++ Compatibilty info.

yes i we talk about fx_demo and the demo.dsw . i used bundled fx_demo folder without changes.
rather i wanted modify the kxm 120 (midi kbu) with possibility playing legato and polyphonic keys, triggering gate correctly.
the idea was a simple key- counter with increment and decrement if "note on" or "note off" message arrives..
no luck at compling it.
so i thought: try the fx_demo to check the compiler itself before searching the error in my own code kxm120..

i think about reinstalling vc6.
__________________
http://kxm.dyndns.org
stylus02 is offline   Reply With Quote
Old Jun 10, 2009, 04:20 PM   #22
HardwareHeaven Lover
 
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26
stylus02 will become famous soon enoughstylus02 will become famous soon enough

Re: Visual C++ Compatibilty info.

must have to do with mfc. if i set "use mfc in a static library" demo.kxl is build with a lot of warnings:

.\h\gui/kWindow.h(24) : warning C4275: non dll-interface class 'CWnd' used as base for dll-interface class 'kWindow'
..\h\afxwin.h(1899) : see declaration of 'CWnd'
..\h\gui/kTextButton.h(45) : warning C4251: 'text' : class 'CString' needs to have dll-interface to be used by clients of class 'kTextButton'
C:\Programme\Microsoft Visual Studio\VC98\MFC\INCLUDE\afx.h(368) : see declaration of 'CString'
..\h\gui/kKnob.h(65) : warning C4251: 'bmpKnob' : class 'CBitmap' needs to have dll-interface to be used by clients of class 'kKnob'
..\h\afxwin.h(524) : see declaration of 'CBitmap'

.. and so on and sofore

simple.cpp
Linking...
Creating library Release/demo.lib and object Release/demo.exp
LINK : warning LNK4089: all references to "ADVAPI32.dll" discarded by /OPT:REF
LINK : warning LNK4089: all references to "SHELL32.dll" discarded by /OPT:REF
LINK : warning LNK4089: all references to "comdlg32.dll" discarded by /OPT:REF
rename
1 Datei(en) kopiert.

demo.dll - 0 error(s), 23 warning(s)
__________________
http://kxm.dyndns.org
stylus02 is offline   Reply With Quote
Old Jun 11, 2009, 12:07 AM Threadstarter Thread Starter   #23
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Re: Visual C++ Compatibilty info.

There is no need for static linking since everyone who uses kX has the necessary MFC dll's. I would get the same warnings if I set it to link statically.

If you want, I can send you the VC6 project files I used to compile kxm120 for 3541 (which also compiles without problems (for me) with 3545)...
Russ is offline   Reply With Quote
Old Jun 11, 2009, 08:01 PM   #24
HardwareHeaven Lover
 
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26
stylus02 will become famous soon enoughstylus02 will become famous soon enough

Re: Visual C++ Compatibilty info.

send me a mail (look in private message)

stylus
__________________
http://kxm.dyndns.org
stylus02 is offline   Reply With Quote
Old Jun 11, 2009, 08:24 PM Threadstarter Thread Starter   #25
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Re: Visual C++ Compatibilty info.

OK, I will send the files now. I do not know if it will help since (unless you changed some setting) it should be the same as what I sent you before, but...

Regarding kX versions:
Debug build should be used for kX versions prior to 3539.
Release build should be used for kX versions 3539 and up.
... And of course you should use the SDK version (or a compatible version) that matches the kX version that you are compiling for.
Russ is offline   Reply With Quote
Old Jun 14, 2009, 06:44 PM   #26
HardwareHeaven Lover
 
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26
stylus02 will become famous soon enoughstylus02 will become famous soon enough

Re: Visual C++ Compatibilty info.

tried the workspace files you have sent, same error.
stay on debug release/3538.

stylus
__________________
http://kxm.dyndns.org
stylus02 is offline   Reply With Quote
Old Jun 14, 2009, 08:44 PM   #27
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,930
Rep Power: 62
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

Re: Visual C++ Compatibilty info.

Quote:
Originally Posted by stylus02 View Post
tried the workspace files you have sent, same error.
stay on debug release/3538.

stylus
That is all too weird!
I have 'good old' VC6 installed on some "kX machine" and can compile 3545 release builds without problems.
I don't know if Russ actualy used VC6?
Anyway, if you want me to give your workspace a try in vc6 just let me know?
Lex Nahumury is offline   Reply With Quote
Old Jun 14, 2009, 09:41 PM   #28
HardwareHeaven Lover
 
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26
stylus02 will become famous soon enoughstylus02 will become famous soon enough

Re: Visual C++ Compatibilty info.

of course you can get the workspace files.

http://freenet-homepage.de/stylish-stylus/kxm120.zip

here the version info:

http://freenet-homepage.de/stylish-stylus/vc6_about.jpg

stylus
__________________
http://kxm.dyndns.org
stylus02 is offline   Reply With Quote
Old Jun 15, 2009, 12:42 AM   #29
DH Senior Member
 
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,930
Rep Power: 62
Lex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really niceLex Nahumury is just really nice

Re: Visual C++ Compatibilty info.

Yep, kxm120.zip compiles just fine both in debug as well as release build.
win xpsp3, msvc6.0+sp6, kX3545 sdk.

Indeed, must be something wrong with your vc6 installation and/or OS.
Lex Nahumury is offline   Reply With Quote
Old Jun 15, 2009, 02:49 AM   #30
HardwareHeaven Lover
 
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26
stylus02 will become famous soon enoughstylus02 will become famous soon enough

Re: Visual C++ Compatibilty info.

i could install sp3 on winxp. what means vc6+sp6?.
__________________
http://kxm.dyndns.org
stylus02 is offline   Reply With Quote
Reply

Bookmarks

Thread Tools