Difference between revisions of "Source Code"

From LinuxMCE
Jump to: navigation, search
m
(Use current source SVN)
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.
  
You can browse the [http://linuxmce.svn.sourceforge.net/viewvc/linuxmce/trunk/ web based repository viewer].  Or you can you do an anonymous svn checkout as follows:
+
=Current Source=
 +
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>
 +
# Download snapshot.
 +
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.
 +
tar xfj lmce-1465.tbz
 +
cd lmce
 +
svn update
 +
 
 +
# Build from source (optional).
 +
./configure
 +
make
 +
</pre>
 +
 
 +
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. (- [[User:Matthew|Matthew]] 08:51, 10 January 2008 (MST))
 +
 
 +
You can browse the [http://linuxmce.svn.sourceforge.net/viewvc/linuxmce/trunk/ web based repository viewer].  Or you can do an anonymous svn checkout as follows:
  
 
svn co <nowiki>http://</nowiki>linuxmce.svn.sourceforge.net/svnroot/linuxmce/trunk/''modulename''
 
svn co <nowiki>http://</nowiki>linuxmce.svn.sourceforge.net/svnroot/linuxmce/trunk/''modulename''
Line 9: Line 34:
 
Here are short instructions if you want compile your module with svn sources : [[Building_From_Source|Building from source]].
 
Here are short instructions if you want compile your module with svn sources : [[Building_From_Source|Building from source]].
  
[[Category:Development]]
 
  
 
----
 
----
Line 220: Line 244:
 
* ''Amp'' - The Asterisk (IP Phone exchange) management program
 
* ''Amp'' - The Asterisk (IP Phone exchange) management program
 
* ''pluto-admin'' - LinuxMCE Web Admin
 
* ''pluto-admin'' - LinuxMCE Web Admin
 +
 +
[[Category:Development]]

Revision as of 15:51, 10 January 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.

Current Source

You can browse the LinuxMCE source at the Charon Media Trac website. Or you can download it from SVN:

# Download snapshot.
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.
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