re-write of emms-stream-info.el

View: New views
3 Messages — Rating Filter:   Alert me  

re-write of emms-stream-info.el

by Yoni Rabkin-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hello,

I've just pushed a complete re-write of emms-stream-info.el. The new
version uses either VLC or mplayer as a backend process to read the
stream information instead of trying to do everything inside Emacs. As a
result reading stream information is faster (especially the mplayer
backend), more reliable, the file shrunk from 740+ lines to 110+ lines
and when it fails it isn't my fault anymore.

There are still some rough edges, so please comment if this breaks
anything for you.

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



_______________________________________________
Emms-help mailing list
Emms-help@...
http://lists.gnu.org/mailman/listinfo/emms-help

Re: re-write of emms-stream-info.el

by Andy Stewart-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi yrk,

Yoni Rabkin <yoni@...> writes:

> Hello,
>
> I've just pushed a complete re-write of emms-stream-info.el. The new
> version uses either VLC or mplayer as a backend process to read the
> stream information instead of trying to do everything inside Emacs. As a
> result reading stream information is faster (especially the mplayer
> backend), more reliable, the file shrunk from 740+ lines to 110+ lines
> and when it fails it isn't my fault anymore.
>
> There are still some rough edges, so please comment if this breaks
> anything for you.
Yep, i have similar emms code mplayer stream use mplayer.

Below is my code:

,----
| (defun emms-stream-play ()
|   "Play stream"
|   (interactive)
|   (let* ((line (or (get-text-property (point) 'emms-stream)
|                    (progn
|                      (goto-char (or (previous-single-property-change
|                                      (point) 'emms-stream)
|                                     (point-min)))
|                      (goto-char (or (previous-single-property-change
|                                      (point) 'emms-stream)
|                                     (point-min)))
|                      (get-text-property (point) 'emms-stream))
|                    (error "No stream found at point")))
|          (url (emms-stream-url line)))
|     (when url
|       (emms-stop)
|       (shell-command-execute "killall mplayer")
|       (sit-for 1)
|       (shell-command-execute "mplayer -playlist" url)
|       (message "Loading stream from %s ..." url)
|       )))
|
| (defun shell-command-execute (cmd &rest arg-list)
|   "Exectue shell command asynchronously.
| Argument CMD the main command.
| Optional argument ARG-LIST command arguments."
|   (interactive)
|   (let* (arg-element arg)
|     (dolist (arg-element arg-list)
|       (setq arg (concat arg " " arg-element)))
|     (shell-command-asynchronously (concat cmd arg))))
|
| (defun shell-command-asynchronously (cmd)
|   "Exectute shell command asynchronously.
| Argument CMD the main command."
|   (start-process-shell-command cmd nil cmd))
|
`----

Enjoy!

  -- Andy



_______________________________________________
Emms-help mailing list
Emms-help@...
http://lists.gnu.org/mailman/listinfo/emms-help

Re: Re: re-write of emms-stream-info.el

by Yoni Rabkin-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Andy Stewart <lazycat.manatee@...> writes:

> Yep, i have similar emms code mplayer stream use mplayer.
>
> Below is my code:

Could you eventually try to use emms-stream-info.el instead and give
some feedback on if it does the job? The code in emms-stream-info.el is
similar to what you've posted, but a lot more robust.

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



_______________________________________________
Emms-help mailing list
Emms-help@...
http://lists.gnu.org/mailman/listinfo/emms-help