AuMonitorNotifyEvent(3)
π AuMonitorNotifyEvent β the manual page, but make it cute π
okay bestie, welcome to AuMonitorNotifyEvent(3) from the Library Functions Manual β yes we're reading manpages together now, that's just the vibe we're on π
this one's all about the monitor notify event structure, and it's genuinely not that deep, so let's go β¨
πΈ Name πΈ
AuMonitorNotifyEvent β the monitor notify event structure π
π¦ Structures π¦
first up, the include, because nothing happens without the include, periodt:
#include <audio/audiolib.h>
so there's this big union called AuEvent, and AuMonitorNotifyEvent is one of the things chillin' inside it π:
typedef union _AuEvent
{
. . .
AuMonitorNotifyEvent aumonitornotify;
. . .
}AuEvent;
and here's the actual struct, in all its glory, no cap:
typedef struct _AuMonitorNotifyEvent
{
int type;
AuUint32 serial;
AuBool send_event;
AuServer *server;
AuTime time;
AuFlowID flow;
unsigned char element_num;
unsigned char format;
unsigned char num_tracks;
unsigned short count;
unsigned short num_fields;
AuUint32 data;
AuUint32 data1;
AuUint32 data2;
}AuMonitorNotifyEvent;
β¨ Members β¨
okay this is the part where we meet the whole squad, one member at a time π«Ά
typeβ the event type. MonitorNotify events are typeAuEventTypeMonitorNotify.serialβ the serial ID of the event, expanded from the 16 bit value the server sent over.send_eventβAuTrueif this event came from aSendEventprotocol request. it's giving "did someone send this on purpose" πserverβ the connection to the audio server that this event was read from.timeβ the server time in milliseconds for when the event was generated β°flowβ the ID of the flow that caused the event.element_numβ the index of theExportMonitorelement that generated this event.formatβ the format of the monitor data. currently these formats are defined:AuFormatULAW8,AuFormatLinearUnsigned8,AuFormatLinearSigned8,AuFormatLinearSigned16MSB,AuFormatLinearUnsigned16MSB,AuFormatSignedLinear16LSB, andAuFormatLinearUnsigned16LSB. this one's taken from theExportMonitorelement πnum_tracksβ how many tracks are in the monitor data. also taken from theExportMonitorelement.countβ always0. iconic consistency honestly.num_fieldsβ always2.dataβ monitor data.data1β monitor data.data2β monitor data.
ngldata,data1anddata2really said "three names, same job" and we respect the minimalism π
π Description π
MonitorNotify events get sent to clients that have flows containing ExportMonitor elements. that's it, that's the whole plot bestie π
π₯ See Also π₯
go read these next, they're the rest of the friend group:
AuAnyEventAuElementNotifyEventAuErrorEventAuGrabNotifyEvent
and of course: audiolib β Network Audio System C Language Interface π
that's the whole page!! you ate that fr fr π«Ά this was audiolib - events, version 1.9.4, and yeah it's AuMonitorNotifyEvent(3) β now go forth and monitor those notifications, main character π
β¨
π¦ where this page comes from
- debian bookworm: libaudio-dev 1.9.4-7
- debian trixie: libaudio-dev 1.9.4-9
- ubuntu jammy: libaudio-dev 1.9.4-7build1
- ubuntu noble: libaudio-dev 1.9.4-8
- ubuntu questing: libaudio-dev 1.9.4-9
- ubuntu resolute: libaudio-dev 1.9.4-9.2
- ubuntu stonking: libaudio-dev 1.9.4-9.2
- copyright 1994 Steven King
- Copyright 1993 Network Computing Devices, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms