• 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
questions about Logic AU node properties
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

questions about Logic AU node properties


  • Subject: questions about Logic AU node properties
  • From: "Sophia Poirier [dfx]" <email@hidden>
  • Date: Mon, 5 Nov 2007 10:27:40 -0500

I have a couple of questions about the Logic AU node properties introduced in Leopard:



1) What exactly are the expectations on the AU side for endian handling for a custom property that specifies kLogicAUNodePropertyEndianMode_DontTouch and kLogicAUNodePropertyFlag_FullRoundTrip and is running in kLogicAUNodeOperationMode_EndianSwap? Is it expected for the AU to endian-swap data before beginning Set/GetProperty handling and then again after it's done but before returning? Or what?

Let's take an example of a private AU property that passes this data structure:
typedef struct {
float inSeed;
double outValue;
} PropertyStructure;
The caller of GetProperty for this custom property will fill in a value in the inSeed field and pass that in as part of its data buffer for the call. The AU then, when handling the GetProperty call, reads the value of inSeed and then calculates some output value that is assigned to outValue and which the caller then receives as its "result" of the GetProperty call.


So how is the AU that is called expected to handle this? Does it endian-swap inSeed before proceeding to process the GetProperty call and then endian-swap outValue after completing the work? Is it also expected to again endian-swap inSeed as well after finishing work? Is the caller of GetProperty expected to do any endian-swapping? Or are the expectations different from any of these hypotheses?



2) Is there a recommended way to handle a custom AU property that references a local file? If an AU is running on a node and it has a remote UI running on the master, and the UI allows the user to open a file selector dialog choosing a local file on the master machine (like perhaps an audio file to load for sampling or other audio manipulation), then if a reference to that file needs to be passed from UI to the active AU via a custom property.

So I know that FSRef is no good cuz it's not even dependable between processes on a single machine. That leaves CFURLs and paths. A POSIX path does not specify the machine but is relative within a given machine, so that would seem no good either. A CFURL can specify the machine, but I've found when creating a CFURL from an FSRef from a file selector dialog and doing CFShow() on it, I get an URL of a format like:
file://localhost/path/to/file
So in that case, though a machine name is present, it's of no use in a network cuz "localhost" of course is relative to the local machine.


Which leaves me wondering, how would I best pass a file reference? Or is this a lost cause and an example of an AU which simply shouldn't be node-enabled?

Or if there is a good way to reference the file, what are the issues of network file access for a node machine? Will it even have privileges or access to network files given the way that nodes run?



thanks,
Sophia
_______________________________________________
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


  • Prev by Date: Re: Float32's and disabling AU parameters
  • Next by Date: Xcode 2.5 CoreAudio SDK breaks UB AU projects
  • Previous by thread: Re: What is the meaning of kAudioUnitParameterFlag_IsHighResolution ?
  • Next by thread: Re: questions about Logic AU node properties
  • Index(es):
    • Date
    • Thread