[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/erc/erc-sound.el,v
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/erc/erc-sound.el,v |
Date: |
Mon, 20 Nov 2006 06:50:31 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Miles Bader <miles> 06/11/20 06:50:29
Index: lisp/erc/erc-sound.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/erc/erc-sound.el,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- lisp/erc/erc-sound.el 12 Feb 2006 20:25:00 -0000 1.2
+++ lisp/erc/erc-sound.el 20 Nov 2006 06:50:29 -0000 1.3
@@ -21,9 +21,26 @@
;;; Commentary:
-;; This used to be in erc.el, I (Jorgen) just extracted it from there
-;; and put it in this file. Bugs and features are those of the
-;; original author.
+;; Play sounds when users send you CTCP SOUND messages.
+
+;; This file also defines the command /sound so that you can send
+;; sound requests to other users.
+
+;;; Usage:
+
+;; Add the following to your .emacs if you want to play sounds.
+;;
+;; (require 'erc-soud)
+;; (erc-sound-enable)
+;;
+;; To send requests to other users from within query buffers, type the
+;; following:
+;;
+;; /sound filename optional-message-text
+;;
+;; You can also type the following:
+;;
+;; /ctcp nickname sound filename optional-message
;;; Code:
@@ -34,9 +51,11 @@
"In ERC sound mode, the client will respond to CTCP SOUND requests
and play sound files as requested."
;; Enable:
- ((define-key erc-mode-map "\C-c\C-s" 'erc-toggle-sound))
+ ((add-hook 'erc-ctcp-query-SOUND-hook 'erc-ctcp-query-SOUND)
+ (define-key erc-mode-map "\C-c\C-s" 'erc-toggle-sound))
;; Disable:
- ((define-key erc-mode-map "\C-c\C-s" 'undefined)))
+ ((remove-hook 'erc-ctcp-query-SOUND-hook 'erc-ctcp-query-SOUND)
+ (define-key erc-mode-map "\C-c\C-s" 'undefined)))
(erc-define-catalog-entry 'english 'CTCP-SOUND "%n (address@hidden) plays
%s:%m")
@@ -45,7 +64,7 @@
:group 'erc)
(defcustom erc-play-sound t
- "*Play sound on SOUND ctcp requests (used in ICQ chat)."
+ "*Play sounds when you receive CTCP SOUND requests."
:group 'erc-sound
:type 'boolean)
@@ -55,18 +74,22 @@
:type '(repeat directory))
(defcustom erc-default-sound nil
- "Play this sound if the requested file was not found."
+ "Play this sound if the requested file was not found.
+If this is set to nil or the file doesn't exist a beep will sound."
:group 'erc-sound
:type '(choice (const nil)
file))
-(defcustom erc-play-command "play"
- "Command for playing sound samples."
- :group 'erc-sound
- :type 'string)
+(defvar erc-ctcp-query-SOUND-hook nil
+ "Hook to run after receiving a CTCP SOUND request.")
(defun erc-cmd-SOUND (line &optional force)
- "Play the sound given in LINE."
+ "Send a CTCP SOUND message to the default target.
+If `erc-play-sound' is non-nil, play the sound as well.
+
+/sound filename optional-message-text
+
+LINE is the text entered, including the command."
(cond
((string-match "^\\s-*\\(\\S-+\\)\\(\\s-.*\\)?$" line)
(let ((file (match-string 1 line))
@@ -84,8 +107,8 @@
t))
(t nil)))
-(defvar erc-ctcp-query-SOUND-hook '(erc-ctcp-query-SOUND))
(defun erc-ctcp-query-SOUND (proc nick login host to msg)
+ "Display a CTCP SOUND message and play sound if `erc-play-sound' is non-nil."
(when (string-match
"^SOUND\\s-+\\(\\S-+\\)\\(\\(\\s-+.*\\)\\|\\(\\s-*\\)\\)$" msg)
(let ((sound (match-string 1 msg))
(comment (match-string 2 msg)))
@@ -96,42 +119,16 @@
nil)
(defun erc-play-sound (file)
- "Plays a sound file located in one of the directories in `erc-sound-path'
-with a command `erc-play-command'."
+ "Play a sound file located in one of the directories in `erc-sound-path'.
+See also `play-sound-file'."
(let ((filepath (erc-find-file file erc-sound-path)))
(if (and (not filepath) erc-default-sound)
(setq filepath erc-default-sound))
(cond ((and filepath (file-exists-p filepath))
- (if (and (fboundp 'device-sound-enabled-p)
- (device-sound-enabled-p))
- ; For XEmacs
- (play-sound-file filepath)
-; (start-process "erc-sound" nil erc-play-command filepath)
- (start-process "erc-sound" nil "/bin/tcsh" "-c"
- (concat erc-play-command " " filepath))))
+ (play-sound-file filepath))
(t (beep)))
(erc-log (format "Playing sound file %S" filepath))))
-;(defun erc-play-sound (file)
-; "Plays a sound file located in one of the directories in `erc-sound-path'
-; with a command `erc-play-command'."
-; (let ((filepath nil)
-; (paths erc-sound-path))
-; (while (and paths
-; (progn (setq filepath (expand-file-name file (car paths)))
-; (not (file-exists-p filepath))))
-; (setq paths (cdr paths)))
-; (if (and (not (and filepath (file-exists-p filepath)))
-; erc-default-sound)
-; (setq filepath erc-default-sound))
-; (cond ((and filepath (file-exists-p filepath))
-;; (start-process "erc-sound" nil erc-play-command filepath)
-; (start-process "erc-sound" nil "/bin/tcsh" "-c"
-; (concat erc-play-command " " filepath))
-; )
-; (t (beep)))
-; (erc-log (format "Playing sound file %S" filepath))))
-
(defun erc-toggle-sound (&optional arg)
"Toggles playing sounds on and off. With positive argument,
turns them on. With any other argument turns sounds off."
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/lisp/erc/erc-sound.el,v,
Miles Bader <=