- Synchronise notes with video/audio files using mpv player
- Repository stems from this Github issue
- Currently a work in progress
Not ready for use- If you want to contribute, you are more than welcome to.
The way org-noter originally works is that it will call find-file
on the value of NOTER_DOCUMENT
, resulting
in a new buffer then, get the major-mode
of this new buffer to call the appropriate functions for the mode.
For example, if your NOTER_DOCUMENT
is a path to a pdf file, org-noter will call find-file
resulting in a new buffer
with in the major-mode
called pdf-view-mode
. Org-noter then passes the pdf-view-mode
to various function to handle the mode as expected.
This breaks down, however, when our NOTER_DOCUMENT
is a binary file (mp3, mp4, etc.) that Emacs has no mode to handle or a URL.
If only we can customize the way org-noter find its NOTER_DOCUMENT
and try to remove major-mode
from the equation.
This modified version of org-noter can handle URL as its source document.
See https://github.com/c1-g/org-noter-plus-djvu.
To install it, with straight.el and use-package,
put these in your config file.
(use-package org-noter
:straight '(org-noter :type git
:host github
:repo "weirdNox/org-noter"
:fork "c1-g/org-noter-plus-djvu"
:files ("other/*.el" "*.el" "modules/*.el"))
:config
(use-package org-noter-nov :ensure nil)
(use-package org-noter-djvu :ensure nil)
(use-package org-noter-pdf :ensure nil))
and then to install this package,
(use-package org-noter-media
:straight '(org-noter-media :type git
:host github
:repo "auroranil/org-noter-media"
:fork "c1-g/org-noter-media"))
Planning to use JSON IPC- Home · kljohann/mpv.el Wiki · GitHub
GitHub - rndusr/subed: Subtitle editor for Emacs
- [X]
org-noter-insert-note
- [X]
org-noter-sync-current-note
- [-]
org-noter-media-toggle-play
- [X] Creating new
org-noter
session with media file inNOTER_DOCUMENT
property should openmpv
playing that media file from beginning - [X] Specifying
NOTER_PAGE
property in root org heading should openmpv
playing that media file at that specified time - [X] Communicate to
org-noter-media
its timestamp as video is playing, so that it knows when to sync automatically - [X] Specifying
NOTER_PAGE
property in non-root org heading should show that heading and hide others (whenorg-noter-hide-others
is set to true) when playing video reaches that section - [X] Implement
org-noter-sync-current-note
- [X] Implement
org-noter-insert-note
- [-] Implement
org-noter-media-toggle-play
This feature is already available in
mpv.el
. TryM-x mpv-pause
- [-] Find out a way to customise org-noter properties so that its
terminology aligns with media files
For me, the default
NOTER_DOCUMENT
is already satisfactory. I tend to think of “document” in a more abstract sense, that is, an object that gives information; so it is not only a paper but it can be a video, audio, speech, etc.But for a more neutral term, maybe
NOTER_SOURCE
?