Package Details: deadbeef-plugin-waveform-gtk2-git 0.5.r91.g4afd845-2

Git Clone URL: https://aur.archlinux.org/deadbeef-plugin-waveform-git.git (read-only, click to copy)
Package Base: deadbeef-plugin-waveform-git
Description: Waveform Seekbar plugin for DeaDBeeF audio player GTK2
Upstream URL: https://github.com/cboxdoerfer/ddb_waveform_seekbar
Licenses: GPL-2.0-or-later
Conflicts: deadbeef-plugin-waveform-gtk2
Provides: deadbeef-plugin-waveform-gtk2
Submitter: maz-1
Maintainer: FabioLolix
Last Packager: FabioLolix
Votes: 18
Popularity: 0.002818
First Submitted: 2015-11-08 13:40 (UTC)
Last Updated: 2024-11-04 23:10 (UTC)

Latest Comments

1 2 3 Next › Last »

sushi2503 commented on 2024-11-07 17:01 (UTC) (edited on 2024-11-07 17:04 (UTC) by sushi2503)

Since a long time and now again with the last update, Deadbeef fills the xsession-errors with this constantly:

(deadbeef:16572): Gtk-CRITICAL **: 09:17:48.609: gtk_widget_queue_draw_area: assertion 'width >= 0' failed

To avoid them I just replace the update with my old ddb_misc_waveform_GTK3.so

https://github.com/DeaDBeeF-Player/deadbeef/issues/2678

dreieck commented on 2024-11-04 11:18 (UTC) (edited on 2024-11-04 11:18 (UTC) by dreieck)

There is a repository which fixes the build issues: github.com/Jbsco/ddb_waveform_seekbar.

I have made a PKGBUILD that uses that repository, and still gives a release version number (grepping it from waveform.c): ↗ Here:

# Maintainer:  Raphaël Doursenaud <rdoursenaud@free.fr>
# Contributor: dreieck (https://aur.archlinux.org/account/dreieck)
# Contributor: Raphaël Doursenaud <rdoursenaud@free.fr>

_gitname=ddb_waveform_seekbar
# _gituser=cboxdoerfer
_gituser=Jbsco
_githost=github.com

_pkgbase="deadbeef-plugin-waveform"
pkgbase="${_pkgbase}-git"
pkgname=(
  "${_pkgbase}-doc-git"
  "${_pkgbase}-gtk2-git"
  "${_pkgbase}-gtk3-git"
)
epoch=0
pkgver=0.5.r204.20240912.2e5ea86
pkgrel=1
_pkgdesc="Waveform Seekbar plugin for DeaDBeeF audio player, latest git checkout."
pkgdesc="${_pkgdesc}"
url="https://github.com/Jbsco/ddb_waveform_seekbar"
arch=(
  'i686'
  'x86_64'
)
license=(
  'GPL-2.0-or-later'
)
_common_depends=(
  'cairo'
  'deadbeef'
  'glib2'
  'glibc'
  'sqlite'
)
_gtk2_depends=(
  'gtk2'
)
_gtk3_depends=(
  'gtk3'
)
makedepends=(
  'git'
  "${_common_depends}"
  "${_gtk2_depends}"
  "${_gtk3_depends}"
)

_gitroot="${url}.git"
source=("${_pkgbase}::git+${_gitroot}")
sha256sums=('SKIP')

prepare() {
  cd "${srcdir}/${_pkgbase}"

  git log > git.log
}

pkgver() {
  cd "${srcdir}/${_pkgbase}"

  _ver_major="$(grep -E '^[[:space:]]*\.plugin\.version_major[[:space:]]*=' waveform.c | sed -E 's|^[[:space:]]*\.plugin\.version_major[[:space:]]*=[[:space:]]*([-\.0-9a-zA-Z_]*).*$|\1|')"
  _ver_minor="$(grep -E '^[[:space:]]*\.plugin\.version_minor[[:space:]]*=' waveform.c | sed -E 's|^[[:space:]]*\.plugin\.version_minor[[:space:]]*=[[:space:]]*([-\.0-9a-zA-Z_]*).*$|\1|')"
  _ver="${_ver_major}.${_ver_minor}"
  # _ver="$(git describe --tags | sed -E -e 's|^[vV]||' -e 's|\-g[0-9a-f]*$||' | tr '-' '+')"
  _rev="$(git rev-list --count HEAD)"
  _date="$(git log -1 --date=format:"%Y%m%d" --format="%ad")"
  _hash="$(git rev-parse --short HEAD)"

  if [ -z "${_rev}" ]; then
    error "Git commit count could not be determined."
    return 1
  fi
  if [ -z "${_ver}" ]; then
    error "Version could not be determined."
    return 1
  else
    printf '%s' "${_ver}.r${_rev}.${_date}.${_hash}"
  fi
}

build() {
  cd "${srcdir}/${_pkgbase}"
  make
}

package_deadbeef-plugin-waveform-doc-git() {
  arch=("any")
  pkgdesc="${_pkgdesc} Common documentation files."
  depends=()
  provides=("${_pkgbase}-doc")
  conflicts=("${_pkgbase}-doc=${pkgver}")
  optdepends=(
    "${_pkgbase}-gtk2: The software (GTK2-variant) this documentation is for."
    "${_pkgbase}-gtk3: The software (GTK3-variant) this documentation is for."
  )

  cd "${srcdir}/${_pkgbase}"
  install -Dvm644 -t "${pkgdir}/usr/share/doc/${_pkgbase}"  git.log README.md
}

package_deadbeef-plugin-waveform-gtk2-git() {
  pkgdesc="${_pkgdesc} GTK2 variant."
  depends=(
    "${_common_depends[@]}"
    "${_gtk2_depends[@]}"
  )
  optdepends=("${_pkgbase}-doc: For (minimal) documentation files.")
  provides=("${_pkgbase}-gtk2=${pkgver}")
  conflicts=("${_pkgbase}-gtk2")

  cd "${srcdir}/${_pkgbase}"
  install -Dvm644 -t "${pkgdir}/usr/lib/deadbeef"  "gtk2/ddb_misc_waveform_GTK2.so"
}

package_deadbeef-plugin-waveform-gtk3-git() {
  pkgdesc=${_pkgdesc}" GTK3 variant."
  depends=(
    "${_common_depends[@]}"
    "${_gtk3_depends[@]}"
  )
  optdepends=("${_pkgbase}-doc: For (minimal) documentation files.")
  provides=("${_pkgbase}-gtk3=${pkgver}")
  conflicts=("${_pkgbase}-gtk3")


  cd "${srcdir}/${_pkgbase}"
  install -Dvm644 -t "${pkgdir}/usr/lib/deadbeef"  "gtk3/ddb_misc_waveform_GTK3.so"
}

Regards!

MRDeu commented on 2024-10-04 10:51 (UTC) (edited on 2024-10-04 10:52 (UTC) by MRDeu)

Change this.

build() {
  cd $_gitname
  CFLAGS+=' -DDDB_API_LEVEL=15 -Wno-error=incompatible-pointer-types'
  export CFLAGS
  make
}

wcasanova commented on 2024-09-21 14:13 (UTC)

also CFLAGS="-Wno-error=incompatible-pointer-types"

Drommer commented on 2024-03-23 19:50 (UTC)

simonweiss As I recall, I had the same error. I solved it by modifying the build() block:

build() {
  cd $_gitname
  CFLAGS+=' -DDDB_API_LEVEL=15'
  export CFLAGS
  make
}

simonweiss commented on 2024-01-28 05:45 (UTC)

Fails to build on fresh Manjaro with the following:

waveform.c: In function ‘waveform_generate_wavedata’:
waveform.c:690:18: error: ‘ddb_waveformat_t’ has no member named ‘is_bigendian’
  690 |                 .is_bigendian = 0
      |                  ^~~~~~~~~~~~
waveform.c: At top level:
waveform.c:1405:18: warning: initialization of ‘int (*)(struct DB_plugin_action_s *, ddb_action_context_t)’ {aka ‘int (*)(struct DB_plugin_action_s *, enum ddb_action_context_e)’} from incompatible pointer type ‘int (*)(DB_plugin_action_t *, int)’ {aka ‘int (*)(struct DB_plugin_action_s *, int)’} [-Wincompatible-pointer-types]
 1405 |     .callback2 = waveform_action_lookup,
      |                  ^~~~~~~~~~~~~~~~~~~~~~
waveform.c:1405:18: note: (near initialization for ‘lookup_action.callback2’)
make: *** [Makefile:95: gtk2/waveform.o] Error 1
make: *** Waiting for unfinished jobs....
==> ERROR: A failure occurred in build().
    Aborting...
error: failed to build 'deadbeef-plugin-waveform-git-0.5.r89.g6c901d5-1 (deadbeef-plugin-waveform-gtk3-git)': 
error: packages failed to build: deadbeef-plugin-waveform-git-0.5.r89.g6c901d5-1 (deadbeef-plugin-waveform-gtk3-git)

FabioLolix commented on 2023-10-26 07:18 (UTC)

@fractalf your problem is with deadbeef not deadbeef-plugin-waveform-git, for which I don't have a working patch

fractalf commented on 2023-10-25 23:44 (UTC)

Install fails on a clean EndeavourOS today:

libbinio/binio.cpp:498:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  register long bits;
  ^~~~~~~~~
3 warnings and 1 error generated.
make[2]: *** [Makefile:955: libbinio/adplug_la-binio.lo] Error 1
make[2]: Leaving directory '/home/alf/.cache/yay/deadbeef/src/deadbeef-1.9.5/plugins/adplug'
make[1]: *** [Makefile:1059: all-recursive] Error 1
make[1]: Leaving directory '/home/alf/.cache/yay/deadbeef/src/deadbeef-1.9.5'
make: *** [Makefile:634: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
 -> Failed to install layer, rolling up to next layer.error:error making: deadbeef - exit status 4

..any idea?

dreieck commented on 2023-10-14 08:32 (UTC) (edited on 2023-10-14 08:36 (UTC) by dreieck)

You need to add

CFLAGS+=' -DDDB_API_LEVEL=15'
export CFLAGS

to build() to solve the issue reported on 2023-09-22, according to ↗ this comment in the upstream bugtracker.

I can confirm that it fixes build error, so here is a diff to the current PKGBUILD:

--- PKGBUILD.org    2023-10-14 10:35:17.846887887 +0200
+++ PKGBUILD    2023-10-14 10:33:14.543546080 +0200
@@ -25,2 +25,6 @@
   cd "${_gitname}"
+
+  CFLAGS+=' -DDDB_API_LEVEL=15'
+  export CFLAGS
+
   make

Regards and thanks for maintaining!

dreieck commented on 2023-09-22 20:05 (UTC)

Build fails for me with
waveform.c:690:18: error: ‘ddb_waveformat_t’ has no member named ‘is_bigendian’:

waveform.c: In function ‘waveform_generate_wavedata’:
waveform.c:690:18: error: ‘ddb_waveformat_t’ has no member named ‘is_bigendian’
  690 |                 .is_bigendian = 0
      |                  ^~~~~~~~~~~~
waveform.c: At top level:
waveform.c:1405:18: warning: initialization of ‘int (*)(struct DB_plugin_action_s *, ddb_action_context_t)’ {aka ‘int (*)(struct DB_plugin_action_s *, enum ddb_action_context_e)’} from incompatible pointer type ‘int (*)(DB_plugin_action_t *, int)’ {aka ‘int (*)(struct DB_plugin_action_s *, int)’} [-Wincompatible-pointer-types]
 1405 |     .callback2 = waveform_action_lookup,
      |                  ^~~~~~~~~~~~~~~~~~~~~~
waveform.c:1405:18: note: (near initialization for ‘lookup_action.callback2’)
make: *** [Makefile:96: gtk2/waveform.o] Error 1

↗ Upstream issue report.