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
Human being with feelings
Join Date: Jul 2006
Location: Cowtown
Posts: 1,550

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...

	#if __LP64__
		// comp instance, parameters in forward order
		#define PARAM(_typ, _name, _index, _nparams) \
			_typ _name = *(_typ *)&params->params[_index + 1];
		// parameters in reverse order, then comp instance
		#define PARAM(_typ, _name, _index, _nparams) \
			_typ _name = *(_typ *)&params->params[_nparams - 1 - _index];
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.

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 12:52 PM.

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