This file is indexed.

/usr/share/audacity/plug-ins/delay.ny is in audacity-data 2.0.1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
;nyquist plug-in
;version 3
;type process
;categories "http://lv2plug.in/ns/lv2core#DelayPlugin"
;name "Delay..."
;action "Performing Delay Effect..."
;info "by Roger Dannenberg, modified by David R. Sky\nReleased under terms of the GNU General Public License Version 2 \nDelay type: 'bouncing ball' makes the echoes occur increasingly close\ntogether (faster); 'reverse bouncing ball' makes them occur increasingly far\napart (slower). In either bouncing ball effect, delay time is not time between\nechoes but the * maximum * delay time in bounces.\nApplying delay can cause clipping (distortion), especially when reducing the\ndecay value and using more echoes. It's normally best to use Effect > Amplify\nto set the peak amplitude to -6 dB before using delay.     

;control delay-type "Delay type" choice "regular,bouncing ball,reverse bouncing ball" 0
;control decay "Decay amount [dB; negative value increases volume]" real "" 6 -1 24
;control delay "Delay time [seconds]" real "" 0.5 0 5
;control shift "Pitch change per echo [semitones; negative value = lower, 0 is off]" real "" 0 -2 2
;control count "Number of echoes" int "" 5 1 30

; Delay by Roger B. Dannenberg
; modified by David R. Sky October 2007, 
; adding negative decay values, which gives delay effect
; increasing volume with each delay; and adding
; bouncing ball and reverse bouncing ball delay effects
; and pitch [semitone] change with each echo.
; modified by Richard Ash January 2008, removing all 
; normalization functions. 

; Note by Roger Dannenberg: this effect will use up memory proportional to
; delay * count, since that many samples must be buffered
; before the first block is freed.

; initialize empty error message
(setf error-msg "")


; check function: returns 1 on error
(defun check (arg min max)
(if (and (>= arg min) (<= arg max))
0 1))


; checking for erroneous user-input values:
(setf error-msg (if (= (check decay -1 24) 0)
error-msg 
(strcat error-msg 
(format nil "Decay value '~a' outside valid range -1.0 to 24.0 dB. 
" decay))))

(setf error-msg (if (= (check delay 0 5) 0)
error-msg 
(strcat error-msg 
(format nil "Delay value '~a' outside valid range 0.0 to 5.0 seconds. 
" delay))))

(setf error-msg (if (= (check shift -2 2) 0)
error-msg 
(strcat error-msg 
(format nil "Pitch change value '~a' outside valid range -2.0 to 2.0 semitones. 
" shift))))

(setf error-msg (if (= (check count 1 30) 0)
error-msg 
(strcat error-msg 
(format nil "Number of echoes '~a' outside valid range 1 to 30 echoes. 
" count))))
; finished error-checking

; if error-msg is longer than 0 characters,
; prepend opening message
(setf error-msg (if (> (length error-msg) 0)
(strcat "Error -\n\nYou have input at least one invalid value:
" error-msg)
error-msg))

(cond ; 1
((> (length error-msg) 0)
(format nil "~a" error-msg))

(t ; no input errors, perform delay

; convert shift value to a value the Nyquist code understands
(setf shift (expt 0.5 (/ shift 12.0)))

; for bouncing ball effects, set delay time to delay time/count
(setf delay (if (> delay-type 0)
(/ delay count) delay))



; function to stretch audio 
(defun change (sound shift)
(if (arrayp sound)
(vector
(force-srate 44100 (stretch-abs shift (sound (aref sound 0))))
(force-srate 44100 (stretch-abs shift (sound (aref sound 1)))))
(force-srate 44100 (stretch-abs shift (sound sound)))))


(cond ; 2
((= delay-type 0) ; regular delay
; delay function
(defun delays (s decay delay count shift)
  (if (= count 0) (cue s)
	 (sim (cue s)
			(loud decay (at delay (delays (change s shift) 
decay delay (- count 1) shift))))))

(stretch-abs 1 (delays s (- 0 decay) delay count shift)))


((= delay-type 1) ; bouncing ball delay
; bouncing ball delay function
(defun bounces (s decay delay count shift)
  (if (= count 0) (cue s)
      (sim (cue s)
               (loud decay (at (mult delay count) 
(bounces (change s shift) decay delay 
(- count 1) shift)))))) 

(stretch-abs 1 (bounces s (- 0 decay) delay count shift)))


((= delay-type 2) ; reverse bouncing ball delay
; reverse bouncing ball delay function
(defun revbounces (s decay delay count revcount shift)
  (if (= count 0) (cue s)
      (sim (cue s)
               (loud decay (at (mult delay (- revcount count))
(revbounces (change s shift) decay delay 
(- count 1 ) revcount shift)))))) 

(setf revcount (1+ count))
(stretch-abs 1 (revbounces s (- 0 decay) delay count revcount shift)))
) ; end cond2, different delay effect choices
) ; end cond1 t
) ; end cond 1