About   |   Getting Started   |   Downloads   |   Documentation   |   Forum


Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
32-bit project problems with native SDK suites
05-05-2017, 09:02 AM
Post: #1
32-bit project problems with native SDK suites
Hi Garret and Rick.
Just started project using Core. My platform is Windows, VS2010.
Amazing panels, easy to use, congrats!

I linked native SDK suites ( ArtSuite, MDMemory, Match, AIUser etc) to speed up my process (cause I use Core for the first time). The 64bit project is compiled properly, works nice.

BUT! 32-bit plugin works incorrectly. I turned off all optimization, converted all int to uint::32_t, but with no success.
Strange behaviour, sAIMAtch->GetMatchingArt ( &spec, 1, &matches, &numMatches ) firstly works good, then it can't write to matches.

It seems that problem is that I use native SDK suites.
Have you tried to use native SDK suites with Core in 32 bit projects?

I noticed that both HotDoor and Rick make plugins for 64-bit platform only. What is the reason for that?
Guys, should I abandon 32-bit plugins too?
Find all posts by this user
Quote this message in a reply
05-05-2017, 04:49 PM (This post was last modified: 05-05-2017 04:49 PM by garrett.)
Post: #2
RE: 32-bit project problems with native SDK suites
Welcome to the forum!

(05-05-2017 09:02 AM)subscribe Wrote:  I noticed that both HotDoor and Rick make plugins for 64-bit platform only. What is the reason for that?
Guys, should I abandon 32-bit plugins too?

This is incorrect. While I can't speak for Rick since he's not affiliated with Hot Door, but we still support 32-bit plugins on Windows (Illustrator isn't 32-bit on Mac at all anymore). There is no reason to abandon them yet.

(05-05-2017 09:02 AM)subscribe Wrote:  I linked native SDK suites ( ArtSuite, MDMemory, Match, AIUser etc) to speed up my process (cause I use Core for the first time). The 64bit project is compiled properly, works nice.

BUT! 32-bit plugin works incorrectly. I turned off all optimization, converted all int to uint::32_t, but with no success.
Strange behaviour, sAIMAtch->GetMatchingArt ( &spec, 1, &matches, &numMatches ) firstly works good, then it can't write to matches.

It seems that problem is that I use native SDK suites.
Have you tried to use native SDK suites with Core in 32 bit projects?

As I mentioned above, we still support 32-bit plugins. We even have some that use both CORE and the native SDK, including the MatchingArtSuite. I don't know why your call is failing at runtime.

Here is a production-level code snippet from our source, modified only very lightly for public consumption:

Code:
AIMatchingArtSpec specs;
specs.type = kAnyArt;
specs.attr = 0;    // No special search attributes
specs.whichAttr = 0;

AIArtHandle** matchingArt = NULL;
::ai::int32 matchingArtSize = 0;
AIErr error = sAIMatchingArt->GetMatchingArt(&specs, 1 /* spec count */, &matchingArt, &matchingArtSize);
if(error != kNoErr)
    return false;

AIArtHandle* allArt = new AIArtHandle[ matchingArtSize ];
for(::ai::int32 i = 0; i < matchingArtSize; ++i)
{
    allArt[ i ] = (*matchingArt)[ i ];
}
    
sAIMdMemory->MdMemoryDisposeHandle((AIMdMemoryHandle) matchingArt);

// Do something with allArt ...
Find all posts by this user
Quote this message in a reply
05-05-2017, 05:37 PM
Post: #3
RE: 32-bit project problems with native SDK suites
Garrett, you made my day!

I skipped specs.attr and specs.whichAttr (declared only type kAnyArt). It worked in 64bit, but not in 32bit.
Thanks a lot. I highly appreciate your help and sharing your amazing framework.

Best regards, Tom.
Find all posts by this user
Quote this message in a reply
05-08-2017, 10:39 AM
Post: #4
RE: 32-bit project problems with native SDK suites
Hi Tom,

Welcome to the forum and to CORE! Garrett and Brendon created it and are very good at giving clear answers to our questions. For me, CORE has made the difference between updating my old plugins along with a wave of new ones, or just giving up. Please don't be discouraged because of the 32-bit issue you encountered. Everything I've released has a 32-bit version for CS6 and they always compile flawlessly with CORE. I could well be mistaken, but it's been my observation that most people moving on to CC have also updated to 64-bit systems. Now that I'm pretty caught up with the updates, perhaps I should fill in the missing 32-bit versions.

I hope we can exchange tips and observations often. All the best -- Rick
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)