how to use mpg123 with emms?

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

how to use mpg123 with emms?

by leon-9 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi there,

I am on mac os x (leopard 10.5.6).

I compiled mpg123 from source and I can play mp3 files in terminal with
it. I try to use it with emms by the following setup.

  (define-emms-simple-player mpg123 '(file url)
     (emms-player-simple-regexp "mp3" "mp2")
     "mpg123")
  (setq emms-player-mplayer-parameters '("-slave")
        emms-player-list '(emms-player-mpg123
                           emms-player-mpg321
                           emms-player-mplayer
                           emms-player-mplayer-playlist))

Unfortunately I don't know why it can't play. I can see the line keep
moving to the next track until there's no next track.

Any ideas?

--
.:  Leo  :.  [ sdl.web AT gmail.com ]  .: I use Emacs :.

               www.git-scm.com
    git - the one true version control system



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

Re: how to use mpg123 with emms?

by Yoni Rabkin-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Leo <sdl.web@...> writes:

>   (define-emms-simple-player mpg123 '(file url)
>      (emms-player-simple-regexp "mp3" "mp2")
>      "mpg123")
>   (setq emms-player-mplayer-parameters '("-slave")

I don't have a Mac or mpg123 but perhaps it is because you are setting
`emms-player-mplayer-parameters' and not
`emms-player-mpg123-parameters'?

Note that `define-emms-simple-player' from emms-player-simple.el creates
this variable automagically when you call it.

--
   "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: how to use mpg123 with emms?

by William Xu-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Leo <sdl.web@...> writes:

> Hi there,
>
> I am on mac os x (leopard 10.5.6).
>
> I compiled mpg123 from source and I can play mp3 files in terminal with
> it. I try to use it with emms by the following setup.
>
>   (define-emms-simple-player mpg123 '(file url)
>      (emms-player-simple-regexp "mp3" "mp2")
>      "mpg123")
>   (setq emms-player-mplayer-parameters '("-slave")
>         emms-player-list '(emms-player-mpg123
>                            emms-player-mpg321
>                            emms-player-mplayer
>                            emms-player-mplayer-playlist))
>
> Unfortunately I don't know why it can't play. I can see the line keep
> moving to the next track until there's no next track.
>
> Any ideas?

Probably the command "mpg123" is not under your $PATH.  What does `M-!
which mpg123' returns?

And, you don't have to define a new mpg123 backend, instead simply
use mpg321 backend, by setting:

  (setq emms-player-mpg321-command-name "mpg123"
        emms-player-list '(emms-player-mpg321
                           emms-player-mplayer
                           emms-player-mplayer-playlist))

Also, unnecessary to set emms-player-mplayer-parameters, it has a better
default value: ("-slave" "-quiet" "-really-quiet")

--
William

http://xwl.appspot.com



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

Re: how to use mpg123 with emms?

by leon-9 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2009-04-24 17:35 +0100, William Xu wrote:

> Leo <sdl.web@...> writes:
>
>> Hi there,
>>
>> I am on mac os x (leopard 10.5.6).
>>
>> I compiled mpg123 from source and I can play mp3 files in terminal with
>> it. I try to use it with emms by the following setup.
>>
>>   (define-emms-simple-player mpg123 '(file url)
>>      (emms-player-simple-regexp "mp3" "mp2")
>>      "mpg123")
>>   (setq emms-player-mplayer-parameters '("-slave")
>>         emms-player-list '(emms-player-mpg123
>>                            emms-player-mpg321
>>                            emms-player-mplayer
>>                            emms-player-mplayer-playlist))
>>
>> Unfortunately I don't know why it can't play. I can see the line keep
>> moving to the next track until there's no next track.
>>
>> Any ideas?
>
> Probably the command "mpg123" is not under your $PATH.  What does `M-!
> which mpg123' returns?
>
> And, you don't have to define a new mpg123 backend, instead simply
> use mpg321 backend, by setting:
>
>   (setq emms-player-mpg321-command-name "mpg123"
>         emms-player-list '(emms-player-mpg321
>                            emms-player-mplayer
>                            emms-player-mplayer-playlist))
>
> Also, unnecessary to set emms-player-mplayer-parameters, it has a better
> default value: ("-slave" "-quiet" "-really-quiet")

I have adopted all the changes you suggested.

my exec-path is
("~/bin" "/usr/bin" "/bin" "/usr/sbin" "/sbin" "/usr/local/bin"
"/usr/X11/bin" "/usr/local/os/bin" "/usr/local/os/sbin"
"/usr/local/texlive/2008basic/bin/universal-darwin" "/Applications/Emacs.app/Contents/MacOS/bin")

and in terminal, which mpg123 returns: /usr/local/os/bin/mpg123

And still it is not working.

--
.:  Leo  :.  [ sdl.web AT gmail.com ]  .: I use Emacs :.

               www.git-scm.com
    git - the one true version control system



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

Re: how to use mpg123 with emms?

by leon-9 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2009-04-24 19:34 +0100, Leo wrote:
> And still it is not working.

I just found out what's wrong. It was something really silly. A playlist
was moved from another computer and all the paths were wrong. This is
corrected.

However it still can't play Chinese songs.

They display correctly in the buffer, for example:

/Users/Shared/iTunes Music/陈奕迅/Black White & Grey/04 十年.mp3
/Users/Shared/iTunes Music/陈楚生/原来我一直都不孤单/09 有没有人告诉你.mp3

I can use mpg123 in the terminal to play them but not in emms. Ideas? My
locale is LANG="en_GB.UTF-8" and GNU Emacs 23.0.92.1
(i386-apple-darwin9.6.0, NS apple-appkit-949.43) of 2009-04-22 on
neutron.local

Thanks,
--
.:  Leo  :.  [ sdl.web AT gmail.com ]  .: I use Emacs :.

               www.git-scm.com
    git - the one true version control system



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

Re: how to use mpg123 with emms?

by William Xu-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Leo <sdl.web@...> writes:

> However it still can't play Chinese songs.

Try `M-x toggle-debug-on-error'.  Can you get a backtrace for that?

