You are not logged in.

#1 2013-12-30 21:00:02

wander
Member
Registered: 2012-03-03
Posts: 32

DeaDBeeF Waveform Seekbar Plugin

Hello everyone,

I wanted to share my first open source project with you. It's a seekbar plugin for the DeaDBeeF audio player (only version 0.6 or higher) with a waveform visualization underneath and still under heavy developement.

A lot of credit goes to Zao (author of foo_wave_seekbar plugin for foobar2000), Waker (author of DeaDBeeF) and Robin Gareus (author of libsnd-waveform).

Features:

  • seeking

  • indicate position

  • display waveform

Installation:

  • Stable: AUR PKGBUILD

  • Dev: AUR PKGBUILD
    or manually

  • get the sources

  • run make

  • run ./userinstall.sh

  • (re)start DeaDBeeF and add it to your layout with View -> Design Mode

ToDo:

  • implement cache (see post bellow)

  • improve drawing

  • ???

Screenshots:
hLeecgF.png
eMqXgtP.png

I'm looking forward to your feedback and suggestions!

Thanks!

Last edited by wander (2014-03-20 11:25:51)

Offline

#2 2013-12-31 22:18:37

fenchel
Member
Registered: 2013-12-31
Posts: 2

Re: DeaDBeeF Waveform Seekbar Plugin

Registered just to tell you it works perfectly, and I really like it smile   Thanks!

Offline

#3 2014-01-01 22:19:49

wander
Member
Registered: 2012-03-03
Posts: 32

Re: DeaDBeeF Waveform Seekbar Plugin

fenchel wrote:

Registered just to tell you it works perfectly, and I really like it smile   Thanks!

Nice to hear that. smile

I will release the cache implementation (great performance improvement), a much nicer drawing and an improved build/install procedure (with PKGBUILD) in the next couple of days.

Offline

#4 2014-01-13 15:56:17

wander
Member
Registered: 2012-03-03
Posts: 32

Re: DeaDBeeF Waveform Seekbar Plugin

Small update: I just added a cache to store the waveform data. This way the waveform of a track on second play is loaded much faster.

To enable the cache go to: Edit -> Preferences -> Plugins -> Waveform Seekbar -> Enable cache

If you encounter any bugs, please let me know. Thanks!

Last edited by wander (2014-01-23 20:06:49)

Offline

#5 2014-01-23 16:22:26

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

Re: DeaDBeeF Waveform Seekbar Plugin

Awesome job, Wander! big_smile

congrats with the public release.

i'll post a link on deadbeef G+ page

Offline

#6 2014-02-02 01:32:03

andreymal
Wiki Maintainer
Registered: 2014-02-02
Posts: 6

Re: DeaDBeeF Waveform Seekbar Plugin

Crashes on URLs.

Segmentation Fault
backtrace() returned 6 addresses
deadbeef() [0x804afea]
linux-gate.so.1(__kernel_sigreturn+0) [0xb773f400]
/usr/lib/deadbeef/ddb_misc_waveform_GTK2.so(waveform_generate_wavedata+0x294) [0xb5d3cc64]
/usr/lib/deadbeef/ddb_misc_waveform_GTK2.so(waveform_get_wavedata+0x28) [0xb5d3d408]
/usr/lib/libpthread.so.0(+0x6f10) [0xb769ff10]
/usr/lib/libc.so.6(clone+0x5e) [0xb75d621e]

Offline

#7 2014-02-02 09:03:31

wander
Member
Registered: 2012-03-03
Posts: 32

Re: DeaDBeeF Waveform Seekbar Plugin

andreymal wrote:

Crashes on URLs. [...]

Thanks for reporting. smile

It's fixed and I updated the AUR package.

Offline

#8 2014-02-13 16:49:50

wander
Member
Registered: 2012-03-03
Posts: 32

Re: DeaDBeeF Waveform Seekbar Plugin

Update

  • Added option to delete cached waveform in the context menu of tracks

  • Added option to select number of samples (2048 or 4096)

  • Improved cache size

*Attention* Those of you who tried out the following setting "Enable cache (experimental)" will experience some issues with drawing, in order to fix that you have to either delete the wavecache.db file in ~/.cache/deadbeef/waveform or delete all waveform data with the new context menu entry. This is due to a slight change in the cache format which decreases the size to half it was before. Sorry for the inconvience. *Attention*

The ability to select between 2048 and 4096 samples is only necessary if you have displays with more than 2048 pixels in width - so most people should be fine with the default (2048).

If you experience any issues or have any feedback, please let me know!

Thanks!

Last edited by wander (2014-02-13 17:12:16)

Offline

#9 2014-02-21 12:14:25

wander
Member
Registered: 2012-03-03
Posts: 32

Re: DeaDBeeF Waveform Seekbar Plugin

Update

With the upcoming DeaDBeeF 0.6.2 release it will be possible to replace the stock seekbar with this plugin. I took that oportunity to improve the visuals by adding a border (can be disabled) and made some code refactoring.

AUA5lPm.png

Looking forward to your feedback, suggestions and bug reports!

Thanks!

Offline

#10 2014-03-20 11:23:59

wander
Member
Registered: 2012-03-03
Posts: 32

Re: DeaDBeeF Waveform Seekbar Plugin

Version 0.3

https://aur.archlinux.org/packages/dead … -waveform/

New:

  • Soundcloud style

  • option to only shade played part of waveform

  • option to set cursor width

  • option to set font size

  • cache enabled by default

Improvements:

  • better visuals (especially when waveform width is small)

  • support old GTK+ versions

Fixed:

  • fixed wrong rms calculation when downmix to mono is active

Screenshots

coRH09y.png
(shade waveform)

cQQCYJw.png
(soundcloud style)

Offline

Board footer

Powered by FluxBB