Create a small c file, sb-send.c, to act as a sonobus alsa audio sender.

sb-send.c will need to speak the sonobus protocol to connect to 
the sonobus connection server, announce itselfas a group member,
and gather a list of sonobus group members with their respective IP address and UDP 
audio port.

The program will need a thread to monitor the sonobus connection server
messages as members 
leave and join the group.
This thread will also need to update internal data structures eG member list, 
as sonobus group members leave/join, 
and manage over all program execution.

sb-send.c will also need an audio worker thread to read audio from 
the alsa device, encode it once to opus, and send data to all the
other group members in a round robbin fassion 
with the correct salt, sequence, and sink numbers.

The threads need to be non-blocking and locking safe to handle the storm
of joins on initial connect.

sb-send.c should ignore all received audio. The UDP port may need to remain
open.

A sample launch will look like:
sb-send -g <audio_group> -s <sonobus_connection_server> 
-b <opus_bitrate> -c <channels> 
-n <sonobus_connection_my_nickname> -a <alsa_audio_device>.
-p <sonobus_connection_server_port> -P <group_password_clear_text>

All command line options are optional with the following defaults:
sonobus_connection_server=sonobus.ground.local
sonobus_connection_server_port=10999
sonobus_connection_group=gfcaud
sonobus_connection_my_my_nickname=sbsend
channels=1
opus_bitrate=16
alsa_audio_device=plughw:0
Group password=MD5 of an empty string ""

md5 support should be provided by modern ssl 3.5 ssl crypto.

sb-send.c should write basic debugging information to
the console so the user knows what is happening
at each step, logging in, logged in, 
joining group, successfully joined group,
get group member list, got 9 group members, 
got new group member (10), delete group member (10) (new total)9,
etc

The debugging should not include progress bars,
special characters, or any repeating message
that would spam the terminal EG sending audio frame 10141, 32 bytes.

code formatting rules:
Block comments should never be used
// only single line comments like this.
Lines should all be left justified, not indented in any way.
Line should be no longer than 70 chars long.
No special non-printable or control characters may be used without escapes.
There should be a comment at the top of each function
explaining what that function does.

Protocol Documentation:
