• 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: hiding Virtual Midi ports
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: hiding Virtual Midi ports


  • Subject: Re: hiding Virtual Midi ports
  • From: Doug Wyatt <email@hidden>
  • Date: Wed, 2 Aug 2006 12:38:47 -0700

Private endpoints are hidden from the routines that iterate through all of the system's sources and destinations; these are the routines applications should normally use for choosing where to send/receive.

Private endpoints are still visible by traversing the device -> entity -> endpoint hierarchy. A client that does this is responsible for hiding offline devices and private endpoints.

If your endpoints are virtual, you're out of luck because, being device-less, they don't appear in that hierarchy -- there's really no way to make them both private and virtual.

But since you imply that you have a driver, you can add private non- virtual entities/endpoints to your driver's device(s) and find them by traversing the device hierarchy.

HTH,
Doug

--
Doug Wyatt
Core Audio, Apple



On Aug 1, 2006, at 3:45 PM, Alex Sheh wrote:

When I set kMIDIPropertyPrivate = 1 for my virtual sources in myDriver,
these virtual sources become unavailable in myApp via calls to
MIDIGetNumberOfSources() and MIDIGetSource(). So I'm unable to connect
to the virtual sources in myApp.


Are there other API calls I should be making to access these private
virtual sources in myApp?  Or is there some other way of making my
virtual sources only visible to myDriver and myApp for their private
communication, but NOT available to 3rd party apps, i.e. Logic, Pro
Tools GUI does not show my virtual sources in their MIDI port list?

Thanks,
Alex

-----Original Message-----
From: Kurt Revis [mailto:email@hidden]
Sent: Tuesday, May 02, 2006 11:37 PM
To: Alex Sheh
Cc: CoreAudio API
Subject: Re: hiding Virtual Midi ports

On May 2, 2006, at 4:20 PM, Alex Sheh wrote:

I am using Virtual MIDI ports to forward MIDI data from myDriver to
myApp.  Since these Virtual ports are for internal use, I do not want
3rd party apps to be able to select these Virtual ports from their
GUI.
Is there a way to make it so that my Virtual MIDI ports are not
visible to all apps on the system?

Sure: MIDIObjectSetIntegerProperty(yourVirtualEndpointRef, kMIDIPropertyPrivate, 1);

Note that this isn't 100% foolproof.  There will be a window of time
that the endpoint is visible to other apps -- after you create your
virtual endpoint, but before you set the property's value.  This is
probably more of a theoretical problem than a real one, though.

--
Kurt Revis
email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40apple.com


This email sent to email@hidden

_______________________________________________ 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: hiding Virtual Midi ports
      • From: "Alex Sheh" <email@hidden>
References: 
 >RE: hiding Virtual Midi ports (From: "Alex Sheh" <email@hidden>)

  • Prev by Date: Re: New Member
  • Next by Date: RE: hiding Virtual Midi ports
  • Previous by thread: RE: hiding Virtual Midi ports
  • Next by thread: RE: hiding Virtual Midi ports
  • Index(es):
    • Date
    • Thread