Discussion:
Bug and feature request/change report
Aleksandar_B
2011-06-15 18:50:40 UTC
Permalink
Been using cmus for a month now, great app, simple yet powerful, just what I
was looking for.

I have a couple of questions and feature change requests regarding some
behaviours of the app.

1. When in command mode (:) if I decide to cancel the current command using
Esc (even multiple times) does nothing, I have to delete the whole line
including the ':' to be able to navigate cmus, the same goes for search mode
(/).

2. Even though this probably isn't related to cmus i should probably mention
it. When adjusting volume anything lower than 43 and higher than 63 makes
noise.

3. I have a number of playlists saved on my drive (.m3u) and would like to
use them in cmus but I have noticed some non consistent behaviour when
trying to import them. I'v documented it through some tests:

Using previously created playlist and command mode:
load -p /path/to/playlist - loads the tracks in playlist view but gives an
error when trying to play them
add -Q /path/to/playlist - loads the tracks in queue view but gives an error
when trying to play them

Using playlist created in cmus (.m3u) and command mode:
load -p /path/to/playlist - loads the tracks in playlist view and they are
playable
add -Q /path/to/playlist - loads the tracks in queue view and they are
playable

Using Browser view and both previously created playlist and that created in
cmus:
locate the playlist > y - adds the playlist in playlist view and it's
playable
locate the playlist > e - adds the playlist in queue view and it's playable

Importing in Library view via command mode both previously created playlist
and the one created in cmus:
load -l /path/to/playlist - in view 1 only the Artist name is present,
everything else is blank (no other artists), in view 2 songs from playlist
are listed and playable but there is no way to restore the library other
than re-importing everything.
add - l - just duplicates entries in the Library view (adds songs in
coresponding album next to already indexed songs)

For #1 I'm not sure to consider it a bug or is this the default behaviour
(not according to the help text), #2 seams like something on my end, not
sure what.

For #3 I' not sure is it normal or a bug, in either case i would like to
sugest some modifications to playlist handling in order to have better view
of them.

Bellow are two mock-ups (template taken from cmus-tutorial page) that
demonstrate playlist showing in Library view under coresponding artist next
to albums, and the other one shows Playlist view and playlists stringed in a
hierarchy. One of these, or posibly some other way, would make playlist more
accesible.


+---------------------------------------------------------------------+
| Artist / Album Track Library |
| Artist 1 | 1._track_from_the_playlist |
| Album 1 | 2._track_from_the_playlist |
| Playlist | |
| | |
| | |
| | |
| | |
| |
| . 00:00 - 00:00 vol: 100 all from library | C |
| |
+---------------------------------------------------------------------+



+---------------------------------------------------------------------+
| Playlist /path/to/the/playlist_1 - 2 tracks |
| 1._track_from_playlist_1 |
| 2._track_from_playlist_1 |
| |
| Playlist /path/to/the/playlist_2 - 2 tracks |
| 1._track_from_playlist_2 |
| 2._track_from_playlist_2 |
| |
| |
| . 00:00 - 00:00 vol: 100 all from library | C |
| |
+---------------------------------------------------------------------+

Once again, great job on cmus and I hope you will consider some of my
suggestions.

