(const :format "" :value :duration)
(integer :tag "Duration"))))))
-(defcustom sound-load-alist
+(defcustom sound-load-list
'((load-sound-file "drum-beep" 'drum)
(load-sound-file "quiet-beep" 'quiet)
(load-sound-file "bass-snap" 'bass 80)
:type 'directory
)
-(defcustom sound-ext (if (or (eq system-type 'cygwin32)
- (eq system-type 'windows-nt))
- ".wav:" ".au:")
+;; #### This should really be a list. --hniksic
+(defcustom sound-extension-list (if (or (eq system-type 'cygwin32)
+ (eq system-type 'windows-nt))
+ ".wav:" ".au:")
"Filename extensions to complete sound file name with. If more than one
extension is used, they should be separated by \":\". "
:group 'sound
:type 'string)
-(defcustom default-sound-directory-list ( list default-sound-directory )
+(defcustom default-sound-directory-list (locate-data-directory-list "sounds")
"List of directories which to search for sound files"
:group 'sound
(error "volume not an integer or nil"))
(let (buf
data
- (file (locate-file filename default-sound-directory-list sound-ext)))
+ (file (locate-file filename default-sound-directory-list
+ sound-extension-list)))
(unless file
(error "Couldn't load sound file %s" filename))
(unwind-protect
;; some conses in sound-alist might have been dumped with emacs.
(if old (setq sound-alist (delq old (copy-sequence sound-alist)))))
(setq sound-alist (cons
- (purecopy
- (nconc (list sound-name)
- (if (and volume (not (eq 0 volume)))
- (list ':volume volume))
- (list ':sound data)))
- sound-alist)))
+ (nconc (list sound-name)
+ (if (and volume (not (eq 0 volume)))
+ (list ':volume volume))
+ (list ':sound data))
+ sound-alist)))
sound-name)
;;;###autoload
(message "Loading sounds...")
(setq sound-alist nil)
;; this is where the calls to load-sound-file get done
- (mapc 'eval sound-load-alist)
+ (mapc 'eval sound-load-list)
(setq sound-alist
(append sound-default-alist
sound-alist))