[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#958567: ITP: barnard -- barnard is a terminal-based client for the Mumble voice chat software

Package: wnpp
Severity: wishlist
Owner: Bradford D. Boyle <bradford.d.boyle@gmail.com>

* Package name    : barnard
  Version         : 0.0~git20190930.c9876db-1
  Upstream Author : Brandon McGinty-Carroll
* URL             : https://github.com/bmmcginty/barnard
* License         : GPL-2.0
  Programming Lang: Go
  Description     : barnard is a terminal-based client for the Mumble voice chat software

 BarnardDocumentation Please feel free to give suggestions and corrections
 for this file (as wellas Barnard propper).  Find a sample notification
 script in examples/.  Audio boost If a user is too soft to hear,
 you can boost their audio.  The audio should drastically increase
 once you have hit the VolumeUp key over 10 times (from the silent/0
 position).  The boost setting is saved per user, just like per user
 volume.  FIFO Control If you pass the --fifo option to Barnard, a FIFO
 pipe will be created.  You can control Barnard by sending commands
 to this FIFO.  Each command must end with a  \n (0x0a) character.
 Commands may be added at any time.  Per the robustness principle,
 be liberal in what you receive.  Current Commands: * error: An error
 has occured to prevent transmitting audio, or taking another action.  *
 micup: Start transmitting, just as when you hold down the talk key. Does
 nothing if you are already transmiting.  * micdown: Stop transmitting,
 just like when you release your talk key. Does nothing if you are not
 already transmitting.  * toggle: Toggle your transmission state.  * talk:
 Synonym for toggle.  * exit: Exit Barnard, just like when you press your
 quit key.  Event Notification You can use the notifycommand parameter
 in your config file to run a program on certain events.  Each event has
 the following parameters: * event: the name of the event
     - join: user has joined the channel you are in - leave: user has
     left the channel you are in - micup: you have begun transmitting -
     micdown: you have stopped transmitting - connect: you have connected
     to a server - disconnect: you have disconnected from a server - msg:
     the channel you are currently connected to has received a message -
     pm: you have received a private message
 * who: the person causing initiation of the event ("me" for self-generated
 events) * what: the body of the event as applicable (message, channel
 name, etc)
 Warning: Keep in mind that Barnard opens an Alsa sound device when
 starting.  For this reason, any notification command used here will need
 to be able to work while other sound is playing.  It is recommended that
 you test  your notification command by hand, while Barnard is running,
 before including it here.
 You can create a command that will take any of these parameters as
 desired, by prepending the name of the parameter in your command
 with a % (percent) sign.  As an example, to attempt to play
 wave files for each event, you could set notifycommand to: aplay
 /home/username/sounds/mumble/%event.wav When you begin transmitting,
 aplay will attempt to play /home/username/sounds/mumble/micup.wav.
 The same will be attempted for the other events, such as leave, join,
 micdown, etc.
 In order to process messages and the like, Barnard will parse your command
 as a properly quoted shell command.  For this reason, you should put
 quotes around arguments that have spaces.  If you want to do more complex
 things, write a shell script (or c application, python script, etc)
 to process the arguments passed into it.  Connecting Via Text Interface
 You can now manage your server lists in a text GUI.  An Ncurses interface
 has been created by members of the F123 Group (https://gitlab.com/f123).
 Make sure the folder in which you store the barnard binary is in your
 path. This should be the default for any f123 user.  Then just run
 ./barnard-ui from this folder, and follow the instructions.  You can
 add barnard-ui to your path as well, and access it from anywhere.
 Modifications This copy of Barnard and it's associated Gumble library have
 been modified to support usage by blind users.  Our thanks go out to Tim
 Cooper for the massive amount of work put into this client, originally
 found at github.com/layeh/barnard (https://github.com/layeh/barnard).
 Config By default, the file $HOME/.barnard.yaml will hold the
 configuration for Barnard.  You can have barnard read another file
 by using the -c option, like ./barnard -c ~/.anotherbarnard.yaml.
 It will be created automatically if it doesn't exist.  If you modify the
 config file while Barnard is running, your changes may be overwritten.
 Defaults You can set username and defaultserver in your config file,
 and they will be used if none is specified when launching barnard.
 (Note that the default username (an empty string) and the default server
 name (localhost:64738) have been the defaults for barnard up to this
 point, and have been left that way for compatibility.)  Audio Devices You
 can set the default input and output devices in the config file as well.
 Pass the -list_devices parameter to barnard to be given a list of audio
 input and output devices.  Copy lines from the above list into inputdevice
 and outputdevice as desired.  To clear your inputdevice or outputdevice
 options and set them to defaults, set them to "" or delete them entirely.
 Keystrokes You can see the below keystrokes in your config file.
 Pressing tab inside the main window switches between the user/channel
 tree view and the message input box.  When in the message input box:
 * left and right arrow keys move by character * home/end moves to the
 beginning/end of the text respectively * enter submits the entered message
 When in the treeview, pressing: * f5 or f6 on a channel changes the
 volume for all users in that channel * f5 or f6 on a user changes the
 volume for that user.  * enter on de-selected user selects that user
 for PM mode.  * enter on selected user de-selects the user * enter on
 a channel de-selects any selected users (if any) and moves you to the
 specified channel.  Volume If you set the volume for a user (using the
 F5/F6 keys by default), Barnard will remember that volume, and will
 keep that user at that volume.  The volume is set for a single user on
 a single server.  This means you may have to set a person to a custom
 volume multiple times, if you are both on multiple servers together.
 If you set the volume of a channel, you are basically relatively adjusting
 each user's volume.  If Jim's volume is set to 0.1, and larry's volume
 is set to 0.9, lowering the channel by one increment will mute Jim,and
 set Larry to 0.8.
 You can change the volume for a user once that user has spoken at least
 once during a session.  Attempts to change the volume of a user who has
 not spoken will be ignored.  If you are unable to hear a user speaking,
 you can edit the .barnard.yaml file in your home directory, after closing
 Barnard, and set the volume parameter to 1.0 for a particular user.
 Technical The volume for each user is set via the audio session created
 for that user; no talking means no session means no settable volume.
 PM Mode This mode sets the text to the left of your message entry box to
 [@username], where username is the name of the person you are PMing.
 While a user is selected, both private messages and channel messages
 are displayed.  However, any messages you send will be delivered only
 to the selected user.  Private messages between you and another party
 are shown as pm/source/dest, where source and dest are the sender and
 receiver of the message respectively.  When you are finished sending
 private messages to a user, press tab to reactivate the tree view, and
 de-select the user as above.  Info barnard is a terminal-based client
 for the Mumble (https://mumble.info) voice chat software.
 Screenshot Installation Requirements: • Go (https://golang.org/)•
 Git (https://git-scm.com/)• Opus (https://opus-codec.org/) development
 headers• OpenAL (http://kcat.strangesoft.net/openal.html) development
 headers To fetch and build: go get -u github.com/bmmcginty/barnard
 After running the command above, barnard will be compiled as $(go
 env GOPATH)/bin/barnard.  ManualKey bindings• F1: toggle voice
 transmission• Ctrl+L: clear chat log• Tab: toggle focus between chat
 and user tree• Page Up: scroll chat up• Page Down: scroll chat down•
 Home: scroll chat to the top• End: scroll chat to the bottom• F10:
 quitLicense GPLv2 Contributors Tim Cooper (tim.cooper@layeh.com) Brandon
 McGinty-Carroll (bmmcginty.barnard@bmcginty.us)

Reply to: