Yoni Rabkin | 24 Jun 21:08 2016
Picon

Emacswiki page


If anyone wants to volunteer to review the Emms Emacswiki page, please
do so. It would be useful to provide concrete solutions to questions
being asked, refer people to the manual as well as update out-of-date
information.

--

-- 
   "Cut your own wood and it will warm you twice"

Alejandro Erickson | 23 Jun 00:35 2016
Picon
Gravatar

[PATCH] Remove apparent defunct streams

I also removed Digitally Imported streams and, I believe, Sky.fm
streams, because they require premium subscriptions to be used outside
of their websites and apps.  I think people who use streams a lot do not
depend on this list very much, but it is nice to have a few streams for
the person first trying out `emms-streams`.
---
 lisp/emms-streams.el | 118 ++++++++++++++++++---------------------------------
 1 file changed, 41 insertions(+), 77 deletions(-)

diff --git a/lisp/emms-streams.el b/lisp/emms-streams.el
index 0feee49..c581ba1 100644
--- a/lisp/emms-streams.el
+++ b/lisp/emms-streams.el
 <at>  <at>  -107,83 +107,47  <at>  <at>  needed info.")
 ;; lastfm it's a lastfm station
 (defvar emms-stream-default-list
  '(("SomaFM: Beatblender"
-    "http://www.somafm.com/beatblender.pls" 1 streamlist)
-   ("SomaFM: Secret Agent"
-    "http://www.somafm.com/secretagent.pls" 1 streamlist)
-   ("SomaFM: Groove Salad"
-    "http://www.somafm.com/groovesalad.pls" 1 streamlist)
-   ("SomaFM: Drone Zone"
-    "http://www.somafm.com/dronezone.pls" 1 streamlist)
-   ("SomaFM: Tag's Trance"
-    "http://www.somafm.com/tagstrance.pls" 1 streamlist)
-   ("SomaFM: Indie Pop Rocks"
-    "http://www.somafm.com/indiepop.pls" 1 streamlist)
-   ("SomaFM: Doomed"
-    "http://www.somafm.com/doomed.pls" 1 streamlist)
(Continue reading)

Alejandro Erickson | 23 Jun 00:34 2016
Picon
Gravatar

[PATCH] Clean up trashing functions and comment bugs

