Source Code
LinuxMCE is a pretty big project. Not counting GSD devices, LinuxMCE's own code is already well over a million lines in hundreds of modules, with over 1,000 pages of online documentation, and in addition LinuxMCE also incorporates lots of other big open source projects like Asterisk, Xine, MythTV, Firefox, VideoLan, SlimServer, Kubuntu Linux itself, etc., all of which have special LinuxMCE 'wrappers' to allow them to work together seamlessly as a total home solution. For the brave of heart, you can also download modules by hand, and see all the dependencies and compatibility for each module.
Current Source
You can browse the LinuxMCE source at the Charon Media Trac website. Or you can download it from SVN:
# Download snapshot (391MiB) wget http://www.charonmedia.org/lmce-1465.tbz # Test checksum to ensure it was downloaded intact. md5sum lmce-1465.tbz # should be b3d4b3f6b33ff5e6c4641390f2314095 # Update snapshot (uncompressed: 1823MiB either snapshot or updated). tar xfj lmce-1465.tbz cd lmce svn update # Build from source (optional). ./configure make
The old version of the source code description (of the old SVN) could be a good starting point for identifying what each of the code in the current SVN does, but it's no guarantee. An updated version of that description would be very useful.
Obsolete Source
This section refers to the obsolete sourcecode stored at SourceForge. The current (recent 0704 and all 0710) source is stored at Charon Media, as mentioned in [#Current_Source]. The descriptions of the obsolete code might also be wrong descriptions of the current structure and content of the source code, but it could be a clue where none others exist, because that's where the current source code evolved from. (- Matthew 08:51, 10 January 2008 (MST))
You can browse the web based repository viewer. Or you can do an anonymous svn checkout as follows:
svn co http://linuxmce.svn.sourceforge.net/svnroot/linuxmce/trunk/modulename
You can checkout all the software with if you use http://linuxmce.svn.sourceforge.net/viewvc/linuxmce/trunk/ as the repository location for the module name, or go to the repository viewer to find the name of the SVN directory for the module you are interested in.
Here are short instructions if you want compile your module with svn sources : Building from source.
I've made a start at some pointers to finding your way around the code. [Note, I'm a noob here, so I may have got this wrong, so feel free to add/change. Also, it's by no means complete yet!]
trunk/config-pkgs/ contains ...
- intel8x0/ -
trunk/installers/ contains ...
- CD_Installer/ -
- Installers/ -
- PhoneInstall/ -
- WindowsInstaller/ -
trunk/libs/ contains ...
- CrossPlatform/ -
- Libraries/ -
trunk/src/ contains ...
- ANSI-to-HTML/ -
- AVWizard/ -
- Add_Software/ -
- App_Server/ -
- AptUtils/ -
- Asterisk/ -
- BD/ -
- Basic_XML_Data_Source_Plugin/ -
- Bluetooth_Dongle/ -
- BootScripts/ -
- CDDB_Identifier/ -
- CM11A/ -
- CheckDependencyScript/ -
- CliUtils/ -
- Climate_Plugin/ -
- ColorSplitter/ -
- ConfirmDependencies/ -
- ConfirmDependencies_Script/ -
- ConfirmDependencies_Script_Offline/ -
- CreateDevice/ -
- Crystal_Fontz_USBRS232/ -
- DCE/ -
- DCEGen/ -
- DCERouter/ -
- Datagrid_Plugin/ -
- Dhcpd-Plugin/ -
- DiskMonitor/ -
- Disk_Drive/ -
- Disk_Drive_Functions/ -
- Diskless-Add-Ons/ -
- DynamicDNS/ -
- EIB/ -
- Event_Plugin/ -
- FakeEPG/ -
- File_Grids_Plugin/ -
- Firewire2Video4Linux/ -
- FirewireVideo/ -
- GalleryViewer/ -
- Gen_Devices/ -
- General_Info_Plugin/ -
- Generic_Serial_Device/ -
- GyrationMouse/ -
- HAL/ -
- HAL_DeviceFinder/ -
- HDHomeRun/ -
- Hooks_rcS/ -
- IR/ -
- IRBase/ -
- IRTrans/ -
- Infrared_Plugin/ -
- JobHandler/ -
- LIRC_DCE/ -
- Lighting_Plugin/ -
- Linphone/ -
- MaemoOrbiterLauncher/ -
- MakeRelease/ -
- MakeRelease_PrepFiles/ -
- Media_Live_LCDButtons/ -
- Media_Plugin/ -
- MessageSend/ -
- MessageTranslation/ -
- Motion_Wrapper/ -
- MythTV_Backend_Proxy/ -
- MythTV_Player/ -
- MythTV_PlugIn/ -
- Network_Storage/ -
- NewMD_interactor/ -
- Orbiter/ -
- OrbiterGen/ -
- Orbiter_Plugin/ -
- OutlookSync/ -
- Photo_Screen_Saver/ -
- Plug_And_Play_Plugin/ -
- PlutoDHCP/ -
- PlutoMO/ -
- PlutoRaidTools/ -
- PlutoStorageDevices/ -
- PlutoUpdateSystem/ -
- PlutoUpgradeHelper/ -
- PlutoUtils/ -
- PlutoVIP/ -
- Powerfile_C200/ -
- Proxy_Orbiter/ -
- Qos/ -
- RA/ -
- RemoteAssistance/ -
- SDL_Helpers/ -
- SMPTE_Fountain/ -
- STEngine/ -
- SVNLog/ -
- SambaScan/ -
- ScreenGen/ -
- Security_Plugin/ -
- Serial/ -
- SerializeClass/ -
- Setup_CaptureCards/ -
- Setup_SoundCards/ -
- SimplePhone/ -
- SlimServer_PlugIn/ -
- Slim_Server_Streamer/ -
- SoundScripts/ -
- Speech/ -
- Splitter/ -
- Telecom_Plugin/ -
- TestSerialPort/ -
- Test_Treo/ -
- Text_To_Speech/ -
- Tira/ -
- Tribune/ -
- Tribunexml/ -
- UPnP/ -
- USB_PNP/ -
- USB_UIRT_0038/ -
- UbuntuDiskless/ -
- Ubuntu_Helpers/ -
- UpdateEntArea/ -
- UpdateMedia/ -
- VDR/ -
- VDRPlugin/ -
- VFD_LCD/ -
- VIPDesign/ -
- VIPEstablishment/ -
- VIPServer/ -
- VIPShared/ -
- VideoLan_Client/ -
- VideoLan_PlugIn/ -
- VideoLan_Server/ -
- VoiceMailMonitor/ -
- WinBluetooth/ -
- Windows_Share_Scanner/ -
- X-KbLayout/ -
- X-Resolution/ -
- XML_Data_Handler_Plugin/ -
- XinePlayerTest/ -
- Xine_Player/ -
- Xine_Plugin/ -
- bin/ -
- convert_color/ -
- convert_mac/ -
- convert_time/ -
- database/ -
- database_audi/ -
- database_marbella/ -
- designer/ -
- docs/ -
- drivers/ -
- fakepkgs/ -
- gc100/ -
- inotify/ -
- kernel-upgrade/ -
- lib/ -
- mce-installer/ -
- mce-launcher/ -
- pluto-ati-drivers/ -
- pluto-nvidia-drivers/ -
- pluto_gcs-2.6_module/ -
- pluto_main/ -
- pluto_media/ -
- pluto_media_updater/ -
- pluto_security/ -
- pluto_speech/ -
- pluto_telecom/ -
- pnp_detection_scripts/ -
- shift_state/ -
- skins/ -
- so_postinst/ -
- sql2cpp/ -
- sqlCVS/ -
- ussp-push/ -
- utilities/ -
- BuildWinBinaries.bat -
- Construct -
- MakeRelease_All.bat -
- MakeRelease_Symbian_S60.bat -
- MakeRelease_Windows.bat -
- MakeRelease_WindowsCE.bat -
- Makefile -
- Makefile_all -
- SwitchToLinuxMCE.bat -
- SwitchToPluto.bat -
- build.xml -
- pluto.sln -
trunk/ubuntu contains ...
- asterisk/ -
- libsdl1.2-1.2.10/ -
- libsdl1.2-1.2.7+1.2.8cvs20041007/ -
- lirc-pluto-0.1/ -
- lshwd-2.0-rc4/ -
- mtx-1.3.10/ -
- tee-pluto/ -
- xine-lib-1.1.3/ -
trunk/web contains the two web-based configuration programs:
- Amp - The Asterisk (IP Phone exchange) management program
- pluto-admin - LinuxMCE Web Admin