• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Porting MIDI plug-in from CW to Xcode
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Porting MIDI plug-in from CW to Xcode


  • Subject: Re: Porting MIDI plug-in from CW to Xcode
  • From: Pete Gontier <email@hidden>
  • Date: Tue, 09 Aug 2005 16:22:24 -0700

Title: Re: Porting MIDI plug-in from CW to Xcode
When this project was last built, CodeWarrior made all that stuff unnecessary. I just sub-classed IUnknown. There was a period when Metrowerks tools supported COM better than Apple tools did. That may still be the case, but my reading of the current version of <CoreFoundation/CFPlugInCOM.h> suggests Apple tools have caught up. I would vastly prefer never to code up pseudo-vtables, especially given the age and stability of this code, so I am presently hoping that fixing this is going to be a matter of a minor tweak.


— Pete Gontier <http://www.m-audio.com/>



From: Doug Wyatt <email@hidden>
Date: Tue, 9 Aug 2005 14:48:42 -0700
To: Pete Gontier <email@hidden>
Cc: CoreAudio API <email@hidden>, Cobey Gatos <email@hidden>
Subject: Re: Porting MIDI plug-in from CW to Xcode

Do you have code that obtains a pointer to a C++ object based on a pointer
to a pointer to a vtable? Does that code think it knows where in the object
the vtable sits? I have such code and got bitten by those assumptions when
moving from  gcc 2.95 to 3.3 if I remember correctly.

--
Doug Wyatt
Core Audio, Apple

On Aug 8, 2005, at 17:05, Pete Gontier wrote:

> We have a working (shipping) MIDI driver written in C++ and built  
> with CodeWarrior which needs to be converted to Xcode. We’ve got it  
> building but not running on Panther. (The shipping CodeWarrior  
> build runs fine on Panther.)
>
> The CFPlugIn factory function is called but then the plug-in  
> interface object it instantiates is being called oddly. It receives  
> two calls to AddRef with the same value of ‘this’ but no call to  
> QueryInterface. The callers of AddRef are somewhat different; the  
> first one is...
>
>> 0x8358bf60 in DriverTable::FindDriversInDirectory(short, unsigned  
>> long) ()
>
> ...and the second one is...
>
>> 0x8358bfec in DriverTable::FindDriversInDirectory(short, unsigned  
>> long) ()
>
> Same routine with a higher offset. Or perhaps it is only the  
> closest symbol to an unnamed function in one or both cases.
>
> The lack of a call to QueryInterface is of course where the plug-in  
> instantiates the MIDI driver (if necessary).
>
> I can’t guess why being built by Xcode would cause such oddness to  
> occur. Ideas?
>
> — Pete Gontier <http://www.m-audio.com/>
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Porting MIDI plug-in from CW to Xcode
      • From: Doug Wyatt <email@hidden>
References: 
 >Re: Porting MIDI plug-in from CW to Xcode (From: Doug Wyatt <email@hidden>)

  • Prev by Date: iTunes stuttering
  • Next by Date: Re: iTunes stuttering
  • Previous by thread: Re: Porting MIDI plug-in from CW to Xcode
  • Next by thread: Re: Porting MIDI plug-in from CW to Xcode
  • Index(es):
    • Date
    • Thread