Hi! When configuring waf with argument --with-vis-reference-clients, waf will compile code in folder ./src/clients/vistest including command xmms2-libvisual. It would be great to have that command available to be able to use visualization with xmms2, maybe optional as in "libvisual? ( media-libs/libvisual )". What do you think? Thanks and best, Sebastian
Does it work at runtime? Last time I tried it this was pretty broken and didn't consider it anymore, been a while since I had a real look though.
(In reply to Ionen Wolkens from comment #1) > Does it work at runtime? > > Last time I tried it this was pretty broken and didn't consider it anymore, > been a while since I had a real look though. (it's essentially a test client, so support always been a bit iffy for it)
I've been playing with it locally. I'm not sure it would win a price in UX but it does work in some sense. In case all you see is a black rectangle, here is how to make the server send vis data to the client: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=544314#10 . After that, the server needs a restart to apply the config apparently, e.g. "xmms2 server shutdown; xmms2-launcher". Then libvisual does actual rendering.
Yeah I used to use it before (like 15 years ago I forget), albeit libvisual-plugins seems broken because of the -fno-common patch I think? Seems to make it extern but then it's not defined anywhere. libvisual CRITICAL: xmms2-libvisual: visual_plugin_get_references(): Cannot load plugin: /usr/lib64/libvisual-0.4/actor/actor_oinksie.so: undefined symbol: _oink_table_sin Also ran into bug #840514 but it was fine with the PR patch.
(In reply to Ionen Wolkens from comment #4) > Yeah I used to use it before (like 15 years ago I forget), albeit > libvisual-plugins seems broken because of the -fno-common patch I think? > Seems to make it extern but then it's not defined anywhere. I remember one patch involving extern, there could be more. This one? https://github.com/Libvisual/libvisual/commit/9a0b3aa328caa857a632c8ec0562c936f8b56e18 I'm happy to have a closer look. Could you elaborate? > libvisual CRITICAL: xmms2-libvisual: visual_plugin_get_references(): Cannot > load plugin: /usr/lib64/libvisual-0.4/actor/actor_oinksie.so: undefined > symbol: _oink_table_sin That's fixed by https://github.com/Libvisual/libvisual/pull/112 . I'm actively working on 0.4.1 with this fix included upstream, see https://github.com/Libvisual/libvisual/issues/108 . > Also ran into bug #840514 but it was fine with the PR patch. Will be fixed with 0.4.1 as well.
Ah I now remember what issue I was having last time I tried, but didn't really look more into: 14:53:27 INFO in core: ../src/xmms/xform.c:1522: Effect 'visualization' doesn't support format, skipping Seems it doesn't like my opus files much, but works fine with ogg. Anyhow it's somewhat usable so I'll add it soon'ish. I'll stick to routing audio using jack (or pulse) to whatever visualizer I want like media-sound/cava myself though :) (In reply to Sebastian Pipping from comment #5) > I remember one patch involving extern, there could be more. This one? > https://github.com/Libvisual/libvisual/commit/ > 9a0b3aa328caa857a632c8ec0562c936f8b56e18 Sounds like this is probably fixed "there" then, it's our in-tree files/libvisual-plugins-0.4.0-fno-common.patch that misses the additions in table.c and only sets extern in table.h
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=863dfdcf8ebb841675f74e067562a725352864e9 commit 863dfdcf8ebb841675f74e067562a725352864e9 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2022-11-29 18:33:17 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2022-11-29 21:19:05 +0000 media-sound/xmms2: add IUSE=libvisual to install xmms2-libvisual Closes: https://bugs.gentoo.org/883599 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> media-sound/xmms2/metadata.xml | 1 + media-sound/xmms2/xmms2-0.9.1-r2.ebuild | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-)
(In reply to Ionen Wolkens from comment #6) > Anyhow it's somewhat usable so I'll add it soon'ish. Cool, thank you! > I'll stick to routing > audio using jack (or pulse) to whatever visualizer I want like > media-sound/cava myself though :) Cava is nice, seen it in action a few times, quite a creative approach. > (In reply to Sebastian Pipping from comment #5) > > I remember one patch involving extern, there could be more. This one? > > https://github.com/Libvisual/libvisual/commit/ > > 9a0b3aa328caa857a632c8ec0562c936f8b56e18 > Sounds like this is probably fixed "there" then, it's our in-tree > files/libvisual-plugins-0.4.0-fno-common.patch that misses the additions in > table.c and only sets extern in table.h I just checked again: libvisual-plugins-0.4.0-fno-common.patch use effectively two of the commits in here: https://github.com/Libvisual/libvisual/pull/116 One casts to long double, the other to float. I'd be happy either way. Let me know in case you have a preference, I can adjust it.
> > (In reply to Sebastian Pipping from comment #5) > > > I remember one patch involving extern, there could be more. This one? > > > https://github.com/Libvisual/libvisual/commit/ > > > 9a0b3aa328caa857a632c8ec0562c936f8b56e18 > > Sounds like this is probably fixed "there" then, it's our in-tree > > files/libvisual-plugins-0.4.0-fno-common.patch that misses the additions in > > table.c and only sets extern in table.h > > I just checked again: libvisual-plugins-0.4.0-fno-common.patch use > effectively two of the commits in here: > https://github.com/Libvisual/libvisual/pull/116 > One casts to long double, the other to float. I'd be happy either way. Let > me know in case you have a preference, I can adjust it. I think you're looking at clang.patch rather than the incomplete fno-common.patch which doesn't have any long double :) Issue is that it sets externs in table.h without defining it in table.c (unlike the upstream commit), so get an undefined reference.
(In reply to Ionen Wolkens from comment #9) > I think you're looking at clang.patch rather than the incomplete > fno-common.patch which doesn't have any long double :) > > Issue is that it sets externs in table.h without defining it in table.c > (unlike the upstream commit), so get an undefined reference. 2x good point!