aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYoni Rabkin <yoni@rabkins.net>2020-09-24 21:04:06 -0400
committerYoni Rabkin <yoni@rabkins.net>2020-09-24 21:04:06 -0400
commit53944e11a9ac6acb92d53157315530757a4b3ae7 (patch)
treee02f1eb2c4f7b94b2d9bb27cca54c5d646aaa0e3
parente7298ee8e42aad33ba555028bb52f78ab31ad776 (diff)
* doc/emms.texinfo: update manual regarding exiftool
-rw-r--r--doc/developer-release.txt2
-rw-r--r--doc/emms.texinfo52
-rw-r--r--emms.info168
3 files changed, 138 insertions, 84 deletions
diff --git a/doc/developer-release.txt b/doc/developer-release.txt
index be70e22..54930f4 100644
--- a/doc/developer-release.txt
+++ b/doc/developer-release.txt
@@ -16,6 +16,8 @@ Savannah, as a tarball from GNU, and via GNU ELPA.
* Run make upload
+* Update copy of emms.info in root directory
+
* Update online manual
* Update website
diff --git a/doc/emms.texinfo b/doc/emms.texinfo
index 8c83d7c..4e8553f 100644
--- a/doc/emms.texinfo
+++ b/doc/emms.texinfo
@@ -113,6 +113,7 @@ The Core File
Track Information
* Using tinytag:: Track information via tinytag.
+* Using exiftool:: Track information via exiftool.
* Using TagLib:: TagLib for track information.
* Defining Info Methods:: Defining new info methods.
@@ -883,24 +884,37 @@ pieces of software and libraries which can be used to provide access
to track metadata such as the artist's name, track name, album title,
etc.
-Emms can use tinytag; a small python utility. See @xref{Using
-tinytag}.
+Emms can use a number of different ways to populate the playlist with
+track information. These methods require the installation some
+additional software, free software of course, that Emms can then call
+to read the metadata from the files.
+
+@itemize @bullet
+
+@item
+Tinytag, a small python utility. See @xref{Using tinytag}.
-Emms can use the TagLib library installed on a system. See @xref{Using
-TagLib}.
+@item
+Exiftool, written in perl. See @xref{Using exiftool}.
+
+@item
+The TagLib library can be used by compiling a small piece of ``shim''
+software. See @xref{Using TagLib}.
+
+@end itemize
-Emms also has multiple predefined methods for retrieving info for
-specific file types, provided by modules such as
-@file{emms-info-mp3info.el}, @file{emms-info-ogginfo.el},
-@file{emms-info-opusinfo.el}, @file{emms-cue.el} and
-@file{emms-info-libtag.el}. The first three packages are front-ends
-for command-line tools. Ogg track information is retrieved using the
+
+You can also use a combination of format-specific tools if needed,
+such as @file{emms-info-mp3info.el}, @file{emms-info-ogginfo.el},
+@file{emms-info-opusinfo.el}, and @file{emms-cue.el}. These three
+packages are front-ends for command-line tools. Ogg track information
+is retrieved using the
@uref{http://directory.fsf.org/audio/ogg/vorbistools.html, ogginfo}
and the @uref{https://www.opus-codec.org/ opusinfo}
software. Likewise, mp3 track information is available using
@uref{http://www.ibiblio.org/mp3info/, mp3info}. @file{emms-cue.el}
retrieves tracks information for ape/flac files by parsing a cue sheet
-file, which is plain text.
+file, which is plain text.
Automatic track information retrieval is enabled by default in the
`emms-all' setup level provided by @file{emms-setup.el}. For more
@@ -931,6 +945,7 @@ track as argument.
@menu
* Using tinytag:: Track information via tinytag.
+* Using exiftool:: Track information via exiftool.
* Using TagLib:: TagLib for track information.
* Defining Info Methods:: Defining new info methods.
@end menu
@@ -953,6 +968,21 @@ methods can cause confusion) for Emms:
@end lisp
+@node Using exiftool
+@section Using exiftool
+
+@cindex Using exiftool
+
+Make sure that the perl program exiftool is installed on your
+system. It is available at @uref{https://exiftool.org/}.
+
+Then set exiftool as the sole info method with:
+
+@lisp
+(setq emms-info-functions '(emms-info-exiftool))
+@end lisp
+
+
@node Using TagLib
@section Using TagLib
diff --git a/emms.info b/emms.info
index 5b27632..222b731 100644
--- a/emms.info
+++ b/emms.info
@@ -97,6 +97,7 @@ The Core File
Track Information
* Using tinytag:: Track information via tinytag.
+* Using exiftool:: Track information via exiftool.
* Using TagLib:: TagLib for track information.
* Defining Info Methods:: Defining new info methods.
@@ -739,20 +740,25 @@ is distributed with support for a number of pieces of software and
libraries which can be used to provide access to track metadata such as
the artist's name, track name, album title, etc.
- Emms can use tinytag; a small python utility. See *Note Using
-tinytag::.
+ Emms can use a number of different ways to populate the playlist with
+track information. These methods require the installation some
+additional software, free software of course, that Emms can then call to
+read the metadata from the files.
- Emms can use the TagLib library installed on a system. See *Note
-Using TagLib::.
+ * Tinytag, a small python utility. See *Note Using tinytag::.
- Emms also has multiple predefined methods for retrieving info for
-specific file types, provided by modules such as 'emms-info-mp3info.el',
-'emms-info-ogginfo.el', 'emms-info-opusinfo.el', 'emms-cue.el' and
-'emms-info-libtag.el'. The first three packages are front-ends for
-command-line tools. Ogg track information is retrieved using the
-ogginfo (http://directory.fsf.org/audio/ogg/vorbistools.html) and the
-<https://www.opus-codec.org/ opusinfo> software. Likewise, mp3 track
-information is available using mp3info
+ * Exiftool, written in perl. See *Note Using exiftool::.
+
+ * The TagLib library can be used by compiling a small piece of "shim"
+ software. See *Note Using TagLib::.
+
+ You can also use a combination of format-specific tools if needed,
+such as 'emms-info-mp3info.el', 'emms-info-ogginfo.el',
+'emms-info-opusinfo.el', and 'emms-cue.el'. These three packages are
+front-ends for command-line tools. Ogg track information is retrieved
+using the ogginfo (http://directory.fsf.org/audio/ogg/vorbistools.html)
+and the <https://www.opus-codec.org/ opusinfo> software. Likewise, mp3
+track information is available using mp3info
(http://www.ibiblio.org/mp3info/). 'emms-cue.el' retrieves tracks
information for ape/flac files by parsing a cue sheet file, which is
plain text.
@@ -784,11 +790,12 @@ Methods::.
* Menu:
* Using tinytag:: Track information via tinytag.
+* Using exiftool:: Track information via exiftool.
* Using TagLib:: TagLib for track information.
* Defining Info Methods:: Defining new info methods.

-File: emms.info, Node: Using tinytag, Next: Using TagLib, Up: Track Information
+File: emms.info, Node: Using tinytag, Next: Using exiftool, Up: Track Information
13.1 Using tinytag
==================
@@ -802,9 +809,22 @@ methods can cause confusion) for Emms:
(setq emms-info-functions '(emms-info-tinytag))

-File: emms.info, Node: Using TagLib, Next: Defining Info Methods, Prev: Using tinytag, Up: Track Information
+File: emms.info, Node: Using exiftool, Next: Using TagLib, Prev: Using tinytag, Up: Track Information
+
+13.2 Using exiftool
+===================
+
+Make sure that the perl program exiftool is installed on your system.
+It is available at <https://exiftool.org/>.
+
+ Then set exiftool as the sole info method with:
+
+ (setq emms-info-functions '(emms-info-exiftool))
+
+
+File: emms.info, Node: Using TagLib, Next: Defining Info Methods, Prev: Using exiftool, Up: Track Information
-13.2 Using TagLib
+13.3 Using TagLib
=================
'emms-info-libtag.el' uses a tiny C shim (included in the src/
@@ -836,7 +856,7 @@ TagLib data):

File: emms.info, Node: Defining Info Methods, Prev: Using TagLib, Up: Track Information
-13.3 Defining Info Methods
+13.4 Defining Info Methods
==========================
An info method essentially consists of a function which given an Emms
@@ -3398,6 +3418,7 @@ Concept Index
* track information: Track Information. (line 6)
* track order: Sorting Playlists. (line 6)
* user variables: User Variables. (line 6)
+* Using exiftool: Using exiftool. (line 6)
* using taglib: Using TagLib. (line 6)
* Using tinytag: Using tinytag. (line 6)
* volume: Volume. (line 6)
@@ -3640,9 +3661,9 @@ Variable Index
* emms-history-file: Persistent Playlists. (line 14)
* emms-history-start-playing: Persistent Playlists. (line 33)
-* emms-info-asynchronously: Track Information. (line 45)
-* emms-info-auto-update: Track Information. (line 41)
-* emms-info-functions: Track Information. (line 50)
+* emms-info-asynchronously: Track Information. (line 50)
+* emms-info-auto-update: Track Information. (line 46)
+* emms-info-functions: Track Information. (line 55)
* emms-lyrics-coding-system: Lyrics. (line 36)
* emms-lyrics-dir: Lyrics. (line 27)
* emms-lyrics-display-format: Lyrics. (line 32)
@@ -3732,59 +3753,60 @@ Keybinding Index

Tag Table:
Node: Top689
-Node: Introduction4369
-Node: Quickstart Guide5944
-Node: Installation8694
-Node: Compiling Emms9107
-Node: Setup9795
-Node: Configuration10781
-Node: Finding files and speed12192
-Node: Getting Help13038
-Node: Formats and Freedom13616
-Node: Basic Commands14821
-Node: The Core File18202
-Node: User Variables18636
-Node: Hooks19612
-Node: Core Functions21038
-Node: Sources24038
-Node: Simple Players26171
-Node: Playlists27265
-Node: Track Information28546
-Node: Using tinytag31112
-Node: Using TagLib31539
-Node: Defining Info Methods32647
-Node: Interactive Playlists33429
-Node: Markable Playlists36471
-Node: Extending Emms38942
-Node: New Player39378
-Node: Simple Player for `play'39767
-Node: More Complex Player41495
-Node: The Browser44502
-Node: Browser Interface45478
-Node: Filtering Tracks47892
-Node: Displaying Covers49670
-Node: Changing Looks51684
-Node: Sorting Playlists54662
-Node: Persistent Playlists56131
-Node: Editing Tracks57290
-Node: Emms Mode Line60964
-Node: Limiting62132
-Node: Music Player Daemon64471
-Node: Lyrics67984
-Node: Volume70032
-Node: Streaming Audio71820
-Ref: Streaming Audio-Footnote-172412
-Node: APE / FLAC Commands72763
-Node: Bookmarks73470
-Node: Managing Playlists74181
-Node: GNU FM75204
-Node: Uploading Track Information76558
-Node: GNU FM Streaming77440
-Node: Copying77940
-Node: The GNU FDL115457
-Node: Concept Index137845
-Node: Function Index142703
-Node: Variable Index158395
-Node: Keybinding Index160738
+Node: Introduction4430
+Node: Quickstart Guide6005
+Node: Installation8755
+Node: Compiling Emms9168
+Node: Setup9856
+Node: Configuration10842
+Node: Finding files and speed12253
+Node: Getting Help13099
+Node: Formats and Freedom13677
+Node: Basic Commands14882
+Node: The Core File18263
+Node: User Variables18697
+Node: Hooks19673
+Node: Core Functions21099
+Node: Sources24099
+Node: Simple Players26232
+Node: Playlists27326
+Node: Track Information28607
+Node: Using tinytag31494
+Node: Using exiftool31923
+Node: Using TagLib32295
+Node: Defining Info Methods33404
+Node: Interactive Playlists34186
+Node: Markable Playlists37228
+Node: Extending Emms39699
+Node: New Player40135
+Node: Simple Player for `play'40524
+Node: More Complex Player42252
+Node: The Browser45259
+Node: Browser Interface46235
+Node: Filtering Tracks48649
+Node: Displaying Covers50427
+Node: Changing Looks52441
+Node: Sorting Playlists55419
+Node: Persistent Playlists56888
+Node: Editing Tracks58047
+Node: Emms Mode Line61721
+Node: Limiting62889
+Node: Music Player Daemon65228
+Node: Lyrics68741
+Node: Volume70789
+Node: Streaming Audio72577
+Ref: Streaming Audio-Footnote-173169
+Node: APE / FLAC Commands73520
+Node: Bookmarks74227
+Node: Managing Playlists74938
+Node: GNU FM75961
+Node: Uploading Track Information77315
+Node: GNU FM Streaming78197
+Node: Copying78697
+Node: The GNU FDL116214
+Node: Concept Index138602
+Node: Function Index143533
+Node: Variable Index159225
+Node: Keybinding Index161568

End Tag Table