Subject: about plugins


Author: Geobert (Ido), 2005-01-11 00:14:15
I was wondering something : will lamip support xmms-plugins at sometime in the future ?

Replies


Author: ciberfred, 2005-01-11 14:40:38
hum damn ! good question.
xmms plugins need libxmms.so to run, and it depend of gtk+-1.2.x (and some need xmms itself)
- Is users ready to keep so old gtk+1.2.x libs ? and keep libxmms.so in the system.
- Well since libxmms is comming with xmms itself, is it necessary having xmms while you use lamip ?

I manage lamip having the less dependency with other libraries than media-libs that are usefull for decoding format.

I think i will not support xmms-1 plugins, but well it's really easy moving xmms plugins to lamip since lamip plugin creation is simplier than xmms one (and are really near in coding point of view). Most of lamip plugins come from xmms ones (with more or less patch).
And remember that it's same problem for all players that want xmms-1 plugins support.

But well if someone want to do a such plugin, it's welcome.

In other point of view there is gst plugins... well just need to investigate. but it's not a priority for moment as the lamip's documentation say.

Author: Geobert (Ido), 2005-01-11 19:05:52
what is gst?
if libxmms is required, it sucks. maybe do the beep-media-player way : provide a porting tutorial.

Author: Geobert (Ido), 2005-01-11 23:48:17
Oh my god, I've just understand how a plugin is plugged into lamip... it is really cool. I was lokking for a lib to link against but nothing like that. So I don't need to make a real ada bind as there's no library to do bind onto! I just need to create the data in the ada way and export all the things in C to make an so loadable by lamip !

/me f*cking happy

Author: Geobert (Ido), 2005-01-12 23:27:15
There is something I don't understand with the plugins:

plug_control.h defines lamip_play ok, I sqaw some calls to it in the different existing gui but how the linker resolves it?

Author: ciberfred, 2005-01-13 16:23:07
by dynamic linking lamip is build with the -rdynamic flag of gcc, so with this libs could access to global functions and variables. To select what function could be shared there is another flag. i don't use it for moment.

Author: Geobert (Ido), 2005-01-13 23:46:00
hummm, so when I want to build a plugin, I link against the lamip binary executable file (in install_dir/bin) ?

Author: ciberfred, 2005-01-14 09:41:29
No you link to nothing, if you read in src/Makefile.am in plugins directory source code you will that you just need to put in LDFLAGS -module -avoid-version and some other linking that depend of the decoding library you use for the plugin.
You can't link against a binary file :), name resolution is just do at running time as the binary and the library(aka plugin) is running in the same area of memory and name resolution are.

Author: Geobert (Ido), 2005-01-14 18:48:01
wow, I didn't know this kind of behavior before Lamip! thanks!

Reply

Name : Email :