Discussion:
found what i've been looking for
Hoti
2012-02-09 17:23:23 UTC
Permalink
Hi,

since the developement on xmms was stopped, i was looking for a good
player. i tried almost everything but nothing satisfied me. i always
believed that a music player needs a click-gui.
BUT: now i have found what i was looking for. cmus is really great.
since i love vi(m) too, its easy to navigate for me. it's very stable,
fast and does not need much memory. i really love this player. the
multimedia-keys of my keyboard are using cmus-remote and i think they
love cmus too ;-)
i also took a look at the source(just because i am a freak), and it
seems to be very clear and nice for me. did i already say that i love cmus?




The only things i am really missing are:
------------------------------------------------------------------

1. an id3-Tag Editor. I mean, there are so nice ways to filter the
music(in playlists and libraries and so on..) and the id3-tags but i
didn't found a way to edit the id3-tags of a mp3 file in cmus. it would
be very practical.

2. i am still looking for a way to jump to the actual-played file in the
playlist. sometimes my randomly played playlist plays a title of a nice
album and i want to check what songs are on this album else. then i have
to search for..



PS: is it possible to use regex in the search and filters?



Greetings from a big fan
Hoti
Jason Woofenden
2012-02-09 22:41:00 UTC
Permalink
Hoti,

Glad you found cmus!

I too found it after trying quite a few programs that just didn't
do what I wanted.


First the easy answer for you: the "i" key will jump you to the
currently playing song. Well, usually it will. One of these years
I'll get around to making it work more of the time.


Then editing your music files... cmus doesn't have a tag editor,
and never will I think. But you can have it shell out to a tag
editor of your choice. First you'll need a shell script, something
like this:

#!/bin/bash
file="$(cmus-remote -C 'echo {}')"
if [ -f "$file" ]
then
notify-send "$file"&
else
echo "Oop, couldn't find selected track" >&2
fi


I used that for testing, you'll want to replace notify-send with
your tag editor of course.


This will run a program, passing the filename (absolute path) of
the currently selected (ie has the cursor on it, not nessesarily
the one playing).

Then you'll probably want to bind a key in cmus to call this
script.

Then you can do this in cmus:

:bind common 0 shell ~/bin/cmus-libnotify-sel

You might have to stick that (without the leading ":") in
~/.cmus/rc I forget.



I love how tidy and straightforward the source code for cmus is
too. I've been very happy to see many commits over the years that
make it easier to read and understand.


- Jason
Hoti
2012-02-10 10:57:59 UTC
Permalink
Thank you very much, now it works perfectly.

I rebuild the debian-package from wheezy, because the cmus from debian
squeeze(cmus 2.3.3) doesn't have the shell-command.

now i am using your modified script:

#!/bin/bash
file="$(cmus-remote -C 'echo {}')"

if [ -f "$file" ]
then
mrxvt -e /usr/bin/mp3info -i "$file" &
else
echo "Oop, couldn't find selected track" >&2
fi


Veeeeeery nice!!


