[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] Audio/video file playback in org mode
From: |
Paul Sexton |
Subject: |
[O] Audio/video file playback in org mode |
Date: |
Thu, 9 Jun 2011 21:55:17 +0000 (UTC) |
User-agent: |
Loom/3.14 (http://gmane.org/) |
I have spent a few hours figuring this out so I thought I would post it for
the benefit of others.
I am learning a language, and wanted to include hyperlinks to audio files
within my org document, and be able to play each file by clicking on the
link.
I eventually discovered the variable 'org-file-apps' which allows you to
associate particular applications with particular file types.
I am using Bongo (https://github.com/dbrock/bongo) as the media player.
EMMS is another actively developed media player, but setup looked too
complicated at first glance.
I am using MPlayer as the actual media player. This supports almost all
audio and video file formats. Most importantly, it works on Windows as well
as on Linux (VLC has a Windows port but it doesn't work with Bongo as the
'fake-tty' interface is not implemented on Windows.)
My current setup means that clicking on a link such as [[file:song.mp3]]
adds it to the active Bongo playlist (in another buffer) and immediately
starts playing it. Playback can be paused, fast-forwarded etc using
Bongo.
When Bongo plays a file it puts some icons in the modeline that
resemble the 'play', 'stop' etc symbols, and can be used to control
playback using the mouse. I found these worked erratically outside
the actual Bongo playlist buffer, so I have instead bound some
org-mode keys (ctrl + numpad keys) to the relevant functions.
This is optional of course.
I have only tested this with mp3 files, but it ought to work with
video as well.
My setup follows:
-------------------
;;; Part 1. Bongo setup
(add-to-list 'load-path "/path/to/bongo"))
(autoload 'bongo "bongo"
"Start Bongo by switching to a Bongo buffer." t)
(setq bongo-mplayer-program-name
(case system-type
((windows-nt cygwin) "c:\\Program Files\\MPlayer for
Windows\\MPlayer.exe")
(t "mplayer")))
(setq bongo-enabled-backends '(mplayer))
;;; Part 2. Org setup
(defvar av-file-regex
(concat "\\." (regexp-opt
(append bongo-audio-file-name-extensions
bongo-video-file-name-extensions)) "$"))
(add-to-list 'org-file-apps
(cons av-file-regex '(org-play-media-file file)))
(defun org-play-media-file (filename)
(with-bongo-buffer
(bongo-insert-file filename)
(backward-char)
(bongo-play)))
;;; Part 3. Keybindings to allow control of playback within Org buffer
;;; (optional)
;; Numpad Ctrl-0: pause/resume
(define-key org-mode-map (kbd "<C-kp-0>") 'bongo-pause/resume)
(define-key org-mode-map (kbd "<C-kp-insert>") 'bongo-pause/resume)
;; Numpad Ctrl-.: stop current track, or restart from beginning if stopped
(define-key org-mode-map (kbd "<C-kp-decimal>") 'bongo-start/stop)
(define-key org-mode-map (kbd "<C-kp-delete>") 'bongo-start/stop)
;; Numpad Ctrl-PgUp, Ctrl-PgDn: raise/lower volume
(define-key org-mode-map (kbd "<C-kp-prior>") 'bongo-volume-raise)
(define-key org-mode-map (kbd "<C-kp-next>") 'bongo-volume-lower)
(define-key org-mode-map (kbd "<C-kp-9>") 'bongo-volume-raise)
(define-key org-mode-map (kbd "<C-kp-3>") 'bongo-volume-lower)
;; Numpad Ctrl-left, Ctrl-right: skip back/forward 10 seconds
(define-key org-mode-map (kbd "<C-kp-left>") 'bongo-seek-backward-10)
(define-key org-mode-map (kbd "<C-kp-right>") 'bongo-seek-forward-10)
(define-key org-mode-map (kbd "<C-kp-4>") 'bongo-seek-backward-10)
(define-key org-mode-map (kbd "<C-kp-6>") 'bongo-seek-forward-10)
- [O] Audio/video file playback in org mode,
Paul Sexton <=
- Re: [O] Audio/video file playback in org mode, Eric Schulte, 2011/06/09
- Re: [O] Audio/video file playback in org mode, Michael Brand, 2011/06/10
- Re: [O] Audio/video file playback in org mode, brian powell, 2011/06/10
- Re: [O] Audio/video file playback in org mode, Paul Sexton, 2011/06/11
- Re: [O] Audio/video file playback in org mode, Memnon Anon, 2011/06/11
- Re: [O] Audio/video file playback in org mode, Alan E. Davis, 2011/06/11
- Re: [O] Audio/video file playback in org mode, Christian Moe, 2011/06/12
- Re: [O] Audio/video file playback in org mode, Michael Brand, 2011/06/12
Re: [O] Audio/video file playback in org mode, Paul Sexton, 2011/06/11
Message not available