roarctl(1)

πŸ“¦ version 1.0~beta12, in ubuntu jammy

πŸ’– roarctl(1) πŸ’–

okay bestie, so this is roarctl(1), straight out of the System Manager's Manual: roard β€” and it's literally the remote control for your RoarAudio sound server. sit down, get comfy, we're doing this. πŸŽ€


✨ NAME ✨

roarctl β€” the RoarAudio sound server control tool. that's it, that's the girl. πŸ’…


🌸 SYNOPSIS 🌸

roarcat [OPTIONS]... COMMAND [OPTS] [COMMAND [OPTS] [COMMAND [OPTS]
[...]]]

(yes, it really says roarcat up there in the original synopsis and we are not touching it, no cap. icon behavior. πŸ’€)


πŸ¦‹ DESCRIPTION πŸ¦‹

So what does this thing do?? It controls the RoarAudio sound server. How? By sending commands to the server. That's the whole vibe. Go look at COMMANDS for the full list of what you can throw at it. ✨


πŸ‘‘ GENERAL OPTIONS πŸ‘‘

  • --help β€” prints some help text. classic.
  • --verbose, -v β€” be verbose. and yeah, you can stack this one multiple times if you want it extra chatty. πŸ”₯
  • --list-libstandards β€” similar to serverstandards, reports the list of standards libroar supports.
  • --list-aiprofiles β€” shows audio info profiles and then dips out (exits).
  • --enum-servers β€” lists servers found on the network. depending on the build options of libroar, this includes results from many tests, like standard server locations, OpenSLP located servers, X11 located servers, DECnet's neighbor, IP's ARP table, and other sources. she's thorough. 🧚

🌈 NETWORK OPTIONS 🌈

  • --server SERVER β€” the server to connect to. simple as that.

⭐ BASIC COMMANDS ⭐

  • help β€” same as --help.
  • listaiprofiles β€” lists audio info profiles.
  • aiprofileget PROFILE β€” displays the given audio info profile.
  • sleep TIME β€” sleeps for TIME seconds. self-care command fr.
  • ping NUM β€” pings the server NUM times. it does this by sending NOOP commands to the server, and prints the response time plus a small statistics section.
not supported on all platforms, bestie. just so you know. 😭
  • servername β€” shows the server address of the server you're currently connected to. this can be different from what you gave, like in the case of special server names such as +fork.
  • whoami β€” reports the client ID of roarctl on the current server. main character moment.
  • standby, off, resume, on β€” brings the server into standby mode, or back into active (operating) mode.
  • standbymode β€” tells you if the server is in standby mode or not.
  • exit β€” quits the server.
  • terminate β€” terminates the server as soon as all clients are disconnected and all streams reach EOF.

πŸ’œ STREAM COMMANDS πŸ’œ

  • volume STREAMID CHANNELS VOL0 VOL1 VOL2... β€” sets the mixing level for a stream with id STREAMID.

CHANNELS is the number of channels to set volume on. this should be the number of channels of the stream, or a symbolic name. currently the symbolic names mono and stereo are allowed. if you use mono, all channels get the level you give as VOL0. if you use stereo, it'll try to set the mixing levels the way you're used to from stereo setups β€” even if the setup isn't actually in stereo.

The parameters VOL0 ... VOLn and how many of them there are depends on what you gave as CHANNELS. you have to give exactly CHANNELS parameters.

⚠️ if you give a numerical (not symbolic) value for CHANNELS and the stream actually has a different number of channels, the behavior is undefined. in the current implementation only the first CHANNELS channels will be updated. this behavior may change in the future. so like, be careful bestie. πŸ’€
  • kick TYPE ID β€” kicks an object of TYPE with id ID. possible types are: client stream sample source

you can get the ID via list* (see below).

  • newvirtual P D E R B C β€” adds a new virtual (child) stream. this is used with container formats such as RAUM, Ogg and Matroska.

parameters, one by one:

  • P β€” stream ID of Parent stream.
  • D β€” stream Direction.
  • E β€” stream codEc.
  • R β€” sample Rate.
  • B β€” Bits per sample.
  • C β€” number of Channels.
  • flag ID FLAGS, unflag ID FLAGS, toogleflag ID FLAGS β€” sets, removes or toggles flags on a stream. ID is the stream id, FLAGS is a comma separated list of flags.
it is not possible to set all kinds of flags at runtime. πŸ™ˆ
  • protectflag ID FLAGS β€” protects flags on a stream. ID is the stream id, FLAGS is a comma separated list of flags.

protected flags can't be changed anymore after they got protected. periodt. πŸ”’


πŸŽ€ META DATA COMMANDS πŸŽ€

  • role ID ROLE β€” set stream role ROLE on stream ID.
  • metaget ID TYPE β€” read meta date of type TYPE from stream ID.
  • metasave ID FILE β€” saves the meta data of stream ID to file FILE. the format is one KEY=Value pair per line, and the same format is used by Xiph's tools.
  • metaload ID FILE β€” loads meta data from file FILE into stream ID. the format is the same as for metasave.

πŸ“ SERVER INFO COMMANDS πŸ“

  • serverinfo β€” gets general information about the server. this includes software vendor and version.
  • servertime β€” reports the server's system time.
  • serverstandards β€” reports a list of standards the server supports.
  • libstandards β€” similar to serverstandards, reports the list of standards libroar supports. same as --list-libstandards.
  • serveroinfo β€” gets information about server output.
  • serveroinfo2 DIR β€” gets information about server output for a given direction.

🫢 LISTING COMMANDS 🫢

  • listclients β€” gets information about clients.
  • clientinfo ID β€” gets information about client ID.
  • liststreams β€” gets information about streams.
  • streaminfo ID β€” gets information about stream ID.
  • allinfo β€” same as "serveroinfo listclients liststreams".

🌸 ENVIRONMENT VARIABLES 🌸

below are only the basic environment variables, bestie β€” for a complete list see libroar(7). ✨

  • HOME β€” the user's home directory.
  • ROAR_SERVER β€” the address of the listening server. this may be in the form of host:port for TCP/IP connections, and /path/to/sock for UNIX Domain Sockets. this is the same as the --server option.

πŸ’€ BUGS πŸ’€

  1. Make the meta data commands api-fixed and list them here.
  2. more often check if the user gave us enough arguments.

🌈 SEE ALSO 🌈

roarvorbis(1), roarfish(1), roarbaseclients(1), roartestclients(1), libroar(7), RoarAudio(7).


⭐ HISTORY ⭐

for history information see RoarAudio(7).


and that's the whole page, babe πŸ’– this gorgeous piece of documentation is brought to you by RoarAudio, dated July 2008 (vintage! iconic!), and it lives in section roarctl(1) of the manual. go forth and control that sound server. mwah. πŸŽ€βœ¨

πŸ“¦ where this page comes from