emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] externals/listen 74c5c75f41 019/103: More


From: ELPA Syncer
Subject: [elpa] externals/listen 74c5c75f41 019/103: More
Date: Mon, 26 Feb 2024 12:59:09 -0500 (EST)

branch: externals/listen
commit 74c5c75f41ea998b8d3832dfe281b8a9b0848dd9
Author: Adam Porter <adam@alphapapa.net>
Commit: Adam Porter <adam@alphapapa.net>

    More
---
 listen-queue.el |  3 ++-
 listen-vlc.el   |  6 +++---
 listen.el       | 27 +++++++++++++++++----------
 3 files changed, 22 insertions(+), 14 deletions(-)

diff --git a/listen-queue.el b/listen-queue.el
index 71a2c8878e..63998b1a71 100644
--- a/listen-queue.el
+++ b/listen-queue.el
@@ -97,7 +97,8 @@
        :actions `("q" (lambda (&rest _) (bury-buffer))
                   "n" (lambda (&rest _) (forward-line 1))
                   "p" (lambda (&rest _) (forward-line -1))
-                  "RET" ,(listen-queue-command listen-queue-play)))
+                  "RET" ,(listen-queue-command listen-queue-play)
+                  "S" (lambda (&rest _) (listen-queue-shuffle listen-queue))))
       (pop-to-buffer (current-buffer))
       (goto-char (point-min))
       (re-search-forward "▶" nil t)
diff --git a/listen-vlc.el b/listen-vlc.el
index c942808d70..6ad287b9bd 100755
--- a/listen-vlc.el
+++ b/listen-vlc.el
@@ -62,9 +62,9 @@
   (dolist (command `("stop" "clear" ,(format "add %s" (expand-file-name file)) 
"play"))
     (listen--send player command)))
 
-(cl-defmethod listen--stop ((player listen-player-vlc))
-  "Stop playing with PLAYER."
-  (listen--send player "stop"))
+;; (cl-defmethod listen--stop ((player listen-player-vlc))
+;;   "Stop playing with PLAYER."
+;;   (listen--send player "stop"))
 
 (cl-defmethod listen--status ((player listen-player-vlc))
   (let ((status (listen--send player "status")))
diff --git a/listen.el b/listen.el
index 5cc97b8c58..b78a7dae66 100755
--- a/listen.el
+++ b/listen.el
@@ -111,9 +111,7 @@
 (declare-function listen-queue-next-track "listen-queue")
 (defun listen--update-lighter (&rest _ignore)
   "Update `listen-mode-lighter'."
-  (unless (or (listen--playing-p listen-player)
-              ;; FIXME: Can we tidy this distinction?
-              (equal "stopped" (listen--status listen-player)))
+  (unless (listen--playing-p listen-player)
     (when-let ((queue (map-elt (listen-player-etc listen-player) :queue))
                (next-track (listen-queue-next-track queue))) 
       (listen-queue-play queue next-track)))
@@ -132,9 +130,9 @@
   (interactive (list listen-player))
   (listen--pause player))
 
-(defun listen-stop (player)
-  (interactive (list listen-player))
-  (listen--stop player))
+;; (defun listen-stop (player)
+;;   (interactive (list listen-player))
+;;   (listen--stop player))
 
 ;;;###autoload
 (defun listen-play (player file)
@@ -151,9 +149,16 @@
   (listen--volume (listen--player) volume))
 
 (defun listen-seek (seconds)
-  "Seek to SECONDS."
+  "Seek to SECONDS.
+Interactively, read a position timestamp, like \"23\" or
+\"1:23\", with optional -/+ prefix for relative seek."
   (interactive
-   (list (listen-read-time (read-string "Seek to position: "))))
+   (let* ((position (read-string "Seek to position: "))
+          (prefix (when (string-match (rx bos (group (any "-+")) (group (1+ 
anything))) position)
+                    (prog1 (match-string 1 position)
+                      (setf position (match-string 2 position)))))
+          (seconds (listen-read-time position)))
+     (list (concat prefix (number-to-string seconds)))))
   (listen--seek (listen--player) seconds))
 
 (defun listen-read-time (time)
@@ -193,14 +198,16 @@ TIME is an HH:MM:SS string."
         "Not listening"))
     ("SPC" "Pause" listen-pause)
     ("p" "Play" listen-play)
-    ("ESC" "Stop" listen-stop)
+    ;; ("ESC" "Stop" listen-stop)
     ("n" "Next" listen-next)]]
   [[]]
   ["Queue mode"
    :description
    (lambda ()
      (if-let ((queue (map-elt (listen-player-etc listen-player) :queue)))
-         (concat "Queue: " (listen-queue-name queue))
+         (format "Queue: %s (track %s/%s)" (listen-queue-name queue)
+                 (cl-position (listen-queue-current queue) 
(listen-queue-tracks queue))
+                 (length (listen-queue-tracks queue)))
        "No queue"))
    ("Q" "Show" listen-queue)
    ("P" "Play another queue" listen-queue-play)



reply via email to

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