|
03-26-2017, 03:27 AM
|
#1
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
AAX building and resource.h editing
Hi,
I started to build AAX version and i have some questions.
1.How about deployment target,language and SDK version?
2.How should i edit resource.h for AAX?
There is Pro Tools stuff.
// ProTools stuff
#if (defined(AAX_API) || defined(RTAS_API)) && !defined(_PIDS_)
#define _PIDS_
const int PLUG_TYPE_IDS[2] = {'EFN1', 'EFN2'};
const int PLUG_TYPE_IDS_AS[2] = {'EFA1', 'EFA2'}; // AudioSuite
#endif
What should i do with this one?
For example my plugin's name is FILTEQ.And plugin's unique id is "Fil1".How should i change pro tools stuff according to this info?
Thanks.
|
|
|
03-26-2017, 03:46 AM
|
#2
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
I'm using earlevel's branch.
C Language Dialect = c11
C++ Language Dialect = C++11
C++ Standart Library = libc++
SDK = 10.7
Deployment Target = 10.7
I'm getting some semantic issues.
|
|
|
03-26-2017, 11:17 AM
|
#3
|
Human being with feelings
Join Date: Dec 2015
Posts: 331
|
Quote:
Originally Posted by Tunca
1.How about deployment target,language and SDK version?
|
Not sure what you're asking, but I think the answer is mostly what you want to target. Except I'm using C+11 features, so the language version needs to be that (as you point out in your next message). I'm targeting 10.8 and later on Mac, I think Win 7 on that side, and 64-bit only (no problem building 32-bit, but that wasn't the requirement).
2.How should i edit resource.h for AAX?
There is Pro Tools stuff.
// ProTools stuff
#if (defined(AAX_API) || defined(RTAS_API)) && !defined(_PIDS_)
#define _PIDS_
const int PLUG_TYPE_IDS[2] = {'EFN1', 'EFN2'};
const int PLUG_TYPE_IDS_AS[2] = {'EFA1', 'EFA2'}; // AudioSuite
#endif[/QUOTE]
The AudioSuite IDs aren't used, apparently. Its use is commented out (not by me). Maybe that's because it doesn't need separate IDs in the native implementation? I enabled AudioSuite, it works in my plugin the last I checked, testers didn't complain.
The plugin type IDs are used in things like the chunk. My plugin is a native version of my old TDM plugin, so I needed to keep the IDs the same. So, in the case of my mono-mono, mono-stereo, stereo-stereo plugins:
Code:
const int PLUG_TYPE_IDS[] = {'11EF', '12EF', '22EF'};
...
#define PLUG_MFR_PT "Mega Corp" // when you sort effects by manufacturer, this name is used
#define PLUG_NAME_PT "Mega Delay\nMegD" // Full and shortened versions of plugin name
#define PLUG_TYPE_PT "Delay"
#define PLUG_DOES_AUDIOSUITE 1
#define PLUG_CHANNEL_IO "1-1 1-2 2-2"
The example resource indicates that the manufacturer name can have shortened versions, and the IPlug code seems to try to implement that, but it's wrong, as I pointed out in the forum before. There is precisely one manufacturer name, though there can be many plugin name strings (progressively shorter names, separated by newlines, to accommodate control surfaces).
|
|
|
03-26-2017, 11:23 AM
|
#4
|
Human being with feelings
Join Date: Dec 2015
Posts: 331
|
Quote:
Originally Posted by Tunca
I'm using earlevel's branch.
C Language Dialect = c11
C++ Language Dialect = C++11
C++ Standart Library = libc++
SDK = 10.7
Deployment Target = 10.7
I'm getting some semantic issues.
|
Could you elaborate on "semantic issues"?
OK, regarding your previous question about SDK and deployment target (OS version): People often have this wrong. The SDK is usually the latest SDK. That's why Xcode doesn't ship with a pile of older SDKs, just the latest. The idea is that you then choose a deployment target. You can have an SDK of 10.11 but a deployment target of 10.7. Sometimes there are issues that make it easier to drag in an old SDK, but that's not the general idea. People seem to think that if you're targeting 10.8, you must go find a 10.8 SDK.
|
|
|
03-26-2017, 11:25 AM
|
#5
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Thanks earlevel!
Now i understand PT stuff in resource.h but still can't build.
Here is my Build Settings.I guess my setting are ok.
http://i.hizliresim.com/lddmZr.png
|
|
|
03-26-2017, 11:28 AM
|
#6
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Quote:
Originally Posted by earlevel
Could you elaborate on "semantic issues"?
OK, regarding your previous question about SDK and deployment target (OS version): People often have this wrong. The SDK is usually the latest SDK. That's why Xcode doesn't ship with a pile of older SDKs, just the latest. The idea is that you then choose a deployment target. You can have an SDK of 10.11 but a deployment target of 10.7. Sometimes there are issues that make it easier to drag in an old SDK, but that's not the general idea. People seem to think that if you're targeting 10.8, you must go find a 10.8 SDK.
|
Now i setting deployment target and sdk but now i have linker error.
http://i.hizliresim.com/4PPX97.png
Last edited by Tunca; 03-26-2017 at 11:33 AM.
|
|
|
03-26-2017, 11:25 PM
|
#7
|
Human being with feelings
Join Date: Dec 2015
Posts: 331
|
Quote:
Originally Posted by Tunca
Here is my Build Settings.I guess my setting are ok.
|
That looks fine.
|
|
|
03-26-2017, 11:51 PM
|
#8
|
Human being with feelings
Join Date: Dec 2015
Posts: 331
|
Quote:
Originally Posted by Tunca
Now i setting deployment target and sdk but now i have linker error.
|
Not enough info, but the first line, "MakePlug()..."—are you including IPlug_include_in_plug_src.h in your plugin source file? That's where MakePlug comes from.
Can you compiled your plugin as a standalone, or other format?
|
|
|
03-27-2017, 12:56 AM
|
#9
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Quote:
Originally Posted by earlevel
Not enough info, but the first line, "MakePlug()..."—are you including IPlug_include_in_plug_src.h in your plugin source file? That's where MakePlug comes from.
Can you compiled your plugin as a standalone, or other format?
|
IPlug_include_in_plug_src.h in source file.Everything is ok.Yes,i can compile other formats.But when i try to compile AAX,getting linker error.
Also i can't compile IPlugEffect in your branch,too.Getting same linker errors.
Last edited by Tunca; 03-27-2017 at 01:05 AM.
|
|
|
03-27-2017, 07:01 AM
|
#10
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Now getting only 9 linker error.There were 49 errors...
http://i.hizliresim.com/m3kdgY.png
Last edited by Tunca; 03-27-2017 at 07:10 AM.
|
|
|
03-27-2017, 09:22 AM
|
#11
|
Human being with feelings
Join Date: Dec 2015
Posts: 331
|
Quote:
Originally Posted by Tunca
Also i can't compile IPlugEffect in your branch,too.Getting same linker errors.
|
There is no attempt in my repository to make it a stand-alone release. It's a branch that is home to my changes. I issued pull requests to wdl-ol for most of it, at least in the beginning, until I figured out that it wasn't being actively maintained. I started development with the assumption that AAX was implemented, but it ended up that it had holes. I almost certainly would have gone with JUCE if I'd known. Sorry, you're mostly on your own.
|
|
|
03-27-2017, 10:39 AM
|
#12
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Quote:
Originally Posted by earlevel
There is no attempt in my repository to make it a stand-alone release. It's a branch that is home to my changes. I issued pull requests to wdl-ol for most of it, at least in the beginning, until I figured out that it wasn't being actively maintained. I started development with the assumption that AAX was implemented, but it ended up that it had holes. I almost certainly would have gone with JUCE if I'd known. Sorry, you're mostly on your own.
|
Thanks man.I will figure it out...
|
|
|
03-27-2017, 10:47 AM
|
#13
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Hey guys!
I really need help.Can you tell your way?
Thanks.
|
|
|
03-27-2017, 11:08 AM
|
#14
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
I think that you need to enable c++11 in your main settings.
|
|
|
03-27-2017, 11:15 AM
|
#15
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
|
|
|
03-27-2017, 11:33 AM
|
#16
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Quote:
Originally Posted by Youlean
|
Thanks for advice.
I tried your branch but even i can't compile vst or au with it.Looks like complicated.I had to add all cario files' paths.
But i will try it again.
EDIT:
I just tried your version.Asking me "ycairo.h" and some others,too.I'm writing path but now asking me "#include FT_FREETYPE_H" i can't find it...
Last edited by Tunca; 03-27-2017 at 11:43 AM.
|
|
|
03-27-2017, 12:09 PM
|
#17
|
Human being with feelings
Join Date: Dec 2015
Posts: 331
|
Quote:
Originally Posted by Tunca
Now getting only 9 linker error.There were 49 errors...
|
These kind of errors are usually from linking code compiled with libc++ and libstdc++. Make sure you link everything with libc++.
You're down to basic common linking errors, not particularly wdl/IPlug related. You're better off in most cases to just do a web search for hints, where a huge number of people have dealt with linking errors like these.
Except the MakePlug error. Again, this pretty much boils down to including IPlug_include_in_plug_src.h in your plugin source file (your plugin's main .cpp file, where your override to Plug is), as far as I can see.
|
|
|
03-27-2017, 12:13 PM
|
#18
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Now i can build AAX.
C Language Dialect = C99
C++ Language Dialect = C++11
C++ Standard Library = libstdc++ (GNU C++ standard library)
Base SDK = 10.12
Deployment Target = 10.7
I can't try cause my ilok broken and waiting new one.But i sent to my friend to try PT Dev version.I hope it will work...
Also everything is ok with my settings?
|
|
|
03-27-2017, 01:13 PM
|
#19
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
I think it will be better to use libc++ instead libstdc++. Search why...
|
|
|
03-27-2017, 01:25 PM
|
#20
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Quote:
Originally Posted by Youlean
I think it will be better to use libc++ instead libstdc++. Search why...
|
I searched "libc++ vs libstdc++" and everyone prefers "libc++".
I trying to compile with libc++ but getting linker errors.Can't solve this...
|
|
|
03-27-2017, 01:34 PM
|
#21
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Changed CLANG_CXX_LANGUAGE_STANDARD = c++0x to CLANG_CXX_LANGUAGE_STANDARD = c++11.
Set everything to compiler default.And build successful.
Is this better then selecting libstdc++?
|
|
|
03-27-2017, 02:32 PM
|
#22
|
Human being with feelings
Join Date: Dec 2015
Posts: 331
|
Quote:
Originally Posted by Tunca
Changed CLANG_CXX_LANGUAGE_STANDARD = c++0x to CLANG_CXX_LANGUAGE_STANDARD = c++11.
Set everything to compiler default.And build successful.
Is this better then selecting libstdc++?
|
c++0X became c++11 when approved (it took a long time, it was expected to be approved in 200X). libc++ is the libstdc++ (gcc) replacement, for LLVM. In other words, libc++ is old, not to be used with LLVM unless some old thing just won't work without it.
|
|
|
03-28-2017, 06:10 AM
|
#23
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Now i figured out Mac.
But i have problem about Windows.
I guess,first of all i have to build AAX Library,right?
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 06:02 AM.
|