AUMAKEELEMENTEXPORTCLIENT(3nas)

✨ NAME ✨

AuMakeElementExportClient β€” bestie, this one initializes an ExportClient element πŸ’…

So like, this is from the audiolib library functions manual, section 3. We're setting up an element that exports audio data to a client, and it's giving main character energy.


🌸 SYNOPSIS 🌸

#include <audio/audiolib.h>

AuMakeElementExportClient(element, input, sample_rate, format,
num_tracks, discard, max_samples, high_water_mark, num_actions, actions)
    AuElement *element; /* RETURN */
    unsigned short input;
    unsigned short sample_rate;
    unsigned char format;
    unsigned char num_tracks;
    unsigned char discard;
    AuUint32 max_samples;
    AuUint32 high_water_mark;
    int num_actions;
    AuElementAction *actions;

πŸŽ€ ARGUMENTS πŸŽ€

Okay so here's the whole cast, no skips, we're listing every single one fr fr:

  • element β€” this is the output, bestie. It returns the initialized element. Marked /* RETURN */ in the synopsis so you know it's the one getting filled in πŸ’–
  • input β€” specifies the index of the element that's supplying the audio data to this element. Like, who's handing us the aux cord πŸ”Œ
  • sample_rate β€” specifies the sample rate of the audio data. The tempo, basically.
  • format β€” specifies the format of the audio data. Currently these formats are defined: AuFormatULAW8, AuFormatLinearUnsigned8, AuFormatLinearSigned8, AuFormatLinearSigned16MSB, AuFormatLinearUnsigned16MSB, AuFormatSignedLinear16LSB, and AuFormatLinearUnsigned16LSB. Pick your fighter ✨
  • num_tracks β€” specifies the number of tracks in the audio data.
  • discard β€” specifies if the flow should pause initially. Normally AuTrue. Yes bestie, normally it just sits there paused at first, that's the vibe.
  • max_samples β€” specifies the maximum number of samples to send to the client in a single write. Heads up though: this one is ignored for "trivial" flows. She said not applicable, sorry 😭
  • high_water_mark β€” specifies when to tell the client application to read the audio data from the server. When this number of samples is reached in the buffer, an ElementNotify event with kind set to AuElementNotifyKindHighWater will be sent to the client application. Basically the "hey bestie come get your data" alarm 🚨
  • num_actions β€” specifies the number of actions in actions.
  • actions β€” specifies the list of actions to associate with this element. Entries in this list can be initialized with AuMakeChangeStateAction, AuMakeSendNotifyAction, and AuMakeNoopAction. May be NULL. So like, optional, she can show up empty-handed 🫢

πŸ’– DESCRIPTION πŸ’–

AuMakeElementExportClient sets the type member of element to AuElementTypeExportClient and initializes the exportclient member of element with the remaining arguments.

And the plot twist: AuMakeElementExportClient is implemented as a macro. Not a real function, a macro. iykyk πŸ¦‹


πŸ‘‘ SEE ALSO πŸ‘‘

The whole friend group, in order:

  • AuElementNotifyEvent
  • AuMakeElementAddConstant
  • AuMakeElementBundle
  • AuMakeElementExportBucket
  • AuMakeElementExportDevice
  • AuMakeElementExportMonitor
  • AuMakeElementImportBucket
  • AuMakeElementImportClient
  • AuMakeElementImportDevice
  • AuMakeElementImportWaveForm
  • AuMakeElementMultiplyConstant
  • AuMakeElementSum

Also: audiolib β€” Network Audio System C Language Interface 🌈


k bye bestie, go forth and initialize your elements, you're literally doing amazing πŸ’…βœ¨

this was audiolib - element initialization, version 1.9.4, from AuMakeElem...xportClient(3) β€” mwah, obsessed, periodt πŸŽ€

πŸ“¦ where this page comes from