|
XOTFramework
So you want to use the XOT Framework for your own Online TV script?
XOT FrameworkSo, you want to use the XOT Framework for your own Online TV Script? This can be done and is not too difficult. This small tutorial will give an introduction into the XOT Framework. Bare in mind that the XOT Framework consists of the Framework and channels. This page contains the XOT Framework configuration. The ChannelScript page deals with the creation and configuration of the individual channels. This WIKI page will contain the following items:
XOT Framework FolderLayoutThe XOT Framework has a very specific folderlayout that should be be kept intact: XOTFramework + Cache | + Channels | | | + Channel1 | | + chn_channel1.py | | + channel1icon.png | | + channel1largeicon.png | | + channel1background.png | | + channel1background16x9.png | | | + Channel2 | | | + Channel3 | | | + Etc, Etc, Etc...... | + Libs | + chn_class.py | + common.py | + config.py | + contextmenu.py | + controls.py | + logger.py | + progwindow.py | + update.py | + uriopener.py | + Skins | + Default | | + Media | | + PAL | | + PAL16x9 | | | + Skin2 | | + Media | | + PAL | | + PAL16x9 | | + default.py + default.tbn + readme.txt + logfile.log + logfile.old.log Framwork FilesThe main framework is based on a small number of files. These files are very dependent on eachoter and should not be modified:
So what files can you change? Well, there is only one obvious one left: config.py. Configuring your XOTThe main configuration is done via the config.py file. Consists of two parts. The first part should not be changed: import os, logging
rootDir = os.getcwd().replace(";","")
if rootDir[-1]!='\\': rootDir=rootDir+'\\'
cacheDir = os.path.join(rootDir,'cache')
if cacheDir[-1]!='\\': cacheDir=cacheDir+'\\'
skinFolder = "" #get's set from default.pyThe second part is the real configuration part: appName = "Uitzendinggemist.v2" appSkin = "uzg-progwindow.xml" contextMenuSkin = "uzg-contextmenu.xml" logLevel = logging.DEBUG logDual = True logFileName = "uzg.log" version = "2.7.0b3" updateUrl = "http://www.rieter.net/uitzendinggemist/index.php?currentversion=" Most of the items are self explaining. But here are the highlights (remember: python is capital sensitive so don't change them):
ChannelLayoutA channel consists of a folder named after the channel, a channel script, an small icon, a largeicon and perhaps some background image. The names of the channelfolder and channelscript are linked: if the folder is called 'abc' the script should be named 'chn_abc.py', if the folder is called 'sbs6' the script should be named 'chn_sbs6.py'. The icons files can be given any name, so can the background images. More configuration options for the channels can be found on the ChannelScript Wiki Page. SkinningThe XOT Framework uses the WindowXML features of XBMC. There are two main windows: the main program window (progwindow.xml) and the episode window (episodewindow.xml). Each window can be modified but some controls are required and thus cannot be removed. For more info on this, see the Skinning page. Because XOT uses the WindowXML framework, it also supports different skinfiles for different resolutions. More on that you can find on the XBMC WindowXML page. XOT Supports multiple skins which should all be placed in the skins folder. Each skin folder should have the same name as their corresponding XBMC skin name. How the XOT Framework determines which .XML files to use:
For the Icons, LargeIcons and Backgrounds of the channels, the XOT Frameworks looks up the location a bit different. How the XOT Framework determines which .PNG file to use:
So basically, the the Icons, LargeIcons and Backgrounds should be only specified in the \channels\ |