[R/Analytics.R:2:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L2) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/Analytics.R:3:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
#' \code{Analytics} plays a short sound which is useful if you want to get notified,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Analytics.R:3:85:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L3) *style:* **Trailing whitespace is superfluous.**
```r
#' \code{Analytics} plays a short sound which is useful if you want to get notified,
                                                                                ^
```
[R/Analytics.R:7:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
#' If \code{Analytics} is not able to play the sound a warning is issued rather than
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Analytics.R:7:85:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L7) *style:* **Trailing whitespace is superfluous.**
```r
#' If \code{Analytics} is not able to play the sound a warning is issued rather than
                                                                                ^
```
[R/Analytics.R:11:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L11) *style:* **Lines should not be more than 80 characters.**
```r
#' @param sound character string or number specifying what sound to be played by
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Analytics.R:11:81:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L11) *style:* **Trailing whitespace is superfluous.**
```r
#' @param sound character string or number specifying what sound to be played by
                                                                                ^
```
[R/Analytics.R:12:80:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L12) *style:* **Trailing whitespace is superfluous.**
```r
#'   either specifying one of the built in sounds, specifying the path to a wav
                                                                               ^
```
[R/Analytics.R:16:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L16) *style:* **Lines should not be more than 80 characters.**
```r
#'   or url, a random sound will be played. Currently \code{Analytics} can only handle
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Analytics.R:25:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L25) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/Analytics.R:31:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L31) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/Analytics.R:34:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L34) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/Analytics.R:43:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L43) *style:* **Variable or function name should be snake_case.**
```r
Analytics <- function(sound = 1, expr = NULL) {
^~~~~~~~~
```
[R/Analytics.R:44:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L44) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/Analytics.R:49:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L49) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/Analytics.R:51:5:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L51) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(is.na(sounds[sound]) || length(sounds[sound]) != 1) {
    ^
```
[R/Analytics.R:52:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L52) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(is.character(sound)) {
      ^
```
[R/Analytics.R:54:9:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L54) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      if(file.exists(sound)) {
        ^
```
[R/Analytics.R:56:16:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L56) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      } else if(grepl("^https://", sound)) {
               ^
```
[R/Analytics.R:58:16:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L58) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      } else if(grepl("^http://", sound)) {
               ^
```
[R/Analytics.R:59:38:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L59) *style:* **Put spaces around all infix operators.**
```r
        temp_file <- tempfile(pattern="")
                                    ~^~
```
[R/Analytics.R:60:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L60) *style:* **Lines should not be more than 80 characters.**
```r
        if(download.file(sound, destfile = temp_file, quiet = TRUE) == 0) { # The file was successfully downloaded
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Analytics.R:60:11:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L60) *style:* **Place a space before left parenthesis, except in a function call.**
```r
        if(download.file(sound, destfile = temp_file, quiet = TRUE) == 0) { # The file was successfully downloaded
          ^
```
[R/Analytics.R:60:75:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L60) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
        if(download.file(sound, destfile = temp_file, quiet = TRUE) == 0) { # The file was successfully downloaded
                                                                          ^
```
[R/Analytics.R:66:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L66) *style:* **Lines should not be more than 80 characters.**
```r
        warning(paste('"', sound, '" is not a valid sound nor path, playing a random sound instead.', sep = ""))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Analytics.R:70:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L70) *style:* **Lines should not be more than 80 characters.**
```r
    sound_path <- system.file(paste("sounds/AFMS/", sounds[sound], sep=""), package="geekr")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Analytics.R:70:71:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L70) *style:* **Put spaces around all infix operators.**
```r
    sound_path <- system.file(paste("sounds/AFMS/", sounds[sound], sep=""), package="geekr")
                                                                     ~^~
```
[R/Analytics.R:70:84:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L70) *style:* **Put spaces around all infix operators.**
```r
    sound_path <- system.file(paste("sounds/AFMS/", sounds[sound], sep=""), package="geekr")
                                                                                ~^~
```
[R/Analytics.R:72:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L72) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/Analytics.R:73:5:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L73) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(is.null(sound_path)) { # play a random sound
    ^
```
[R/Analytics.R:73:27:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L73) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
  if(is.null(sound_path)) { # play a random sound
                          ^
```
[R/Analytics.R:74:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L74) *style:* **Lines should not be more than 80 characters.**
```r
    sound_path <- system.file(paste("sounds/AFMS/", sample(sounds, size=1), sep=""), package="geekr")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Analytics.R:74:72:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L74) *style:* **Put spaces around all infix operators.**
```r
    sound_path <- system.file(paste("sounds/AFMS/", sample(sounds, size=1), sep=""), package="geekr")
                                                                      ~^~
```
[R/Analytics.R:74:80:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L74) *style:* **Put spaces around all infix operators.**
```r
    sound_path <- system.file(paste("sounds/AFMS/", sample(sounds, size=1), sep=""), package="geekr")
                                                                              ~^~
```
[R/Analytics.R:74:93:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L74) *style:* **Put spaces around all infix operators.**
```r
    sound_path <- system.file(paste("sounds/AFMS/", sample(sounds, size=1), sep=""), package="geekr")
                                                                                ~^~
```
[R/Analytics.R:76:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L76) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/Analytics.R:78:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L78) *style:* **Lines should not be more than 80 characters.**
```r
    warning("Analytics() could not play the sound due to the following error:\n", ex)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Analytics.R:83:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L83) *warning:* **no visible global function definition for ‘str_detect’**
```r
  str_detect(fname, "\\.wav$")
  ^~~~~~~~~~
```
[R/Analytics.R:87:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L87) *style:* **Lines should not be more than 80 characters.**
```r
  system(paste("vlc -Idummy --no-loop --no-repeat --playlist-autostart --no-media-library --play-and-exit", fname),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Analytics.R:87:116:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L87) *style:* **Trailing whitespace is superfluous.**
```r
  system(paste("vlc -Idummy --no-loop --no-repeat --playlist-autostart --no-media-library --play-and-exit", fname),
                                                                                ^
```
[R/Analytics.R:88:45:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L88) *style:* **Put spaces around all infix operators.**
```r
         ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
                                           ~^~
```
[R/Analytics.R:88:51:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L88) *style:* **Commas should always have a space after.**
```r
         ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
                                                  ^
```
[R/Analytics.R:93:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L93) *style:* **Lines should not be more than 80 characters.**
```r
  system(paste("paplay ", fname), ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Analytics.R:93:70:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L93) *style:* **Put spaces around all infix operators.**
```r
  system(paste("paplay ", fname), ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
                                                                    ~^~
```
[R/Analytics.R:93:76:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L93) *style:* **Commas should always have a space after.**
```r
  system(paste("paplay ", fname), ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
                                                                           ^
```
[R/Analytics.R:98:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L98) *style:* **Lines should not be more than 80 characters.**
```r
  system(paste("aplay --buffer-time=48000 -N -q", fname), ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Analytics.R:98:94:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L98) *style:* **Put spaces around all infix operators.**
```r
  system(paste("aplay --buffer-time=48000 -N -q", fname), ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
                                                                                ~^~
```
[R/Analytics.R:98:100:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L98) *style:* **Commas should always have a space after.**
```r
  system(paste("aplay --buffer-time=48000 -N -q", fname), ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
                                                                                ^
```
[R/Analytics.R:103:10:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L103) *warning:* **no visible global function definition for ‘load.wave’**
```r
  sfx <- load.wave(fname)
         ^~~~~~~~~
```
[R/Analytics.R:104:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L104) *warning:* **no visible global function definition for ‘play’, Did you mean 'lag'?**
```r
  play(sfx)
  ^~~~
```
[R/Analytics.R:108:5:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L108) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(Sys.info()["sysname"] == "Linux") {
    ^
```
[R/Analytics.R:109:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L109) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(is_wav_fname(fname) && nchar(Sys.which("paplay")) >= 1) {
      ^
```
[R/Analytics.R:110:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L110) *warning:* **no visible global function definition for ‘play_paplay’**
```r
      play_paplay(fname)
      ^~~~~~~~~~~
```
[R/Analytics.R:111:14:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L111) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    } else if(is_wav_fname(fname) && nchar(Sys.which("aplay")) >= 1) {
             ^
```
[R/Analytics.R:112:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L112) *warning:* **no visible global function definition for ‘play_aplay’**
```r
      play_aplay(fname)
      ^~~~~~~~~~
```
[R/Analytics.R:113:14:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L113) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    } else if(nchar(Sys.which("vlc")) >= 1) {
             ^
```
[R/Analytics.R:114:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L114) *warning:* **no visible global function definition for ‘play_vlc’**
```r
      play_vlc(fname)
      ^~~~~~~~
```
[R/Analytics.R:116:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L116) *warning:* **no visible global function definition for ‘play_audio’**
```r
      play_audio(fname)
      ^~~~~~~~~~
```
[R/Analytics.R:119:5:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Analytics.R#L119) *warning:* **no visible global function definition for ‘play_audio’**
```r
    play_audio(fname)
    ^~~~~~~~~~
```
[R/ChronoTrigger.R:2:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L2) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/ChronoTrigger.R:3:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
#' \code{ChronoTrigger} plays a short sound which is useful if you want to get notified,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ChronoTrigger.R:3:89:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L3) *style:* **Trailing whitespace is superfluous.**
```r
#' \code{ChronoTrigger} plays a short sound which is useful if you want to get notified,
                                                                                ^
```
[R/ChronoTrigger.R:7:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
#' If \code{ChronoTrigger} is not able to play the sound a warning is issued rather than
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ChronoTrigger.R:7:89:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L7) *style:* **Trailing whitespace is superfluous.**
```r
#' If \code{ChronoTrigger} is not able to play the sound a warning is issued rather than
                                                                                ^
```
[R/ChronoTrigger.R:11:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L11) *style:* **Lines should not be more than 80 characters.**
```r
#' @param sound character string or number specifying what sound to be played by
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ChronoTrigger.R:11:81:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L11) *style:* **Trailing whitespace is superfluous.**
```r
#' @param sound character string or number specifying what sound to be played by
                                                                                ^
```
[R/ChronoTrigger.R:12:80:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L12) *style:* **Trailing whitespace is superfluous.**
```r
#'   either specifying one of the built in sounds, specifying the path to a wav
                                                                               ^
```
[R/ChronoTrigger.R:18:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L18) *style:* **Lines should not be more than 80 characters.**
```r
#'   \code{"black_tyrano"} \item \code{"continuum"} \item \code{"destruction"} \item
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ChronoTrigger.R:22:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L22) *style:* **Lines should not be more than 80 characters.**
```r
#'   or url, a random sound will be played. Currently \code{ChronoTrigger} can only handle
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ChronoTrigger.R:31:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L31) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/ChronoTrigger.R:37:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L37) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/ChronoTrigger.R:40:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L40) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/ChronoTrigger.R:49:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L49) *style:* **Variable or function name should be snake_case.**
```r
ChronoTrigger <- function(sound = 1, expr = NULL) {
^~~~~~~~~~~~~
```
[R/ChronoTrigger.R:50:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L50) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/ChronoTrigger.R:72:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L72) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/ChronoTrigger.R:74:5:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L74) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(is.na(sounds[sound]) || length(sounds[sound]) != 1) {
    ^
```
[R/ChronoTrigger.R:75:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L75) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(is.character(sound)) {
      ^
```
[R/ChronoTrigger.R:77:9:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L77) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      if(file.exists(sound)) {
        ^
```
[R/ChronoTrigger.R:79:16:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L79) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      } else if(grepl("^https://", sound)) {
               ^
```
[R/ChronoTrigger.R:81:16:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L81) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      } else if(grepl("^http://", sound)) {
               ^
```
[R/ChronoTrigger.R:82:38:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L82) *style:* **Put spaces around all infix operators.**
```r
        temp_file <- tempfile(pattern="")
                                    ~^~
```
[R/ChronoTrigger.R:83:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L83) *style:* **Lines should not be more than 80 characters.**
```r
        if(download.file(sound, destfile = temp_file, quiet = TRUE) == 0) { # The file was successfully downloaded
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ChronoTrigger.R:83:11:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L83) *style:* **Place a space before left parenthesis, except in a function call.**
```r
        if(download.file(sound, destfile = temp_file, quiet = TRUE) == 0) { # The file was successfully downloaded
          ^
```
[R/ChronoTrigger.R:83:75:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L83) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
        if(download.file(sound, destfile = temp_file, quiet = TRUE) == 0) { # The file was successfully downloaded
                                                                          ^
```
[R/ChronoTrigger.R:89:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L89) *style:* **Lines should not be more than 80 characters.**
```r
        warning(paste('"', sound, '" is not a valid sound nor path, playing a random sound instead.', sep = ""))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ChronoTrigger.R:93:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L93) *style:* **Lines should not be more than 80 characters.**
```r
    sound_path <- system.file(paste("sounds/CT/", sounds[sound], sep=""), package="geekr")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ChronoTrigger.R:93:69:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L93) *style:* **Put spaces around all infix operators.**
```r
    sound_path <- system.file(paste("sounds/CT/", sounds[sound], sep=""), package="geekr")
                                                                   ~^~
```
[R/ChronoTrigger.R:93:82:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L93) *style:* **Put spaces around all infix operators.**
```r
    sound_path <- system.file(paste("sounds/CT/", sounds[sound], sep=""), package="geekr")
                                                                                ~^~
```
[R/ChronoTrigger.R:95:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L95) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/ChronoTrigger.R:96:5:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L96) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(is.null(sound_path)) { # play a random sound
    ^
```
[R/ChronoTrigger.R:96:27:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L96) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
  if(is.null(sound_path)) { # play a random sound
                          ^
```
[R/ChronoTrigger.R:97:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L97) *style:* **Lines should not be more than 80 characters.**
```r
    sound_path <- system.file(paste("sounds/CT/", sample(sounds, size=1), sep=""), package="geekr")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ChronoTrigger.R:97:70:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L97) *style:* **Put spaces around all infix operators.**
```r
    sound_path <- system.file(paste("sounds/CT/", sample(sounds, size=1), sep=""), package="geekr")
                                                                    ~^~
```
[R/ChronoTrigger.R:97:78:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L97) *style:* **Put spaces around all infix operators.**
```r
    sound_path <- system.file(paste("sounds/CT/", sample(sounds, size=1), sep=""), package="geekr")
                                                                            ~^~
```
[R/ChronoTrigger.R:97:91:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L97) *style:* **Put spaces around all infix operators.**
```r
    sound_path <- system.file(paste("sounds/CT/", sample(sounds, size=1), sep=""), package="geekr")
                                                                                ~^~
```
[R/ChronoTrigger.R:99:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L99) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/ChronoTrigger.R:101:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L101) *style:* **Lines should not be more than 80 characters.**
```r
    warning("ChronoTrigger() could not play the sound due to the following error:\n", ex)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ChronoTrigger.R:106:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L106) *warning:* **no visible global function definition for ‘str_detect’**
```r
  str_detect(fname, "\\.wav$")
  ^~~~~~~~~~
```
[R/ChronoTrigger.R:110:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L110) *style:* **Lines should not be more than 80 characters.**
```r
  system(paste("vlc -Idummy --no-loop --no-repeat --playlist-autostart --no-media-library --play-and-exit", fname),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ChronoTrigger.R:110:116:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L110) *style:* **Trailing whitespace is superfluous.**
```r
  system(paste("vlc -Idummy --no-loop --no-repeat --playlist-autostart --no-media-library --play-and-exit", fname),
                                                                                ^
```
[R/ChronoTrigger.R:111:45:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L111) *style:* **Put spaces around all infix operators.**
```r
         ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
                                           ~^~
```
[R/ChronoTrigger.R:111:51:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L111) *style:* **Commas should always have a space after.**
```r
         ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
                                                  ^
```
[R/ChronoTrigger.R:116:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L116) *style:* **Lines should not be more than 80 characters.**
```r
  system(paste("paplay ", fname), ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ChronoTrigger.R:116:70:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L116) *style:* **Put spaces around all infix operators.**
```r
  system(paste("paplay ", fname), ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
                                                                    ~^~
```
[R/ChronoTrigger.R:116:76:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L116) *style:* **Commas should always have a space after.**
```r
  system(paste("paplay ", fname), ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
                                                                           ^
```
[R/ChronoTrigger.R:121:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L121) *style:* **Lines should not be more than 80 characters.**
```r
  system(paste("aplay --buffer-time=48000 -N -q", fname), ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ChronoTrigger.R:121:94:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L121) *style:* **Put spaces around all infix operators.**
```r
  system(paste("aplay --buffer-time=48000 -N -q", fname), ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
                                                                                ~^~
```
[R/ChronoTrigger.R:121:100:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L121) *style:* **Commas should always have a space after.**
```r
  system(paste("aplay --buffer-time=48000 -N -q", fname), ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
                                                                                ^
```
[R/ChronoTrigger.R:126:10:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L126) *warning:* **no visible global function definition for ‘load.wave’**
```r
  sfx <- load.wave(fname)
         ^~~~~~~~~
```
[R/ChronoTrigger.R:127:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L127) *warning:* **no visible global function definition for ‘play’, Did you mean 'lag'?**
```r
  play(sfx)
  ^~~~
```
[R/ChronoTrigger.R:131:5:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L131) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(Sys.info()["sysname"] == "Linux") {
    ^
```
[R/ChronoTrigger.R:132:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L132) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(is_wav_fname(fname) && nchar(Sys.which("paplay")) >= 1) {
      ^
```
[R/ChronoTrigger.R:133:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L133) *warning:* **no visible global function definition for ‘play_paplay’**
```r
      play_paplay(fname)
      ^~~~~~~~~~~
```
[R/ChronoTrigger.R:134:14:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L134) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    } else if(is_wav_fname(fname) && nchar(Sys.which("aplay")) >= 1) {
             ^
```
[R/ChronoTrigger.R:135:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L135) *warning:* **no visible global function definition for ‘play_aplay’**
```r
      play_aplay(fname)
      ^~~~~~~~~~
```
[R/ChronoTrigger.R:136:14:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L136) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    } else if(nchar(Sys.which("vlc")) >= 1) {
             ^
```
[R/ChronoTrigger.R:137:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L137) *warning:* **no visible global function definition for ‘play_vlc’**
```r
      play_vlc(fname)
      ^~~~~~~~
```
[R/ChronoTrigger.R:139:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L139) *warning:* **no visible global function definition for ‘play_audio’**
```r
      play_audio(fname)
      ^~~~~~~~~~
```
[R/ChronoTrigger.R:142:5:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/ChronoTrigger.R#L142) *warning:* **no visible global function definition for ‘play_audio’**
```r
    play_audio(fname)
    ^~~~~~~~~~
```
[R/SuperMario.R:2:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L2) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/SuperMario.R:3:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
#' \code{SuperMario} plays a short sound which is useful if you want to get notified,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/SuperMario.R:3:86:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L3) *style:* **Trailing whitespace is superfluous.**
```r
#' \code{SuperMario} plays a short sound which is useful if you want to get notified,
                                                                                ^
```
[R/SuperMario.R:7:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
#' If \code{SuperMario} is not able to play the sound a warning is issued rather than
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/SuperMario.R:7:86:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L7) *style:* **Trailing whitespace is superfluous.**
```r
#' If \code{SuperMario} is not able to play the sound a warning is issued rather than
                                                                                ^
```
[R/SuperMario.R:11:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L11) *style:* **Lines should not be more than 80 characters.**
```r
#' @param sound character string or number specifying what sound to be played by
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/SuperMario.R:11:81:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L11) *style:* **Trailing whitespace is superfluous.**
```r
#' @param sound character string or number specifying what sound to be played by
                                                                                ^
```
[R/SuperMario.R:12:80:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L12) *style:* **Trailing whitespace is superfluous.**
```r
#'   either specifying one of the built in sounds, specifying the path to a wav
                                                                               ^
```
[R/SuperMario.R:23:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L23) *style:* **Lines should not be more than 80 characters.**
```r
#'   or url, a random sound will be played. Currently \code{SuperMario} can only handle
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/SuperMario.R:32:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L32) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/SuperMario.R:38:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L38) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/SuperMario.R:41:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L41) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/SuperMario.R:50:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L50) *style:* **Variable or function name should be snake_case.**
```r
SuperMario <- function(sound = 1, expr = NULL) {
^~~~~~~~~~
```
[R/SuperMario.R:51:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L51) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/SuperMario.R:75:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L75) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/SuperMario.R:77:5:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L77) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(is.na(sounds[sound]) || length(sounds[sound]) != 1) {
    ^
```
[R/SuperMario.R:78:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L78) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(is.character(sound)) {
      ^
```
[R/SuperMario.R:80:9:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L80) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      if(file.exists(sound)) {
        ^
```
[R/SuperMario.R:82:16:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L82) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      } else if(grepl("^https://", sound)) {
               ^
```
[R/SuperMario.R:84:16:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L84) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      } else if(grepl("^http://", sound)) {
               ^
```
[R/SuperMario.R:85:38:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L85) *style:* **Put spaces around all infix operators.**
```r
        temp_file <- tempfile(pattern="")
                                    ~^~
```
[R/SuperMario.R:86:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L86) *style:* **Lines should not be more than 80 characters.**
```r
        if(download.file(sound, destfile = temp_file, quiet = TRUE) == 0) { # The file was successfully downloaded
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/SuperMario.R:86:11:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L86) *style:* **Place a space before left parenthesis, except in a function call.**
```r
        if(download.file(sound, destfile = temp_file, quiet = TRUE) == 0) { # The file was successfully downloaded
          ^
```
[R/SuperMario.R:86:75:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L86) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
        if(download.file(sound, destfile = temp_file, quiet = TRUE) == 0) { # The file was successfully downloaded
                                                                          ^
```
[R/SuperMario.R:92:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L92) *style:* **Lines should not be more than 80 characters.**
```r
        warning(paste('"', sound, '" is not a valid sound nor path, playing a random sound instead.', sep = ""))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/SuperMario.R:96:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L96) *style:* **Lines should not be more than 80 characters.**
```r
    sound_path <- system.file(paste("sounds/SMB/", sounds[sound], sep=""), package="geekr")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/SuperMario.R:96:70:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L96) *style:* **Put spaces around all infix operators.**
```r
    sound_path <- system.file(paste("sounds/SMB/", sounds[sound], sep=""), package="geekr")
                                                                    ~^~
```
[R/SuperMario.R:96:83:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L96) *style:* **Put spaces around all infix operators.**
```r
    sound_path <- system.file(paste("sounds/SMB/", sounds[sound], sep=""), package="geekr")
                                                                                ~^~
```
[R/SuperMario.R:98:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L98) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/SuperMario.R:99:5:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L99) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(is.null(sound_path)) { # play a random sound
    ^
```
[R/SuperMario.R:99:27:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L99) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
  if(is.null(sound_path)) { # play a random sound
                          ^
```
[R/SuperMario.R:100:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L100) *style:* **Lines should not be more than 80 characters.**
```r
    sound_path <- system.file(paste("sounds/SMB/", sample(sounds, size=1), sep=""), package="geekr")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/SuperMario.R:100:71:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L100) *style:* **Put spaces around all infix operators.**
```r
    sound_path <- system.file(paste("sounds/SMB/", sample(sounds, size=1), sep=""), package="geekr")
                                                                     ~^~
```
[R/SuperMario.R:100:79:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L100) *style:* **Put spaces around all infix operators.**
```r
    sound_path <- system.file(paste("sounds/SMB/", sample(sounds, size=1), sep=""), package="geekr")
                                                                             ~^~
```
[R/SuperMario.R:100:92:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L100) *style:* **Put spaces around all infix operators.**
```r
    sound_path <- system.file(paste("sounds/SMB/", sample(sounds, size=1), sep=""), package="geekr")
                                                                                ~^~
```
[R/SuperMario.R:102:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L102) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/SuperMario.R:104:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L104) *style:* **Lines should not be more than 80 characters.**
```r
    warning("SuperMario() could not play the sound due to the following error:\n", ex)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/SuperMario.R:109:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L109) *warning:* **no visible global function definition for ‘str_detect’**
```r
  str_detect(fname, "\\.wav$")
  ^~~~~~~~~~
```
[R/SuperMario.R:113:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L113) *style:* **Lines should not be more than 80 characters.**
```r
  system(paste("vlc -Idummy --no-loop --no-repeat --playlist-autostart --no-media-library --play-and-exit", fname),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/SuperMario.R:113:116:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L113) *style:* **Trailing whitespace is superfluous.**
```r
  system(paste("vlc -Idummy --no-loop --no-repeat --playlist-autostart --no-media-library --play-and-exit", fname),
                                                                                ^
```
[R/SuperMario.R:114:45:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L114) *style:* **Put spaces around all infix operators.**
```r
         ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
                                           ~^~
```
[R/SuperMario.R:114:51:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L114) *style:* **Commas should always have a space after.**
```r
         ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
                                                  ^
```
[R/SuperMario.R:119:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L119) *style:* **Lines should not be more than 80 characters.**
```r
  system(paste("paplay ", fname), ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/SuperMario.R:119:70:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L119) *style:* **Put spaces around all infix operators.**
```r
  system(paste("paplay ", fname), ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
                                                                    ~^~
```
[R/SuperMario.R:119:76:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L119) *style:* **Commas should always have a space after.**
```r
  system(paste("paplay ", fname), ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
                                                                           ^
```
[R/SuperMario.R:124:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L124) *style:* **Lines should not be more than 80 characters.**
```r
  system(paste("aplay --buffer-time=48000 -N -q", fname), ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/SuperMario.R:124:94:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L124) *style:* **Put spaces around all infix operators.**
```r
  system(paste("aplay --buffer-time=48000 -N -q", fname), ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
                                                                                ~^~
```
[R/SuperMario.R:124:100:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L124) *style:* **Commas should always have a space after.**
```r
  system(paste("aplay --buffer-time=48000 -N -q", fname), ignore.stdout = TRUE, ignore.stderr=TRUE,wait = FALSE)
                                                                                ^
```
[R/SuperMario.R:129:10:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L129) *warning:* **no visible global function definition for ‘load.wave’**
```r
  sfx <- load.wave(fname)
         ^~~~~~~~~
```
[R/SuperMario.R:130:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L130) *warning:* **no visible global function definition for ‘play’, Did you mean 'lag'?**
```r
  play(sfx)
  ^~~~
```
[R/SuperMario.R:134:5:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L134) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(Sys.info()["sysname"] == "Linux") {
    ^
```
[R/SuperMario.R:135:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L135) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(is_wav_fname(fname) && nchar(Sys.which("paplay")) >= 1) {
      ^
```
[R/SuperMario.R:136:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L136) *warning:* **no visible global function definition for ‘play_paplay’**
```r
      play_paplay(fname)
      ^~~~~~~~~~~
```
[R/SuperMario.R:137:14:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L137) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    } else if(is_wav_fname(fname) && nchar(Sys.which("aplay")) >= 1) {
             ^
```
[R/SuperMario.R:138:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L138) *warning:* **no visible global function definition for ‘play_aplay’**
```r
      play_aplay(fname)
      ^~~~~~~~~~
```
[R/SuperMario.R:139:14:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L139) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    } else if(nchar(Sys.which("vlc")) >= 1) {
             ^
```
[R/SuperMario.R:140:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L140) *warning:* **no visible global function definition for ‘play_vlc’**
```r
      play_vlc(fname)
      ^~~~~~~~
```
[R/SuperMario.R:142:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L142) *warning:* **no visible global function definition for ‘play_audio’**
```r
      play_audio(fname)
      ^~~~~~~~~~
```
[R/SuperMario.R:145:5:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/SuperMario.R#L145) *warning:* **no visible global function definition for ‘play_audio’**
```r
    play_audio(fname)
    ^~~~~~~~~~
```
[R/Warcraft.R:2:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L2) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/Warcraft.R:3:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L3) *style:* **Lines should not be more than 80 characters.**
```r
#' \code{Warcraft} plays a short sound which is useful if you want to get notified,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Warcraft.R:3:84:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L3) *style:* **Trailing whitespace is superfluous.**
```r
#' \code{Warcraft} plays a short sound which is useful if you want to get notified,
                                                                                ^
```
[R/Warcraft.R:7:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
#' If \code{Warcraft} is not able to play the sound a warning is issued rather than
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Warcraft.R:7:84:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L7) *style:* **Trailing whitespace is superfluous.**
```r
#' If \code{Warcraft} is not able to play the sound a warning is issued rather than
                                                                                ^
```
[R/Warcraft.R:11:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L11) *style:* **Lines should not be more than 80 characters.**
```r
#' @param sound character string or number specifying what sound to be played by
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Warcraft.R:11:81:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L11) *style:* **Trailing whitespace is superfluous.**
```r
#' @param sound character string or number specifying what sound to be played by
                                                                                ^
```
[R/Warcraft.R:12:80:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L12) *style:* **Trailing whitespace is superfluous.**
```r
#'   either specifying one of the built in sounds, specifying the path to a wav
                                                                               ^
```
[R/Warcraft.R:19:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L19) *style:* **Lines should not be more than 80 characters.**
```r
#'   or url, a random sound will be played. Currently \code{Warcraft} can only handle
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Warcraft.R:28:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L28) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/Warcraft.R:34:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L34) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/Warcraft.R:37:3:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L37) *style:* **Trailing whitespace is superfluous.**
```r
#'
  ^
```
[R/Warcraft.R:46:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L46) *style:* **Variable or function name should be snake_case.**
```r
Warcraft <- function(sound = 1, expr = NULL) {
^~~~~~~~
```
[R/Warcraft.R:47:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L47) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/Warcraft.R:61:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L61) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/Warcraft.R:63:5:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L63) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(is.na(sounds[sound]) || length(sounds[sound]) != 1) {
    ^
```
[R/Warcraft.R:64:7:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L64) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(is.character(sound)) {
      ^
```
[R/Warcraft.R:66:9:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L66) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      if(file.exists(sound)) {
        ^
```
[R/Warcraft.R:68:16:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L68) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      } else if(grepl("^https://", sound)) {
               ^
```
[R/Warcraft.R:70:16:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L70) *style:* **Place a space before left parenthesis, except in a function call.**
```r
      } else if(grepl("^http://", sound)) {
               ^
```
[R/Warcraft.R:71:38:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L71) *style:* **Put spaces around all infix operators.**
```r
        temp_file <- tempfile(pattern="")
                                    ~^~
```
[R/Warcraft.R:72:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L72) *style:* **Lines should not be more than 80 characters.**
```r
        if(download.file(sound, destfile = temp_file, quiet = TRUE) == 0) { # The file was successfully downloaded
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Warcraft.R:72:11:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L72) *style:* **Place a space before left parenthesis, except in a function call.**
```r
        if(download.file(sound, destfile = temp_file, quiet = TRUE) == 0) { # The file was successfully downloaded
          ^
```
[R/Warcraft.R:72:75:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L72) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
        if(download.file(sound, destfile = temp_file, quiet = TRUE) == 0) { # The file was successfully downloaded
                                                                          ^
```
[R/Warcraft.R:78:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L78) *style:* **Lines should not be more than 80 characters.**
```r
        warning(paste('"', sound, '" is not a valid sound nor path, playing a random sound instead.', sep = ""))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Warcraft.R:82:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L82) *style:* **Lines should not be more than 80 characters.**
```r
    sound_path <- system.file(paste("sounds/Warcraft/", sounds[sound], sep=""), package="geekr")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Warcraft.R:82:75:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L82) *style:* **Put spaces around all infix operators.**
```r
    sound_path <- system.file(paste("sounds/Warcraft/", sounds[sound], sep=""), package="geekr")
                                                                         ~^~
```
[R/Warcraft.R:82:88:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L82) *style:* **Put spaces around all infix operators.**
```r
    sound_path <- system.file(paste("sounds/Warcraft/", sounds[sound], sep=""), package="geekr")
                                                                                ~^~
```
[R/Warcraft.R:84:1:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L84) *style:* **Trailing whitespace is superfluous.**
```r

^~
```
[R/Warcraft.R:85:5:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L85) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(is.null(sound_path)) { # play a random sound
    ^
```
[R/Warcraft.R:85:27:](https://github.com/mike-decarlo/geekr/blob/c13d97015da3a31395bfe7e19341b8f748279cca/R/Warcraft.R#L85) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
  if(is.null(sound_path)) { # play a random sound
                          ^
```


Tell me all


![](https://github.trello.services/images/mini-trello-icon.png) [Addition of Alarm Functionality](https://trello.com/c/hCxiNCZo/24-addition-of-alarm-functionality)


Uppercase?


great! let's add here
```py
host["recheck_at"] = datetime.datetime.now() + datetime.timedelta(minutes=5)
```
Then, you should check if the `"recheck_at"` time is older than `now()` and if so `"state"` should go back to `"running"`. 5 minutes ist just a testing value - for real use we'd want 1 day (but let's fix this later).


![](https://github.trello.services/images/mini-trello-icon.png) [Addition of Route Rating/Route Review Feature](https://trello.com/c/tceXAR34/25-addition-of-route-rating-route-review-feature)


The latter. It fits together with the fact that the game orchestrates whose turn it is.


@z3r0v01t
Here is how to find out your password for unlocking files:
https://blog.trendmicro.com/trendlabs-security-intelligence/slocker-mobile-ransomware-starts-mimicking-wannacry/
And my friend just renamed the encrypted files(picture.pngQQ2731...--picture.png)