Source Code

From LinuxMCE
Revision as of 03:44, 6 June 2008 by Perspectoff (Talk | contribs) (Undo revision 13183 by Perspectoff (Talk))

Jump to: navigation, search

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.

SVN repository (always up-to-date)

Current source is available here:

http://svn.linuxmce.org/pluto/branches/charon-merge/

you can browse it using web browser or use Subversion tool to check out code and fetch further updates:

svn checkout http://svn.linuxmce.org/pluto/branches/charon-merge/ linuxmce

Make sure you do the checkout on a LinuxMCE machine, and running as user linuxmce. DO NOT RUN AS root.

FOSS 0710 contains information about auto-built debs and binaries


Charon Media snapshot of sources (older)

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) to 3692MiB, total source+build = 5515MiB.
./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