AuBucketAttributes(3)

πŸ“¦ version 1.9.5, in fedora 43, fedora 44

✨ AuBucketAttributes ✨

okay bestie, welcome to the Library Functions Manual entry for AuBucketAttributes(3) πŸ’– this is the lil struct that holds all the deets about where your audio data lives on the server. no cap, it's giving "backstage pass to the bucket."


🌸 Name 🌸

AuBucketAttributes β€” bucket attributes structure πŸͺ£βœ¨


πŸŽ€ Structures πŸŽ€

first things first, pull in the header:

#include <audio/audiolib.h>

and here's the struct, bestie:

typedef struct _AuBucketAttributes
{
    . . .
}AuBucketAttributes;

like, the insides are a mystery on purpose (iykyk) πŸ‘€


πŸ’… Members πŸ’…

ok so HUGE disclaimer: do not dereference the members of the AuBucketAttributes structure directly. do not. don't do it. use the access macros instead, periodt. πŸ™…β€β™€οΈ

throughout all of this, ba is a pointer to a AuBucketAttributes structure. she's the main character here πŸ‘‘

  • AuBucketValueMask(ba) β€” grabs the AuMask value that tells you which attributes are actually present. it's a bitwise inclusive OR of these constants: AuCompCommonIDMask, AuCompCommonKindMask, AuCompCommonUseMask, AuCompCommonFormatMask, AuCompCommonNumTracksMask, AuCompCommonAccessMask, AuCompCommonDescriptionMask, AuCompBucketSampleRateMask, and AuCompBucketNumSamplesMask. literally all of them, what a lineup πŸ”₯
  • AuBucketChangableMask(ba) β€” grabs the AuMask value that tells you which of the attributes can be changed. also a bitwise inclusive OR of these constants: AuCompCommonIDMask, AuCompCommonKindMask, AuCompCommonUseMask, AuCompCommonFormatMask, AuCompCommonNumTracksMask, AuCompCommonAccessMask, AuCompCommonDescriptionMask, AuCompBucketSampleRateMask, and AuCompBucketNumSamplesMask. yes it's the same list as above, i said what i said πŸ’€
  • AuBucketIdentifier(ba) β€” grabs the AuBucketID ID of the bucket. her government name πŸͺͺ
  • AuBucketKind(ba) β€” grabs the int value telling you the kind of component. and babes, buckets will always be AuComponentKindBucket. no identity crisis here πŸ¦‹
  • AuBucketUse(ba) β€” grabs the AuMask value telling you what uses of the bucket are permitted. bitwise inclusive OR of these constants: AuComponentUseImportMask and AuComponentUseExportMask. import, export, that's the whole vibe πŸ“¦
  • AuBucketFormat(ba) β€” grabs the int value telling you the audio data format the bucket uses. rn the following formats are defined: AuFormatULAW8, AuFormatLinearUnsigned8, AuFormatLinearSigned8, AuFormatLinearSigned16MSB, AuFormatLinearUnsigned16MSB, AuFormatLinearSigned16LSB, and AuFormatLinearUnsigned16LSB. pick your fighter ⭐
  • AuBucketNumTracks(ba) β€” grabs the int value telling you how many tracks the bucket supports. multitrack queen πŸ‘‘
  • AuBucketAccess(ba) β€” grabs the AuMask value telling you what kinds of access the bucket allows. bitwise inclusive OR of these constants: AuAccessImportMask, AuAccessExportMask, AuAccessDestroyMask, and AuAccessListMask. she has boundaries, respect them πŸ’…
  • AuBucketDescription(ba) β€” grabs the AuString structure holding a textual description of the bucket. her bio, basically πŸ“
  • AuBucketSampleRate(ba) β€” grabs the unsigned int value telling you the sample rate of the bucket. the tempo of it all 🎡
  • AuBucketNumSamples(ba) β€” grabs the AuUint32 value telling you how many samples the bucket contains. so many. count them πŸ“

🌈 Description 🌈

the AuBucketAttributes structure describes the server-local storage of audio data. that's it, that's the whole job β€” she's the little info card that says where the audio actually lives on the server 🏠✨


πŸ’œ See Also πŸ’œ

  • AuGetBucketAttributes, AuListBuckets.
  • audiolib β€” Network Audio System C Language Interface 🫢

and that's the tea, bestie πŸŽ€ this was audiolib's bucket attributes page, version 1.9.5, from the Library Functions Manual β€” go slay your audio code, mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from