Re: Is kAudioUnitSubType_DLSSynth compatible with the Mac OS X App sandbox
Re: Is kAudioUnitSubType_DLSSynth compatible with the Mac OS X App sandbox
- Subject: Re: Is kAudioUnitSubType_DLSSynth compatible with the Mac OS X App sandbox
- From: Christopher Liscio <email@hidden>
- Date: Fri, 17 May 2013 08:55:45 -0400
Ross,
On May 17, 2013, at 2:04 AM, Ross Bencina <email@hidden> wrote:
> I apologise for being thick, however I have not found the answer to my question in TN2247 (see below). Could you please provide a definitive Yes or No to the following question:
>
> Q: Is Apple's DLS Synth Audio Unit (kAudioUnitSubType_DLSSynth) "Sandbox-Safe". Can it be used without the user being shown a security warning dialog?
TN2247 doesn't talk about the DLS Synth specifically, but it does give you a hint on where the safety of the unit would be found: in the description dictionary.
Check out /System/Library/Components/CoreAudio.component/Contents/Info.plist, and you'll see that the 2nd item (Item 1) of the AudioComponents array does not contain the sandboxSafe key:
<dict>
<key>description</key>
<string>Apple's DLS or SoundFont based software synthesizer</string>
<key>factoryFunction</key>
<string>DLSMusicDeviceFactory</string>
<key>manufacturer</key>
<string>appl</string>
<key>name</key>
<string>Apple: DLSMusicDevice</string>
<key>resourceUsage</key>
<dict>
<key>temporary-exception.files.all.read-write</key>
<true/>
</dict>
<key>subtype</key>
<string>dls </string>
<key>type</key>
<string>aumu</string>
<key>version</key>
<integer>67072</integer>
</dict>
Note that many other units do publish the sandboxSafe flag, so I would not imagine that the units are registering themselves using the AudioComponentRegister() API in addition to using the Info.plist above.
With that said, TN2247 also implies that the DLSSynth unit cannot be made sandbox safe unless the user is prompted to locate the required file (in this case, the DLS sound bank) and a security-scoped bookmark is created.
Frankly, I'm not sure DLSSynth can be made sandbox-safe without some major changes to the way it works. For instance, it could require a host-supplied DLS sound bank (located in the application's resources) in order to run.
Alternatively, Apple could introduce a similar concept to the document-scoped bookmark, where the security entitlement is tied to the DLSSynth and not just a single application that uses it. Of course, this bookmark needs to be created somehow (by user intervention, as I understand it.)
> If I know it is possible I will debug my code. If I know it is not possible I will work around it.
I've been led to believe that the only course of action is to work around this until further notice.
Hope this helps,
Chris Liscio
http://supermegaultragroovy.com
Learn _your_ music with Capo: http://capoapp.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