Hoti
Post by Jason Woofenden
Hoti,
Glad you found cmus!
I too found it after trying quite a few programs that just didn't
do what I wanted.
First the easy answer for you: the "i" key will jump you to the
currently playing song. Well, usually it will. One of these years
I'll get around to making it work more of the time.
Then editing your music files... cmus doesn't have a tag editor,
and never will I think. But you can have it shell out to a tag
editor of your choice. First you'll need a shell script, something
#!/bin/bash
file="$(cmus-remote -C 'echo {}')"
if [ -f "$file" ]
then
notify-send "$file"&
else
echo "Oop, couldn't find selected track">&2
fi
I used that for testing, you'll want to replace notify-send with
your tag editor of course.
This will run a program, passing the filename (absolute path) of
the currently selected (ie has the cursor on it, not nessesarily
the one playing).
Then you'll probably want to bind a key in cmus to call this
script.
:bind common 0 shell ~/bin/cmus-libnotify-sel
You might have to stick that (without the leading ":") in
~/.cmus/rc I forget.
I love how tidy and straightforward the source code for cmus is
too. I've been very happy to see many commits over the years that
make it easier to read and understand.
- Jason
------------------------------------------------------------------------------
Virtualization& Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
gt
2012-02-10 11:42:48 UTC
Permalink
Post by Hoti
Thank you very much, now it works perfectly.
I rebuild the debian-package from wheezy, because the cmus from debian
squeeze(cmus 2.3.3) doesn't have the shell-command.
#!/bin/bash
file="$(cmus-remote -C 'echo {}')"
if [ -f "$file" ]
then
mrxvt -e /usr/bin/mp3info -i "$file" &
else
echo "Oop, couldn't find selected track" >&2
fi
mp3info writes only id3v1 tags, so aren't you missing out on v2.3 or
even v2.4 compatibility?
--
O< ascii ribbon campaign - stop html mail - www.asciiribbon.org
Hoti
2012-02-10 13:59:00 UTC
Permalink
Post by gt
Post by Hoti
Thank you very much, now it works perfectly.
I rebuild the debian-package from wheezy, because the cmus from debian
squeeze(cmus 2.3.3) doesn't have the shell-command.
#!/bin/bash
file="$(cmus-remote -C 'echo {}')"
if [ -f "$file" ]
then
mrxvt -e /usr/bin/mp3info -i "$file"&
else
echo "Oop, couldn't find selected track">&2
fi
mp3info writes only id3v1 tags, so aren't you missing out on v2.3 or
even v2.4 compatibility?
which editor would you recommend?
gt
2012-02-10 14:53:54 UTC
Permalink
Post by Hoti
Post by gt
mp3info writes only id3v1 tags, so aren't you missing out on v2.3 or
even v2.4 compatibility?
which editor would you recommend?
Well that's difficult to tell. I have been using mp3tag under wine for
mp3s for a while. In the meanwhile i have tried easytag which is quite
good. But i have been using kid3 lately, mainly due to good utf support
and vorbis comments.

Another one which is quite similar to mp3tag is puddletag, but it only
supports id3v2.4, and i prefer v2.3.

So, none of these would fit the bill for a command line editor, at
least.
--
O< ascii ribbon campaign - stop html mail - www.asciiribbon.org
Jason Woofenden
2012-02-10 18:26:40 UTC
Permalink
Post by Jason Woofenden
#!/bin/bash
file="$(cmus-remote -C 'echo {}')"
if [ -f "$file" ]
then
mrxvt -e /usr/bin/mp3info -i "$file" &
else
echo "Oop, couldn't find selected track" >&2
fi
Excellent! That's a much better example than libnotify :)

I posted this on the cmus wiki:

http://cmus.sourceforge.net/wiki/doku.php?id=cmus_edit_tags

edits welcome :)


- Jason
Johannes Weißl
2012-02-10 21:50:32 UTC
Permalink
Hello Hoti!
Post by Hoti
since the developement on xmms was stopped, i was looking for a good
player. i tried almost everything but nothing satisfied me. i always
believed that a music player needs a click-gui.
I think almost everyone of us has a similar story, most of us came from
Winamp/XMMS and tried almost any player out there, so we all have
something in common.
Post by Hoti
BUT: now i have found what i was looking for. cmus is really great.
since i love vi(m) too, its easy to navigate for me. it's very stable,
fast and does not need much memory. i really love this player. the
multimedia-keys of my keyboard are using cmus-remote and i think they
love cmus too ;-)
i also took a look at the source(just because i am a freak), and it
seems to be very clear and nice for me. did i already say that i love cmus?
That is really great! It motivates to develop cmus to see happy
users/hackers :-).
Post by Hoti
------------------------------------------------------------------
1. an id3-Tag Editor. I mean, there are so nice ways to filter the
music(in playlists and libraries and so on..) and the id3-tags but i
didn't found a way to edit the id3-tags of a mp3 file in cmus. it would
be very practical.
I seem to be the only one around here, but I tag all my music using
MusicBrainz with their Picard tagger. They give every recording a
unique UUID, which is great for managing music. Also, it feels so much
more useful to fix tags not only for yourself, but in a collective
approach.
Post by Hoti
PS: is it possible to use regex in the search and filters?
I wondered myself why we don't have regex support, I guess it is a NIH
syndrome of cmus: It was mostly a learning project for the original
author (Timo), so he didn't use e.g. the GNU regex library but
implemented globbing (the kind of filtering we have now) on his own.

The problem is that globbing and regex are incompatible, so if we want
regex we would either need a new option or new commands. Do you think
regex is really required? With my music collection globbing is ok in 99%
of cases.


Johannes

Loading...