You are not logged in.
Hey people.
I've been working on this project for almost a year now, and thought I should spread more word about it.
This is a lightweight (but very powerful and flexible) audio player, written in C (though some plugins are in C++), licensed under GPLv2.
Default user interface is using GTK2, and is similar to Foobar2000 player.
The player doesn't use any of the so called "sound backends", like xine or gstreamer - everything is done manually, with respect to memory footprint and optimal CPU use, using native libraries, with exception of FFMPEG plugin used to play back exotic formats, like WMA, and to play back formats that are not implemented yet using their native libraries, like TTA and MPC.
Key features:
* plays mp3, ogg, flac/oga, ape, wav, wv/iso.wv, m4a, mpc/mpp/mp+, wma, shn, atrac3, sid, nsf, mod, s3m, vtx, audio cds and many more
* takes very small amount of memory and CPU
* expandable through plugins
* supports cuesheets (from .cue files, and from metadata), m3u and pls playlists
* internet radio (shoutcast, icecast, podcasts)
* global hot-keys
* reads and writes id3v1, id3v2 and apev2 tags to/from all relevant formats
* can detect charset of bad (non-unicode) id3 tags
* user-customizable playlist columns with title-formatting
* high quality resampling using libsamplerate
* playback using ALSA, OSS and PulseAudio
* last.fm/libre.fm scrobbler
* gapless playback support for many formats
* multiple playlists organized in tabs
* album art display
* 18-band equalizer
* track grouping using title-formatting
Project website: http://deadbeef.sourceforge.net/
AUR: http://aur.archlinux.org/packages.php?ID=29497
Some screenshots: http://deadbeef.sourceforge.net/screenshots.html
Hope you will like it, and vote for inclusion into [community].
Thanks for reading!
Offline
Brilliant!
I like it!
Wow!
Finally!
Voted!
Offline
Looks really interesting - I'll try it in a few days. Thanks for your work
Offline
Looks nice!
However i'm a KDE user thus apps like this don't work well (in appearance) any chance of making a Qt variant?
Offline
markg85, hi
plugin architecture allows to create any GUI. there's in fact a Qt GUI plugin for deadbeef-0.3.3, but unfortunately its author doesn't have time to port it to 0.4, and finish implementing all the features of GTK GUI.
if you're interested in contacting him and offer your help -- http://bitbucket.org/tonn/deadbeef-qt/wiki/Home
Offline
Thanks for this thread, without it I never would've learned about this awesome player. I think it's my new favorite now.
Offline
Very nice to see a player similar to Foobar2000. BTW if I may ask, why did you not make the tabs, columns, and timeline native GTK themed?
Offline
anonymous_user,
almost every time i try to make a widget to use gtk theming - i get a ton of bug reports that it doesn't work with several gtk themes/engines.
it takes a lot of effort (and hacks) to implement this, so in general i'm trying to avoid it. in case of playlist widget - sometimes it makes it unusably slow (that's why i have an alternative playlist rendering with custom colors).
btw, i'm going to rewrite columns (headers) drawing code again for next bugfix release, because there were reports they don't work with people's gtk themes.
if your question really was "why don't you use standard gtk widgets" - they don't do what i want.
Offline
Nice work i will give it a try
Certified Android Junkie
Arch 64
Offline
Hello, nice project. I'm reading through the ALSA and OSS code, and there are some things that puzzle me.
Deadbeef uses a threaded callback that tries to read from the deadbeef-stream all the time, and use usleep() to avoid busy-waiting with 100% CPU. Is there a reason for this? Wouldn't it be just as feasible for the deadbeef process to pump out audio in a blocking fashion when the data is ready? Or is this a necessity with the current plugin design? This would simplify the audio backends _a lot_, I think. That way, you would also avoid using threads in the audio backend.
I also found two bugs in the OSS and ALSA code (it's probably the same in Pulse code as well), or rather, they're a consequence of probably some internal streamer bug. Apparently when trying to read data from the streamer in the callback very often, it will sometimes not be able to read any data (always happens in the start of the stream). And the current plugins currently write dummy data, rather than wait for data to be properly returned. I'll send patch to the devel list.
EDIT: Uploaded patch to the tracker:
http://sourceforge.net/tracker/?func=de … id=1159088
Last edited by Themaister (2010-05-12 12:57:09)
Offline
Nice one waker! Whenever I feel like a graphical player this is my choice from now on, my only gripe is that I would like to be able to sort by multiple columns (eg: artist and track number) or something. That and it's crtl+f not / for find But, I cant seriously fault it otherwise.
Offline
Hey waker,
congratulations on DeaDBef. It's very look like foobar2000 which was my favorite music palyer in my Windows days..
Looking forward to try it.
Regards!
Offline
hello, Themaister
I don't think this forum thread is the best place to discuss these details..
but i'll try to explain anyway..
streamer reads and decodes data all the time, putting decoded pcm into big ringbuffer (which is always much bigger then alsa output buffer).
this has its own pros and cons, but the fact is -- i have to have separate thread to pump data from streambuffer into alsabuffer, because decoding stage is quite slow, and in a lot of cases may stall playback.
this way i can have huge time reserve before stall in decoder or disk/network reader will cause a stall in playback.
yeah, i know it makes writing audio output plugins a bit more complex. but not much.
feel free to ask if you want to know more.
as for you patch - i will check it out ASAP, and send you a message.
thanks for the effort.
Offline
Nice one waker! Whenever I feel like a graphical player this is my choice from now on, my only gripe is that I would like to be able to sort by multiple columns (eg: artist and track number) or something. That and it's crtl+f not / for find But, I cant seriously fault it otherwise.
hey, Hiato
i'll think about / for search..
as for the sort by multiple columns - you can do it sequentionally
1. sort by track number
2. sort by artist
Last edited by waker (2010-05-12 17:38:38)
Offline
hey, just wanted to say great work! I too used to love foobar2000 on windows. From the little bit I have played with it so far, this seems like a great alternative. Thanks for your effort!
Offline
+1 foobar2000 love comes back
Archlinux x86_64 | post-engineering | last.fm
Offline
So I guess this is a +1 post too, but really reading this news makes me really happy
No wonder, as I'm using Foobar2000 under Wine currently!
And the screenshots with dark themes look great. I'll try it.
Offline
is there any way to manage a music library or import one? rly nice app!
Offline
arch0r, sorry, but no, there's no collection support, and no one works on it.
Offline
not a big fan of foobar, but this one looks good
Xyne wrote:
"We've got Pacman. Wacka wacka, bitches!"
Offline
This looks nice! I have one little feature request.
Could you add a configure option for the OSS plugin, to be able to set the device name. Users with muliple soundcards or with soundcards with a hardware mixer (which I have) need /dev/dspx with x = 1,2,3... instead of the standard /dev/dsp.
Last edited by leepesjee (2010-05-13 12:54:53)
Offline
This looks nice! I have one little feature request.
Could you add a configure option for the OSS plugin, to be able to set the device name. Users with muliple soundcards or with soundcards with a hardware mixer (which a have) need /dev/dspx with x = 1,2,3... instead of the standard /dev/dsp.
i have it on my todo list.. currently you can put following in ~/.config/deadbeef/config
oss.device /dev/dsp1
you will need to quit player before modifying configuration file
(and that was never tested, but should work)
Last edited by waker (2010-05-13 13:01:16)
Offline
Using deadbeef at the moment, and I love it! The GUI is small, clean, fast and works perfectly with my dark theme (XFCE's dusk.) It does the essential things I want (playlists, shuffle play, replaygain, plays mods, playback queue, scrobbling, global hotkeys), and with a GTK UI. Huge thanks.
Problems I noticed:
- ram usage is "a bit" high with a 8000 songs playlist (100MB), also it takes a long time to parse the files.
- replaygain values are b0rked (the properties box often states "NaN dB", or sometimes wrong numbers, and that can be heard.)
- global hotkeys don't work (opening the settings a second time, my settings are gone.)
Offline
Using deadbeef at the moment, and I love it! The GUI is small, clean, fast and works perfectly with my dark theme (XFCE's dusk.) It does the essential things I want (playlists, shuffle play, replaygain, plays mods, playback queue, scrobbling, global hotkeys), and with a GTK UI. Huge thanks.
Problems I noticed:
- ram usage is "a bit" high with a 8000 songs playlist (100MB), also it takes a long time to parse the files.
- replaygain values are b0rked (the properties box often states "NaN dB", or sometimes wrong numbers, and that can be heard.)
- global hotkeys don't work (opening the settings a second time, my settings are gone.)
i've never seen 100MB ram usage even if i have 50-60K songs in playlist..
but it might be very high if you are using album art.
bugs should be reported to bug tracker (i don't have enough time to collect random oneliner bugreports from around the web, esp. when i'm at work)
global hotkeys do work, you just need to press Apply button before closing preferences window.. this will be improved in some later release.
Offline
(and that was never tested, but should work)
Tested, and it works. Thanks.
Offline