bongo-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bongo-patches] Make `bongo-play-line' work on section headers and fix i


From: Daniel Brockman
Subject: [bongo-patches] Make `bongo-play-line' work on section headers and fix invisibility bugs
Date: Tue, 10 Apr 2007 16:08:31 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.92 (gnu/linux)

2007-04-10  Daniel Brockman  <address@hidden>

        Make `bongo-play-line' work on section headers and fix
        invisibility bugs.

diff -rN -u old-bongo/bongo.el new-bongo/bongo.el
--- old-bongo/bongo.el  2007-04-10 16:08:30.000000000 +0200
+++ new-bongo/bongo.el  2007-04-10 16:08:30.000000000 +0200
@@ -6221,32 +6221,37 @@
 If there is no track at POINT, play the first track after POINT or
 signal an error if there is no track after POINT."
   (interactive "d")
-  (save-excursion
-    (bongo-goto-point point)
-    (cond ((bongo-playlist-buffer-p)
-           (with-imminent-bongo-player-start
-             (when bongo-player
-               (bongo-player-stop bongo-player))
-             (bongo-set-current-track-position)
-             (let ((player (if (bongo-action-track-line-p)
-                               (bongo-start-action-player
-                                (bongo-line-action))
-                             (bongo-play-file
-                              (bongo-line-file-name)
-                              (bongo-line-get-property 'bongo-backend)))))
-               (bongo-player-put player 'infoset (bongo-line-infoset))
-               (setq bongo-player player)
-               (bongo-line-set-property 'bongo-player player)
-               (bongo-set-current-track-marker bongo-playing-track-marker)
-               (when bongo-header-line-mode
-                 (bongo-update-header-line-string))
-               (when bongo-mode-line-indicator-mode
-                 (bongo-update-mode-line-indicator-string))
-               (run-hooks 'bongo-player-started-hook)
-               (bongo-redisplay-line))))
-          ((bongo-library-buffer-p)
-           (bongo-play-lines))
-          (t (error "Not a Bongo buffer")))))
+  (cond ((bongo-playlist-buffer-p)
+         (when line-move-ignore-invisible
+           (bongo-skip-invisible))
+         (let ((line-move-ignore-invisible nil))
+           (with-point-at-bongo-track point
+             (with-imminent-bongo-player-start
+               (when bongo-player
+                 (bongo-player-stop bongo-player))
+               (bongo-set-current-track-position)
+               (let ((player
+                      (if (bongo-action-track-line-p)
+                          (bongo-start-action-player
+                           (bongo-line-action))
+                        (bongo-play-file
+                         (bongo-line-file-name)
+                         (bongo-line-get-property 'bongo-backend)))))
+                 (bongo-player-put player 'infoset (bongo-line-infoset))
+                 (setq bongo-player player)
+                 (bongo-line-set-property 'bongo-player player)
+                 (bongo-set-current-track-marker bongo-playing-track-marker)
+                 (when bongo-header-line-mode
+                   (bongo-update-header-line-string))
+                 (when bongo-mode-line-indicator-mode
+                   (bongo-update-mode-line-indicator-string))
+                 (run-hooks 'bongo-player-started-hook)
+                 (bongo-redisplay-line))))))
+        ((bongo-library-buffer-p)
+         (save-excursion
+           (bongo-goto-point point)
+           (bongo-play-lines)))
+        (t (error "Not a Bongo buffer"))))
 
 (defun bongo-play-lines (&optional n)
   "Start playing the next N tracks or sections.
-- 
Daniel Brockman <address@hidden>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]