New in 23 * emms-radio-browser.el: an EMMS client for radio-brower API. * emms.el: add `insert-current' to `define-emms-source' macro. * emms-filters.el: filter and search the metadata cache. * emms-browser.el: filter and search using emms-filters.el. Special thank you to Fran Burstall and Erica Lina Qi New in 22 * emms-volume-mpv.el: raise or lower the volume of mpv (new file). * emms-player-mpd.el: Match HTTPS URLs in MPD player. * emms-mode-line.el: Use character width to display the track description. * emms-info-exiftool.el: ensure numeric album titles and info are strings. * Exanded documentation for playlist lock functions. New in 21 * emms.el: new function `emms-playlist-length' and `emms-playlist-total-playing-time'. * emms.el: `emms-repeat-track' is now buffer local. * emms-lyrics-lrclib.el New module for fetching synchronized lyrics from LRCLIB. * emms-browser.el: Use pre-defined convert when caching thumbnails. * emms-info-native-mp3.el: Fix possible type error in MP3 duration decoding. * Add album artist to metaflac, tag editor, playlist sort and limit. * Add active playlist lock, browse and send songs from other playlists. New in 20.2 * Fix `emms-single-track' not working with mpv. * emms-source-beets.el: Fix filter not cleared over multiple calls * emms-player-mpd: fixed albumartist not being recorded from mpd. * Remove references in code to defunct services. New in 20.1 * emms-info.el: add `emms-info-init-done-hook'. New in 20 * emms-volume-pulse.el: Deal with pactl being translated correctly. * beets: Add `sort' argument controlling sorting of added tracks. * emms-listenbrainz-scrobbler.el: new feature. * emms-cue.el: Use completing-read to jump to tracks in cue file. * emms-playlist-sort.el: `..-sort-shuffle' and `..-sort-by-random' aliases. New in 19 * emms-source-beets.el: EMMS source utilizing a beets library database. * emms-playing-time.el: show hours in playing time. * emms-player-mpd.el: Factor check for remote files into a function. * emms-player-mpd.el: Only play using MPD if the file is in the right directory. * emms-info.el: Better default display of tracks with composer, artist, title, and album fields. * emms-mode-line.el: truncate overly long descriptions. * Documentation updates. New in 18 * emms-player-mpv.el: remove emms-player-mpv-ipc-conn-emacs-26.1-workaround. * emms-player-mpv.el: remove long-deprecated --input-file=fifo support. * emms-playlist-mode.el: shift a track up or down by a line. * emms-playlist-limit.el: add limiting to note. New in 17 * Automatic detection of existing players via `emms-setup-discover'. * Autodetect GNU find. * Native decoding of playing time for `emms-info-native'. * Add info support for SNES SPC files. New in 16 * emms-info-ogginfo: Avoid writing ogginfo tags over 1k. * emms-streams.el: Updated URLs, avoid early loading errors. * emms-player-mpd.el: Use native relative seeking. * emms-player-mpd.el: Fix consume and random modes in MPD. New in 15 * emms-source-playlist.el: add native playlist to cache. * emms-mpris.el: add shuffle and loopstatus. * emms-mpris.el: fix artUrl metatadata issues. * emms-volume-pulse.el, emms-volume-amixer.el, emms.el: unified `get' interface. * emms-mark.el: fix bug when setting `emms-playlist-default-major-mode'. * emms-playlist-mode.el: Do not run `emms-playlist-mode' at the wrong time. * emms-browser.el: Fix bug in emms-browser-format-spec. * Documentation improvements and updates. New in 14 * emms.el: Fix emms-seek-* functions to work with number arguments. * emms-mpris.el: Fix Seek and SetPosition methods, implement Properties.GetAll method. New in 13 * emms-mpris.el: provides a dbus interface to EMMS. * quickstart section in the manual has been improved. New in 12 * emms-volume-pulse.el: Try to find the default sink. * `emms-setup-discover-players' automatic player discovery. * emms.el: reverse the order players are collected. * emms-browser.el: tab now toggles subitems. * emms.el: accept timestamps in emms-seek*. * emms-playlist-mode.el: Prefer using dired-jump. * emms-playlist-mode.el (emms-playlist-mode-goto-dired-at-point): Use dired-jump, optionally opening the dired buffer in other-window. New in 11 * Bug fix: emms-info-exiftool.el now handles numeric song titles gracefully. * Cache is now saved after tag editing. * Minor bug fixes in emms-tag-editor.el and emms-streams.el. New in 10 * emms-player-mpv.el: bug fixes and improvments (details in VC history). * emms-player-mpd.el: bug fixes and improvments (details in VC history). New in 9 * emms-player-mpd.el: playing order fix. New in 8 * emms-player-mpv.el: graceful handling of no icy-title. * Prune defuct streams from the list. * Notify if `emms-player-list' is empty. New in 7.8 * Fix to Libre.FM scrobbing. * Multiple improvements to emms-player-mpv.el. New in 7.7 * Add sndioctl support. * Use thing-at-point for URLs. * Add player-preference interface. New in 7.6 * Change the way we write the NEWS file: "New in..." instead of "News since...". * emms-player-mpv.el: Fix customize. * Document how `emms-player-mpv-update-metadata' works. * emms-player-mpd: fix caching behavior. News since version 7.4 - emms-player-mpv.el: fix reconnect-playback-restart issue. News since version 7.3 - emms-player-mpv.el: explicitly unpause after switching to a new track. News since version 7.2 - Add support for the audiotools tracktag executable. - Errors reading track metadata no longer stalls building the playlist. News since version 7.1 - Make it possible to force-update Emms cache. - Myriad bug fixes and code improvements. - Move jack.el into the Emms namespace. News since version 7.0 - Add authinfo support for libre.fm streaming. - Allow easily disabling the icon in the modeline. News since version 6.3 - Native reading of file metadata via emms-info-native. - emms-tag-editor: add pipe capability. - Compatibility with lexical scoping. - Improvements to the fine manual. News since version 6.2 - Updated documentation News since version 5.4 - Emms is now available via the GNU ELPA repository. - New info method: tinytag. - New info method: exiftool. - emms-volume.el: Fix missing quote in emms-volume-change-function. - namespace cleanup (emms-later-do.el). News since version 5.3 - Updated Website launched. - New and simplified emms-streams.el implementation. - New streaming radio stations. - Use track-at-point as a hint for guessing emms-add directory. - Bug fix: prevent skipping track when switching them during mpv playback. - Mixerctl now availabe in custom interface. News since version 5.2 - emms-volume-mixerctl.el: mixerctl volume control. - emms-playlist-save: improve behavior. - emms-playing-time: add a count-down timer display style. - Try to auto-detect the appropriate volume control. News since version 5.1 - emms-browser.el: faster thumbnail cache lookups. - emms-player-mpd.el: Parse disc number for mpd tracks. - Make thing-at-point behavior more consistent. - Remove redundant functions in code. - Allow changing the mode-line icon. - Bug fix: emms-player-mode, more consistent behavior. - Bug fix: emms-browser, Don't rely on (interactive "r"). News since version 5.0 - Add `emms-toggle-single-track'. - Fix the way emms-score skips tracks. - Safer key-binding for interactively killing the playlist buffer. - Bug fix: emms-show-all quit now behaves well. - Bug fix: Metalplaylist focus would error without a current buffer. - emms-playlist-sort sorts the visible playlist. - Rewrite emms-playlist-limit implementation. Now operates on the current buffer rather than the current playlist. Add emms-playlist-limit-to-description. - Rewrite mpv backend to use long-running mpv instances controlled over json-rpc protocol for newer versions. News since version 4.4 - Add Org-style "TAB" binding to cycle through the different levels of expansions. - Bind emms-browser-move-up-level to "^". - Make "RET" (emms-add-tracks) add all tracks in region or with numeric argument that many tracks. - Supersede emms-browser-delete-files with emms-browser-remove-tracks to remove tracks from browser without deleting files. Use prefix argument to get the old behaviour. Regions and numeric argument are supported. - Add emms-cache-reset. - Use the "album artist" instead of the "artist" browser node by default. - Bug fix: emms-volume-pulse multi-digit volume numbers. - Bug fix: emms-smart-browse "cascading" from a browser search. - Bug fix: fix fallback thumbnail filter. - Add mpv backend support. - Speed up info processing. - Add Opus info support via emms-info-opusinfo.el. - Code modernizations thanks to Pierre Neidhardt. - Tagging mp3 files v2.x files now works via mid3v2. - Add dynamic thumbnail caching. - Improve emms-metaplaylist-mode. News since version 4.3: - emms-volume-amixer.el: card id can be customized - Bug fix: set-playlist-buffer listing. - emms-source-file-directory-tree-find now follows symlinks. - Playlists can now be sorted by mtime. - Move to cl-lib. - Improve emms-volume. - Bug fix: fix mpg321 autoplay. News since version 4.2: - Limit network lookups in Browser mode. - New (C++) emms-print-metadata brings more TagLib features. - Compilation warnings gone (excl. cl). - Bug fix: emms-lyrics free variable fix. News since version 4.1: - Removed defunct streams. - Various emms-tag-editor bug fixes. - Bug fix: Info file now installs with correct suffix. - Bug fix: `make install' now installs emms-print-metadata. News since version 4.0: - Change the default behavior of C-k in emms-playlist-mode. - Covers can have several extensions. See `emms-browser-covers-file-extensions'. - Libre.fm login details can, and should, be stored in authinfo now. - Possible to set volume via PulseAudio pactl via emms-volume-pulse.el. - emms-lyrics.el now uses eww if present. Also EMMS tries to fetch non-Chinese lyrics from lyricwiki.org. - Add HTTPS support where possible. - Sort using locale language in the browser, if possible. - emms-setup.el has been simplified. - The Emms manual has been revised to help new users. - New feature: M-x emms-show-all. News since version 3.0: - Add GNU FM support. - Added mp4, m4a to the extensions handled by emms-info-libtag. - Play tracks randomly. - Extend MPD player support. - Add pause-resume support for lyrics display. - New implementation of emms-print-metadata. - Support both XEmacs and Emacs to highlight playing lyrics. - Add support for disc-number sorting of FLAC files. - New function to allow custom browser track-formats to display track duration. - Drop support for emms-player-gstreamer, Last.fm. - emms-player-mplayer: Remove code for loading movie subtitles automatically by emms, since mplayer has an option (`sub-fuzziness') controlling that. - Support displaying lyrics in a dedicated buffer, to highlight playing lyric. - Fix make install on Cygwin. - Compilation errors cleanup. News since version 2.1: - Saving bookmarks in individual tracks is now supported. - Support deleting files from the cache. - Add mms:// URL support for emms-player-mplayer. - Implement pause, resume, and seek support for emms-player-alsaplayer. - A new player called emms-player-timidity has been implemented which is capable of playing midi files. - A new player called emms-player-fluidsynth is also capable of playing midi files. - A new player called emms-player-xine (in emms-player-xine.el) is capable of using Xine to play tracks. - Hitting "<" or ">" in emms-playlist-mode causes seeking backward and forward, respectively. - New file jack.el allows jackd to be started from within emacs, and permits clients to be connected or disconnected. - New file emms-tag-editor.el is capable of editing track information in songs. - New file emms-mark.el allows tracks in a playlist to be marked and operated on, much like dired mode. - New file emms-lastfm.el implements submitting track information to Last.fm and playing Last.fm radio streams. Support for playing these streams has been added to emms-streams.el. - New file emms-i18n.el adds support for handling coding systems properly in process input/output. This is currently only used by emms-info-mp3info.el. - New file emms-history.el causes playlists to be saved automatically when exiting Emacs. - emms-player-mpd: - Using the emms-browser to insert and play tracks now works properly with emms-player-mpd. - Display the correct error message if an error occurs while trying to play a stream. - Handle any encoding errors that occur during playback. - Integrate with emms-lastfm.el in `emms-player-mpd-show', if emms-lastfm is loaded and active. - emms-playing-time supports different display styles now. - emms-lyrics: Now support lyrics auto-scrolling. - emms-player-mplayer: Capable of loading movie subtitles automatically now. News since version 2.0: - A new player that uses mpg321's remote mode is now available (emms-player-mpg321-remote)--this allows seeking and copes with errors in files. - A metadata browser has been added in emms-browser.el. - Recording of the time a track was last played is now supported. - emms-play-* and emms-add-* functions now toggle their play/add behavior when a prefix argument is supplied. - EMMS now caches tracks, which speeds up loading of large collections with info tags considerably. - EMMS now knows how to change the volume (emms-volume.el). - When playing a playlist from emms-playlist-mode, EMMS now optionally opens a new buffer for this playlist. User-visible bug fixes: - The emms-playlist-mode is now much faster. - MP3s with errors are now playable when using the remote player.