COCKOS
CONFEDERATED FORUMS
Cockos : REAPER : NINJAM : Forums
Forum Home : Register : FAQ : Members List : Search :
Prev Previous Post   Next Post Next
Old 11-03-2010, 07:58 PM   #27
sstillwell
Human being with feelings
 
Join Date: Jul 2006
Location: Cowtown
Posts: 1,562
Default

Quote:
Originally Posted by Tale View Post
Using your IPlugAU.r my plug-in now also crashes, so at least it gets recognized.

EDIT: My 64-bit plug-in crashes in IPlugAU::IPlugAUEntry(), case kAudioUnitGetPropertyInfoSelect, when it tries to execute *pWriteable = false.
Look at this snippet from AUDispatch.cpp...part of Apple's AU class hierarchy...

Code:
	#if __LP64__
		// comp instance, parameters in forward order
		#define PARAM(_typ, _name, _index, _nparams) \
			_typ _name = *(_typ *)&params->params[_index + 1];
	#else
		// parameters in reverse order, then comp instance
		#define PARAM(_typ, _name, _index, _nparams) \
			_typ _name = *(_typ *)&params->params[_nparams - 1 - _index];
	#endif
And then look at the definition of GET_COMP_PARAM in IPlugAU.cpp. Why on earth would they reverse the order of everything on 64-bit platforms? It's not (or shouldn't be) an endian thing...

I suspect this is a good part of why it's crashing...but I could of course be wrong.

My brain hurts.

Scott
__________________
https://www.stillwellaudio.com/
sstillwell is offline   Reply With Quote
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 04:13 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.