AuBucketAttributes(3)

πŸ’– AuBucketAttributes β€” bucket attributes structure ✨

okay bestie, so this is AuBucketAttributes(3) from the audiolib library functions manual and it's literally the blueprint for how a bucket of audio data describes itself. it's giving ✨structural✨, it's giving πŸŽ€organizedπŸŽ€, and you're gonna eat it up.


🌸 STRUCTURES 🌸

first things first, the glow-up itself. you pull it in like this:

#include <audio/audiolib.h>

typedef struct _AuBucketAttributes
{
    . . .
}AuBucketAttributes;

that's the whole shape of her. the ... is doing a lot of heavy lifting but that's the vibe. 🫢


πŸ¦‹ MEMBERS πŸ¦‹

⚠️ DO NOT dereference the members of the AuBucketAttributes structure directly. like, at all. bestie, I'm so serious. use the access macros instead. that's what they're there for. periodt. πŸ’…

throughout all of this, ba is a pointer to a AuBucketAttributes structure. keep that in your notes. πŸ“

  • AuBucketValueMask(ba) β€” accesses the AuMask value that tells you which attributes are present. it's a bitwise inclusive OR of these constants: AuCompCommonIDMask, AuCompCommonKindMask, AuCompCommonUseMask, AuCompCommonFormatMask, AuCompCommonNumTracksMask, AuCompCommonAccessMask, AuCompCommonDescriptionMask, AuCompBucketSampleRateMask, and AuCompBucketNumSamplesMask. yes, all of them. slay. πŸ”₯
  • AuBucketChangableMask(ba) β€” accesses the AuMask value that says which of the attributes can be changed. also a bitwise inclusive OR of: AuCompCommonIDMask, AuCompCommonKindMask, AuCompCommonUseMask, AuCompCommonFormatMask, AuCompCommonNumTracksMask, AuCompCommonAccessMask, AuCompCommonDescriptionMask, AuCompBucketSampleRateMask, and AuCompBucketNumSamplesMask. (yes it's the same list as above, no that's not a typo, that's just how she is πŸ‘‘)
  • AuBucketIdentifier(ba) β€” accesses the AuBucketID ID of the bucket. her literal name tag. 🏷️
  • AuBucketKind(ba) β€” accesses the int value saying what kind of component this is. spoiler alert: buckets will always be AuComponentKindBucket. no identity crisis here. πŸ’€
  • AuBucketUse(ba) β€” accesses the AuMask value saying what uses of the bucket are permitted. bitwise inclusive OR of: AuComponentUseImportMask and AuComponentUseExportMask. in and out, that's the energy. 🌈
  • AuBucketFormat(ba) β€” accesses the int value saying what audio data format the bucket uses. currently the following formats are defined: AuFormatULAW8, AuFormatLinearUnsigned8, AuFormatLinearSigned8, AuFormatLinearSigned16MSB, AuFormatLinearUnsigned16MSB, AuFormatLinearSigned16LSB, and AuFormatLinearUnsigned16LSB. pick your fighter. ⭐
  • AuBucketNumTracks(ba) β€” accesses the int value saying how many tracks the bucket supports. multitasking queen. 🎧
  • AuBucketAccess(ba) β€” accesses the AuMask value saying what kinds of access the bucket allows. bitwise inclusive OR of: AuAccessImportMask, AuAccessExportMask, AuAccessDestroyMask, and AuAccessListMask. πŸšͺ
  • AuBucketDescription(ba) β€” accesses the AuString structure holding a textual description of the bucket. her bio, basically. πŸ“
  • AuBucketSampleRate(ba) β€” accesses the unsigned int value saying the sample rate of the bucket. πŸ“ˆ
  • AuBucketNumSamples(ba) β€” accesses the AuUint32 value saying how many samples the bucket contains. πŸ”’

🧚 DESCRIPTION 🧚

so like, the AuBucketAttributes structure describes the server-local storage of audio data. that's the whole gig. that's what she does. main character energy, no notes. πŸ’œ


πŸ‘‘ SEE ALSO πŸ‘‘

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

and that's the whole page, bestie!! go forth and never dereference those members directly, iykyk πŸ’–βœ¨πŸŽ€

this has been audiolib - bucket attributes, version 1.9.4, dated AuBucketAttributes(3) β€” mwah, take care of her 🫢🌸

πŸ“¦ where this page comes from