--
William

http://xwl.appspot.com



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

Re: how to use mpg123 with emms?

by leon-9 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2009-04-25 04:37 +0100, William Xu wrote:
>> However it still can't play Chinese songs.
>
> Try `M-x toggle-debug-on-error'.  Can you get a backtrace for that?

No. And nothing was shown in the echo area.

--
.:  Leo  :.  [ sdl.web AT gmail.com ]  .: I use Emacs :.



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

Re: how to use mpg123 with emms?

by William Xu-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Leo <sdl.web@...> writes:

>>> However it still can't play Chinese songs.
>>
>> Try `M-x toggle-debug-on-error'.  Can you get a backtrace for that?
>
> No. And nothing was shown in the echo area.

Hmm, so you mean you can play non-chinese songs, but can't play chinese
songs? That's weird..  

It works well for me(with mpg123), either chinese or non-chinese songs.

--
William

http://xwl.appspot.com



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

Re: how to use mpg123 with emms?

by Andy Stewart-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,
Leo <sdl.web@...> writes:

> On 2009-04-24 19:34 +0100, Leo wrote:
>> And still it is not working.
>
> I just found out what's wrong. It was something really silly. A playlist
> was moved from another computer and all the paths were wrong. This is
> corrected.
>
> However it still can't play Chinese songs.
Check the ID3 string of your Chinese songs.

EMMS will skip song when it can't decode the string of ID3.

You can use tool edit ID3 of song, and try again.

Hope this will help you.

  -- Andy


>
> They display correctly in the buffer, for example:
>
> /Users/Shared/iTunes Music/陈奕迅/Black White & Grey/04 十年.mp3
> /Users/Shared/iTunes Music/陈楚生/原来我一直都不孤单/09 有没有人告诉你.mp3
>
> I can use mpg123 in the terminal to play them but not in emms. Ideas? My
> locale is LANG="en_GB.UTF-8" and GNU Emacs 23.0.92.1
> (i386-apple-darwin9.6.0, NS apple-appkit-949.43) of 2009-04-22 on
> neutron.local
>
> Thanks,



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

Re: how to use mpg123 with emms?

by leon-9 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2009-04-25 13:15 +0100, Andy Stewart wrote:
>> However it still can't play Chinese songs.
> Check the ID3 string of your Chinese songs.
>
> EMMS will skip song when it can't decode the string of ID3.
>
> You can use tool edit ID3 of song, and try again.

I have some songs that don't have any id3 info but it can't be played by
mpg123 either.

Anyway, if this is the case then it is clearly a bug for emms. The major
task of emms is playing songs not displaying id3.

> Hope this will help you.
>
>   -- Andy

--
.:  Leo  :.  [ sdl.web AT gmail.com ]  .: I use Emacs :.

               www.git-scm.com
    git - the one true version control system



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

Re: how to use mpg123 with emms?

by leon-9 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2009-04-25 12:56 +0100, William Xu wrote:
>>> Try `M-x toggle-debug-on-error'.  Can you get a backtrace for that?
>>
>> No. And nothing was shown in the echo area.
>
> Hmm, so you mean you can play non-chinese songs, but can't play
> chinese songs? That's weird..

Exactly. No error message was produced leaving me clueless.

> It works well for me(with mpg123), either chinese or non-chinese
> songs.

I wonder if this is related to another quirk. Basically when I do the
following:

(setq emms-source-file-directory-tree-function
      'emms-source-file-directory-tree-find)))

emms fails to play any track. I traced down to where it execute the
'find' command, and it returned nothing. Maybe the bsd find is different
from *nix.

--
.:  Leo  :.  [ sdl.web AT gmail.com ]  .: I use Emacs :.

               www.git-scm.com
    git - the one true version control system



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

Re: how to use mpg123 with emms?

by William Xu-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> I wonder if this is related to another quirk. Basically when I do the
> following:
>
> (setq emms-source-file-directory-tree-function
>       'emms-source-file-directory-tree-find)))
>
> emms fails to play any track. I traced down to where it execute the
> 'find' command, and it returned nothing. Maybe the bsd find is different
> from *nix.

Yes, they are different.  That's why GNU find is mentioned in the docs
of emms-source-file-directory-tree-function:

,----[ C-h v emms-source-file-directory-tree-function RET ]
| emms-source-file-directory-tree-function is a variable defined in `emms-source-file.el'.
| Its value is
| emms-source-file-directory-tree-internal
|
| Documentation:
| *A function to call that searches in a given directory all files
| that match a given regex. DIR and REGEX are the only arguments passed
| to this function.
| You have two build-in options:
| `emms-source-file-directory-tree-internal' will work always, but might
| be slow.
| `emms-source-file-directory-tree-find' will work only if you have GNU
| find, but it's faster.
|
| You can customize this variable.
|
| [back]
`----

You may try with emms-source-file-directory-tree-internal.  

But it this is the cause, you should also not be able to play
non-chinese songs..

--
William

http://xwl.appspot.com



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

Re: how to use mpg123 with emms?

by leon-9 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2009-04-25 16:43 +0100, William Xu wrote:
> You may try with emms-source-file-directory-tree-internal.  

This is what I'm using now.

> But it this is the cause, you should also not be able to play
> non-chinese songs..

--
.:  Leo  :.  [ sdl.web AT gmail.com ]  .: I use Emacs :.

               www.git-scm.com
    git - the one true version control system



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