aboutsummaryrefslogtreecommitdiff
path: root/emacs
diff options
context:
space:
mode:
Diffstat (limited to 'emacs')
-rw-r--r--emacs/.emacs.d/lisp/my/my-media-segment.el10
-rw-r--r--emacs/.emacs.d/lisp/my/my-ytdl.el19
2 files changed, 17 insertions, 12 deletions
diff --git a/emacs/.emacs.d/lisp/my/my-media-segment.el b/emacs/.emacs.d/lisp/my/my-media-segment.el
index 9431624..c8326a7 100644
--- a/emacs/.emacs.d/lisp/my/my-media-segment.el
+++ b/emacs/.emacs.d/lisp/my/my-media-segment.el
@@ -134,11 +134,7 @@ Uses `my-media-segment-max-inflight' to limit number of inflight tasks."
(interactive (list
(read-file-name "Choose media file: ")
(read-file-name
- "Choose description file (.info.json or .description): "
- ;; nil
- ;; (file-name-with-extension media-file-name ".info.json")
- ;; t
- )))
+ "Choose description file (.info.json or .description): ")))
(let* ((dir (file-name-sans-extension (expand-file-name media-file-name)))
(info (my-get-media-segments info-file-name))
(total (length info))
@@ -187,7 +183,9 @@ Uses `my-media-segment-max-inflight' to limit number of inflight tasks."
(seq-map
(lambda (ch)
(let-alist ch
- (list :title (my-make-filename .title) :start (format "%s" .start_time)
+ ;; .title: ytdl; .tags.titile: .m4b
+ (list :title (my-make-doc-file-name (or .title .tags.title))
+ :start (format "%s" .start_time)
:end (format "%s" .end_time))))
(alist-get 'chapters info))))
diff --git a/emacs/.emacs.d/lisp/my/my-ytdl.el b/emacs/.emacs.d/lisp/my/my-ytdl.el
index 5676101..7cdda43 100644
--- a/emacs/.emacs.d/lisp/my/my-ytdl.el
+++ b/emacs/.emacs.d/lisp/my/my-ytdl.el
@@ -76,12 +76,19 @@
('audio my-ytdl-audio-download-dir)
('music my-ytdl-music-download-dir)
(_ (error "Unsupported type: %s" type)))
- (apply 'my-start-process-with-torsocks
- (append
- (list no-tor (format "ytdl-%s" urls) (format "*ytdl-%s*" urls)
- my-ytdl-program)
- (if (eq type 'video) my-ytdl-video-args my-ytdl-audio-args)
- (split-string urls)))))
+ (set-process-sentinel
+ (apply 'my-start-process-with-torsocks
+ (append
+ (list no-tor (format "ytdl-%s" urls) (format "*ytdl-%s*" urls)
+ my-ytdl-program)
+ (if (eq type 'video) my-ytdl-video-args my-ytdl-audio-args)
+ (split-string urls)))
+ (lambda (proc event)
+ (let ((status (process-exit-status proc)))
+ (if (eq status 0)
+ (progn
+ (message "ytdl-%s %s: DONE" type urls))
+ (message "ytdl-%s %s FAILED: %s" type urls event)))))))
(defun my-ytdl-video-info (url)
"Given a video URL, return an alist of its properties."