PS:
Sorry for crooked lines, gmail' fault :)
Johannes Weißl
2011-06-15 19:26:47 UTC
Permalink
Hi!
Post by Aleksandar_B
Been using cmus for a month now, great app, simple yet powerful, just what I
was looking for.
Great to hear that :-)!
Post by Aleksandar_B
1. When in command mode (:) if I decide to cancel the current command using
Esc (even multiple times) does nothing, I have to delete the whole line
including the ':' to be able to navigate cmus, the same goes for search mode
(/).
What system / terminal emulator are you using? In most environments, the
Escape key starts an escape sequence, so to cancel the command prompt,
you have to type Escape and wait for 1-2 seconds (in this time, you
mustn't type any other key, including Escape). Thats why most people
(including me) use Ctrl-C to cancel the prompt (or Ctrl-U to just clean
it). Does this solve your problem?
Post by Aleksandar_B
2. Even though this probably isn't related to cmus i should probably mention
it. When adjusting volume anything lower than 43 and higher than 63 makes
noise.
What audio output plugin are you using? Does this also happen with other
audio players?
Post by Aleksandar_B
3. I have a number of playlists saved on my drive (.m3u) and would like to
use them in cmus but I have noticed some non consistent behaviour when
load -p /path/to/playlist - loads the tracks in playlist view but gives an
error when trying to play them
add -Q /path/to/playlist - loads the tracks in queue view but gives an error
when trying to play them
load -p /path/to/playlist - loads the tracks in playlist view and they are
playable
add -Q /path/to/playlist - loads the tracks in queue view and they are
playable
Using Browser view and both previously created playlist and that created in
locate the playlist > y - adds the playlist in playlist view and it's
playable
locate the playlist > e - adds the playlist in queue view and it's playable
This is strange, can you either send me both playlists privately or
include a short part in a mail to the mailing list?
Post by Aleksandar_B
Importing in Library view via command mode both previously created playlist
load -l /path/to/playlist - in view 1 only the Artist name is present,
everything else is blank (no other artists), in view 2 songs from playlist
are listed and playable but there is no way to restore the library other
than re-importing everything.
This sounds correct! "load" means to completely override the destination
view, so it is normal that all music besides the playlist is gone. If
you don't want that, just use "add".
As for view 1 (only one artist): Does this artist contain all the tracks
in the playlist? If so, it could be that all the tracks have an "album
artist" set (the overall artist for an album), in which case it is used
for all the tracks.
Post by Aleksandar_B
add - l - just duplicates entries in the Library view (adds songs in
coresponding album next to already indexed songs)
This is correct, but only if the filenames from the playlist are
different from the filenames in your library. Is this the case? The
library is designed to only allow each filename once.
Post by Aleksandar_B
Bellow are two mock-ups (template taken from cmus-tutorial page) that
demonstrate playlist showing in Library view under coresponding artist next
to albums, and the other one shows Playlist view and playlists stringed in a
hierarchy. One of these, or posibly some other way, would make playlist more
accesible.
+---------------------------------------------------------------------+
| Artist / Album Track Library |
| Artist 1 | 1._track_from_the_playlist |
| Album 1 | 2._track_from_the_playlist |
| Playlist | |
| | |
| | |
| | |
| | |
| |
| . 00:00 - 00:00 vol: 100 all from library | C |
| |
+---------------------------------------------------------------------+
If you want a playlist to appear sorted under a certain artist, you have
to set the albumartist (and albumartistsort, or no albumartistsort at
all) for all the tracks in the playlist. I also do this, e.g.:

eyeD3 --set-text-frame=TPE2:"Artist 1" --set-user-text-frame=ALBUMARTISTSORT:"" playlist/*.mp3

(or just use exfalso tag editor).
Post by Aleksandar_B
+---------------------------------------------------------------------+
| Playlist /path/to/the/playlist_1 - 2 tracks |
| 1._track_from_playlist_1 |
| 2._track_from_playlist_1 |
| |
| Playlist /path/to/the/playlist_2 - 2 tracks |
| 1._track_from_playlist_2 |
| 2._track_from_playlist_2 |
| |
| |
| . 00:00 - 00:00 vol: 100 all from library | C |
| |
+---------------------------------------------------------------------+
This is a good idea, I plan to implement multiple playlists when I have
more time. I thought about tabs (like in foobar2000), but having them
this way is also not bad! Maybe it could be configurable! Thanks!


Greetings,
Johannes
Jason Woofenden
2011-06-16 02:21:02 UTC
Permalink
Post by Johannes Weißl
Hi!
Post by Aleksandar_B
Been using cmus for a month now, great app, simple yet powerful, just what I
was looking for.
Great to hear that :-)!
Post by Aleksandar_B
1. When in command mode (:) if I decide to cancel the current command using
Esc (even multiple times) does nothing, I have to delete the whole line
including the ':' to be able to navigate cmus, the same goes for search mode
(/).
What system / terminal emulator are you using? In most environments, the
Escape key starts an escape sequence, so to cancel the command prompt,
you have to type Escape and wait for 1-2 seconds (in this time, you
mustn't type any other key, including Escape). Thats why most people
(including me) use Ctrl-C to cancel the prompt (or Ctrl-U to just clean
it). Does this solve your problem?
I thought Ctrl-G was the standard way to cancel the command being
typed. It works in my shell (zsh), less and cmus anyway.

Strangely enough, it seems not to work in bash or vim. Maybe it's
not so standard after all. Wikipedia says it's "bell".

Vim can be configured such by adding this to your ~/.vimrc:

:cnoremap <C-G> <Esc>

And I highly recommend you use zsh instead of bash. It has great
completions for almost everything, and still loads faster. And it
always puts the prompt at the beginning of the line... little
things like that really work for me.


I try to avoid using Ctrl-C for anything except killing. I don't
want to develop a habit of using it for something else, and then
accidentally kill other programs.


Sorry for the tangent.

Take care, - Jason
Johannes Weißl
2011-06-16 02:42:19 UTC
Permalink
Hi Jason,
Post by Jason Woofenden
Post by Johannes Weißl
What system / terminal emulator are you using? In most environments, the
Escape key starts an escape sequence, so to cancel the command prompt,
you have to type Escape and wait for 1-2 seconds (in this time, you
mustn't type any other key, including Escape). Thats why most people
(including me) use Ctrl-C to cancel the prompt (or Ctrl-U to just clean
it). Does this solve your problem?
I thought Ctrl-G was the standard way to cancel the command being
typed. It works in my shell (zsh), less and cmus anyway.
Ok, this could be... when I wrote Ctrl-C, I just assumed it would be
standard because it works and other people are using it.
I know it causes (or caused?) problems in zsh (bad smiley face because
of non-zero exit code), which is why I trained myself to use Ctrl-U in
shells.
Post by Jason Woofenden
And I highly recommend you use zsh instead of bash. It has great
completions for almost everything, and still loads faster. And it
always puts the prompt at the beginning of the line... little
things like that really work for me.
Yes, maybe one day I will finally switch from Vim to Emacs (for
programming) and from bash to zsh. But using bash has an advantage if
you must work on many remote university computers where zsh will never
be installed (and you are to lazy to distribute it yourself :-)).


Johannes
Jason Woofenden
2011-06-16 03:21:41 UTC
Permalink
Post by Johannes Weißl
Hi Jason,
Post by Jason Woofenden
Post by Johannes Weißl
What system / terminal emulator are you using? In most environments, the
Escape key starts an escape sequence, so to cancel the command prompt,
you have to type Escape and wait for 1-2 seconds (in this time, you
mustn't type any other key, including Escape). Thats why most people
(including me) use Ctrl-C to cancel the prompt (or Ctrl-U to just clean
it). Does this solve your problem?
I thought Ctrl-G was the standard way to cancel the command being
typed. It works in my shell (zsh), less and cmus anyway.
Ok, this could be... when I wrote Ctrl-C, I just assumed it would be
standard because it works and other people are using it.
I know it causes (or caused?) problems in zsh (bad smiley face because
of non-zero exit code), which is why I trained myself to use Ctrl-U in
shells.
Ctrl-U clears the line. Ctrl-G or Ctrl-C gives you a new prompt,
and you can still see what you were typing before. Ctrl-C in zsh
only gives you info about the exit code if you're running a program
and kill it. Using it to cancel typing a new command does what
you'd expect (just gives you a new prompt.)

I have the impression that Ctrl-U is pretty standard for clearing
the input line, but that it generally doesn't exit you out of the
input line.

Take care, - Jason
gt
2011-06-16 08:11:35 UTC
Permalink
Post by Jason Woofenden
I have the impression that Ctrl-U is pretty standard for clearing
the input line, but that it generally doesn't exit you out of the
input line.
Ctrl-u clears from the position of the cursor, to start of the line, not
the whole line.

Ctrl-k clears from cursor to the end of line.
Aleksandar_B
2011-06-16 19:40:06 UTC
Permalink
Post by Johannes Weißl
Hi!
:)
Post by Johannes Weißl
Post by Aleksandar_B
1. When in command mode (:) if I decide to cancel the current command
using
Post by Aleksandar_B
Esc (even multiple times) does nothing, I have to delete the whole line
including the ':' to be able to navigate cmus, the same goes for search
mode
Post by Aleksandar_B
(/).
What system / terminal emulator are you using? In most environments, the
Escape key starts an escape sequence, so to cancel the command prompt,
you have to type Escape and wait for 1-2 seconds (in this time, you
mustn't type any other key, including Escape). Thats why most people
(including me) use Ctrl-C to cancel the prompt (or Ctrl-U to just clean
it). Does this solve your problem?
Ubuntu/xterm (bash), but your suggestion does solve this, used to double Esc
from mc which gives instant response, so I expected the same from only one
Esc.
Post by Johannes Weißl
Post by Aleksandar_B
2. Even though this probably isn't related to cmus i should probably
mention
Post by Aleksandar_B
it. When adjusting volume anything lower than 43 and higher than 63 makes
noise.
What audio output plugin are you using? Does this also happen with other
audio players?
This is what 'cmus --plugins' command gives:
Output: alsa, oss, ao.

Been using Rhythmbox until now, doesn't happen there.
Post by Johannes Weißl
Post by Aleksandar_B
3. I have a number of playlists saved on my drive (.m3u) and would like
to
Post by Aleksandar_B
use them in cmus but I have noticed some non consistent behaviour when
load -p /path/to/playlist - loads the tracks in playlist view but gives
an
Post by Aleksandar_B
error when trying to play them
add -Q /path/to/playlist - loads the tracks in queue view but gives an
error
Post by Aleksandar_B
when trying to play them
load -p /path/to/playlist - loads the tracks in playlist view and they
are
Post by Aleksandar_B
playable
add -Q /path/to/playlist - loads the tracks in queue view and they are
playable
Using Browser view and both previously created playlist and that created
in
Post by Aleksandar_B
locate the playlist > y - adds the playlist in playlist view and it's
playable
locate the playlist > e - adds the playlist in queue view and it's
playable
This is strange, can you either send me both playlists privately or
include a short part in a mail to the mailing list?
Sure, both playlists are in the attachment (cmus_created_playlist.m3u and
rhythmbox_created_playlist.m3u).

Should mention though, I'v created playlists in cmus using the command
':save /path/playlist_name.m3u' while in Playlist view.
Post by Johannes Weißl
Post by Aleksandar_B
Importing in Library view via command mode both previously created
playlist
Post by Aleksandar_B
load -l /path/to/playlist - in view 1 only the Artist name is present,
everything else is blank (no other artists), in view 2 songs from
playlist
Post by Aleksandar_B
are listed and playable but there is no way to restore the library other
than re-importing everything.
This sounds correct! "load" means to completely override the destination
view, so it is normal that all music besides the playlist is gone. If
you don't want that, just use "add".
As for view 1 (only one artist): Does this artist contain all the tracks
in the playlist? If so, it could be that all the tracks have an "album
artist" set (the overall artist for an album), in which case it is used
for all the tracks.
This sounds about right. My usual habit is to listen to all songs from one
artist and than create one playlist to put favorite ones in.

For view 1, yes, all songs are from one artist. I'v supplied a screenshots
in the attachment (Library_view.png). On the left pane there is the artist
name, on the right there is nothing, but on view 2 songs are listed and
playable (SortedLibrary_view.png). Just want to make sure this is the
correct behavior.
Post by Johannes Weißl
Post by Aleksandar_B
add - l - just duplicates entries in the Library view (adds songs in
coresponding album next to already indexed songs)
This is correct, but only if the filenames from the playlist are
different from the filenames in your library. Is this the case? The
library is designed to only allow each filename once.
Apparently this isn't the problem. The mentioned problem exists when I use
the Browser view, navigate to the playlist and use 'a' on it, that add's
duplicates of the songs to the corresponding author from the playlist, add
-l doesn't do that because of my usual habit, all songs are already indexed.
I'v included a screenshot (Library_duplicates.png).
Post by Johannes Weißl
Post by Aleksandar_B
Bellow are two mock-ups (template taken from cmus-tutorial page) that
demonstrate playlist showing in Library view under coresponding artist
next
Post by Aleksandar_B
to albums, and the other one shows Playlist view and playlists stringed
in a
Post by Aleksandar_B
hierarchy. One of these, or posibly some other way, would make playlist
more
Post by Aleksandar_B
accesible.
+---------------------------------------------------------------------+
| Artist / Album Track Library |
| Artist 1 | 1._track_from_the_playlist |
| Album 1 | 2._track_from_the_playlist |
| Playlist | |
| | |
| | |
| | |
| | |
| |
| . 00:00 - 00:00 vol: 100 all from library | C |
| |
+---------------------------------------------------------------------+
If you want a playlist to appear sorted under a certain artist, you have
to set the albumartist (and albumartistsort, or no albumartistsort at
eyeD3 --set-text-frame=TPE2:"Artist 1"
--set-user-text-frame=ALBUMARTISTSORT:"" playlist/*.mp3
(or just use exfalso tag editor).
As mentioned before, all of my playlists consist of tracks from one author
just from different albums. Used eyeD3 to set tags, still behavior is like
already noted above for both Browser view and add -l method.

Couple more things.

I have one album encoded in .m4a (mp4) format, it shows under <No Name>
under Library view, the name of the album is displayed so are the names of
the songs in the right pane, but no track numbers. Rhythmbox and foobar2000
show it correctly, and tags seem to be fine according to exfalso. What seems
to be the problem? I'v included a playlist created in Rhythmbox
(m4a_playlist.m3u).

I have one more album that shows up under <Various Artists>. I's a split
album (some songs from one artist, some from the other). Since I don't want
that album to be decimated accros several artists, so far I'v set artist
tags to correspond to one artist, just added other artists name in front of
their songs. Worked under Rhythmbox and foobar, exfalso shows everything is
in order. I'v included a playlist (split_playlist.m3u). Is there something
I'm missing since I have several other albums like this and they all show up
correctly?

I don't know how much will attached playlists help but hope they do.
Johannes Weißl
2011-06-16 20:43:43 UTC
Permalink
Hello,
Post by Aleksandar_B
Post by Johannes Weißl
Post by Aleksandar_B
2. Even though this probably isn't related to cmus i should
probably mention it. When adjusting volume anything lower than 43
and higher than 63 makes noise.
What audio output plugin are you using? Does this also happen with other
audio players?
Output: alsa, oss, ao.
Been using Rhythmbox until now, doesn't happen there.
Have you compiled your own version of cmus? You are missing the
PulseAudio plugin, which is by far the best supported. You should run
sudo apt-get install libpulse-dev
before compiling and then select the pulse output plugin:
:set output_plugin=pulse

Does this solve your problem?
Post by Aleksandar_B
Post by Johannes Weißl
This is strange, can you either send me both playlists privately or
include a short part in a mail to the mailing list?
Sure, both playlists are in the attachment (cmus_created_playlist.m3u and
rhythmbox_created_playlist.m3u).
Should mention though, I'v created playlists in cmus using the command
':save /path/playlist_name.m3u' while in Playlist view.
Hmm, I noticed that the rhythmbox playlists contain relative paths, so
they only work in cmus if you start it from the right directory or
navigate to the right directory using the :cd command.

I agree that it could be an improvement to cmus to use the location of
the playlist as (additional?) start location for playlist loading. What
do others think?

I think the relative path handling is buggy in cmus, thanks for
reporting!
Post by Aleksandar_B
For view 1, yes, all songs are from one artist. I'v supplied a screenshots
in the attachment (Library_view.png). On the left pane there is the artist
name, on the right there is nothing, but on view 2 songs are listed and
playable (SortedLibrary_view.png). Just want to make sure this is the
correct behavior.
Ah :-), have you tried to press "Space" on the artist, navigate to an
album and press "Tab"? Does this list the tracks?
Post by Aleksandar_B
Post by Johannes Weißl
Post by Aleksandar_B
add - l - just duplicates entries in the Library view (adds songs in
coresponding album next to already indexed songs)
This is correct, but only if the filenames from the playlist are
different from the filenames in your library. Is this the case? The
library is designed to only allow each filename once.
Apparently this isn't the problem. The mentioned problem exists when I use
the Browser view, navigate to the playlist and use 'a' on it, that add's
duplicates of the songs to the corresponding author from the playlist, add
-l doesn't do that because of my usual habit, all songs are already indexed.
I'v included a screenshot (Library_duplicates.png).
I cannot reproduce this! Can you check if the filenames are different in
your screenshot (press "I" for two identical tracks). If the filename is
different, everything is fine, if they are the same, it's a bug in cmus.
(probably this is related to the relative path issue above...)
Post by Aleksandar_B
I have one album encoded in .m4a (mp4) format, it shows under <No Name>
under Library view, the name of the album is displayed so are the names of
the songs in the right pane, but no track numbers. Rhythmbox and foobar2000
show it correctly, and tags seem to be fine according to exfalso. What seems
to be the problem? I'v included a playlist created in Rhythmbox
(m4a_playlist.m3u).
Can you privately send me a m4a file for debugging? Otherwise I can't do
much...
Post by Aleksandar_B
I have one more album that shows up under <Various Artists>. I's a split
album (some songs from one artist, some from the other). Since I don't want
that album to be decimated accros several artists, so far I'v set artist
tags to correspond to one artist, just added other artists name in front of
their songs. Worked under Rhythmbox and foobar, exfalso shows everything is
in order. I'v included a playlist (split_playlist.m3u). Is there something
I'm missing since I have several other albums like this and they all show up
correctly?
Hmm, this is not the right solution for the problem. The best way is to
do it is:
- set artist (TPE1) accordingly for every file (the real artist)
- set albumartist (TPE2) to the overall artist of the album

It could be that the compilation tag is set for your album (TCMP), in
which case it shows up under "<Various Artists>" if albumartist is not
set! Does it work now?


Johannes
Aleksandar_B
2011-06-17 14:12:37 UTC
Permalink
Hi,
Post by Johannes Weißl
Hello,
Post by Aleksandar_B
Post by Johannes Weißl
Post by Aleksandar_B
2. Even though this probably isn't related to cmus i should
probably mention it. When adjusting volume anything lower than 43
and higher than 63 makes noise.
What audio output plugin are you using? Does this also happen with
other
Post by Aleksandar_B
Post by Johannes Weißl
audio players?
Output: alsa, oss, ao.
Been using Rhythmbox until now, doesn't happen there.
Have you compiled your own version of cmus? You are missing the
PulseAudio plugin, which is by far the best supported. You should run
sudo apt-get install libpulse-dev
:set output_plugin=pulse
Does this solve your problem?
Yes, this solves the problem.
Post by Johannes Weißl
Post by Aleksandar_B
Post by Johannes Weißl
This is strange, can you either send me both playlists privately or
include a short part in a mail to the mailing list?
Sure, both playlists are in the attachment (cmus_created_playlist.m3u and
rhythmbox_created_playlist.m3u).
Should mention though, I'v created playlists in cmus using the command
':save /path/playlist_name.m3u' while in Playlist view.
Hmm, I noticed that the rhythmbox playlists contain relative paths, so
they only work in cmus if you start it from the right directory or
navigate to the right directory using the :cd command.
I agree that it could be an improvement to cmus to use the location of
the playlist as (additional?) start location for playlist loading. What
do others think?
I think the relative path handling is buggy in cmus, thanks for
reporting!
Good idea and no problem.
Post by Johannes Weißl
Post by Aleksandar_B
For view 1, yes, all songs are from one artist. I'v supplied a
screenshots
Post by Aleksandar_B
in the attachment (Library_view.png). On the left pane there is the
artist
Post by Aleksandar_B
name, on the right there is nothing, but on view 2 songs are listed and
playable (SortedLibrary_view.png). Just want to make sure this is the
correct behavior.
Ah :-), have you tried to press "Space" on the artist, navigate to an
album and press "Tab"? Does this list the tracks?
My bed :)
Post by Johannes Weißl
Post by Aleksandar_B
Post by Johannes Weißl
Post by Aleksandar_B
add - l - just duplicates entries in the Library view (adds songs in
coresponding album next to already indexed songs)
This is correct, but only if the filenames from the playlist are
different from the filenames in your library. Is this the case? The
library is designed to only allow each filename once.
Apparently this isn't the problem. The mentioned problem exists when I
use
Post by Aleksandar_B
the Browser view, navigate to the playlist and use 'a' on it, that add's
duplicates of the songs to the corresponding author from the playlist,
add
Post by Aleksandar_B
-l doesn't do that because of my usual habit, all songs are already
indexed.
Post by Aleksandar_B
I'v included a screenshot (Library_duplicates.png).
I cannot reproduce this! Can you check if the filenames are different in
your screenshot (press "I" for two identical tracks). If the filename is
different, everything is fine, if they are the same, it's a bug in cmus.
(probably this is related to the relative path issue above...)
Yes, they are different. One shows 'year - album - song_name.mp3', other
full path to the song, guess than there is no problem.
Post by Johannes Weißl
Post by Aleksandar_B
I have one album encoded in .m4a (mp4) format, it shows under <No Name>
under Library view, the name of the album is displayed so are the names
of
Post by Aleksandar_B
the songs in the right pane, but no track numbers. Rhythmbox and
foobar2000
Post by Aleksandar_B
show it correctly, and tags seem to be fine according to exfalso. What
seems
Post by Aleksandar_B
to be the problem? I'v included a playlist created in Rhythmbox
(m4a_playlist.m3u).
Can you privately send me a m4a file for debugging? Otherwise I can't do
much...
Sent.
Post by Johannes Weißl
Post by Aleksandar_B
I have one more album that shows up under <Various Artists>. I's a split
album (some songs from one artist, some from the other). Since I don't
want
Post by Aleksandar_B
that album to be decimated accros several artists, so far I'v set artist
tags to correspond to one artist, just added other artists name in front
of
Post by Aleksandar_B
their songs. Worked under Rhythmbox and foobar, exfalso shows everything
is
Post by Aleksandar_B
in order. I'v included a playlist (split_playlist.m3u). Is there
something
Post by Aleksandar_B
I'm missing since I have several other albums like this and they all show
up
Post by Aleksandar_B
correctly?
Hmm, this is not the right solution for the problem. The best way is to
- set artist (TPE1) accordingly for every file (the real artist)
- set albumartist (TPE2) to the overall artist of the album
It could be that the compilation tag is set for your album (TCMP), in
which case it shows up under "<Various Artists>" if albumartist is not
set! Does it work now?
Yeah, all set, thanks for the tip :)
Johannes Weißl
2011-06-17 14:30:30 UTC
Permalink
Hi,
Post by Aleksandar_B
Post by Johannes Weißl
I cannot reproduce this! Can you check if the filenames are different in
your screenshot (press "I" for two identical tracks). If the filename is
different, everything is fine, if they are the same, it's a bug in cmus.
(probably this is related to the relative path issue above...)
Yes, they are different. One shows 'year - album - song_name.mp3', other
full path to the song, guess than there is no problem.
Ok, sorry, it was cmus fault. The path is identical, but cmus doesn't
get it (because one is relative and one is absolute). The current git
versions already contains the bugfix, can you update and check if
everything works now? Thanks again for reporting :-).
Post by Aleksandar_B
Post by Johannes Weißl
Post by Aleksandar_B
I have one album encoded in .m4a (mp4) format, it shows under <No
Name> under Library view, the name of the album is displayed so
are the names of the songs in the right pane, but no track
numbers. Rhythmbox and foobar2000 show it correctly, and tags seem
to be fine according to exfalso. What seems to be the problem? I'v
included a playlist created in Rhythmbox (m4a_playlist.m3u).
Can you privately send me a m4a file for debugging? Otherwise I can't do
much...
Sent.
The tags are read correctly in my version (artist, album, title, date
and tracknumber)! Do you have the mp4 plugin installed? Otherwise the
ffmpeg plugin opens the file, which could be worse in reading tags.
Try:
sudo apt-get install libfaad-dev libmp4v2-dev
and compile cmus again. Are the tags now read correctly?


Johannes
Aleksandar_B
2011-06-17 15:40:42 UTC
Permalink
Hi,
Post by Johannes Weißl
Hi,
Post by Aleksandar_B
Post by Johannes Weißl
I cannot reproduce this! Can you check if the filenames are different
in
Post by Aleksandar_B
Post by Johannes Weißl
your screenshot (press "I" for two identical tracks). If the filename
is
Post by Aleksandar_B
Post by Johannes Weißl
different, everything is fine, if they are the same, it's a bug in
cmus.
Post by Aleksandar_B
Post by Johannes Weißl
(probably this is related to the relative path issue above...)
Yes, they are different. One shows 'year - album - song_name.mp3', other
full path to the song, guess than there is no problem.
Ok, sorry, it was cmus fault. The path is identical, but cmus doesn't
get it (because one is relative and one is absolute). The current git
versions already contains the bugfix, can you update and check if
everything works now? Thanks again for reporting :-).
Everything is fine now, thanks :)
Post by Johannes Weißl
Post by Aleksandar_B
Post by Johannes Weißl
Post by Aleksandar_B
I have one album encoded in .m4a (mp4) format, it shows under <No
Name> under Library view, the name of the album is displayed so
are the names of the songs in the right pane, but no track
numbers. Rhythmbox and foobar2000 show it correctly, and tags seem
to be fine according to exfalso. What seems to be the problem? I'v
included a playlist created in Rhythmbox (m4a_playlist.m3u).
Can you privately send me a m4a file for debugging? Otherwise I can't
do
Post by Aleksandar_B
Post by Johannes Weißl
much...
Sent.
The tags are read correctly in my version (artist, album, title, date
and tracknumber)! Do you have the mp4 plugin installed? Otherwise the
ffmpeg plugin opens the file, which could be worse in reading tags.
sudo apt-get install libfaad-dev libmp4v2-dev
and compile cmus again. Are the tags now read correctly?
Been missing libmp4v2-dev, re-compiled cmus, all set now.
Johannes Weißl
2011-06-16 20:50:37 UTC
Permalink
Hey!

Aleksandar_B has pointed out an issue in cmus:
If a playlist contains relative paths, cmus doesn't complete them to the
absolute paths. The only advantage I can think of is that when you save
the playlist again, you still have the relative paths. The problem is,
if you navigate with :cd (or added the playlist using the browser view),
you can't play the files anymore.

I would suggest the following:
1. use the directory containing the playlist as starting point for
playlist loading (regardless of the current working directory!)
2. make every path absolute (but no relative link resolution!) when
adding a playlist
3. add an option (-r ?) to :save to save a playlist using relative paths

What do you think?


Johannes
Gregory Petrosyan
2011-06-16 20:55:56 UTC
Permalink
Post by Johannes Weißl
Hey!
If a playlist contains relative paths, cmus doesn't complete them to the
absolute paths. The only advantage I can think of is that when you save
the playlist again, you still have the relative paths. The problem is,
if you navigate with :cd (or added the playlist using the browser view),
you can't play the files anymore.
1. use the directory containing the playlist as starting point for
  playlist loading (regardless of the current working directory!)
2. make every path absolute (but no relative link resolution!) when
  adding a playlist
3. add an option (-r ?) to :save to save a playlist using relative paths
What do you think?
I think resolving all relative paths to absolute ones at the load time
using the playlist directory sounds both sane (playlist is always
interpreted the same way — the way everybody expects it to be
interpreted) and simple.

                Gregory
Johannes Weißl
2011-06-16 21:22:47 UTC
Permalink
Post by Gregory Petrosyan
I think resolving all relative paths to absolute ones at the load time
using the playlist directory sounds both sane (playlist is always
interpreted the same way — the way everybody expects it to be
interpreted) and simple.
Ok, and the patch is really small! What about the relative saving stuff?


Johannes
Gregory Petrosyan
2011-06-16 21:25:39 UTC
Permalink
Post by Johannes Weißl
Post by Gregory Petrosyan
I think resolving all relative paths to absolute ones at the load time
using the playlist directory sounds both sane (playlist is always
interpreted the same way — the way everybody expects it to be
interpreted) and simple.
Ok, and the patch is really small! What about the relative saving stuff?
Oh, sound fine, too :-)

                Gregory
Johannes Weißl
2011-06-16 21:26:28 UTC
Permalink
Complete relative paths to absolute ones using the directory of the
playlists as starting point.

Reported-by: Aleksandar_B <***@gmail.com>
---
job.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/job.c b/job.c
index 36e0d44..187a8e0 100644
--- a/job.c
+++ b/job.c
@@ -32,6 +32,7 @@
#include "cache.h"
#include "player.h"
#include "discid.h"
+#include "xstrjoin.h"

#include <string.h>
#include <unistd.h>
@@ -206,7 +207,9 @@ static int handle_line(void *data, const char *line)
if (is_http_url(line)) {
add_url(line);
} else {
- add_file(line);
+ char *absolute = path_absolute_cwd(line, data);
+ add_file(absolute);
+ free(absolute);
}
return 0;
}
@@ -221,10 +224,12 @@ static void add_pl(const char *filename)
return;

if (buf) {
+ char *cwd = xstrjoin(filename, "/..");
/* beautiful hack */
reverse = jd->add == play_queue_prepend;

- cmus_playlist_for_each(buf, size, reverse, handle_line, NULL);
+ cmus_playlist_for_each(buf, size, reverse, handle_line, cwd);
+ free(cwd);
munmap(buf, size);
}
}
--
1.7.6.rc1
Gregory Petrosyan
2011-06-17 10:10:55 UTC
Permalink
Post by Johannes Weißl
Complete relative paths to absolute ones using the directory of the
playlists as starting point.
Thanks a lot, as always; merged!

Gregory
Paul van der Walt
2011-06-16 08:59:03 UTC
Permalink
Post by Jason Woofenden
And I highly recommend you use zsh instead of bash.
Yup. One of the features I really like is fuzzy tab completion:
I hardly use capital letters for completing paths or files any
more. Also 'git puhs'+TAB == 'git push' :)

Paul
--
O< ascii ribbon campaign - stop html mail - www.asciiribbon.org
Loading...