Re: 3D Mixer Equal Power Panning - Follow up on panning
Re: 3D Mixer Equal Power Panning - Follow up on panning
- Subject: Re: 3D Mixer Equal Power Panning - Follow up on panning
- From: Richard Dobson <email@hidden>
- Date: Tue, 17 Apr 2007 23:12:22 +0100
This may be a case of over-specification. With the .amb file format, the
interpretation of the channels is unique (unambiguous) for all
combinations of order (such as 2nd order horizontal with 1st-order
height), up to 16 channels. So there is no need to use the dwChannelMask
field of WAVE_EX for anything to do with B-format. ~Maybe~ one might try
to define X and Y alone to signify a mid/side recording; but otherwise,
all those B-format signals tend to go around together.
The problem with labelling individual channels in this way is that
there is little to stop all sorts of spurious chimeric combinations. The
trick with a file format being not only to descrfibe what is meaningful,
but to avoid what is not!
Richard Dobson
James McCartney wrote:
...
We could add a tag for 3 channel B format. However you can also do that
already:
AudioFileID afid;
...
AudioChannelLayout *acl = (AudioChannelLayout*)calloc(1, sizeof
(AudioChannelLayout) + 2 * sizeof(AudioChannelDescription));
acl->mChannelLayoutTag = kAudioChannelLayoutTag_UseChannelDescriptions;
acl->mNumberChannelDescriptions = 3;
acl->mChannelDescriptions[0].mChannelLabel =
kAudioChannelLabel_Ambisonic_W;
acl->mChannelDescriptions[1].mChannelLabel =
kAudioChannelLabel_Ambisonic_X;
acl->mChannelDescriptions[2].mChannelLabel =
kAudioChannelLabel_Ambisonic_Y;
UInt32 propertySize = sizeof(acl);
OSStatus err = AudioFileSetProperty(afid,
kAudioFilePropertyChannelLayout, propertySize, acl);
free(acl);
The bit field in WAVE headers does not provide bits for these channel
labels, so you can't set these layouts currently on WAVE files.
_______________________________________________
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