Visualisation plugin API for XBMC
#16
hi frodo.

i'll get the new source etc. tonight and have a look at how it all works. then i'll grab the tripex sources and get to know it.

no promises, though - i'm pretty busy atm, so if anyone else would like to look at it feel free. i'll pop back here every now and then and post on any progress or lack of it.

cheers,
jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#17
(frodo @ oct. 14 2003,18:21 Wrote:ok, the 1st visualisation works now
i ported the spectrum analyser from jmarshall

just press x when playing a song to switch between visualisation & gui

visualisation can b found in
xbmc/visualisations/
and must b copied -> xbox

source of visualisations can b found in
xbmc/xbmc/visualisations/source

frodo
just looking at your sources, i'm a little confused by the goom source in xbmc/vis/source/goom.rar - it only seems to contain the wrapper source to make it work with xbmc, i assume the libgoom.a is where all the work is done, but what generates this? is it just one of the normal goom releases which somehow work with the xdk or did you also modify that?
read the xbmc online-manual, faq and search the forums before posting! do not e-mail the xbmc-team asking for support!
read/follow the forum rules! note! team-xbmc never have and never will host or distribute ms-xdk binaries/executables!
Reply
#18
true
the goom visz is just a simple wrapper arround libgoom.a
libgoom.a contains the original & goom visz compiled in an archive. the original goom visz doesnt do d3d @ all so no need for it to import the xdk functions
frodo
XBMC Project Founder (Retired), now head programmer of MediaPortal
Reply
#19
(frodo @ oct. 22 2003,06:24 Wrote:true
the goom visz is just a simple wrapper arround libgoom.a
libgoom.a contains the original & goom visz compiled in an archive. the original goom visz doesnt do d3d @ all so no need for it to import the xdk functions
frodo
great, which version of goom did you use to generate this?  there are many different ones listed, itunesgoom, wmp goom etc.

will you be taking the same approach with the codecs, so that all codecs are loaded as plugins like this?  it's a great way of isolating the main application from the effects of many developers working on different codecs etc..

also, i did a bit of hunting for examples of using winamp plugins and found the following http://www.emulinks.de/xmms-winamp/ which shows how to use those plugins in xmms on linux, is there any chance the same technique could be used in xbmc?
read the xbmc online-manual, faq and search the forums before posting! do not e-mail the xbmc-team asking for support!
read/follow the forum rules! note! team-xbmc never have and never will host or distribute ms-xdk binaries/executables!
Reply
#20
(rjm2k @ oct. 22 2003,19:38 Wrote:also, i did a bit of hunting for examples of using winamp plugins and found the following http://www.emulinks.de/xmms-winamp/ which shows how to use those plugins in xmms on linux, is there any chance the same technique could be used in xbmc?
i wrote an email to the author of this software 2 monts ago, but he never replied. Sad
the main problem is that his code uses wine to work. so we would need to port the wine-windows dlls he is using too.
read the xbmc online-manual, faq and search the forums before posting! do not e-mail the xbmc-team asking for support!
read/follow the forum rules! note! team-xbmc never have and never will host or distribute ms-xdk binaries/executables!
Reply
#21
(hullebulle @ oct. 23 2003,01:20 Wrote:
(rjm2k @ oct. 22 2003,19:38 Wrote:also, i did a bit of hunting for examples of using winamp plugins and found the following http://www.emulinks.de/xmms-winamp/ which shows how to use those plugins in xmms on linux, is there any chance the same technique could be used in xbmc?
i wrote an email to the author of this software 2 monts ago, but he never replied. Sad
the main problem is that his code uses wine to work. so we would need to port the wine-windows dlls he is using too.
another couple of big problem coding this is that you would first have the port the whole xmms plugin system to xbox/xbmc too as libxmms that you can use with mplayer only support input plugins (that means codecs only, not vis), secondly you would probebly have to write a opengl wrapper as all xmms (and most winamp) vis are opengl only. now i think sdlx can process opengl in software (using the cpu, not gpu) but i believe that is very cpu intensive, so runnig all this at the same time would not leave much room to process the actual vis and play a music file at the same time, or (i'm not a dev so i don't know the exact details or technical bit behind it)?
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#22
(hullebulle @ oct. 23 2003,01:20 Wrote:
(rjm2k @ oct. 22 2003,19:38 Wrote:also, i did a bit of hunting for examples of using winamp plugins and found the following http://www.emulinks.de/xmms-winamp/ which shows how to use those plugins in xmms on linux, is there any chance the same technique could be used in xbmc?
i wrote an email to the author of this software 2 monts ago, but he never replied. Sad
the main problem is that his code uses wine to work. so we would need to port the wine-windows dlls he is using too.
but it only uses wine to provide the windows api because linux doesn't have it. could it be possible that the xdk is similar enough to the windows api, that the dll can be remapped to use the xdk, much like caustix does?

as for opengl, i guess that would be a bit of a stumblind block, unless an thin mapping layer could be used to convert gl calls to directx. never mind.

back on the plugin approach though, are the codec libraries all going to work like this?
read the xbmc online-manual, faq and search the forums before posting! do not e-mail the xbmc-team asking for support!
read/follow the forum rules! note! team-xbmc never have and never will host or distribute ms-xdk binaries/executables!
Reply
#23
the xdk does not contain anything for rendering into windows or all the hwnd stuff etc. the quickest way to get winamp plugins to work in xbmc is to recode it. this is not difficult assuming the graphics are either all drawn direct to a bitmap, or done using direct3d. basically all that needs to be done is to strip out all the windows stuff + all the interactive stuff (if it's has any) and redo the interfacing (just a matter of changing some function names or writing some small wrapper code).

ofcourse, the more complex the visz is, the longer + more complex it is to port (tripex for example).

all the simple winamp plugins that draw into a bitmap + don't have any interaction should be real quick to port, assuming one has source code and permission.

as for codecs: all codecs currently are handled through loading a core (mplayer) as a dll. that is why the current codecs supported are those that mplayer supports. when mplayer uses external win32 codecs, we load them via mplayer using a similar interface (loaddll). this is not 100% working yet, though with monkeyhappy's work it's getting more complete (rm is working in xbmp now). where we are heading is that anything that will play using mplayer on linux, will also play using xbmc. some devs are also looking at porting some other cores (xine for instance) as dlls so that we can get more formats (such as dvd navigation) supported.

hope this helps.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#24
(frodo @ oct. 13 2003,09:03 Wrote:
Quote:have you implemented the fft code + delay stuff?
about the dll, yes its tricky.
compiling a .dll is easy, but we dont want any dependencies on windows. so i'm writing my own import libraries now which you can use. when its working i'll put it in cvs together with an complete working example plugin project

frodo
dll's on the xbox??
i'm now very confused.

request dumb guy guide to building dll's on the xbox

Smile

jippie
Reply
#25
wow you giys are doing a lot of work but to omeone like me i have no idea what you are doing....
are you guys trying tomake winamp visulizations work on th xbox? that would be great and look foreward to hearing about it more. if thts not what you are doing then what are you doing? i found this post when looking for more visulizations for xbmc.

sorry for being so confused
Reply
#26
(davehshapiro @ jan. 02 2004,22:20 Wrote:wow you giys are doing a lot of work but to omeone like me i have no idea what you are doing....
are you guys trying tomake winamp visulizations work on th xbox? that would be great and look foreward to hearing about it more. if thts not what you are doing then what are you doing? i found this post when looking for more visulizations for xbmc.

sorry for being so confused
no its not about winamp plugins. its our own viz plugin system.
read the xbmc online-manual, faq and search the forums before posting! do not e-mail the xbmc-team asking for support!
read/follow the forum rules! note! team-xbmc never have and never will host or distribute ms-xdk binaries/executables!
Reply
#27
hi,

how's is it going, is there now an example that i can have a look at?

jippie
Reply
#28
(jippie @ jan. 20 2004,12:44 Wrote:is there now an example that i can have a look at?
yes, there are two so far, goom & spectrum analyzer, you can get the source code from the xbmc cvs tree.
edit: btw, don't forget about the xbmc visualization competition (from 13/01-2004 to 14/03-2004) Image
happy coding Image



Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#29
(frodo @ oct. 12 2003,18:07 Wrote:1. visz. plugins are normal .dlls but with the extension .vis
i've only got vs .net 2002 here at the moment, so i can only go by what i can read out of the .sln files, but those .dlls are normal windows dlls (i.e. not an xbox static library), correct?
Reply
#30
@Frodo, jmarshall and all experienced devs, can you please put together some info on where to get started with coding a visualization?, and it would also be great if you explained the process/requirements in making a .vis plugin (dll) for xbmc visualisation interface, ...a how-to guide?
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply

Logout Mark Read Team Forum Stats Members Help
Visualisation plugin API for XBMC0