Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 883599 - media-sound/xmms2 - please install command xmms2-libvisual, new USE flag "libvisual"
Summary: media-sound/xmms2 - please install command xmms2-libvisual, new USE flag "lib...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Ionen Wolkens
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-11-29 15:56 UTC by Sebastian Pipping
Modified: 2022-11-29 23:13 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sebastian Pipping gentoo-dev 2022-11-29 15:56:07 UTC
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
Comment 1 Ionen Wolkens gentoo-dev 2022-11-29 16:00:57 UTC
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.
Comment 2 Ionen Wolkens gentoo-dev 2022-11-29 16:01:51 UTC
(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)
Comment 3 Sebastian Pipping gentoo-dev 2022-11-29 19:31:41 UTC
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.
Comment 4 Ionen Wolkens gentoo-dev 2022-11-29 19:43:15 UTC
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.
Comment 5 Sebastian Pipping gentoo-dev 2022-11-29 20:08:21 UTC
(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.
Comment 6 Ionen Wolkens gentoo-dev 2022-11-29 20:29:26 UTC
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
Comment 7 Larry the Git Cow gentoo-dev 2022-11-29 21:19:34 UTC
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(-)
Comment 8 Sebastian Pipping gentoo-dev 2022-11-29 22:18:53 UTC
(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.
Comment 9 Ionen Wolkens gentoo-dev 2022-11-29 22:36:12 UTC
> > (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.
Comment 10 Sebastian Pipping gentoo-dev 2022-11-29 23:13:32 UTC
(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!