• 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: Ghost list?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Ghost list?


  • Subject: Re: Ghost list?
  • From: Doug Wyatt <email@hidden>
  • Date: Mon, 21 May 2007 15:52:57 -0700


On May 3, 2007, at 2:21 PM, Nuno Santos wrote:

Hi,

Yeah, i've been looking to a little bit of each file in the sample driver and i have realized where it starts and where i have to start, that is rewrite a lot.

Is going to be a nice challenge.

Are you suggesting me create a custom MIDIServer just to test my driver? I didn't understand very well what you told me.

Here is how I test a MIDI driver:

- shut down any running CoreMIDI client apps (there should be no MIDIServer process running)

- in a shell:
$ cd /System/Library/Frameworks/CoreMIDIServer.framework
$ gdb MIDIServer
(gdb) run
- Now, any and all MIDI client apps will connect to the MIDIServer that you've launched manually. Also, this MIDIServer's console output will appear in your shell window. You can also debug with gdb if you don't mind the command line version; personally I prefer it.



Another similar way to do this -- in Xcode, make MIDIServer the target executable for running/debugging your driver. Just be sure to launch the server before launching apps.


hth
Doug



I would love to have the possibility of opening some audio utility/ app that could write to the system log that kind of output.

Thank you both for your attention,

Best regards,


Nuno


Em May 3, 2007, às 9:37 PM, B.J. Buchalter escreveu:

Your questions are interesting, and I would be interested in the answers as
well. Unfortunately, I don't know the answers to them.


I can tell you that your driver is called by the MIDIServer. The MIDIServer
is run on demand by any app that registers with CoreMIDI. Your driver will
be loaded by the MIDIServer.



It is at:

/System/Library/Frameworks/CoreMIDIServer.framework/MIDIServer


You should be able to set up a custom executable in Xcode and debug your
driver plugin with the MIDIServer as the host (then Xcode will launch the
MIDIServer under gdb for you). Or you can probably attach to the MIDIServer
with xcode as well.


I believe that the SampleUSBMIDIDriver::MatchDevice is actually called by
other code in the sample driver, after it has registered for USB
notifications with IOKit. If you are HID based, you may have to rewrite all
of that infrastructure code in the sample to find your device.


I hope this helps. Perhaps someone who is more familiar with the lifecycle
of the MIDI drivers will pipe up and add to the foregoing.


Best regards,

B.J. Buchalter

_______________________________________________ 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
References: 
 >Re: Ghost list? (From: "B.J. Buchalter" <email@hidden>)
 >Re: Ghost list? (From: Nuno Santos <email@hidden>)

  • Prev by Date: Re: Mirroring Audio Output
  • Next by Date: Re: AudioUnit Events
  • Previous by thread: Re: Ghost list?
  • Next by thread: Re: Ghost list?
  • Index(es):
    • Date
    • Thread