{"id":22393079,"url":"https://github.com/nemethf/vux","last_synced_at":"2025-03-26T22:22:01.576Z","repository":{"id":145233659,"uuid":"559156132","full_name":"nemethf/vux","owner":"nemethf","description":"source code of an old debian package named vux, the Vacillating Utilitarian eXtemporizer","archived":false,"fork":false,"pushed_at":"2022-10-29T08:27:38.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-01T04:14:54.770Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nemethf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-29T08:26:08.000Z","updated_at":"2022-10-29T08:27:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"61f3c3db-fc6e-45c9-87b0-237216f1e75d","html_url":"https://github.com/nemethf/vux","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemethf%2Fvux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemethf%2Fvux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemethf%2Fvux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nemethf%2Fvux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nemethf","download_url":"https://codeload.github.com/nemethf/vux/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245743527,"owners_count":20665117,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-05T04:22:35.402Z","updated_at":"2025-03-26T22:22:01.553Z","avatar_url":"https://github.com/nemethf.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vux(1) - a rating-based, random ogg and mp3 player\n\n0.4.9, November 04, 2004\n\n```\nvux [\\|-bcdghjklnquvAFPRSVYZ\\|] [\\|-a file\\|] [\\|-e pattern\\|] [\\|-f value\\|] [\\|-i option\\|] [\\|-m option\\|] [\\|-o value\\|] [\\|-p file\\|] [\\|-r value\\|] [\\|-s file\\|] [\\|-t value\\|] [\\|-w option\\|] [\\|-x option\\|] [\\|-y file\\|] [\\|-z file\\|] [\\|-B value\\|] [\\|-C value\\|] [\\|-D value\\|] [\\|-G value\\|] [\\|-I value\\|] [\\|-M value\\|] [\\|-N value\\|] [\\|-O device\\|] [\\|-T value\\|] [\\|-U value\\|] [\\|-W option\\|] [\\|-X value\\|]\n\n```\n\n\u003ca name=\"description\"\u003e\u003c/a\u003e\n\n# Description\n\n\n**vux** is a command-line ogg and mp3 utility that plays songs\naccording to a rating system designed to keep track of user listening\nhabits.  By default, **vux** will give each song a percent chance of\nplaying, based on where it lies on a bell curve of all ratings.  Songs\nare picked at random, then played if they pass the percent chance.\nRatings increase when you play complete songs and decrease when you skip\nthem.  The ratings scorelist is plain text.  By default, a separate\nagelist is maintained to prevent repeats based on time since last\nplayed.  See the **MECHANICS** section for details.\n\n\u003ca name=\"options\"\u003e\u003c/a\u003e\n\n# Options\n\nWhen using **vux** for the first time, you must first run vux -x\ngenerate to generate an initial scorelist from a playlist.  See the\n**-x generate** option for the playlist format.  In most cases,\n**find ~/music -type f \u0026gt; ~/.vux/playlist** will work.  Use -p\n_playlist_ to override the default of **~/.vux/playlist**.\n\n* **-a **_file_  \n  Use _file_ as the agelist instead of the default.\n* **-b**  \n  Disable repeat updates when songs are played completely, when using\n  **-x weed** or when using **vuxctl next prev** or **replay**.\n* **-c**  \n  Disable rating checks.\n* **-d**  \n  Disable rating updates when songs are played completely, when using\n  **-x weed**.\n* **-e **_pattern_  \n  Only play songs matching _pattern_.  Mean and standard deviation are\n  still calculated based on all ratings, but only those matching\n  _pattern_ are considered for playing.  Globbing follows the rules\n  for zsh filename generation; man zshexpn(1) for details.  For example:\n  **vux -e '*Artist/Album*'**.  The entire pathname from the scorelist\n  is used for matching.\n* **-f **_value_  \n  Only used with **-x force**.  Force ratings to _value_.\n* **-g**  \n  Print ratings from **-x ratings** and **-R** in xgraph-friendly\n  format.  This also works with xplot.  For example: vux -xr -g |\n  xgraph would display a graph where x is rating and y is count.  This\n  option implies **-q** and disables **-V**.\n* **-h**  \n  Print usage.\n* **-i **_option_  \n  Select increase method for ratings.  Default _option_ is\n  **conservative**.\n\n**c|conservative**\nIncrease less as the current rating gets closer to the maximum score.\n\n* **a|accelerated**  \n  Increase more as the current rating gets closer to the middle rating.\n* **i|inverse**  \n  Increase less as the current rating gets closer to the middle rating.\n\n* **-j**  \n  Disable repeat checks.\n* **-k**  \n  Disable repeat updates when songs are skipped.\n* **-l**  \n  Disable rating updates when songs are skipped.\n* **-m **_option_  \n  Select decrease method for ratings.  Default _option_ is\n  **conservative**.\n\n**c|conservative**\nDecrease less as the current rating gets closer to the minimum score.\n\n* **a|accelerated**  \n  Decrease more as the current rating gets closer to the middle rating.\n* **i|inverse**  \n  Decrease less as the current rating gets closer to the middle rating.\n\n* **-n**  \n  Disable ogg and mp3 players.  Useful for testing or batch rating with\n  **-Ve\\fp pattern**.\n* **-o **_value_  \n  Only used with **-w middle**.  Use _value_ as the end multiplier\n  instead of the default.\n* **-p **_file_  \n  Use _file_ as playlist instead of the default.  Only useful with\n  **-x generate**, **-x merge** and **-x weed**.\n* **-q**  \n  Minimize vux-generated output.\n* **-r **_value_  \n  Only used with **-w middle**.  Use _value_ as the middle\n  multiplier instead of the default.\n* **-s **_file_  \n  Use _file_ as the scorelist instead of the default.\n* **-t **_value_  \n  Add _value_ to the percent chance to play songs that are above or\n  equal to the mean.  When used with **-W thresh**, add _value_ to\n  threshold.  Value may be positive or negative and may use vux variables\n  and formulas.  For example, all of the following are valid: vux -t\n  10 ; **vux -t -std\\_dev** ; **vux -t '-0.5*std\\_dev'**.\n* **-u**  \n  Check for repeat before checking rating.  Otherwise, ratings are checked\n  first.\n* **-v**  \n  Show version and exit.\n* **-w **_option_  \n  Select rating method.  Default _option_ is **bell**.\n\n**b|bell**\nUse the bell curve.\n\n* **t|thresh**  \n  Use thresholds.\n* **m|middle**  \n  Use distance from fixed middle.\n\n* **-x **_option_  \n  Select action for vux to perform.  Default _option_ is **play**.\n\n**p|play**\nPlay music.\n\n* **g|generate**  \n  Generate a new scorelist from playlist and exit.  Playlist must have one\n  pathname (the full path to each file, including the filename) per line.\n  Spaces, symbols, etc. in the pathname are allowed as the\n  line will be double-quoted in the scorelist.  Each song will be given\n  the default rating and scorelist will be backed-up and overwritten.\n  This is only useful when generating a new scorelist.\n* **m|merge**  \n  Similar to **generate**, but keeps the existing scores, adding only\n  new songs from playlist and giving them the default rating.\n* **w|weed**  \n  Remove all songs from the scorelist and agelist/countlist that do not\n  appear in the playlist and exit.  **-W** determines whether agelist or\n  countlist is updated.  **-d** and **-b** disable pruning from the\n  scorelist and agelist/countlist respectively.\n* **r|ratings**  \n  Show rating count, mean, standard deviation and other statistics,\n  depending on the rating method used, then exit.\n* **f|force**  \n  Force ratings of songs selected with **-e** _pattern_.  Without\n  additional arguments, this option will cause all ratings of selected\n  songs to be increased once using the current increase method.  With\n  **-F**, all ratings of selected songs will be decreased once using\n  the current decrease method.  With **-f** _value_, all ratings of\n  selected songs will be replaced with _value_.\n\n* **-y **_file_  \n  Use _file_ as the missing file log instead of the default.\n* **-z **_file_  \n  Only used with **-W count**.  Use _file_ as the countlist instead\n  of the default.\n* **-A**  \n  Only used with **-W age**.  Disable saving the agelist.  Otherwise,\n  **vux** saves the agelist after every 30 songs played and on SIGINT.\n* **-B **_value_  \n  Only used with **-w middle**.  Use bend factor _value_ instead of\n  the default.\n* **-C **_value_  \n  Only used with **-w thresh**.  Use random reprieve factor _value_\n  instead of the default.\n* **-D **_value_  \n  Use decrease factor _value_ instead of the default.\n* **-F**  \n  Behave as if songs were skipped when using **-n** or **-x force**.\n  The default is to behave as if songs were played completely.\n* **-G **_value_  \n  Only used with **-W age**.  Use _value_ method to prevent runaway\n  age checking in case many songs are below the minimum age.  When\n  searching for a song to play, _value_ represents the number of times\n  an age check will fail before **vux** will ignore age.  Also valid\n  are: _total_ or _t_ for total number of songs, _sqrt_ or\n  _s_ for square root of the total number of songs, or _-1_ for no\n  method.\n* **-I **_value_  \n  Use increase factor _value_ instead of the default.\n* **-M **_value_  \n  Only used with **-W age**.  Use minimum age _value_ instead of the\n  default.  A valid value is a number followed by **d** for days,\n  **h** for hours, **m** for minutes or **s** for seconds.  For\n  example, **7d**, **3h**, **20m**, and **45s** are valid.  The\n  status line will display the time since plast played in the time units\n  specified here.\n* **-N **_value_  \n  Only used with **-W count**.  Use count _value_ instead of the\n  default.  This is the number of times a song will fail to be chosen\n  after being chosen successfully.\n* **-O **_device_  \n  Use _device_ as the sound device checked before running a player.\n  Use **/dev/null** as the device to disable checking.  Default is\n  **/dev/dsp**.\n* **-P**  \n  Only useful with **-W age**.  Songs with no age value will be played\n  without a rating check.  This option implies **-u**.\n* **-R**  \n  Show rating count, mean, standard deviation and other statistics,\n  depending on the rating method used.  This is the same as -x\n  ratings, but is displayed after any other processing.\n* **-S**  \n  Disable saving the scorelist.  Otherwise, **vux** saves the scorelist\n  after every 30 songs played and on SIGINT.\n* **-T **_value_  \n  Subtract _value_ from percent chance to play songs that are below\n  the mean.  With **-w thresh**, add _value_ to reprieve threshold.\n  See **-t**.\n* **-U **_value_  \n  Use default rating _value_ instead of the default.  This is only\n  useful with **-x generate** and **-x merge**.\n* **-V**  \n  Add a \"-v\" to cp and rm.\n* **-W **_option_  \n  Select repeat-checking method.  Default _option_ is **age**.\n\n**a|age**\nTest repeats by age.\n\n* **c|count**  \n  Test repeats by counting down.\n\n* **-X **_value_  \n  Use maximum score _value_ instead of the default.\n* **-Y**  \n  Disable using the missing log.  Otherwise, songs that are not readable\n  (unless beginning with http) will be appended to the missing log.\n* **-Z**  \n  Only used with **-W count**.  Disable saving the countlist.\n  Otherwise, **vux** saves the countlist after every 30 songs played and\n  on SIGINT.\n\n\u003ca name=\"control\"\u003e\u003c/a\u003e\n\n# Control\n\nControl of **vux** is handled by signals, usually through shell or\nwindow manager key bindings such as:\n\n  kill -HUP \\`cat ~/.vux/vux.pid\\`  \n  kill -INT \\`cat ~/.vux/vux.pid\\`\n\nFor a wider range of control, the **vuxctl** program is available.\nSee **vuxctl(1)** for details.\n\n\u003ca name=\"signals\"\u003e\u003c/a\u003e\n\n### Signals\n\n\n* **HUP vux**  \n  skip current song and lower its rating\n* **INT vux**  \n  exit vux, end current song without changing its rating and save current\n  scorelist\n* **INT player**  \n  skip current song but increase the rating (only works when player exits\n  0 after receiving **SIGINT** — defaults for player are ogg123 and\n  mpg321, which do)\n\n\u003ca name=\"display\"\u003e\u003c/a\u003e\n\n# Display\n\nWhen playing songs, **vux** displays the following:\n\n* **decision line**  \n  While vux is searching for a song to play at random, the following\n  characters are printed:\n* **x**  \n  Only used with **-w thresh**.  Chosen song was below the reprieve\n  threshold.\n* **.**  \n  Chosen song failed its percent chance to be played.  With -w\n  thresh, chosen song was below the threshold, above the reprieve\n  threshold and failed the random reprieve chance.\n* **!**  \n  Only used with **-w thresh**.  Chosen song was below the threshold,\n  above the reprieve threshold and passed the random reprieve chance.\n  This song will be played unless the **!** is followed by a **:**.\n* **+**  \n  Chosen song succeeded in its percent chance.  With **-w thresh**,\n  chosen song was above the threshold.  This song will be played unless\n  the **+** is followed by a **:**.\n* **:**  \n  Chosen song failed the repeat test.\n* **~**  \n  Only used with **-W age**.  Chosen song did not meet the minimum age,\n  but the age bypass was reached and the song will be played anyway.\n* **-**  \n  Only used with **-P**.  Chosen song has no age value, the rating\n  check will be skipped and the song will be played.\n* **status line with -w bell and -W age**  \n  current rating/percent chance/mean/standard deviation/age\n* **status line with -w thresh and -W age**  \n  current rating/threshold/mean/reprieve threshold/age\n* **status line with -w bell and -W count**  \n  current rating/percent chance/mean/standard deviation\n* **status line with -w thresh and -W count**  \n  current rating/threshold/mean/reprieve threshold\n* **path to song file**  \n  Path to song file up to the last forward slash.\n* **filename**  \n  Filename of song.\n* **player output**  \n  Normal player output.\n* **new rating**  \n  If rating updates are enabled, the new rating is displayed after the\n  song ends.\n* Output from **vuxctl** commands are displayed as they occur.  \n\n\u003ca name=\"mechanics\"\u003e\u003c/a\u003e\n\n# Mechanics\n\n**vux** uses simple algorithms to decide what song to play and to\ndetermine how much to change the rating.  Two things decide what songs\nwill be played: the rating method and the repeat-avoidance method.  By\ndefault, **vux** uses the bell curve rating method and the age\nrepeat-avoidance method.\n\n\u003ca name=\"choosing-a-song-by-rating-with-w-bell\"\u003e\u003c/a\u003e\n\n### Choosing a Song by Rating with \\-w bell\n\nUpon choosing a song at random, **vux** calculates the mean and\nstandard deviation for all ratings in the scorelist.  **vux** then\napplies a simplified bell curve model to the song's rating, to determine\nits percent chance of playing.  As the rating approaches +3 standard\ndeviations from the mean, the chance of playing approaches 100%.  As the\nrating approaches -3 standard deviations from the mean, the chance of\nplaying aproaches 0%.  If the song fails its percent chance, the song is\nnot played and another is picked at random and the process repeats.\n\n\u003ca name=\"choosing-a-song-by-rating-with-w-thresh\"\u003e\u003c/a\u003e\n\n### Choosing a Song by Rating with \\-w thresh\n\n**vux** uses 2 floating thresholds, the _threshold_ and the reprieve\nthreshold:\n\n         threshold = ( mean + standard deviation )  \nreprieve threshold = ( mean - standard deviation )\n\nThese values are calculated before choosing a song and divide the\nscorelist into three sections:\n\n* **rating \u0026gt;= threshold**  \n  Always play if picked at random.\n* **rating \u0026lt; threshold and \u0026gt;= reprieve threshold**  \n  1 in 10 (default) chance of playing if picked at random.\n* **rating \u0026lt; reprieve threshold**  \n  Never play if picked at random.\n\nIf the song does not qualify to be played, another song is picked at\nrandom and the process repeats.\n\n\u003ca name=\"choosing-a-song-by-rating-with-w-middle\"\u003e\u003c/a\u003e\n\n### Choosing a Song by Rating with \\-w middle\n\nThis is the simplest rating method.  Rating probabilities are determined\nby these variables (defaults shown):\n\n      max_score=100  \n      min_score=0  \n      bend_factor=10  \n      end_mult=1.5  \n      middle_mult=1.1  \n\n**vux** takes the song's rating and uses that as its probability of\nplaying (if **max\\_score** and **min\\_score** are not 100 and 0\nrespectively, **vux** first extrapolates it into a 0-100 scale.)  This\nprobability is modifed by multiplying it either by **end\\_mult** or\n**middle\\_mult**.  **middle\\_mult** is used for ratings that are\nbetween middle rating + **bend\\_factor** and middle rating -\n**bend\\_factor**.\n\n\u003ca name=\"avoiding-repeats-with-w-age\"\u003e\u003c/a\u003e\n\n### Avoiding repeats with \\-W age\n\nAfter a song is played, **vux** associates a timestamp with the song.\nWhen the song is chosen again, the timestamp is subtracted from the\ncurrent time and compared to **minimum age**.  If the result is not\ngreater that **minimum age**, the song is not played.\n\n\u003ca name=\"avoiding-repeats-with-w-count\"\u003e\u003c/a\u003e\n\n### Avoiding repeats with \\-W count\n\nAfter a song is played, **vux** associates a number with the song.\nThis number is set with **-N** and defaults to 10.  When the song is\nchosen again, the number is decremented and the song is not played.\nOnce the number reaches 0, the song will be available to play again.\n\n\u003ca name=\"changing-ratings\"\u003e\u003c/a\u003e\n\n### Changing Ratings\n\nRating changes are controlled by these variables (defaults shown):\n\n      max_score=100  \n      min_score=0  \ndecrease_factor=10  \nincrease_factor=10\n\nWhen a song is skipped, its rating changes according to this formula:\n\n**decrease = integer of(current_rating / - decrease_factor)**\n\nWith **-m accelerated**, the following formula is used instead:\n\n**x = current_rating - min_score**  \n**y = max_score - current_rating**  \n**decrease = integer of(maximum of(1,(minimum of(x,y)/2)) * -1**\n\nWith **-m inverse**, the following formula is used instead:\n\n**x = max_score - min_score**  \n**y = absolute value of ( current_rating - x )**  \n**decrease = integer of( y / decrease_factor ) - 1 ) * -1**\n\nWhen a song is played all the way through (or the player is sent a\nSIGINT), its rating changes according to this formula:\n\n**increase = integer of((max_score - current_rating) / increase_factor)**\n\nWith **-m accelerated**, the following formula is used instead:\n\n**x = current_rating - min_score**  \n**y = max_score - current_rating**  \n**increase = integer of(maximum of(1,(minimum of(x,y)/2))**\n\nWith **-m inverse**, the following formula is used instead:\n\n**x = max_score - min_score**  \n**y = absolute value of ( current_rating - x )**  \n**increase = integer of( y / increase_factor ) + 1 )**\n\n\n\u003ca name=\"diagnostics\"\u003e\u003c/a\u003e\n\n# Diagnostics\n\n**vux** will exit 0 if there are no errors.  Otherwise, the following\nexit codes are used:\n\n* **1**  \n  Usage error.\n* **2**  \n  Unable to create vux working directory.\n* **3**  \n  Scorelist lockfile already exists.\n* **4**  \n  Unable to load scorelist.\n* **5**  \n  No matching songs found with **-e**.\n* **6**  \n  Unable to open socket.\n\n\u003ca name=\"examples\"\u003e\u003c/a\u003e\n\n# Examples\n\n\n* **vux -x generate**  \n  Generate a new scorelist from $HOME/.vux/playlist and exit.\n* **vux -x ratings**  \n  Show song ratings and exit.\n* **vux -x merge -RU 60 -p $HOME/.vux/newsongs**  \n  Merge $HOME/.vux/newsongs with $HOME/.vux/scorelist, adding new songs\n  with a rating of 60, show ratings after merging and exit.\n* **vux -cdS**  \n  Play songs, but do not choose songs based on rating, update ratings or\n  save the scorelist.\n* **vux -jbA**  \n  Play songs, but do not avoid repeats based on age, update ages or save\n  the agelist.\n* **vux -W count -jbC**  \n  Play songs, but do not avoid repeats based on count, update counts or\n  save the countlist.\n* **vux -M 4d -G -1**  \n  Do not repeat songs for 4 days, display ages in days and never bypass\n  age checking.\n* **vux -W count -N 20**  \n  Do not repeat songs for 20 attempts.\n* **vux -k**  \n  Do not update age on skipped songs.\n* **vux -t 10 -T 20**  \n  Add 10% to the percent chance to play songs above the mean and subtract\n  20% from the percent chance to play songs below the mean.\n* **vux -w thresh -t 10 -T -20**  \n  Use the threshold rating method, add 10 to threshold and subtract 20\n  from reprieve threshold.\n* **vux -w thresh -T std_dev**  \n  Use threshold rating method, add current standard deviation value of all\n  ratings to reprieve threshold, limiting song choice to mean and above.\n* **vux -dbnSAV**  \n  Do not change ratings or ages, do not play music and do not save\n  scorelist or agelist.  This will show what vux would do without\n  actually playing anything.\n* **vux -e '*Artist/Album*'**  \n  Only consider songs matching *Artist/Album*.\n* **vux -e '*Artist/(Album1|Album2)*'**  \n  Only consider songs matching *Artist/Album1* or *Artist/Album2*.\n* **vux -cje '(#i)*whale*'**  \n  Play songs with whale in the pathname, ignoring case, rating and age.\n* **vux -cjnVFe '(#i)*purse*'**  \n  Choose songs with purse in the pathname, ignoring case, rating and age.\n  Do not actually play the songs, but display the song name and lower its\n  rating.  This will continue choosing songs from the selection and\n  lowering ratings indefinitely.\n* **vux -x force -e '*Artist*'**  \n  Increase the rating of each song matching *Artist* once, using the\n  conservative increase method, then exit.\n* **vux -x force -e '*Artist*' -F**  \n  Decrease the rating of each song matching *Artist* once, using the\n  conservative decrease method, then exit.\n* **vux -x force -e '*Artist*' -f 100**  \n  Set the rating of each song matching *Artist* to 100, then exit.\n\n\u003ca name=\"bugs\"\u003e\u003c/a\u003e\n\n# Bugs\n\nUse the Debian Bug Tracking System for reporting bugs and making\nsuggestions.\n\n\u003ca name=\"see-also\"\u003e\u003c/a\u003e\n\n# See Also\n\n**zshexpn(1), vuxctl(1)**\n\n\u003ca name=\"files\"\u003e\u003c/a\u003e\n\n# Files\n\n\n* /etc/vuxrc  \n  system configuration file\n* $HOME/.vux/vuxrc  \n  user configuration file\n* $HOME/.vux/playlist  \n  default playlist to generate, merge or weed scorefiles from — this is\n  never modified by vux\n* $HOME/.vux/scorelist  \n  default scorelist\n* $HOME/.vux/agelist  \n  default agelist\n* $HOME/.vux/countlist  \n  default countlist\n* $HOME/.vux/missing  \n  default missing file log\n* $HOME/.vux/*.bak  \n  default backup file; made before saving\n* $HOME/.vux/*.lock  \n  default lockfile preventing a file save or load while saving\n* $HOME/.vux/vux.pid  \n  file containing PID of any vux process using -x play\n* $HOME/.vux/ctl  \n  vux control socket\n\n\u003ca name=\"author\"\u003e\u003c/a\u003e\n\n# Author\n\nThis manual page was written by Brian Nelson \u0026lt;[bnelson@bloodclot.net](mailto:bnelson@bloodclot.net)\u0026gt;,\nfor the Debian GNU/Linux system (but may be used by others).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnemethf%2Fvux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnemethf%2Fvux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnemethf%2Fvux/lists"}