Provided by: jamulus_3.9.1+dfsg-1build2_amd64 bug

NAME

     Jamulus — real-time collaborative music session

SYNOPSIS

     Jamulus [-6 | --enableipv6] [-c | --connect address] [-d | --discononquit]
             [-e | --directoryserver hostname] [-F | --fastupdate] [-f | --listfilter filter]
             [-h | -? | --help] [-i | --inifile file] [-j | --nojackconnect] [-L | --licence]
             [-l | --log file] [-M | --mutestream] [-m | --htmlstatus file] [-n | --nogui]
             [-o | --serverinfo info] [-P | --delaypan] [-p | --port number] [-Q | --qos value]
             [-R | --recording directory] [-s | --server] [-T | --multithreading]
             [-t | --notranslation] [-u | --numchannels] [-v | --version]
             [-w | --welcomemessage message] [-z | --startminimized] [--centralserver hostname]
             [--clientname name] [--ctrlmidich MIDISetup] [--directoryfile file] [--mutemyown]
             [--norecord] [--serverbindip ip] [--serverpublicip ip] [--showallservers]
             [--showanalyzerconsole]

DESCRIPTION

     Jamulus, a low-latency audio client and server, enables musicians to perform real-time “jam”
     sessions over the internet.  It is available across multiple platforms, so participants of
     any field can communicate without specialist setup requirements.  This is not restricted to
     music, of course; other use (perhaps conferencing?) is also possible.

     One participant starts Jamulus in Server mode, ideally on a dedicated server (virtual)
     machine; all participants start the (graphical) Client which transmits audio to the Server,
     receiving back a mixed stream.  Use of a metronome is recommended.  Clients should be
     connected using ethernet, not wireless, and use proper headphone and microphone connections,
     not Bluetooth.  The Server should run on a low-latency system, ideally not a VM.

     Running Jamulus without any extra options launches the full graphical Client.

     The options are as follows:

     -6 | --enableipv6
             enable IPv6 support

     -c | --connect address
             (Client mode only) connect to the given Server address (hostname[:port]) at startup

     -d | --discononquit
             (Server mode only) disconnect all Clients on quit

     -e | --directoryserver hostname
             (Server mode only) Register the Server with the given Directory by setting the
             Directory Server Address to use to hostname; see also -o; to be a Directory Server,
             use “localhost”

     -F | --fastupdate
             (Server mode only) use 64 samples frame size mode, which reduces latency if Clients
             connect with “enable small network buffers” turned on; requires a faster CPU to
             avoid dropouts and uses more bandwidth to connected Clients

     --jsonrpcsecretfile file
             (Server mode only) Set the path to a text file containing an authentication string
             for obtaining access to the JSON-RPC API.  This option is required when
             --jsonrpcport is used.

     --jsonrpcport port
             (Server mode only) Enables JSON-RPC API server to control the application, set the
             TCP port number.  This API is experimental and may change.  It is only accessible
             from localhost.  Please refer to the JSON-RPC API Documentation.

     -f | --listfilter filter
             (Directory mode only) whitelist which Servers are allowed to register on the server
             list; filter must consist of semicolon-separated IP addresses

     -h | -? | --help
             display a short help text and exit immediately

     -i | --inifile file
             (Client and non-headless Server mode only) override default initialisation file with
             file

     -j | --nojackconnect
             (Client mode only) do not automatically connect to JACK

     -L | --licence
             (Server mode only) require Clients to accept the agreement shown in the welcome
             message (use -w to set the text) before they are allowed joining

     -l | --log file
             (Server mode only) enable logging to file

     -M | --mutestream
             (Client mode only) start in muted state

     -m | --htmlstatus file
             (Server mode only) write Server status and list of connected Clients, in HTML
             format, to file periodically

     -n | --nogui
             disable the GUI

     -o | --serverinfo info
             (Registered Servers only) set Server location details, formatted as name;city;locale
             where locale is the numeric value of a QLocale; see
             https://doc.qt.io/qt-5/qlocale.html#Country-enum for a list

     -P | --delaypan
             (Server mode only) start with delay panning enabled

     -p | --port number
             set the local UDP port to use to number (default: 22124)

     -Q | --qos value
             set QoS value (iptos byte) to use (default: 128)

     -R | --recording Directory
             (Server mode only) enable recording (but see --norecord) storing tracks in Directory

     -s | --server
             start in Server mode

     -T | --multithreading
             (Server mode only) use multithreading to make better use of multi-core CPUs and
             support more Clients

     -t | --notranslation
             disable translations, use built-in English strings

     -u | --numchannels
             (Server mode only) set maximum number of channels (and, therefore, users); default
             is 10, maximum is 150

     -v | --version
             display version information and exit immediately

     -w | --welcomemessage message
             (Server mode only) show message (may contain HTML and inline CSS) to users on
             connect

     -z | --startminimized
             (Server mode only) start with minimised window

     --centralserver hostname
             (Server mode only) deprecated alias for --directoryserver

     --clientname name
             (Client mode only) set window title and JACK client name

     --ctrlmidich MIDISetup
             (Client mode only) set MIDI controller channel to listen on, control number offset
             and consecutive CC numbers (channels); format:
             channel[;foff*nchans][;poff*nchans][;soff*nchans][;moff*nchans]

             The first semicolon-separated element sets the MIDI channel Jamulus listens on for
             control messages.  The other elements specify the items to control by their first
             literal letter (f = volume fader, p = pan, m = mute, s = solo) directly followed by
             the offset (CC number) to start from, a literal asterisk, and the amount of
             consecutive CC numbers to assign.  Fader strips in the mixer window are controlled
             in ascending order from left to right.  Jamulus does not provide feedback as to the
             current state of the Solo and Mute buttons so the controller must track and signal
             their state locally.

     --directoryfile file
             (Directory mode only) remember registered Servers even if the Directory is restarted

     --mutemyown
             (headless Client only) mute my channel in my personal mix

     --norecord
             (Server mode only) do not automatically start recording even if configured with -R

     --serverbindip ip
             (Server mode only) configure Legacy IP address to bind to

     --serverpublicip ip
             (Server mode only) configure public legacy IP address when both the Directory Server
             and the actual Server are situated behind the same NAT, so that Clients can connect

     --showallservers
             (Client mode only) show all registered Servers in the serverlist regardless whether
             a ping to the Server is possible or not (debugging command)

     --showanalyzerconsole
             (Client mode only) show analyser console to debug network buffer properties
             (debugging command)

     Note that the debugging commands are not intended for general use.

     Jamulus knows four modes of operation: Client mode and three kinds of Server (Unregistered,
     Registered, Directory.) A Unregistered Server is unlisted, Clients can only connect if given
     the address (IP address and port).  A Registered Server will contact a Directory (whose
     address must be given at Server startup) and show up in that Server's list; Clients can
     retrieve a list of Registered Servers from the Directory Server.  Several Registered
     Directories are operated by the Jamulus project; there is a Directory for each genre, which
     is how Registered Jamulus Servers are categorised into genres.

SEE ALSO

     qjackctl(1)

     https://jamulus.io/wiki/Software-Manual
             online handbook

     https://jamulus.io/wiki/FAQ
             frequently asked questions

     https://jamulus.io/wiki/Running-a-Server
             documentation on Server configuration and types

     https://jamulus.io/wiki/Server-Linux#running-in-registered-mode
             current list of Directory Servers operated by the Jamulus project, controlling the
             “genre”

     https://jamulus.io/wiki/Tips-Tricks-More
             verbose --ctrlmidich documentation and other more or less useful information

     https://github.com/jamulussoftware/jamulus/blob/master/docs/JSON-RPC.md
             JSON-RPC API Documentation (see --jsonrpcport above)

AUTHORS

     mirabilos <tg@debian.org> wrote this manual page for the Debian project, but it may be used
     elsewhere as well.

BUGS

     This manual page was derived from the source code and summarises some of the information
     from the website, but it could be more helpful.

     Some of the networking code assumes Legacy IP (IPv4).