You are not logged in.
*edited to provide usefull information*
This is a very lightweight media playing daemon (no dependencies, needs around 1meg of ram with a 600k playlist). To keep it light, the daemon is very basic. There is no config file (configuration is done at build time), actual playing is done by third party programs (like mpg321) and even the playlist has to be created by other programs.
madasul:
The daemon, reads a list of files to play at start (by default $XDG_CONFIG_HOME/madasul/list, but can be overrided with -f). It listens at port 6666 (can be overrided by -p) for commands (see man page for commands).
madasulm:
Wrapper scripts that rebuilds madasul if $XDG_CONFIG_HOME/config.h has changed. In config.h one can setup the programs that are used to play files from the list.
mlg:
Traverses directory recursively, creating a playlist to stdout. If ogginfo and id3 are available, the playlist will hold meta info.
mcp:
sends a command to the daemon, the result is printed to stdout
angl:
A experimental client for madasul. Angl provides regexp based filter, but its not done yet. You need to create $XDG_CONFIG_HOME/madasul/ to save/load lists.
aur package: https://aur.archlinux.org/packages.php?ID=51801 [madasul-svn]
svn: https://svn.0mark.unserver.de/madasul/
I intend to make some more scripts for playlist generation, track selection with dmenu and stuff. Also planned are some hooks, eg for notification or last.fm or whatever.
Last edited by 0mark (2011-08-26 13:20:40)
Ceterum autem censeo Systemdinem esse delendam
Offline
ok I'll bite.
since there isn't much to hear without I recommend adding mpg123 and vorbis-tools and all the other things to the dependencies in the PKGBUILD. Other than that it looks pretty good to me although I have no clue what dwm-sprinkles is and why there is a readme that tells me about windows registry keys.
It woul be nice if madsul would actually create a .config/madasul/list file if it doesnt exist, either way manually creating said stuff results in:
Runaway Indian in the prairie of Spain Error: failed to read track line 0
yay, i munched 0 lines
and my socket is open!
zsh: segmentation fault madasul
The entertaining error messages make it worthwhile to actually crash it. Ok. so no empty lists, fair enough. Unfortunately I have no clue what's supposed to be there. So I looked at the code and found this:
while(!feof(f)) {
n = fscanf(f, "%[^\t]\t%[^\t]\t%[^\t]\t%[^\t]\t%[^\t]\t%[^\t]\t%[^\t]\t%[^\n]\n", type, path, artist, album, title, date, genre, number);
...
You'll excuse that I chose to refrain typing that in .config/madasul/list manually for now. mlg refuses to load all that info into the list too or print anything for that matter.
bottom line is that theres lots of small issues that prevented me from trying it out :<
P.S. I'm not sure you have a strategy to handle empty tags.
Offline
here's the gdb output for the segfault.
GNU gdb (GDB) 7.3
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/fogobogo/builds/madasul-svn/src/dwm-sprinkles/madasul...done.
(gdb) run
Starting program: /home/fogobogo/builds/madasul-svn/src/dwm-sprinkles/madasul
[Thread debugging using libthread_db enabled]
Runaway Indian in the prairie of Spain Error: failed to read track line 0
yay, i munched 0 lines
and my socket is open!
[New Thread 0xb7e48b70 (LWP 7150)]
[New Thread 0xb7647b70 (LWP 7151)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7647b70 (LWP 7151)]
play (track=0x0, infp=0xb7647384, outfp=0xb7647388) at madasul.c:221
221 int p_stdin[2], p_stdout[2], type = track->type;
(gdb) bt
#0 play (track=0x0, infp=0xb7647384, outfp=0xb7647388) at madasul.c:221
#1 0x080496fa in player () at madasul.c:499
#2 0xb7e50c77 in start_thread () from /lib/libpthread.so.0
#3 0xb7f3699e in clone () from /lib/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further
simply put. It lacks a lot of error checking for now.
Last edited by fogobogo (2011-08-25 22:24:41)
Offline
ok I'll bite.
since there isn't much to hear without I recommend adding mpg123 and vorbis-tools and all the other things to the dependencies in the PKGBUILD. Other than that it looks pretty good to me although I have no clue what dwm-sprinkles is and why there is a readme that tells me about windows registry keys.
Ups. I have no clue how i managed to copy that file in this directory. Maybe to remember me to write a README. I made a short one, as a beginning.
It woul be nice if madsul would actually create a .config/madasul/list file if it doesnt exist, either way manually creating said stuff results in:
Runaway Indian in the prairie of Spain Error: failed to read track line 0 yay, i munched 0 lines and my socket is open! zsh: segmentation fault madasul
Fixed that.
mlg refuses to load all that info into the list too or print anything for that matter.
Seems to be a Bug related to spaces in directory names, i think its fixed (error messages are upon the todo list). You also need ogginfo from the ogg-vorbis package and id3 to get meta data.
Damn, i thought i did proper testing, but in retrospect i only used it in a fixed environment. Which is not really helpfull, after all
Ceterum autem censeo Systemdinem esse delendam
Offline
[TODO: find puny punch line!]: failed to open file /home/mariachi/.config/madasul/list
wasn't it supposed to be created automagically?
Offline
here is some rather untested code for that issue
/* check if file exists */
if(access(listfile, F_OK) == 0) {
/* if so open it */
if(!(f = fopen(listfile, "r")))
die("[TODO: find puny punch line!]: failed to open file %s\n", listfile);
}
/* else create it */
else {
/* note: if the folder ($HOME/.config/madasul) doesnt exists this will fail too! so check out man 3 mkdir */
f = fopen(listfile, "w");
if(f == NULL) {
die("Nuclear Pony Stampede!\n");
}
}
it will still die in flames since the list is empty so your while loop needs error checks too.
Offline
[TODO: find puny punch line!]: failed to open file /home/mariachi/.config/madasul/list
wasn't it supposed to be created automagically?
Well, i think it would not make much sense, since the daemon only plays what is in this list. If its empty, it would just do nothing.
There is a example script (mlg) that creates a list.
*EDIT*
Oh, i understand. There was quite some misunderstanding here. Luckily there was someone at hand to tell me. Yes, i will add that, but i have to add a new command to load a playlist when running. im on it.
Last edited by 0mark (2011-08-26 13:29:09)
Ceterum autem censeo Systemdinem esse delendam
Offline
Ok, fixed that. It now runs with empty list, a loadlist command is added.
Ceterum autem censeo Systemdinem esse delendam
Offline
Alright. I tried it (again) and those are the results.
It still doesn't create a .config/madasul/list file if there is none but dies more gracefully. Is revision 38 really the one you mean?
I managed to create a list and even convince mcp to send a play command but I hear exactly nothing.
Offline
Alright. I tried it (again) and those are the results.
It still doesn't create a .config/madasul/list file if there is none but dies more gracefully. Is revision 38 really the one you mean?
Current is 41. The List is not created automatically, but the daemon should start without a list. There is a loadlist command to load a list later.
I managed to create a list and even convince mcp to send a play command but I hear exactly nothing.
I used mpg321 as a default to play mp3, but it seems that most people have mpg123 instead, so i changed the default. Ogg files need ogg123.
Ceterum autem censeo Systemdinem esse delendam
Offline