You are not logged in.

#1 2010-05-11 18:17:18

waker
Member
Registered: 2009-09-11
Posts: 43

DeaDBeeF - Lightweight Audio Player

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

#2 2010-05-11 19:20:59

Ashren
Member
From: Denmark
Registered: 2007-06-13
Posts: 1,221
Website

Re: DeaDBeeF - Lightweight Audio Player

Brilliant!

I like it!

Wow!

Finally!

Voted!

smile

Offline

#3 2010-05-11 19:28:26

daneel971
Member
Registered: 2008-03-28
Posts: 179

Re: DeaDBeeF - Lightweight Audio Player

Looks really interesting - I'll try it in a few days. Thanks for your work smile

Offline

#4 2010-05-11 19:46:47

markg85
Member
Registered: 2009-06-27
Posts: 130

Re: DeaDBeeF - Lightweight Audio Player

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

#5 2010-05-11 19:53:50

waker
Member
Registered: 2009-09-11
Posts: 43

Re: DeaDBeeF - Lightweight Audio Player

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

#6 2010-05-12 04:30:43

arinlares
Member
From: Anaheim, CA
Registered: 2010-02-01
Posts: 165
Website

Re: DeaDBeeF - Lightweight Audio Player

Thanks for this thread, without it I never would've learned about this awesome player.  I think it's my new favorite now.

Offline

#7 2010-05-12 05:26:37

anonymous_user
Member
Registered: 2009-08-28
Posts: 3,058

Re: DeaDBeeF - Lightweight Audio Player

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

#8 2010-05-12 07:05:11

waker
Member
Registered: 2009-09-11
Posts: 43

Re: DeaDBeeF - Lightweight Audio Player

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

#9 2010-05-12 07:09:07

smakked
Member
From: Gold Coast , Australia
Registered: 2008-08-14
Posts: 419

Re: DeaDBeeF - Lightweight Audio Player

Nice work i will give it a try


Certified Android Junkie
Arch 64

Offline

#10 2010-05-12 11:20:54

Themaister
Member
From: Horten, Norway
Registered: 2008-07-21
Posts: 647
Website

Re: DeaDBeeF - Lightweight Audio Player

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

#11 2010-05-12 16:32:24

Hiato
Member
Registered: 2009-01-21
Posts: 76

Re: DeaDBeeF - Lightweight Audio Player

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 tongue But, I cant seriously fault it otherwise.

Offline

#12 2010-05-12 17:06:28

igorp
Member
From: Zagreb, Croatia
Registered: 2010-03-05
Posts: 8
Website

Re: DeaDBeeF - Lightweight Audio Player

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

#13 2010-05-12 17:20:30

waker
Member
Registered: 2009-09-11
Posts: 43

Re: DeaDBeeF - Lightweight Audio Player

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

#14 2010-05-12 17:23:01

waker
Member
Registered: 2009-09-11
Posts: 43

Re: DeaDBeeF - Lightweight Audio Player

Hiato wrote:

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 tongue 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

#15 2010-05-12 17:35:40

evr
Arch Linux f@h Team Member
Registered: 2009-01-23
Posts: 554

Re: DeaDBeeF - Lightweight Audio Player

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

#16 2010-05-13 06:10:14

geoisis
Member
From: greece
Registered: 2007-09-02
Posts: 100
Website

Re: DeaDBeeF - Lightweight Audio Player

+1 foobar2000 love comes back smile


Archlinux x86_64 | post-engineering | last.fm

Offline

#17 2010-05-13 06:37:31

stqn
Member
Registered: 2010-03-19
Posts: 1,189
Website

Re: DeaDBeeF - Lightweight Audio Player

So I guess this is a +1 post too, but really reading this news makes me really happy smile
No wonder, as I'm using Foobar2000 under Wine currently!
And the screenshots with dark themes look great. I'll try it.

Offline

#18 2010-05-13 07:42:28

arch0r
Member
From: From the Chron-o-John
Registered: 2008-05-13
Posts: 597

Re: DeaDBeeF - Lightweight Audio Player

is there any way to manage a music library or import one? rly nice app! smile

Offline

#19 2010-05-13 08:04:37

waker
Member
Registered: 2009-09-11
Posts: 43

Re: DeaDBeeF - Lightweight Audio Player

arch0r, sorry, but no, there's no collection support, and no one works on it.

Offline

#20 2010-05-13 08:29:39

alecmg
Member
Registered: 2008-12-21
Posts: 84

Re: DeaDBeeF - Lightweight Audio Player

not a big fan of foobar, but this one looks good


Xyne wrote:
"We've got Pacman. Wacka wacka, bitches!"

Offline

#21 2010-05-13 12:54:17

leepesjee
Member
Registered: 2008-11-06
Posts: 57

Re: DeaDBeeF - Lightweight Audio Player

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

#22 2010-05-13 12:57:51

waker
Member
Registered: 2009-09-11
Posts: 43

Re: DeaDBeeF - Lightweight Audio Player

leepesjee wrote:

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

#23 2010-05-13 12:59:18

stqn
Member
Registered: 2010-03-19
Posts: 1,189
Website

Re: DeaDBeeF - Lightweight Audio Player

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

#24 2010-05-13 13:05:12

waker
Member
Registered: 2009-09-11
Posts: 43

Re: DeaDBeeF - Lightweight Audio Player

stqn wrote:

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

#25 2010-05-13 13:08:27

leepesjee
Member
Registered: 2008-11-06
Posts: 57

Re: DeaDBeeF - Lightweight Audio Player

(and that was never tested, but should work)

Tested, and it works. Thanks.

Offline

Board footer

Powered by FluxBB