Coding
XBMC is a open source project licensed under LGPL/GPL.
Third-party developers can make and submit source code patches/modules with new features, functions or bug-fixes to us via our SourceForge.net project site.
XBMC's source code is made up of a mix of programming-languages
- C/C++
- Assembly
- DirectX
- SDL (Linux Port)
Software Required to Compile
- Microsoft Visual Studio .NET 7.1 (2003)
- Microsoft Xbox SDK (a.k.a. XDK)
- Microsoft DirectX Summer 2004 SDK (Only Required if you want XBMC_PC)
A SVN client is required to download all the source code, it is recommended you use TortoiseSVN (Windows Client that integrates into Explorer).
Getting Source
For getting the path see SVN Trunk page
Source Paths
- trunk/XBMC/guilib/ contains everything around graphics and Screen
- trunk/XBMC/xbmc/ contains the windows, utils, and all the rest of the code
- trunk/XBMC/xbmc/lib contains the libraries that are used in XBMC
- trunk/XBMC/mplayer contains all the code for mplayer
- trunk/XBMC/docs contains code for precompiled libraries, screensavers, visualizations.
- trunk/XBMC/xbmc.sln is the VS 2003 solution for compiling XBMC for XBOX
- trunk/XBMC/Tools/Win32/xbmc.sln is the VS 2003 solution for compiling XBMC_PC (XBMC for Windows)
Send a patch to XBMC
Once you have coded something you wish to get put into XBMC, please rar/zip up the files you have changed, or provide a diff (easier providing the changed files thou)
- Go to the Patch Tracker on Sourceforge and click
- Submit New.
- Choose the Category that matches what your patch does.
- Choose SVN as the Group (as that’s where you wish the patch to go to)
- Enter in Summary and Detailed Description
- Upload and Attach the diff or the zip/rar of your source code
If the patch file is to large to submit please contact XBMC about it, most changes should be quite small anyway.
Coders who provide high quality patches to the project 'may' get offered the chance to become official developers on the project.
Compiling
To compile mplayer please read the HOW-TO: Compile_Mplayer.dll guide on the wiki
To compile XBMC please read the How to Download and Compile your own XBMC
About the code
XBMC's code contain four multimedia-player cores which has to be compiled separately, (and work seamlessly to the end-user), none of these cores require the XDK to be compiled, (they are instead compiled with MinGW/MSYS). One generic audio/video-player core based on MPlayer, one (FFmpeg-based) dedicated DVD-Video player core (for DVD-movies with menus), one dedicated music-player core, and one Tracker-Mod (audio-modules) player.
|