Difference between revisions of "Source Code"

From LinuxMCE
Jump to: navigation, search
m (Obsolete Source)
(added information about official SVN repository)
Line 1: Line 1:
 
'''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]], [http://www.videolan.org/ VideoLan], [http://www.slimdevices.com/pi_features.html SlimServer], [http://www.kubuntu.org/ 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.
 
'''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]], [http://www.videolan.org/ VideoLan], [http://www.slimdevices.com/pi_features.html SlimServer], [http://www.kubuntu.org/ 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=
+
=SVN repository (always up-to-date)=
 +
 
 +
Current source is available here:
 +
http://svn.linuxmce.com/pluto/trunk - you can browse it using web browser or use Subversion tool to check out code and fetch further updates:
 +
 
 +
<pre>
 +
svn checkout http://svn.linuxmce.com/pluto/trunk linuxmce
 +
</pre>
 +
 
 +
[[FOSS 0710]] contains information about auto-built debs and binaries
 +
 
 +
 
 +
=Charon Media snapshot of sources (older)=
 +
 
 
You can browse the [http://svn.charonmedia.com/trac.cgi/browser LinuxMCE source] at the [http://svn.charonmedia.com/ Charon Media Trac website].  Or you can download it from SVN:
 
You can browse the [http://svn.charonmedia.com/trac.cgi/browser LinuxMCE source] at the [http://svn.charonmedia.com/ Charon Media Trac website].  Or you can download it from SVN:
 
<pre>
 
<pre>
Line 21: Line 34:
  
 
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.
 
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=
 
=Obsolete Source=

Revision as of 13:42, 28 February 2008

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.com/pluto/trunk - you can browse it using web browser or use Subversion tool to check out code and fetch further updates:

svn checkout http://svn.linuxmce.com/pluto/trunk linuxmce

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