A more dynamic approach to XBMC windows and players...
#1
I am aware of my newbie status on this forum, but my development experience speaks volumes for my technical knowledge and experience. I have spent the last 10 years designing, building, and maintaining one of the most versatile messaging platforms available on the market today. This messaging platform was originally designed for use by the real-time online transaction processing industry but because of its modular design and focus on code reuse it has found its place in several other industries as well. I think that XBMC could be simplified by implementing such an architecture.

I would like to help this project by adding a modular plug-in architecture to XBMC; initially focusing on the window and player frameworks. Doing so would provide the ability to divide specific tasks to the developers who care about them most without having to break functionality in the trunk and reduce the amount of duplicated code in XBMC.

In order to avoid impacting the already variable status of the trunk, I'd like to start by spinning off the project in the short term in hopes that one day team-xbmc will see benefit in the change in architecture and possibly adopt some of the concepts.

I am aware that the GPL allows me to do so without first asking permission but out of respect to the developers of this thriving project, I thought I would bring it up here first.

Feel free to comment, ask questions, or burn me for bringing up the topic. I know I haven't given any technical detail whatsoever so I expect questions which I am more than happy to address.

Thanks for all of your hard work!
Reply
#2
I suggest you should start by explaining what this framework is and how it will be of benefit. Then we can see whether or not it's any more use than the current plugin architecture we are hooking up.

The technical details are what is required. We cannot possibly say whether it's a good or bad idea without 'em Wink

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
#3
The framework that I am proposing allows automatic registration of statically linked "plug-ins". This is accomplished by defining macros which generate classes that are globally instantiated to register factory object that can be used to dynamically create the actual plug-ins. There should be a second set of macros defined that should be made available to DLLs/SOs through the use of an SDK to allow dynamic expansion of the existing functionality.
Reply
#4
Don't be afraid of detail - that doesn't really give us much to go on, right? I don't see what use a bunch of macros is in this regard other than reducing the tedium of setting up factories on a common interface - the important detail is in the communication interface itself. After all, it's communication between players, windows, and the app in general that keeps everything bundled as one currently.

Is some project site or documentation for this "modular plug-in architecture" of yours?

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
#5
The application is called Dynamic but it is closed source. I have begun working on an open source version of it in my spare time which follows the same principles. I can provide a link to the source which exemplifies the architecture I am referring to if you think it would help, but only through PM because it is not yet ready for public consumption.
Reply
#6
Ah, well in that case it's probably best to wait until it is available for public consumption to save any headaches - feel free to drop us a line once you have something ready to share Smile

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
#7
I'll make modifications to my copy of the XBMC source to show what I am talking about and make it available. Thanks for the encouragement.
Reply

Logout Mark Read Team Forum Stats Members Help
A more dynamic approach to XBMC windows and players...0