This list is closed, nobody may subscribe to it.
2006 |
Jan
(140) |
Feb
(66) |
Mar
(29) |
Apr
(23) |
May
(4) |
Jun
(50) |
Jul
(28) |
Aug
(9) |
Sep
(46) |
Oct
(45) |
Nov
(1) |
Dec
(21) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(27) |
Feb
(15) |
Mar
(19) |
Apr
(13) |
May
(29) |
Jun
(15) |
Jul
(36) |
Aug
(35) |
Sep
(33) |
Oct
(44) |
Nov
(7) |
Dec
|
2008 |
Jan
(15) |
Feb
(7) |
Mar
(4) |
Apr
(21) |
May
(44) |
Jun
(11) |
Jul
(2) |
Aug
(4) |
Sep
(13) |
Oct
(19) |
Nov
(63) |
Dec
(39) |
2009 |
Jan
(22) |
Feb
(6) |
Mar
(1) |
Apr
|
May
(37) |
Jun
(8) |
Jul
(9) |
Aug
(17) |
Sep
(3) |
Oct
(20) |
Nov
(146) |
Dec
(46) |
2010 |
Jan
(43) |
Feb
(269) |
Mar
(188) |
Apr
(37) |
May
(65) |
Jun
(6) |
Jul
(32) |
Aug
(32) |
Sep
(35) |
Oct
(11) |
Nov
(53) |
Dec
(95) |
2011 |
Jan
(132) |
Feb
(105) |
Mar
(130) |
Apr
(194) |
May
(193) |
Jun
(85) |
Jul
(38) |
Aug
(66) |
Sep
(54) |
Oct
(39) |
Nov
(4) |
Dec
(13) |
2012 |
Jan
(27) |
Feb
(8) |
Mar
(19) |
Apr
(11) |
May
(42) |
Jun
(56) |
Jul
(8) |
Aug
(23) |
Sep
(43) |
Oct
(17) |
Nov
(45) |
Dec
(17) |
2013 |
Jan
(13) |
Feb
(3) |
Mar
(7) |
Apr
(19) |
May
|
Jun
(4) |
Jul
(21) |
Aug
(11) |
Sep
(7) |
Oct
(7) |
Nov
(8) |
Dec
(3) |
2014 |
Jan
(13) |
Feb
|
Mar
(6) |
Apr
(2) |
May
(4) |
Jun
|
Jul
(1) |
Aug
(12) |
Sep
|
Oct
|
Nov
(2) |
Dec
(5) |
2015 |
Jan
(8) |
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
(4) |
Jul
(1) |
Aug
(3) |
Sep
(10) |
Oct
|
Nov
(1) |
Dec
(3) |
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(5) |
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
(3) |
Nov
|
Dec
(3) |
2019 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: C H. <bum...@gm...> - 2019-01-06 13:04:52
|
Hello I'm puzzling over this message being returned when trying to play a track in cmus: cmus: pcm_null.c:151: snd_pcm_null_drop: Assertion `null->state != SND_PCM_STATE_OPEN' failed. ...which causes cmus to crash out. The output plugin set to 'alsa', dsp device set to a virtual plugin 'iced_direct' (see *** below) , mixer set to default and so on; in fact, the settings are no different to other cmus and alsa (asoundrc) configs on other machines where everything works. This is latest cmus by the way (also tried earlier versions and get same). A few observations: - cmus does start up without issue, it's *only* when asking to play a track - if dsp device set to e.g. hw:0,0, instead of 'iced_direct', there are no issues and cmus plays fine - this is interesting perhaps: Audacious, for example, works fine against same [alsa] setup using same iced_direct (as do other players tried), so does that suggest it is not the alsa/asoundrc setup - alsa 'aplay' works fine using -D iced_direct - other cmus with *exactly* same setup/config, but on other machines, works fine - the only difference between this failing instance and working cmus on other machines, is the presence of ffmpeg (but i'm only testing 'wav' and 'ogg' in any case) on the others and that this one, is a 32bit Slackware and the others are 64bit. I am asking here to see if someone can identify where I might look to explore a resolution ? Although as said, audacious seems to work, so would that rule out a hardware/alsa issue ... any comments etc gratefully received ? Regards Habs ***alsa .asoundrc the following is to allow audio to be 'piped' to icecast via ices. It works for other audio players using thius alsa config and also for cmus on other machines. pcm.iced_icesdirect { type file file "| ices /ices/ices-stdinpcm.xml" slave.pcm null format raw } pcm.iced_direct { type plug slave { pcm "iced_icesdirect" rate 44100 format s16_le channels 2 } } pcm.default pulse ctl.default pulse NB: I dont fully understand ALSA configs, so some of the above settings might be redundant or not efficiently configured. |
From: / v. <ins...@gm...> - 2017-12-18 14:52:47
|
Hey, Thank you for the info. I will give that a try! If I get it working I will submit a bug and hopefully provide the code change ; ) Thanks, Vladimir On Thu, Dec 14, 2017 at 5:46 AM, Jason Woofenden <ja...@ja...> wrote: > Hi /v, > > I'm not running the latest version either, but I just looked at > GitHub and it looks like the latest version doesn't send > albumartist to the status_display_program either. > > There's a good chance that this would be a trivial change here: > > https://github.com/cmus/cmus/blob/master/ui_curses.c#L1819 > > Just be sure to add it before the NULL. > > Here's my notes for changing/recompiling a debian package if you > want to go that route: > > # make sure devscripts is installed (don't need any of its > recommends) > apt-get source PACKAGE > sudo apt-get build-dep PACKAGE > cd PACKAGE > # change stuff > dch -l local 'blah blah blah' > dpkg-buildpackage -b -rfakeroot -us -uc > # (might need to remove that -b flag) > sudo dpkg --install ../PACKAGE*.deb > > If that works (or maybe even if it doesn't), maybe submit a bug > report here: https://github.com/cmus/cmus/issues > > -- > Jason > > > Hello, > > > > Today I noticed that for tracks which have "artist" and "albumartist" > > tag, the "albumartist" is not passed to the status_display_program > > script. I am actually writing something that needs this information. > > Is it possible to add it so that I don't have to read it myself by > > additionally parsing the file (which I can obtain from the "file" > > parameter)? > > > > I am using the default cmus version that comes with the latest > > Debian: > > > cmus --version > > < cmus v2.7.0 > > < Copyright 2004-2006 Timo Hirvonen > > < Copyright 2008-2013 Various Authors > > > > Sorry if this is already fixed in newer versions. > > > > Thanks, > > /v > |
From: Jason W. <ja...@ja...> - 2017-12-14 04:04:10
|
Hi /v, I'm not running the latest version either, but I just looked at GitHub and it looks like the latest version doesn't send albumartist to the status_display_program either. There's a good chance that this would be a trivial change here: https://github.com/cmus/cmus/blob/master/ui_curses.c#L1819 Just be sure to add it before the NULL. Here's my notes for changing/recompiling a debian package if you want to go that route: # make sure devscripts is installed (don't need any of its recommends) apt-get source PACKAGE sudo apt-get build-dep PACKAGE cd PACKAGE # change stuff dch -l local 'blah blah blah' dpkg-buildpackage -b -rfakeroot -us -uc # (might need to remove that -b flag) sudo dpkg --install ../PACKAGE*.deb If that works (or maybe even if it doesn't), maybe submit a bug report here: https://github.com/cmus/cmus/issues -- Jason > Hello, > > Today I noticed that for tracks which have "artist" and "albumartist" > tag, the "albumartist" is not passed to the status_display_program > script. I am actually writing something that needs this information. > Is it possible to add it so that I don't have to read it myself by > additionally parsing the file (which I can obtain from the "file" > parameter)? > > I am using the default cmus version that comes with the latest > Debian: > > cmus --version > < cmus v2.7.0 > < Copyright 2004-2006 Timo Hirvonen > < Copyright 2008-2013 Various Authors > > Sorry if this is already fixed in newer versions. > > Thanks, > /v |
From: / v. <ins...@gm...> - 2017-12-12 17:25:10
|
Hello, Today I noticed that for tracks which have "artist" and "albumartist" tag, the "albumartist" is not passed to the status_display_program script. I am actually writing something that needs this information. Is it possible to add it so that I don't have to read it myself by additionally parsing the file (which I can obtain from the "file" parameter)? I am using the default cmus version that comes with the latest Debian: > cmus --version < cmus v2.7.0 < Copyright 2004-2006 Timo Hirvonen < Copyright 2008-2013 Various Authors Sorry if this is already fixed in newer versions. Thanks, /v |
From: / v. <ins...@gm...> - 2017-10-27 07:18:51
|
Hey Jason, Thank you very much for the suggestion. It works as expected. I don't know why I didn't think of that earlier ; ) Now I have the atomic update + the configuration stored in git. Thanks, Vladimir On Thu, Oct 26, 2017 at 8:51 PM, Jason Woofenden <ja...@ja...> wrote: > Hi Vladimir, > > I'm no expert, but I think that this is the standard way to > update/replace a file. The trouble with modifying a file in-place > is that if the machine crashes while you're partway through editing > the file, then the file is corrupted. Whereas, when you create a > separate file and then unlink/rename/swap them, you always have a > valid file on your hard drive. > > That said... there's certainly ways to get the best of both (the > atomic replace and the symbolic link thing.) eg vim handles this > well. > > I suggest as a workaround that you move the whole ~/.cmus directory > into your git folder, and symlink that: eg: > > mv ~/.cmus ~/my_gits/config/cmus > > ln -s my_gits/config/cmus ~/.cmus > > > My ~/.cmus on my computers is a symbolic link, which enables me to > have different cmus settings/playlists/etc on my different > computers and still track the settings files with ~/.git > > -- > Jason > > > Hello everyone, > > > > I noticed something strange with cmus today. > > I wanted to put my cmus configuration in my github 'config' repo so > > that I always have the same configuration on all my machines but I > > found out that when cmus saves its configuration (in the > > ~/.cmus/autosave file) it deletes the symbolic link that points to > > the git repo and creates a regular file in its place. Is this the > > desired behavior? Wouldn't it be better if cmus honors the link and > > overrides its contents instead of recreating the file (at least on > > Linux, although I find that some programs work well with [1]this > > too)? > > I still have my config in github but when I make changes to the > > config I need to copy the file ... ; ) > > > > ➜ v % cmus --version > > cmus v2.7.0 > > Copyright 2004-2006 Timo Hirvonen > > Copyright 2008-2013 Various Authors > > (the one shipped with Debian 9) > > > > Thanks, > > Vladimir > > > > References > > > > 1. http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html > |
From: Jason W. <ja...@ja...> - 2017-10-26 18:10:57
|
Hi Vladimir, I'm no expert, but I think that this is the standard way to update/replace a file. The trouble with modifying a file in-place is that if the machine crashes while you're partway through editing the file, then the file is corrupted. Whereas, when you create a separate file and then unlink/rename/swap them, you always have a valid file on your hard drive. That said... there's certainly ways to get the best of both (the atomic replace and the symbolic link thing.) eg vim handles this well. I suggest as a workaround that you move the whole ~/.cmus directory into your git folder, and symlink that: eg: mv ~/.cmus ~/my_gits/config/cmus ln -s my_gits/config/cmus ~/.cmus My ~/.cmus on my computers is a symbolic link, which enables me to have different cmus settings/playlists/etc on my different computers and still track the settings files with ~/.git -- Jason > Hello everyone, > > I noticed something strange with cmus today. > I wanted to put my cmus configuration in my github 'config' repo so > that I always have the same configuration on all my machines but I > found out that when cmus saves its configuration (in the > ~/.cmus/autosave file) it deletes the symbolic link that points to > the git repo and creates a regular file in its place. Is this the > desired behavior? Wouldn't it be better if cmus honors the link and > overrides its contents instead of recreating the file (at least on > Linux, although I find that some programs work well with [1]this > too)? > I still have my config in github but when I make changes to the > config I need to copy the file ... ; ) > > ➜ v % cmus --version > cmus v2.7.0 > Copyright 2004-2006 Timo Hirvonen > Copyright 2008-2013 Various Authors > (the one shipped with Debian 9) > > Thanks, > Vladimir > > References > > 1. http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html |
From: / v. <ins...@gm...> - 2017-10-26 15:40:49
|
Hello everyone, I noticed something strange with cmus today. I wanted to put my cmus configuration in my github 'config' repo so that I always have the same configuration on all my machines but I found out that when cmus saves its configuration (in the ~/.cmus/autosave file) it deletes the symbolic link that points to the git repo and creates a regular file in its place. Is this the desired behavior? Wouldn't it be better if cmus honors the link and overrides its contents instead of recreating the file (at least on Linux, although I find that some programs work well with this <http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html> too)? I still have my config in github but when I make changes to the config I need to copy the file ... ; ) ➜ v % cmus --version cmus v2.7.0 Copyright 2004-2006 Timo Hirvonen Copyright 2008-2013 Various Authors (the one shipped with Debian 9) Thanks, Vladimir |
From: / v. <ins...@gm...> - 2017-08-30 06:43:21
|
Hello, Thanks for the response. It won't be a problem for me to use the workaround, I just wanted to check if there is a better way to do it ; ) Thanks, Vladimir On Wed, Aug 30, 2017 at 4:43 AM, Jason Woofenden <ja...@ja...> wrote: > Hi Vladimir, > > I just had a look at the source, and I don't see a way to have cmus > skip loading any input plugins at run time. > > I think you'll have to continue with your method of moving the > plugin file aside. cmus releases are infrequent, so hopefully that > wouldn't be too much bother. > > -- > Jason > > > > Hello everyone, > > > > Is there a way to disable certain plugins after cmus has been > > compiled and installed on a system? > > > > What I am looking for is either configuration or some startup options > > with which I can disable specific plugins (input plugins in my case). > > > > In my library there are some albums which have several flac files + a > > cue file and since I have both the cue and flac input plugins the > > songs appear twice in the album. I didn't want to remove the cue > > files from my library so I just went to /usr/lib/cmus/ip and moved > > the cue.so file to cue.so.disabled to get rid of the cue plugin > > temporarily - now every song is displayed only once. The workaround > > is working but I was wondering whether there is some more clever way > > to disable a specific plugin - it would be nice to be able to do it > > via the command line (something like > cmus > > --disabled-ip-plugins=cue,mpc ...) > > > > I am using cmus version v2.5.0. It is pretty old - it is the default > > in Debian 8 Jessie. > > The behavior might be different on newer versions. > > > > Thanks, > > Vladimir > |
From: Jason W. <ja...@ja...> - 2017-08-30 02:01:45
|
Hi Vladimir, I just had a look at the source, and I don't see a way to have cmus skip loading any input plugins at run time. I think you'll have to continue with your method of moving the plugin file aside. cmus releases are infrequent, so hopefully that wouldn't be too much bother. -- Jason > Hello everyone, > > Is there a way to disable certain plugins after cmus has been > compiled and installed on a system? > > What I am looking for is either configuration or some startup options > with which I can disable specific plugins (input plugins in my case). > > In my library there are some albums which have several flac files + a > cue file and since I have both the cue and flac input plugins the > songs appear twice in the album. I didn't want to remove the cue > files from my library so I just went to /usr/lib/cmus/ip and moved > the cue.so file to cue.so.disabled to get rid of the cue plugin > temporarily - now every song is displayed only once. The workaround > is working but I was wondering whether there is some more clever way > to disable a specific plugin - it would be nice to be able to do it > via the command line (something like > cmus > --disabled-ip-plugins=cue,mpc ...) > > I am using cmus version v2.5.0. It is pretty old - it is the default > in Debian 8 Jessie. > The behavior might be different on newer versions. > > Thanks, > Vladimir |
From: / v. <ins...@gm...> - 2017-08-28 11:00:04
|
Hello everyone, Is there a way to disable certain plugins after cmus has been compiled and installed on a system? What I am looking for is either configuration or some startup options with which I can disable specific plugins (input plugins in my case). In my library there are some albums which have several flac files + a cue file and since I have both the cue and flac input plugins the songs appear twice in the album. I didn't want to remove the cue files from my library so I just went to /usr/lib/cmus/ip and moved the cue.so file to cue.so.disabled to get rid of the cue plugin temporarily - now every song is displayed only once. The workaround is working but I was wondering whether there is some more clever way to disable a specific plugin - it would be nice to be able to do it via the command line (something like > cmus --disabled-ip-plugins=cue,mpc ...) I am using cmus version v2.5.0. It is pretty old - it is the default in Debian 8 Jessie. The behavior might be different on newer versions. Thanks, Vladimir |
From: Jason W. <ja...@ja...> - 2016-08-28 16:22:46
|
> i have a script to check disk usage of subdirs which runs this command: > du -kx | sort -rn > > and when run on this filesystem i get: > sort: Illegal byte sequence > > so maybe this illegal byte sequence is also messing up cmus ... Maybe, what is the problematic filename? -- Jason |
From: s <js...@gm...> - 2016-08-27 17:46:35
|
On 08/14/16 13:20, bc...@sh... wrote: > I am not a 'dev', but out of interest the comment "large collection of > music" - what does that mean; how many files for instance ? find . -type f | wc -l 39448 but i really think there is a charset issue of some type here. i have a script to check disk usage of subdirs which runs this command: du -kx | sort -rn and when run on this filesystem i get: sort: Illegal byte sequence so maybe this illegal byte sequence is also messing up cmus ... -- /js [http://or8.net/~johns] "this space for sale" |
From: Jason W. <ja...@ja...> - 2016-08-15 13:49:23
|
Hi Js, Thanks for writing in about this! I believe there are no known crashing bugs in cmus, so we will probably need you to help gather more details before we can figure out what's going on. I believe some folks on this list have very large music collections, so that shouldn't be a problem. I only have a couple thousand tracks. I just found this in the CMUS readme: After a crash send bug report with last lines of ~/cmus-debug.txt to cmu...@li.... The file exists only if you configured cmus with maximum debug level (./configure DEBUG=2). If that doesn't help, then we'll probably need you to rebuild cmus with debugger info built in and get us a backtrace. I'll let someone else chime in with instructions on that when/if the time comes. -- Jason > Hello all - I agree, cmus is a refreshing joy to use. > > I am not a 'dev', but out of interest the comment "large collection > of music" - what does that mean; how many files for instance ? > > I have a large collection stored on a NFS mount and when I added it, > all went fine. > Slackware 14.2 64bit. And it never failed on previous versions. > > Best regards > > On 13 August 2016 at 18:38, s <js...@gm...> wrote: > > hi > > > > first, thank you. i don't know how much of an audience there is for > > curses music players, but cmus is #1 in my book, hands down. > > > > so, again, let me acknowledge that i benefit from your efforts with > > gratitude. > > > > second, unfortunately, i can make it crash in a repeatable fashion. i > > have a large collection of music and when i try to 'add' it to cmus > > [using browser '5', highlighting dir, and pressing 'a'] it rolls > > along > > until at some point it blows up. > > > > there has been no core file that i have found. > > > > i am happy to supply more information or run commands or do what i > > can > > to help the developers figure out what's up. > > > > the following information may be helpful. > > > > ~ cmus --version > > cmus v2.7.1 > > Copyright 2004-2006 Timo Hirvonen > > Copyright 2008-2013 Various Authors > > > > the running environment is more or less as follows: > > > > ~ uname -a > > OpenBSD hostname.lan 5.9 GENERIC.MP#3 i386 > > > > ~ urxvt --version > > rxvt-unicode (urxvt) v9.22 - released: 2016-01-23 > > > > ~ zsh --version > > zsh 5.2 (i386-unknown-openbsd5.9) > > > > -- > > /js [http://or8.net/~johns] "this space for sale" > > > > ------------------------------------------------------------ > > ------------------ > > What NetFlow Analyzer can do for you? Monitors network bandwidth and > > traffic > > patterns at an interface-level. Reveals which users, apps, and > > protocols are > > consuming the most bandwidth. Provides multi-vendor support for > > NetFlow, > > J-Flow, sFlow and other flows. Make informed decisions using capacity > > planning reports. http://sdm.link/zohodev2dev |
From: <bc...@sh...> - 2016-08-14 17:48:47
|
Hello all - I agree, cmus is a refreshing joy to use. I am not a 'dev', but out of interest the comment "large collection of music" - what does that mean; how many files for instance ? I have a large collection stored on a NFS mount and when I added it, all went fine. Slackware 14.2 64bit. And it never failed on previous versions. Best regards On 13 August 2016 at 18:38, s <js...@gm...> wrote: > hi > > first, thank you. i don't know how much of an audience there is for > curses music players, but cmus is #1 in my book, hands down. > > so, again, let me acknowledge that i benefit from your efforts with > gratitude. > > > second, unfortunately, i can make it crash in a repeatable fashion. i > have a large collection of music and when i try to 'add' it to cmus > [using browser '5', highlighting dir, and pressing 'a'] it rolls along > until at some point it blows up. > > there has been no core file that i have found. > > i am happy to supply more information or run commands or do what i can > to help the developers figure out what's up. > > the following information may be helpful. > > ~ cmus --version > cmus v2.7.1 > Copyright 2004-2006 Timo Hirvonen > Copyright 2008-2013 Various Authors > > > the running environment is more or less as follows: > > ~ uname -a > OpenBSD hostname.lan 5.9 GENERIC.MP#3 i386 > > ~ urxvt --version > rxvt-unicode (urxvt) v9.22 - released: 2016-01-23 > > ~ zsh --version > zsh 5.2 (i386-unknown-openbsd5.9) > > > > -- > /js [http://or8.net/~johns] "this space for sale" > > ------------------------------------------------------------ > ------------------ > What NetFlow Analyzer can do for you? Monitors network bandwidth and > traffic > patterns at an interface-level. Reveals which users, apps, and protocols > are > consuming the most bandwidth. Provides multi-vendor support for NetFlow, > J-Flow, sFlow and other flows. Make informed decisions using capacity > planning reports. http://sdm.link/zohodev2dev > |
From: s <js...@gm...> - 2016-08-13 17:38:48
|
hi first, thank you. i don't know how much of an audience there is for curses music players, but cmus is #1 in my book, hands down. so, again, let me acknowledge that i benefit from your efforts with gratitude. second, unfortunately, i can make it crash in a repeatable fashion. i have a large collection of music and when i try to 'add' it to cmus [using browser '5', highlighting dir, and pressing 'a'] it rolls along until at some point it blows up. there has been no core file that i have found. i am happy to supply more information or run commands or do what i can to help the developers figure out what's up. the following information may be helpful. ~ cmus --version cmus v2.7.1 Copyright 2004-2006 Timo Hirvonen Copyright 2008-2013 Various Authors the running environment is more or less as follows: ~ uname -a OpenBSD hostname.lan 5.9 GENERIC.MP#3 i386 ~ urxvt --version rxvt-unicode (urxvt) v9.22 - released: 2016-01-23 ~ zsh --version zsh 5.2 (i386-unknown-openbsd5.9) -- /js [http://or8.net/~johns] "this space for sale" |
From: Jason W. <ja...@ja...> - 2015-12-03 22:10:42
|
I certainly agree with everything that Gregory said, I hope you take that to heart. I just wanted to add that my personal preference is to dive deep into one aspect of the software instead of trying to get a broad understanding first. Usually I want to track down a quirk or bug, and see if I can change/improve it, but it works just as well if I'm just curious about some detail. Usually, as I try to figure out what's going on in that specific part of the code, I end up learning a bit about the bigger picture too, but I like the structure of trying to understand one part, and how it feels like I understand something well much sooner, even if it's just a small part. If you don't already have an idea for a deep-dive, you could try to figure out how the i key works. This key is supposed to scroll the display to the song that's currently playing (although it only works if the song was triggered from the current window, and not eg by the queue). I don't have anything particularly exciting that I use to find stuff in the code-base. I read filenames, jump to definitions (with ctags and vim's ctrl-]) and use ``git grep``. -- Jason |
From: Gregory P. <gre...@gm...> - 2015-12-03 17:35:56
|
Hi Maqbool, OK, I'll try to offer some (very) limited guidance. First, it is great that you decided to study a relatively large and real-world codebase. While studying it can be initially different, I believe it will quickly make you much better at programming. The only tools you need to study the codebase are editor/IDE, compiler, curiosity and patience. I don't think debugger like gdb is helpful for program understanding. Every large codebase have some "core" parts, and "everything else". Understanding the core is most important. If we are talking about cmus, I'd consider everything except input (mp3, flac, etc.) and output (pulseaudio, alsa, etc.) plugins as "core". So — exclude files responsible for the plugins, and start reading everything else. If your editor has a "jump to definition" function, that would be very helpful. If something is unclear, just modify the source code, recompile the program and run it! A couple of well-placed "printf"s will help you understand what (and when) is happening a lot. Let me restate this once again: there is no quick and easy way for reading and understanding the source code. You have to spend a lot of time and effort initially. But this is an excellent investment that will pay dividends during all your future career. P.S. And of course, you have to learn C first. Regards, Gregory On Thu, Dec 3, 2015 at 1:10 PM Mohd Maqbool Alam <ala...@gm...> wrote: > Hello, > > I want to learn how the program cmus works and I want to contribute. > > I have no experience in open source development and I'm a student learning > about computer science in college. > > So i tried to learn by reading code by following ways. > > I compile the program and run gdb on it so i found out that program starts > from ui_curses.c from line 2547. > inside main function it calling dozens of other functions and making > decision but my problem is how do i make sense of large codebase how do i > find which pieces of code does what. > > I need help How do i read the large code and make sense of it. > what tools should i learn so that it can help me to understand codebase. > > any advice and help will mean a lot to me. > > In short i want to know what tools you use to understand cmus how do you > read source code and able to understand what each piece code does what. > what tools do i have learn apart from C. > > I'm running Ubuntu 14.04. > > Thanks > > Maqbool > > ------------------------------------------------------------------------------ > Go from Idea to Many App Stores Faster with Intel(R) XDK > Give your users amazing mobile app experiences with Intel(R) XDK. > Use one codebase in this all-in-one HTML5 development environment. > Design, debug & build mobile apps & 2D/3D high-impact games for multiple > OSs. > http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140 |
From: Mohd M. A. <ala...@gm...> - 2015-12-03 10:10:45
|
Hello, I want to learn how the program cmus works and I want to contribute. I have no experience in open source development and I'm a student learning about computer science in college. So i tried to learn by reading code by following ways. I compile the program and run gdb on it so i found out that program starts from ui_curses.c from line 2547. inside main function it calling dozens of other functions and making decision but my problem is how do i make sense of large codebase how do i find which pieces of code does what. I need help How do i read the large code and make sense of it. what tools should i learn so that it can help me to understand codebase. any advice and help will mean a lot to me. In short i want to know what tools you use to understand cmus how do you read source code and able to understand what each piece code does what. what tools do i have learn apart from C. I'm running Ubuntu 14.04. Thanks Maqbool |
From: <co...@ge...> - 2015-11-11 12:43:50
|
<html> <head> </head> <body> <p>Hello,</p> <p> We are MobiPromo and we developed the simplest way to create mobile apps. All you need is your Facebook page, <b>cmus</b>, and you could have a mobile app in a few minutes. </p> <p> If you are a business owner <a href="http://getmobipromo.com/?utm_source=direct_email&utm_medium=link_to_home&utm_campaign=mobipromo_50_off">click here to learn how a mobile app can grow your business</a> </p> <p> If you are a Facebook page admin <a href="http://getmobipromo.com/ads.html?id=106075672756890&n=57&utm_source=direct_email&utm_medium=link_to_ads&utm_campaign=mobipromo_50_off">click here to see of how much you could be earning</a> </p> <p> Thank you for reading up to this point.<br/> We'd like to offer you a coupon for a <b>50% discount</b>:<br/> ---------------<br/> <b>MBP50OFF</b><br/> ---------------<br/> With the coupon above you can get your app for as low as <a href="http://getmobipromo.com/?utm_source=direct_email&utm_medium=link_to_pricing&utm_campaign=mobipromo_50_off#/pricing">$49.5 (one-off payment)</a> </p> <p> Please contact us if you have any questions. We aim to reply the same business day. </p> <p> Best regards,<br/> The MobiPromo Team </p> <hr/> <p> <a href="http://getmobipromo.com/unsubscribe.html?e=cmus-devel%40lists.sourceforge.net">Unsubscribe</a> | If you feel this email is inappropriate <a href="http://getmobipromo.com/report.html">click here to report it</a> </p> <img src="https://www.google-analytics.com/collect?v=1&tid=UA-55118343-1&uid=4742131&cid=c2adae30-6a9f-0133-1046-3c07540d7db2&t=event&ec=email&ea=open&dp=%2Femail%2Fmobipromo_50_off"/> </body> </html> |
From: Storm D. <sto...@gm...> - 2015-09-25 22:55:08
|
Howdy, I got it working. Turns out because of the variables being passed at 2 different places, they were passing 2 different values. I should have figured that out sooner. So, fixed it with a simple if statement that passes the track twice if bgmPlaer is cmus, and once if it isn't. Thanks for all the help :) Storm On Fri, Sep 25, 2015 at 06:06:55PM -0400, Jason Woofenden wrote: >Oh! Sorry, my mistake. > >Things to try now: > >1. run cmus-remote from the terminal, and see what effect it has > on the running cmus (by looking at it's interface). check > whether it's having the expected effect on the library, > playlist, etc. > > If it works perfectly from the terminal, then you know the > problem is in your game scripting. > >2. If the cmus-remote call doesn't do what you expect, try doing > multiple calls to cmus-remote with fewer args, example: > > cmus-remote -l -c > cmus-remote -l foo.mp3 > cmus-remote -f foo.mp3 > > This should make it easier to figure out what's going on. If > you figure out a sequence of commands that works, let us know, > and maybe we can find a single command that does that, or find > a bug. > >3. Check the cmus play mode... in the bottom right corner of cmus, > I see: > > all from library | CRS > > If it says "playlist" instead of "all from library" then it's > not going to make much difference what you ``cmus-remote -l`` > >If it still seems like there's a bug, please report to us: > >1. The full commandline of cmus-remote that you use in the > terminal > >2. Exactly what effect that has on the running cmus > >3. How that differs from the behavior you expect > >-- >Jason > >------------------------------------------------------------------------------ -- Powered by Arch Linux! I am registered Linux user number 508465: https://linuxcounter.net/user/508465.html My blog, Thoughts of a Dragon: http://www.stormdragon.tk/ get my public PGP key: gpg --keyserver wwwkeys.pgp.net --recv-key 43DDC193 Twitter and Facebook are so ... yesteryear. Get your 2MB Social account TODAY! http://2mb.social/main/register Follow me on GNU Social: https://social.stormdragon.tk/storm "with a trunk big enough to fit three bodies in" Calabrese - Crizila |
From: Jason W. <ja...@ja...> - 2015-09-25 22:07:02
|
Oh! Sorry, my mistake. Things to try now: 1. run cmus-remote from the terminal, and see what effect it has on the running cmus (by looking at it's interface). check whether it's having the expected effect on the library, playlist, etc. If it works perfectly from the terminal, then you know the problem is in your game scripting. 2. If the cmus-remote call doesn't do what you expect, try doing multiple calls to cmus-remote with fewer args, example: cmus-remote -l -c cmus-remote -l foo.mp3 cmus-remote -f foo.mp3 This should make it easier to figure out what's going on. If you figure out a sequence of commands that works, let us know, and maybe we can find a single command that does that, or find a bug. 3. Check the cmus play mode... in the bottom right corner of cmus, I see: all from library | CRS If it says "playlist" instead of "all from library" then it's not going to make much difference what you ``cmus-remote -l`` If it still seems like there's a bug, please report to us: 1. The full commandline of cmus-remote that you use in the terminal 2. Exactly what effect that has on the running cmus 3. How that differs from the behavior you expect -- Jason |
From: Storm D. <sto...@gm...> - 2015-09-25 21:32:50
|
Howdy, I think I didn't do a good enough job at explaining how that works. The file name is getting passed twice. The part that actually plays the track is this: #system {$bgmPlay $backgroundMusicTrack}; and in the case of cmus, I set the bgmPlay veriable to: #variable {bgmPlay} {cmus-remote -l -c -f $backgroundMusicTrack}; So, it should be getting passed twice. Of course, I could be missing something you said, so just let me know if I did, but it looks to me like I have followed your instructions exactly. The reason I don't add the second $backgroundMusicTrack to the bgmPlay varaible is it would end up being called 3 times instead of 2. The other players only require the track be added once. Of course I suppose I could just add the track name into the other play commands, but that would require some changes I would rather not have to make unless absolutely necessary. Thanks Storm On Fri, Sep 25, 2015 at 05:14:55PM -0400, Jason Woofenden wrote: >Hi Storm, > >It looks like you didn't do what I suggested. Sounds like you said >that you didn't understand why my suggestion would work, so decided >not to try it. I'm not going to help you further until you try the >advice I already gave. > >As I said, the first filename is an argument to the -f flag. > >Is there some reason you're not doing the following? > > #variable {bgmPlay} {cmus-remote -l -c -f $backgroundMusicTrack $backgroundMusicTrack}; > >That will _not_ add the track twice, it'll play it immediately (the >-f <filename> part) and add it to the library (the second ><filename>) for repeats. > >-- >Jason -- Powered by Arch Linux! I am registered Linux user number 508465: https://linuxcounter.net/user/508465.html My blog, Thoughts of a Dragon: http://www.stormdragon.tk/ get my public PGP key: gpg --keyserver wwwkeys.pgp.net --recv-key 43DDC193 Twitter and Facebook are so ... yesteryear. Get your 2MB Social account TODAY! http://2mb.social/main/register How to load Windows on your machine in 2 minutes or less: http://www.youtube.com/watch?v=FVbf9tOGwno "War! The very first war of our World! When the treacherous Witch was killed. Three times burned The three times born By searing flames Was Gullveig torn." Amon Amarth - War of the Gods |
From: Jason W. <ja...@ja...> - 2015-09-25 21:15:01
|
Hi Storm, It looks like you didn't do what I suggested. Sounds like you said that you didn't understand why my suggestion would work, so decided not to try it. I'm not going to help you further until you try the advice I already gave. As I said, the first filename is an argument to the -f flag. Is there some reason you're not doing the following? #variable {bgmPlay} {cmus-remote -l -c -f $backgroundMusicTrack $backgroundMusicTrack}; That will _not_ add the track twice, it'll play it immediately (the -f <filename> part) and add it to the library (the second <filename>) for repeats. -- Jason |
From: Storm D. <sto...@gm...> - 2015-09-25 21:03:53
|
Howdy, It still seems to have the same problem. I'm trying to use cmus to play background music for areas in a MUD. The code is in a tintin++ script. Here's what I have, just so you can see if what I did looks right. $backgroundMusicTrack is the name of the track that is played. The variable is passed to a system command that runs it, along with the file name, so putting $backgroundMusicTrack in the play variable would call the track twice. At least that's my theory of what it is doing lol. But, if there were a way to not have to call the filename twice, that would be cool. Here's the variables that handle cmus stuff: #variable {bgmPlayer} {cmus}; #variable {bgmPlay} {cmus-remote -l -c -f $backgroundMusicTrack}; #variable {bgmStop} {cmus-remote -s}; #variable {bgmVolumeDown} {cmus-remote -v -5%}; #variable {bgmVolumeUp} {cmus-remote -v +5%}; #system {cmus-remote -C "set repeat=true"} I did it this way so there can be multiple options for the background music player. So far I have moc and xmms2 working. I made cmus the default player though, because it is so much easier to configure than the others, especially when it comes to softvol. Thanks for the help Storm On Fri, Sep 25, 2015 at 03:55:59PM -0400, Jason Woofenden wrote: >Hi Storm, > >First, note that cmus does not act on your commandline flags in >order, it parses them all, and then acts on them in it's own order. > >This enables eg the -l flag to effect all operations (eg it makes >the -c flag clear the library). > >That said... It looks like it's processing your flags in a good >order. > >My first guess: The issue you're having is because files are added >to the library asynchronously (I think), thus the track you want >played is not in the library yet by the time the -p flag is acted >upon. > >I suggest: using ``-f trackname.opus`` instead of ``-s -p``. That >will play that file immediately (whether it's in your library or >not). Surely by the time the track finishes, the "add to library" >part will have finished, and the repeat should work. > >Another possible problem is that your cmus is not in "play from >library" mode (eg it's playing from the playlist). > >Try this if you'd like to manipulate the playlist: > > cmus-remote -P -c -f filename.opus filename.opus > >Or this for the library: > > cmus-remote -l -c -f filename.opus filename.opus > >Be sure to put the filename in twice, as above. The first one is >passed to -f (play immediately) and the second for adding to the >playlist/library. > >Also, be sure cmus is playing from whichever one you're >manipulating. Shift-M in cmus toggles this. > >-- >Jason -- Powered by Arch Linux! I am registered Linux user number 508465: https://linuxcounter.net/user/508465.html My blog, Thoughts of a Dragon: http://www.stormdragon.tk/ get my public PGP key: gpg --keyserver wwwkeys.pgp.net --recv-key 43DDC193 Twitter and Facebook are so ... yesteryear. Get your 2MB Social account TODAY! http://2mb.social/main/register How many Internet mail list subscribers does it take to change a lightbulb? http://goo.gl/eO4PJ "We sail the endless oceans, we sail the raging seas. The quest is never ending, it leads us to destiny." Alestorm- The Quest |
From: Jason W. <ja...@ja...> - 2015-09-25 20:13:16
|
Hi Storm, First, note that cmus does not act on your commandline flags in order, it parses them all, and then acts on them in it's own order. This enables eg the -l flag to effect all operations (eg it makes the -c flag clear the library). That said... It looks like it's processing your flags in a good order. My first guess: The issue you're having is because files are added to the library asynchronously (I think), thus the track you want played is not in the library yet by the time the -p flag is acted upon. I suggest: using ``-f trackname.opus`` instead of ``-s -p``. That will play that file immediately (whether it's in your library or not). Surely by the time the track finishes, the "add to library" part will have finished, and the repeat should work. Another possible problem is that your cmus is not in "play from library" mode (eg it's playing from the playlist). Try this if you'd like to manipulate the playlist: cmus-remote -P -c -f filename.opus filename.opus Or this for the library: cmus-remote -l -c -f filename.opus filename.opus Be sure to put the filename in twice, as above. The first one is passed to -f (play immediately) and the second for adding to the playlist/library. Also, be sure cmus is playing from whichever one you're manipulating. Shift-M in cmus toggles this. -- Jason |