• 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 14:21:47 -0700

That should work fine... my mind went in the direction of a private communication path while writing the reply, but I didn't want to mention it unless the simpler solution wasn't going to work.

Doug

On Aug 2, 2006, at 13:33 , Alex Sheh wrote:

Thanks for the reply, Doug.

What about passing the MIDIUniqueID of the Virtual Endpoints via a
CFMessagePort from myDriver to myApp? Kurt had suggested using unique
ids off-list, and it seems to be working. One advantage would be that
these endpoints would never show up to 3rd party apps, just in case any
of these apps traverse the device hierarchy instead of calling the
standard routines for choosing where to send/receive (though how likely
this is, I don't know). Are there any major disadvantages to the unique
id lookup approach vs. private non-virtual endpoints?


Thanks,
Alex

-----Original Message-----
From: Doug Wyatt [mailto:email@hidden]
Sent: Wednesday, August 02, 2006 12:39 PM
To: Alex Sheh
Cc: Kurt Revis; CoreAudio API
Subject: Re: hiding Virtual Midi ports

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


-- Doug Wyatt Core Audio, Apple

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

  • Prev by Date: RE: hiding Virtual Midi ports
  • Next by Date: Re: New Member
  • Previous by thread: RE: hiding Virtual Midi ports
  • Next by thread: mapping a CoreAudio device to a USB device
  • Index(es):
    • Date
    • Thread