(emms-browser-move-files-to-trash) mimics the behaviour
of (emms-browser-delete-files), using (delete-file path t) in order to
ultimately call (move-file-to-trash FILENAME). This allows users to keep
the `delete' functionality of `delete-file` and
`delete-directory` (which can be set to send to trash instead), and also
gives some confidence in the music removal and organisation features of
emms (that they won't accidentally permanently delete music).

Note bug in same function and emms-browser-delete-files, that os
x (darwin) files .DS_Store prevent deletion of empty directories. I
don't know enough elisp to fix this.

Note bug in commented function `de-kill-covers-and-parent`, that it
decides whether or not an album has been deleted based on how many
tracks were deleted.  This is obviously going to give both false
positives and false negatives.  It should instead check whether there
are non-image files (or .DS_Store) in the directories in question.
---
 lisp/emms-browser.el | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/lisp/emms-browser.el b/lisp/emms-browser.el
index 23b1495..5efaa1d 100644
--- a/lisp/emms-browser.el
+++ b/lisp/emms-browser.el
 <at>  <at>  -263,6 +263,10  <at>  <at> 
 ;; The following code will delete covers at the same time, and remove
 ;; parent directories if they're now empty.

+;; Note that deleting more than one song from an album can result in
(Continue reading)

Alejandro Erickson | 23 Jun 00:34 2016
Picon
Gravatar

[PATCH] Play/pause dwim, tries to pause/play music

(emms-play-pause-dwim) first tries (emms-pause).  If an error is
encountered it tries to play the first item in the current playlist.
Failing that it plays something random from the emms browser.  If it
fails again, it emits a message.
---
 lisp/emms.el | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/lisp/emms.el b/lisp/emms.el
index 2d282bb..5a037ed 100644
--- a/lisp/emms.el
+++ b/lisp/emms.el
 <at>  <at>  -434,6 +434,43  <at>  <at>  If player hasn't started, then start it now."
       (emms-player-pause)
     (emms-start)))

+(defun emms-play-pause-dwim ()
+  "Try to (un)pause, or play from playlist, or play a random track from the music library."
+  (interactive)
+  (let ((res nil))
+    (ignore-errors
+      (emms-pause)
+      (setq res t)
+      )
+    (unless res
+      (let ((res nil))
+        (ignore-errors
+          (emms-playlist-mode-go)
+          (goto-line 1) 
+          (emms-playlist-mode-play-smart)
(Continue reading)

Alejandro Erickson | 23 Jun 00:34 2016
Picon
Gravatar

[PATCH 1/2] Bind seek-more keys

Bind keys for seek-more forward/backward.  It might make more sense to
bind </> instead of ,/., but those were taken for seek 10 seconds.
---
 lisp/emms-playlist-mode.el | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lisp/emms-playlist-mode.el b/lisp/emms-playlist-mode.el
index e8972c0..b4d3faa 100644
--- a/lisp/emms-playlist-mode.el
+++ b/lisp/emms-playlist-mode.el
 <at>  <at>  -137,7 +137,9  <at>  <at>  This is true for every invocation of `emms-playlist-mode-go'."
     (define-key map (kbd "p") 'emms-previous)
     (define-key map (kbd "SPC") 'scroll-up)
     (define-key map (kbd ">") 'emms-seek-forward)
+    (define-key map (kbd ".") 'emms-seek-minute-forward)
     (define-key map (kbd "<") 'emms-seek-backward)
+    (define-key map (kbd ",") 'emms-seek-minute-backward)
     (define-key map (kbd "P") 'emms-pause)
     (define-key map (kbd "s") 'emms-stop)
     (define-key map (kbd "f") 'emms-show)
--

-- 
2.8.3

Иван Трусков | 20 Jun 15:52 2016
Picon

Transferring playlists

Hello!
Is it possible to transfer playlists (pls) between computers if (for some reason) tracks have different positions in directory structure? (things happen during file transfer)...
<div><div dir="ltr">Hello!<div>Is it possible to transfer playlists (pls) between computers if (for some reason) tracks have different positions in directory structure? (things happen during file transfer)...</div>
</div></div>
Alejandro Erickson | 19 Jun 21:32 2016
Picon
Gravatar

help submitting my patches

Hi,
I wrote some extra functions for EMMS as I prepared an EMMS plugin for Spacemacs, and I realised I should probably offer the changes to EMMS first.  I don't understand how to do that though (this being my first emacs-related contribution).  I've read https://www.emacswiki.org/emacs/EMMSDevelopment

I cloned https://github.com/emacsmirror/emms at https://github.com/alejandroerickson/emms and made my changes, with one or so commits per feature.  Your doc doesn't mention github pull requests (naïve question perhaps, but why?), and when I tried the format-patch command I got an the following error:

 % git format-patch -M emacsmirror                                                                                                                                                       ~/emms (master) alejandro
fatal: ambiguous argument 'emacsmirror': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:

The changes include:
- seek one minute functions (many people have long, 1hr+ tracks)
- remove defunct streams (about half of them don't work, including DI radio that requires premium account to stream outside their app)
- a delete function that explicitly moves to trash, rather than depending on whether emacs is configured to delete by trashing or not
- play/pause dwim, that tries really hard to play music, even if the playlist is empty

There will probably be more changes as I discover and use more features of emms, but I'd like to submit a patch in the interim.

Additional question: is there testing code for emms?

Note: emms-patches rejected my email.

Alejandro

--
Dr. Alejandro Erickson
Postdoctoral Research Associate in Computer Science, Durham University, UK

<div><div dir="ltr">Hi,<div>I wrote some extra functions for EMMS as I prepared an EMMS plugin for Spacemacs, and I realised I should probably offer the changes to EMMS first.&nbsp; I don't understand how to do that though (this being my first emacs-related contribution).&nbsp; I've read&nbsp;<a href="https://www.emacswiki.org/emacs/EMMSDevelopment" target="_blank">https://www.emacswiki.org/emacs/EMMSDevelopment</a>
</div>
<div><br></div>
<div>I cloned&nbsp;<a href="https://github.com/emacsmirror/emms" target="_blank">https://github.com/emacsmirror/emms</a>&nbsp;at&nbsp;<a href="https://github.com/alejandroerickson/emms" target="_blank">https://github.com/alejandroerickson/emms</a>&nbsp;and made my changes, with one or so commits per feature.&nbsp; Your doc doesn't mention github pull requests (na&iuml;ve question perhaps, but why?), and when I tried the format-patch command I got an the following error:</div>
<div><br></div>
<div>
<div>&nbsp;% git format-patch -M emacsmirror &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ~/emms (master) alejandro</div>
<div>fatal: ambiguous argument 'emacsmirror': unknown revision or path not in the working tree.</div>
<div>Use '--' to separate paths from revisions, like this:</div>
</div>
<div><br></div>
<div>The changes include:</div>
<div>- seek one minute functions (many people have long, 1hr+ tracks)</div>
<div>- remove defunct streams (about half of them don't work, including DI radio that requires premium account to stream outside their app)</div>
<div>- a delete function that explicitly moves to trash, rather than depending on whether emacs is configured to delete by trashing or not</div>
<div>- play/pause dwim, that tries really hard to play music, even if the playlist is empty</div>
<div><br></div>
<div>There will probably be more changes as I discover and use more features of emms, but I'd like to submit a patch in the interim.</div>
<div>
<br><span>Additional question: is there testing code for emms?</span><div class=""></div>
</div>
<div><span><br></span></div>
<div><span>Note: emms-patches rejected my email.</span></div>
<div><span><br></span></div>
<div><span>Alejandro</span></div>
<div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">
<div>
<span>Dr. Alejandro Erickson</span><br>
</div>
<div>Postdoctoral Research Associate in&nbsp;<span>Computer Science,&nbsp;</span><span>Durham University, UK</span>
</div>
<div>
<a href="http://alejandroerickson.com" target="_blank">http://alejandroerickson.com</a><br>
</div>
<div><br></div>
</div></div>
</div></div>
Alex Vong | 17 Jun 15:29 2016
Picon

play audio only when playing media

Hi emms,

I want to ask is there a way to play audio only when playing a video
file, like a mkv file? So far I have tried 2 method, and both failed:

Method 1:
  (setq-default emms-player-vlc-parameters (cons "--no-video"
                                                 emms-player-vlc-parameters))
Problem:
  I cannot play video anymore. What I want is I can disable video at
  will.

Method2:
  (defun music-play-directory (dir)
    (interactive
     (let ((promt "Play directory: ")
           (mustmatch t))
       (list (emms-read-directory-name promt
                                       emms-source-file-default-directory
                                       emms-source-file-default-directory
                                       mustmatch))))
    (emms-play-directory dir))
Problem:
  The function return immediately. Only the 1st video is played without
  video, the rest are played with video.

How should I fix my function?

Thanks,
Alex

Yoni Rabkin | 31 May 19:10 2016
Picon

Retro 4.0 release, and a new 4.1 release


After being told that people who use Emacs package managers rely on
tags, I went ahead and retro-tagged the 4.0 release.

I also tagged and officially released Emms 4.1 with all of the goodness
collected to-date. Thank you to everyone who coded, wrote and debugged
this.

I'll soon update the Emms website with the new release information and a
hint that using the git master is usually a safe bet.

Also, I am proposing a 6-month release cycle (marking 4.2 for November)
which should help keep people who are tracking tags in the loop.

--

-- 
   "Cut your own wood and it will warm you twice"

Alex Bennée | 31 May 12:32 2016
Gravatar

Stable tag for v4 series?


Hi,

I was looking for emms in Melpa Stable and couldn't find it so I started
investigating the repo/web-site to see if I could add the recipe. I
discovered the v3.0 tag is around 9 years old and there didn't seem to
be a v4.0 tag associated with the recent* release.

Any chance a new stable release could be tagged?

*recent being 2014.

--
Alex Bennée

_______________________________________________
Emms-help mailing list
Emms-help <at> gnu.org
https://lists.gnu.org/mailman/listinfo/emms-help
Julien Cubizolles | 22 Apr 10:22 2016
Picon

emms mixing up mpd entries


I just noticed a very weird behaviour where emms-cache-set-from-mpd-all
sometimes misses a "title" field for a song and each of the following entries
get the title from the previous one...

To make it clearer, consider the following mpd tag_cache entries:

--8<---------------cut here---------------start------------->8---
song_begin: 13 Melody Dean.ogg
Time: 242.499000
Artist: Amanda Palmer & The Grand Theft Orchestra
ArtistSort: Palmer, Amanda & Grand Theft Orchestra, The
Album: Theatre Is Evil
AlbumArtistSort: Palmer, Amanda & Grand Theft Orchestra, The
Title: Melody Dean
Track: 13
Date: 2012-09-10
Disc: 1
MUSICBRAINZ_ARTISTID: 3c0eb318-d2ba-45aa-9077-b83746cc56da
MUSICBRAINZ_ALBUMID: 7acc4d65-7996-4909-b290-81c066926814
MUSICBRAINZ_ALBUMARTISTID: 3c0eb318-d2ba-45aa-9077-b83746cc56da
MUSICBRAINZ_TRACKID: a7c661ac-02e1-4f58-8aa7-f90b03a4a7a5
Date: 2012
AlbumArtist: Amanda Palmer & The Grand Theft Orchestra
mtime: 1461228248
song_end
song_begin: 14 Berlin.ogg
Time: 437.903000
Album: Theatre Is Evil
AlbumArtist: Amanda Palmer & The Grand Theft Orchestra
AlbumArtistSort: Palmer, Amanda & Grand Theft Orchestra, The
Artist: Amanda Palmer & The Grand Theft Orchestra
ArtistSort: Palmer, Amanda & Grand Theft Orchestra, The
Date: 2012-09-10
Disc: 1
MUSICBRAINZ_ALBUMARTISTID: 3c0eb318-d2ba-45aa-9077-b83746cc56da
MUSICBRAINZ_ALBUMID: 7acc4d65-7996-4909-b290-81c066926814
MUSICBRAINZ_ARTISTID: 3c0eb318-d2ba-45aa-9077-b83746cc56da
MUSICBRAINZ_TRACKID: b6bd07e7-fa1d-43e7-97c8-ac590cdc37c2
Title: Berlin
Track: 14
mtime: 1461228268
song_end
song_begin: 15 Olly Olly Oxen Free.ogg
Time: 246.379000
Album: Theatre Is Evil
AlbumArtist: Amanda Palmer & The Grand Theft Orchestra
AlbumArtistSort: Palmer, Amanda & Grand Theft Orchestra, The
Artist: Amanda Palmer & The Grand Theft Orchestra
ArtistSort: Palmer, Amanda & Grand Theft Orchestra, The
Date: 2012-09-10
Disc: 1
MUSICBRAINZ_ALBUMARTISTID: 3c0eb318-d2ba-45aa-9077-b83746cc56da
MUSICBRAINZ_ALBUMID: 7acc4d65-7996-4909-b290-81c066926814
MUSICBRAINZ_ARTISTID: 3c0eb318-d2ba-45aa-9077-b83746cc56da
MUSICBRAINZ_TRACKID: df2ed938-c1ef-4ec8-b103-cb674b75d855
Title: Olly Olly Oxen Free
Track: 15
mtime: 1461228277
song_end
--8<---------------cut here---------------end--------------->8---

The corresponding entries in emms cache are (note that they are in
reverse order): the "first" one (the last in the tag_cache) has somehow
gotten the info-title, info-track-number and info-artist (not a problem
here) that the second one should have. And all the remaining entries of
the mpd tag_cache are affected, getting the wrong artist, title and
track number.

--8<---------------cut here---------------start------------->8---
(puthash "/var/lib/mpd/music/NAS/Synology/BEETS/Amanda Palmer & The Grand Theft Orchestra/Theatre
Is Evil/15 Olly Olly Oxen Free.ogg" '(*track* (type . file) (name .
"/var/lib/mpd/music/NAS/Synology/BEETS/Amanda Palmer & The Grand Theft Orchestra/Theatre Is
Evil/15 Olly Olly Oxen Free.ogg") (info-album . "Theatre Is Evil") (info-playing-time . 246)
(info-tracknumber . "14") (info-title . "Berlin") (info-year . "2012-09-10") (info-artist . "Amanda
Palmer & The Grand Theft Orchestra")) emms-cache-db)
(puthash "/var/lib/mpd/music/NAS/Synology/BEETS/Amanda Palmer & The Grand Theft Orchestra/Theatre
Is Evil/14 Berlin.ogg" '(*track* (type . file) (name .
"/var/lib/mpd/music/NAS/Synology/BEETS/Amanda Palmer & The Grand Theft Orchestra/Theatre Is
Evil/14 Berlin.ogg") (info-album . "Theatre Is Evil") (info-playing-time . 438) (info-year . "2012")) emms-cache-db)
(puthash "/var/lib/mpd/music/NAS/Synology/BEETS/Amanda Palmer & The Grand Theft Orchestra/Theatre
Is Evil/13 Melody Dean.ogg" '(*track* (type . file) (name .
"/var/lib/mpd/music/NAS/Synology/BEETS/Amanda Palmer & The Grand Theft Orchestra/Theatre Is
Evil/13 Melody Dean.ogg") (info-year . "2012-09-10") (info-tracknumber . "13") (info-title . "Melody
Dean") (info-album . "Theatre Is Evil") (info-artist . "Amanda Palmer & The Grand Theft Orchestra")
(info-playing-time . 242)) emms-cache-db)
--8<---------------cut here---------------end--------------->8---

The problem remains when I only include this particular album in the mpd
database. I'm using the latest emms from git.

Julien.


Gmane