[xiph-commits] r15155 - in trunk/subtle: . docs docs/html

jmesquita at svn.xiph.org jmesquita at svn.xiph.org
Tue Aug 5 19:55:32 PDT 2008


Author: jmesquita
Date: 2008-08-05 19:55:30 -0700 (Tue, 05 Aug 2008)
New Revision: 15155

Added:
   trunk/subtle/docs/
   trunk/subtle/docs/epydoc.config
   trunk/subtle/docs/generate_docs.sh
   trunk/subtle/docs/html/
   trunk/subtle/docs/html/GPlayer-module.html
   trunk/subtle/docs/html/GPlayer-pysrc.html
   trunk/subtle/docs/html/GPlayer.GstPlayer-class.html
   trunk/subtle/docs/html/GPlayer.VideoWidget-class.html
   trunk/subtle/docs/html/MediaInfo-module.html
   trunk/subtle/docs/html/MediaInfo-pysrc.html
   trunk/subtle/docs/html/MediaInfo.Media-class.html
   trunk/subtle/docs/html/MediaInfo.MediaInfo-class.html
   trunk/subtle/docs/html/Subtitles-module.html
   trunk/subtle/docs/html/Subtitles-pysrc.html
   trunk/subtle/docs/html/Subtitles.Discoverer-module.html
   trunk/subtle/docs/html/Subtitles.Discoverer-pysrc.html
   trunk/subtle/docs/html/Subtitles.Line-module.html
   trunk/subtle/docs/html/Subtitles.Line-pysrc.html
   trunk/subtle/docs/html/Subtitles.Line.Line-class.html
   trunk/subtle/docs/html/Subtitles.Softni-module.html
   trunk/subtle/docs/html/Subtitles.Softni-pysrc.html
   trunk/subtle/docs/html/Subtitles.Softni.Softni-class.html
   trunk/subtle/docs/html/Subtitles.Sub-module.html
   trunk/subtle/docs/html/Subtitles.Sub-pysrc.html
   trunk/subtle/docs/html/Subtitles.Sub.Sub-class.html
   trunk/subtle/docs/html/Subtitles.SubRip-module.html
   trunk/subtle/docs/html/Subtitles.SubRip-pysrc.html
   trunk/subtle/docs/html/Subtitles.SubRip.SubRip-class.html
   trunk/subtle/docs/html/Subtitles.Subtitles-module.html
   trunk/subtle/docs/html/Subtitles.Subtitles-pysrc.html
   trunk/subtle/docs/html/Subtitles.Subtitles.Subtitles-class.html
   trunk/subtle/docs/html/Subtle-module.html
   trunk/subtle/docs/html/Subtle-pysrc.html
   trunk/subtle/docs/html/Subtle.Subtle-class.html
   trunk/subtle/docs/html/SubtleXML-module.html
   trunk/subtle/docs/html/SubtleXML-pysrc.html
   trunk/subtle/docs/html/SubtleXML.ProjectXML-class.html
   trunk/subtle/docs/html/api-objects.txt
   trunk/subtle/docs/html/class-tree.html
   trunk/subtle/docs/html/crarr.png
   trunk/subtle/docs/html/epydoc.css
   trunk/subtle/docs/html/epydoc.js
   trunk/subtle/docs/html/frames.html
   trunk/subtle/docs/html/help.html
   trunk/subtle/docs/html/identifier-index.html
   trunk/subtle/docs/html/index.html
   trunk/subtle/docs/html/module-tree.html
   trunk/subtle/docs/html/redirect.html
   trunk/subtle/docs/html/toc-GPlayer-module.html
   trunk/subtle/docs/html/toc-MediaInfo-module.html
   trunk/subtle/docs/html/toc-Subtitles-module.html
   trunk/subtle/docs/html/toc-Subtitles.Discoverer-module.html
   trunk/subtle/docs/html/toc-Subtitles.Line-module.html
   trunk/subtle/docs/html/toc-Subtitles.Softni-module.html
   trunk/subtle/docs/html/toc-Subtitles.Sub-module.html
   trunk/subtle/docs/html/toc-Subtitles.SubRip-module.html
   trunk/subtle/docs/html/toc-Subtitles.Subtitles-module.html
   trunk/subtle/docs/html/toc-Subtle-module.html
   trunk/subtle/docs/html/toc-SubtleXML-module.html
   trunk/subtle/docs/html/toc-everything.html
   trunk/subtle/docs/html/toc.html
   trunk/subtle/docs/html/uml_class_diagram_for_subtitle.gif
   trunk/subtle/docs/html/uml_class_diagram_for_subtitle_2.gif
   trunk/subtle/docs/html/uml_class_diagram_for_subtitle_3.gif
Log:
Adding documentation directory to the project. Will now start to document the whole thing using epydoc. Contributors should take a look at the easy markup on how to document stuff.

Added: trunk/subtle/docs/epydoc.config
===================================================================
--- trunk/subtle/docs/epydoc.config	                        (rev 0)
+++ trunk/subtle/docs/epydoc.config	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,107 @@
+[epydoc] # Epydoc section marker (required by ConfigParser)
+
+# modules
+#   The list of objects to document.  Objects can be named using
+#   dotted names, module filenames, or package directory names.
+#   Alases for this option include "objects" and "values".
+modules: ../Subtle.py, ../GPlayer.py, ../MediaInfo.py, ../Subtitles
+
+# output
+#   The type of output that should be generated.  Should be one
+#   of: html, text, latex, dvi, ps, pdf.
+output: html
+
+# target
+#   The path to the output directory.  May be relative or absolute.
+target: html/
+
+# docformat
+#   The default markup language for docstrings, for modules that do
+#   not define __docformat__.  Defaults to epytext.
+docformat: epytext
+
+# css
+#   The CSS stylesheet for HTML output.  Can be the name of a builtin
+#   stylesheet, or the name of a file.
+css: white
+
+# name
+#   The documented project's name.
+name: Subtle
+
+# url
+#   The documented project's URL.
+url: http://wiki.xiph.org/Subtle
+
+# link
+#   HTML code for the project link in the navigation bar.  If left
+#   unspecified, the project link will be generated based on the
+#   project's name and URL.
+link: <a href="http://wiki.xiph.org/Subtle">Subtle</a>
+
+# top
+#   The "top" page for the documentation.  Can be a URL, the name
+#   of a module or class, or one of the special names "trees.html",
+#   "indices.html", or "help.html"
+top: Subtle
+
+# help
+#   An alternative help file.  The named file should contain the
+#   body of an HTML file; navigation bars will be added to it.
+#help: my_helpfile.html
+
+# frames
+#   Whether or not to include a frames-based table of contents.
+frames: yes
+
+# private
+#   Whether or not to inclue private variables.  (Even if included,
+#   private variables will be hidden by default.)
+private: yes
+
+# imports
+#   Whether or not to list each module's imports.
+imports: yes
+
+# verbosity
+#   An integer indicating how verbose epydoc should be.  The default
+#   value is 0; negative values will supress warnings and errors;
+#   positive values will give more verbose output.
+verbosity: 0
+
+# parse
+#   Whether or not parsing should be used to examine objects.
+parse: yes
+
+# introspect
+#   Whether or not introspection should be used to examine objects.
+introspect: yes
+
+# graph
+#   The list of graph types that should be automatically included
+#   in the output.  Graphs are generated using the Graphviz "dot"
+#   executable.  Graph types include: "classtree", "callgraph",
+#   "umlclass".  Use "all" to include all graph types
+graph: all
+
+# dotpath
+#   The path to the Graphviz "dot" executable, used to generate
+#   graphs.
+dotpath: /usr/bin/dot
+
+# sourcecode
+#   Whether or not to include syntax highlighted source code in
+#   the output (HTML only).
+sourcecode: yes
+
+# pstat
+#   The name of one or more pstat files (generated by the profile
+#   or hotshot module).  These are used to generate call graphs.
+#pstat: profile.out
+
+# separate-classes
+#   Whether each class should be listed in its own section when
+#   generating LaTeX or PDF output.
+separate-classes: no
+
+

Added: trunk/subtle/docs/generate_docs.sh
===================================================================
--- trunk/subtle/docs/generate_docs.sh	                        (rev 0)
+++ trunk/subtle/docs/generate_docs.sh	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+epydoc --config ./epydoc.config

Added: trunk/subtle/docs/html/GPlayer-module.html
===================================================================
--- trunk/subtle/docs/html/GPlayer-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/GPlayer-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>GPlayer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Module&nbsp;GPlayer
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="GPlayer-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module GPlayer</h1><p class="nomargin-top"><span class="codelink"><a href="GPlayer-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="GPlayer.GstPlayer-class.html" class="summary-name">GstPlayer</a>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="GPlayer.VideoWidget-class.html" class="summary-name">VideoWidget</a>
+    </td>
+  </tr>
+</table>
+<p class="indent-wrapped-lines"><b>Imports:</b>
+  <span title="pygtk">pygtk</span>,
+  <span title="gobject">gobject</span>,
+  <span title="pygst">pygst</span>,
+  <span title="gst">gst</span>,
+  <span title="gtk">gtk</span>
+</p><br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:36 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/GPlayer-pysrc.html
===================================================================
--- trunk/subtle/docs/html/GPlayer-pysrc.html	                        (rev 0)
+++ trunk/subtle/docs/html/GPlayer-pysrc.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,400 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>GPlayer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Module&nbsp;GPlayer
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="GPlayer-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="GPlayer-module.html">Module GPlayer</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#    This file is part of Subtle</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    This program is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    the Free Software Foundation, either version 3 of the License, or</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    (at your option) any later version.</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    This program is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    GNU General Public License for more details.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pygtk</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-name">pygtk</tt><tt class="py-op">.</tt><tt class="py-name">require</tt><tt class="py-op">(</tt><tt class="py-string">'2.0'</tt><tt class="py-op">)</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">gobject</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">threads_init</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pygst</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-name">pygst</tt><tt class="py-op">.</tt><tt class="py-name">require</tt><tt class="py-op">(</tt><tt class="py-string">'0.10'</tt><tt class="py-op">)</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">gst</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">interfaces</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">gtk</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-comment">## \file GPlayer.py</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Documentation for GPlayer module of Subtle project.</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># \todo Add better seeking.</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-comment">## GstPlayer class.</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Class for playing media in GStreamer.</tt> </tt>
+<a name="GstPlayer"></a><div id="GstPlayer-def"><a name="L35"></a><tt class="py-lineno"> 35</tt> <a class="py-toggle" href="#" id="GstPlayer-toggle" onclick="return toggle('GstPlayer');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">class</tt> <a class="py-def-name" href="GPlayer.GstPlayer-class.html">GstPlayer</a><tt class="py-op">:</tt> </tt>
+</div><div id="GstPlayer-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="GstPlayer-expanded"><a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">    <tt class="py-comment">## Construstor</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param videowidget - VideoWidget class.</tt> </tt>
+<a name="GstPlayer.__init__"></a><div id="GstPlayer.__init__-def"><a name="L38"></a><tt class="py-lineno"> 38</tt> <a class="py-toggle" href="#" id="GstPlayer.__init__-toggle" onclick="return toggle('GstPlayer.__init__');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.GstPlayer-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">videowidget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GstPlayer.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GstPlayer.__init__-expanded"><a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">playing</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">bin</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">Bin</tt><tt class="py-op">(</tt><tt class="py-string">'my-bin'</tt><tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">textoverlay</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">element_factory_make</tt><tt class="py-op">(</tt><tt class="py-string">'textoverlay'</tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">bin</tt><tt class="py-op">.</tt><tt class="py-name">add</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">textoverlay</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">pad</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">textoverlay</tt><tt class="py-op">.</tt><tt class="py-name">get_pad</tt><tt class="py-op">(</tt><tt class="py-string">"video_sink"</tt><tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-name">ghostpad</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">GhostPad</tt><tt class="py-op">(</tt><tt class="py-string">"sink"</tt><tt class="py-op">,</tt> <tt class="py-name">pad</tt><tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-name">bin</tt><tt class="py-op">.</tt><tt class="py-name">add_pad</tt><tt class="py-op">(</tt><tt class="py-name">ghostpad</tt><tt class="py-op">)</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-name">color</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">element_factory_make</tt><tt class="py-op">(</tt><tt class="py-string">'ffmpegcolorspace'</tt><tt class="py-op">)</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-name">bin</tt><tt class="py-op">.</tt><tt class="py-name">add</tt><tt class="py-op">(</tt><tt class="py-name">color</tt><tt class="py-op">)</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-name">scale</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">element_factory_make</tt><tt class="py-op">(</tt><tt class="py-string">'videoscale'</tt><tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-name">bin</tt><tt class="py-op">.</tt><tt class="py-name">add</tt><tt class="py-op">(</tt><tt class="py-name">scale</tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">videosink</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">element_factory_make</tt><tt class="py-op">(</tt><tt class="py-string">'autovideosink'</tt><tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-name">bin</tt><tt class="py-op">.</tt><tt class="py-name">add</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">videosink</tt><tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">element_link_many</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">textoverlay</tt><tt class="py-op">,</tt> <tt class="py-name">color</tt><tt class="py-op">,</tt> <tt class="py-name">scale</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">videosink</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">element_factory_make</tt><tt class="py-op">(</tt><tt class="py-string">"playbin"</tt><tt class="py-op">,</tt> <tt class="py-string">"player"</tt><tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt class="py-name">set_property</tt><tt class="py-op">(</tt><tt class="py-string">"video-sink"</tt><tt class="py-op">,</tt> <tt class="py-name">bin</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">videowidget</tt> <tt class="py-op">=</tt> <tt class="py-name">videowidget</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-name">bus</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt class="py-name">get_bus</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-name">bus</tt><tt class="py-op">.</tt><tt class="py-name">enable_sync_message_emission</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-name">bus</tt><tt class="py-op">.</tt><tt class="py-name">add_signal_watch</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-name">bus</tt><tt class="py-op">.</tt><tt class="py-name">connect</tt><tt class="py-op">(</tt><tt class="py-string">'sync-message::element'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method GPlayer.GstPlayer.on_sync_message()=GPlayer.GstPlayer-class.html#on_sync_message"><a title="GPlayer.GstPlayer.on_sync_message" class="py-name" href="#" onclick="return doclink('link-0', 'on_sync_message', 'link-0');">on_sync_message</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-name">bus</tt><tt class="py-op">.</tt><tt class="py-name">connect</tt><tt class="py-op">(</tt><tt class="py-string">'message'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method GPlayer.GstPlayer.on_message()=GPlayer.GstPlayer-class.html#on_message"><a title="GPlayer.GstPlayer.on_message" class="py-name" href="#" onclick="return doclink('link-1', 'on_message', 'link-1');">on_message</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cur_frame</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt> <tt class="py-op">=</tt> <tt class="py-number">1.0</tt> </tt>
+</div><a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">         </tt>
+<a name="GstPlayer.on_sync_message"></a><div id="GstPlayer.on_sync_message-def"><a name="L65"></a><tt class="py-lineno"> 65</tt> <a class="py-toggle" href="#" id="GstPlayer.on_sync_message-toggle" onclick="return toggle('GstPlayer.on_sync_message');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.GstPlayer-class.html#on_sync_message">on_sync_message</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">bus</tt><tt class="py-op">,</tt> <tt class="py-param">message</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GstPlayer.on_sync_message-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GstPlayer.on_sync_message-expanded"><a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">message</tt><tt class="py-op">.</tt><tt class="py-name">structure</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">message</tt><tt class="py-op">.</tt><tt class="py-name">structure</tt><tt class="py-op">.</tt><tt class="py-name">get_name</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'prepare-xwindow-id'</tt><tt class="py-op">:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">videowidget</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method GPlayer.VideoWidget.set_sink()=GPlayer.VideoWidget-class.html#set_sink"><a title="GPlayer.VideoWidget.set_sink" class="py-name" href="#" onclick="return doclink('link-2', 'set_sink', 'link-2');">set_sink</a></tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">.</tt><tt class="py-name">src</tt><tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">            <tt class="py-name">message</tt><tt class="py-op">.</tt><tt class="py-name">src</tt><tt class="py-op">.</tt><tt class="py-name">set_property</tt><tt class="py-op">(</tt><tt class="py-string">'force-aspect-ratio'</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"> </tt>
+<a name="GstPlayer.on_message"></a><div id="GstPlayer.on_message-def"><a name="L72"></a><tt class="py-lineno"> 72</tt> <a class="py-toggle" href="#" id="GstPlayer.on_message-toggle" onclick="return toggle('GstPlayer.on_message');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.GstPlayer-class.html#on_message">on_message</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">bus</tt><tt class="py-op">,</tt> <tt class="py-param">message</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GstPlayer.on_message-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GstPlayer.on_message-expanded"><a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">message</tt><tt class="py-op">.</tt><tt class="py-name">type</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">MESSAGE_ERROR</tt><tt class="py-op">:</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">            <tt class="py-name">err</tt><tt class="py-op">,</tt> <tt class="py-name">debug</tt> <tt class="py-op">=</tt> <tt class="py-name">message</tt><tt class="py-op">.</tt><tt class="py-name">parse_error</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Error: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">err</tt><tt class="py-op">,</tt> <tt class="py-name">debug</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">playing</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">t</tt> <tt class="py-op">==</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">MESSAGE_EOS</tt><tt class="py-op">:</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">playing</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+</div><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">             </tt>
+<a name="GstPlayer.fast_forward"></a><div id="GstPlayer.fast_forward-def"><a name="L81"></a><tt class="py-lineno"> 81</tt> <a class="py-toggle" href="#" id="GstPlayer.fast_forward-toggle" onclick="return toggle('GstPlayer.fast_forward');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.GstPlayer-class.html#fast_forward">fast_forward</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GstPlayer.fast_forward-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GstPlayer.fast_forward-expanded"><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">            Here we will fast forward the stream for as many times</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">            as this is called</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">8.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt><tt class="py-op">*</tt><tt class="py-number">2.0</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-name">event</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">event_new_seek</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt><tt class="py-op">,</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">FORMAT_TIME</tt><tt class="py-op">,</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">                <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_FLAG_FLUSH</tt><tt class="py-op">,</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">                <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_TYPE_SET</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method GPlayer.GstPlayer.query_position()=GPlayer.GstPlayer-class.html#query_position"><a title="GPlayer.GstPlayer.query_position" class="py-name" href="#" onclick="return doclink('link-3', 'query_position', 'link-3');">query_position</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">                <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_TYPE_NONE</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">            <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt class="py-name">send_event</tt><tt class="py-op">(</tt><tt class="py-name">event</tt><tt class="py-op">)</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">res</tt><tt class="py-op">:</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"fast forwarding at rate: %f"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt><tt class="py-op">)</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt class="py-name">set_new_stream_time</tt><tt class="py-op">(</tt><tt class="py-number">0L</tt><tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">                <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"change rate to %f failed"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt><tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">     </tt>
+<a name="GstPlayer.slow_motion"></a><div id="GstPlayer.slow_motion-def"><a name="L101"></a><tt class="py-lineno">101</tt> <a class="py-toggle" href="#" id="GstPlayer.slow_motion-toggle" onclick="return toggle('GstPlayer.slow_motion');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.GstPlayer-class.html#slow_motion">slow_motion</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GstPlayer.slow_motion-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GstPlayer.slow_motion-expanded"><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring">            Here we will slow motion the stream for as many times</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-docstring">            as this is called</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt><tt class="py-op">/</tt><tt class="py-number">2.0</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-name">event</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">event_new_seek</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt><tt class="py-op">,</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">FORMAT_TIME</tt><tt class="py-op">,</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">            <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_FLAG_FLUSH</tt><tt class="py-op">,</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_TYPE_SET</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="GPlayer.GstPlayer.query_position" class="py-name" href="#" onclick="return doclink('link-4', 'query_position', 'link-3');">query_position</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_TYPE_NONE</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt class="py-name">send_event</tt><tt class="py-op">(</tt><tt class="py-name">event</tt><tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">res</tt><tt class="py-op">:</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"slowing playback to rate: %f"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt><tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt class="py-name">set_new_stream_time</tt><tt class="py-op">(</tt><tt class="py-number">0L</tt><tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"change rate to %f failed"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt><tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">         </tt>
+<a name="GstPlayer.get_rate"></a><div id="GstPlayer.get_rate-def"><a name="L121"></a><tt class="py-lineno">121</tt> <a class="py-toggle" href="#" id="GstPlayer.get_rate-toggle" onclick="return toggle('GstPlayer.get_rate');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.GstPlayer-class.html#get_rate">get_rate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GstPlayer.get_rate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GstPlayer.get_rate-expanded"><a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring">            Get the playing rate at the moment</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt> </tt>
+</div><a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">    <tt class="py-comment">## Set location.</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Set location of the source.</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param location - URI of the source.</tt> </tt>
+<a name="GstPlayer.set_location"></a><div id="GstPlayer.set_location-def"><a name="L130"></a><tt class="py-lineno">130</tt> <a class="py-toggle" href="#" id="GstPlayer.set_location-toggle" onclick="return toggle('GstPlayer.set_location');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.GstPlayer-class.html#set_location">set_location</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">location</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GstPlayer.set_location-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GstPlayer.set_location-expanded"><a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt class="py-name">set_state</tt><tt class="py-op">(</tt><tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">STATE_NULL</tt><tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt class="py-name">set_property</tt><tt class="py-op">(</tt><tt class="py-string">'uri'</tt><tt class="py-op">,</tt> <tt class="py-name">location</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">    <tt class="py-comment">## Set Subtitle Text</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Set subtitle text to be overlayed.</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param text - Text (may have pango tags) </tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param font - Pango FontDescrition for the text</tt> </tt>
+<a name="GstPlayer.set_subtitle_text"></a><div id="GstPlayer.set_subtitle_text-def"><a name="L138"></a><tt class="py-lineno">138</tt> <a class="py-toggle" href="#" id="GstPlayer.set_subtitle_text-toggle" onclick="return toggle('GstPlayer.set_subtitle_text');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.GstPlayer-class.html#set_subtitle_text">set_subtitle_text</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">font</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GstPlayer.set_subtitle_text-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GstPlayer.set_subtitle_text-expanded"><a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">font</tt><tt class="py-op">:</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">textoverlay</tt><tt class="py-op">.</tt><tt class="py-name">set_property</tt><tt class="py-op">(</tt><tt class="py-string">'subtitle-font-desc'</tt><tt class="py-op">,</tt> <tt class="py-name">font</tt><tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">textoverlay</tt><tt class="py-op">.</tt><tt class="py-name">set_property</tt><tt class="py-op">(</tt><tt class="py-string">'text'</tt><tt class="py-op">,</tt> <tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">    <tt class="py-comment">## Get location.</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Get location of the source.</tt> </tt>
+<a name="GstPlayer.get_location"></a><div id="GstPlayer.get_location-def"><a name="L146"></a><tt class="py-lineno">146</tt> <a class="py-toggle" href="#" id="GstPlayer.get_location-toggle" onclick="return toggle('GstPlayer.get_location');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.GstPlayer-class.html#get_location">get_location</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GstPlayer.get_location-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GstPlayer.get_location-expanded"><a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt class="py-name">get_property</tt><tt class="py-op">(</tt><tt class="py-string">'uri'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"> </tt>
+<a name="GstPlayer.query_position"></a><div id="GstPlayer.query_position-def"><a name="L149"></a><tt class="py-lineno">149</tt> <a class="py-toggle" href="#" id="GstPlayer.query_position-toggle" onclick="return toggle('GstPlayer.query_position');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.GstPlayer-class.html#query_position">query_position</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GstPlayer.query_position-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GstPlayer.query_position-expanded"><a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-docstring">"Returns a (position, duration) tuple"</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt class="py-name">position</tt><tt class="py-op">,</tt> <tt class="py-name">format</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="GPlayer.GstPlayer.query_position" class="py-name" href="#" onclick="return doclink('link-5', 'query_position', 'link-3');">query_position</a></tt><tt class="py-op">(</tt><tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">FORMAT_TIME</tt><tt class="py-op">)</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt class="py-name">position</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">CLOCK_TIME_NONE</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-name">duration</tt><tt class="py-op">,</tt> <tt class="py-name">format</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt class="py-name">query_duration</tt><tt class="py-op">(</tt><tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">FORMAT_TIME</tt><tt class="py-op">)</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">            <tt class="py-name">duration</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">CLOCK_TIME_NONE</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">position</tt><tt class="py-op">,</tt> <tt class="py-name">duration</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">         </tt>
+<a name="GstPlayer.query_frame"></a><div id="GstPlayer.query_frame-def"><a name="L163"></a><tt class="py-lineno">163</tt> <a class="py-toggle" href="#" id="GstPlayer.query_frame-toggle" onclick="return toggle('GstPlayer.query_frame');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.GstPlayer-class.html#query_frame">query_frame</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">position</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GstPlayer.query_frame-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GstPlayer.query_frame-expanded"><a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-docstring">"Query the frame position"</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">position</tt> <tt class="py-op">!=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">CLOCK_TIME_NONE</tt><tt class="py-op">:</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">            <tt class="py-name">pad</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">videosink</tt><tt class="py-op">.</tt><tt class="py-name">get_pad</tt><tt class="py-op">(</tt><tt class="py-string">'sink'</tt><tt class="py-op">)</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">            <tt class="py-name">caps</tt> <tt class="py-op">=</tt> <tt class="py-name">pad</tt><tt class="py-op">.</tt><tt class="py-name">get_negotiated_caps</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">caps</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">                <tt id="link-6" class="py-name" targets="Variable MediaInfo.Media.framerate=MediaInfo.Media-class.html#framerate"><a title="MediaInfo.Media.framerate" class="py-name" href="#" onclick="return doclink('link-6', 'framerate', 'link-6');">framerate</a></tt> <tt class="py-op">=</tt> <tt class="py-name">caps</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'framerate'</tt><tt class="py-op">]</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">                <tt class="py-name">position</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">position</tt><tt class="py-op">)</tt><tt class="py-op">/</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-number">1000000000</tt><tt class="py-op">)</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cur_frame</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">position</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-name">float</tt><tt class="py-op">(</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">                                    <tt id="link-7" class="py-name"><a title="MediaInfo.Media.framerate" class="py-name" href="#" onclick="return doclink('link-7', 'framerate', 'link-6');">framerate</a></tt><tt class="py-op">.</tt><tt class="py-name">num</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">/</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt id="link-8" class="py-name"><a title="MediaInfo.Media.framerate" class="py-name" href="#" onclick="return doclink('link-8', 'framerate', 'link-6');">framerate</a></tt><tt class="py-op">.</tt><tt class="py-name">denom</tt><tt class="py-op">)</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cur_frame</tt> </tt>
+</div><a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">    <tt class="py-comment">## Seek.</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Seek media.</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param location - location to the seek.</tt> </tt>
+<a name="GstPlayer.seek"></a><div id="GstPlayer.seek-def"><a name="L178"></a><tt class="py-lineno">178</tt> <a class="py-toggle" href="#" id="GstPlayer.seek-toggle" onclick="return toggle('GstPlayer.seek');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.GstPlayer-class.html#seek">seek</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">location</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GstPlayer.seek-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GstPlayer.seek-expanded"><a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"seeking to %r"</tt> <tt class="py-op">%</tt> <tt class="py-name">location</tt><tt class="py-op">)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">event</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">event_new_seek</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt><tt class="py-op">,</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">FORMAT_TIME</tt><tt class="py-op">,</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">            <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_FLAG_FLUSH</tt><tt class="py-op">,</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_TYPE_SET</tt><tt class="py-op">,</tt> <tt class="py-name">location</tt><tt class="py-op">,</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">            <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_TYPE_NONE</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt class="py-name">send_event</tt><tt class="py-op">(</tt><tt class="py-name">event</tt><tt class="py-op">)</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">res</tt><tt class="py-op">:</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">            <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"setting new stream time to 0"</tt><tt class="py-op">)</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt class="py-name">set_new_stream_time</tt><tt class="py-op">(</tt><tt class="py-number">0L</tt><tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">            <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"seek to %r failed"</tt> <tt class="py-op">%</tt> <tt class="py-name">location</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">    <tt class="py-comment">## Pause.</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Media pause.</tt> </tt>
+<a name="GstPlayer.pause"></a><div id="GstPlayer.pause-def"><a name="L194"></a><tt class="py-lineno">194</tt> <a class="py-toggle" href="#" id="GstPlayer.pause-toggle" onclick="return toggle('GstPlayer.pause');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.GstPlayer-class.html#pause">pause</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GstPlayer.pause-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GstPlayer.pause-expanded"><a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">        <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"pausing player"</tt><tt class="py-op">)</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt class="py-name">set_state</tt><tt class="py-op">(</tt><tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">STATE_PAUSED</tt><tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">playing</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+</div><a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">    <tt class="py-comment">## Play.</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Media play.</tt> </tt>
+<a name="GstPlayer.play"></a><div id="GstPlayer.play-def"><a name="L201"></a><tt class="py-lineno">201</tt> <a class="py-toggle" href="#" id="GstPlayer.play-toggle" onclick="return toggle('GstPlayer.play');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.GstPlayer-class.html#play">play</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GstPlayer.play-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GstPlayer.play-expanded"><a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line"><tt class="py-docstring">            Change the stream state to playing or simply</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line"><tt class="py-docstring">            change its playing rate to normal rate</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt> <tt class="py-op">!=</tt> <tt class="py-number">1.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt> <tt class="py-op">=</tt> <tt class="py-number">1.0</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">            <tt class="py-name">event</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">event_new_seek</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt><tt class="py-op">,</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">FORMAT_TIME</tt><tt class="py-op">,</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">                <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_FLAG_FLUSH</tt><tt class="py-op">,</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">                <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_TYPE_SET</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="GPlayer.GstPlayer.query_position" class="py-name" href="#" onclick="return doclink('link-9', 'query_position', 'link-3');">query_position</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">                <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_TYPE_NONE</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt class="py-name">send_event</tt><tt class="py-op">(</tt><tt class="py-name">event</tt><tt class="py-op">)</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">res</tt><tt class="py-op">:</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">                <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"slowing playback to rate: %f"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt><tt class="py-op">)</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt class="py-name">set_new_stream_time</tt><tt class="py-op">(</tt><tt class="py-number">0L</tt><tt class="py-op">)</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">                <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"change rate to %f failed"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rate</tt><tt class="py-op">)</tt>            </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">            <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"playing player"</tt><tt class="py-op">)</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt class="py-name">set_state</tt><tt class="py-op">(</tt><tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">STATE_PLAYING</tt><tt class="py-op">)</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">playing</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">    <tt class="py-comment">## Stop</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Media stop.</tt> </tt>
+<a name="GstPlayer.stop"></a><div id="GstPlayer.stop-def"><a name="L227"></a><tt class="py-lineno">227</tt> <a class="py-toggle" href="#" id="GstPlayer.stop-toggle" onclick="return toggle('GstPlayer.stop');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.GstPlayer-class.html#stop">stop</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GstPlayer.stop-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GstPlayer.stop-expanded"><a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt class="py-name">set_state</tt><tt class="py-op">(</tt><tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">STATE_READY</tt><tt class="py-op">)</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">playing</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">        <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"stopped player"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">    <tt class="py-comment">## Get state.</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Get current state of the media.</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param timeout - time out of the operation.</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \raturn state of the media.</tt> </tt>
+<a name="GstPlayer.get_state"></a><div id="GstPlayer.get_state-def"><a name="L236"></a><tt class="py-lineno">236</tt> <a class="py-toggle" href="#" id="GstPlayer.get_state-toggle" onclick="return toggle('GstPlayer.get_state');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.GstPlayer-class.html#get_state">get_state</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GstPlayer.get_state-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GstPlayer.get_state-expanded"><a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method GPlayer.GstPlayer.get_state()=GPlayer.GstPlayer-class.html#get_state"><a title="GPlayer.GstPlayer.get_state" class="py-name" href="#" onclick="return doclink('link-10', 'get_state', 'link-10');">get_state</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-name">timeout</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">    <tt class="py-comment">## Is playing</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \return TRUE if media is playing.</tt> </tt>
+<a name="GstPlayer.is_playing"></a><div id="GstPlayer.is_playing-def"><a name="L241"></a><tt class="py-lineno">241</tt> <a class="py-toggle" href="#" id="GstPlayer.is_playing-toggle" onclick="return toggle('GstPlayer.is_playing');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.GstPlayer-class.html#is_playing">is_playing</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GstPlayer.is_playing-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GstPlayer.is_playing-expanded"><a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">playing</tt> </tt>
+</div></div><a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">    <tt class="py-comment">## \var playing</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Bool variable, TRUE - if media is playing.</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">    <tt class="py-comment">## \var player</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># GStreamer playerbin element.</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">    <tt class="py-comment">## \var videowidget</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># GTK+ widget for video render.</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line"><tt class="py-comment">#==============================================================================</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## VideoWidget class.</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># VideoWidget class for render video stream on GTK+ widget.</tt> </tt>
+<a name="VideoWidget"></a><div id="VideoWidget-def"><a name="L256"></a><tt class="py-lineno">256</tt> <a class="py-toggle" href="#" id="VideoWidget-toggle" onclick="return toggle('VideoWidget');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">class</tt> <a class="py-def-name" href="GPlayer.VideoWidget-class.html">VideoWidget</a><tt class="py-op">:</tt> </tt>
+</div><div id="VideoWidget-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="VideoWidget-expanded"><a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">    <tt class="py-comment">## Constructor.</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param TArea - GTK+ drowing area widget.</tt> </tt>
+<a name="VideoWidget.__init__"></a><div id="VideoWidget.__init__-def"><a name="L259"></a><tt class="py-lineno">259</tt> <a class="py-toggle" href="#" id="VideoWidget.__init__-toggle" onclick="return toggle('VideoWidget.__init__');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.VideoWidget-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">TArea</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="VideoWidget.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="VideoWidget.__init__-expanded"><a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Area</tt><tt class="py-op">=</tt><tt class="py-name">TArea</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">imagesink</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Area</tt><tt class="py-op">.</tt><tt class="py-name">unset_flags</tt><tt class="py-op">(</tt><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">DOUBLE_BUFFERED</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line"> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">    <tt class="py-comment">## \var Area</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># GTK+ drowing area widget.</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">    <tt class="py-comment">## \var imagesink</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Sink element for </tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="VideoWidget.do_expose_event"></a><div id="VideoWidget.do_expose_event-def"><a name="L270"></a><tt class="py-lineno">270</tt> <a class="py-toggle" href="#" id="VideoWidget.do_expose_event-toggle" onclick="return toggle('VideoWidget.do_expose_event');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.VideoWidget-class.html#do_expose_event">do_expose_event</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">event</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="VideoWidget.do_expose_event-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="VideoWidget.do_expose_event-expanded"><a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">imagesink</tt><tt class="py-op">:</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">imagesink</tt><tt class="py-op">.</tt><tt class="py-name">expose</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+</div><a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line"> </tt>
+<a name="VideoWidget.set_sink"></a><div id="VideoWidget.set_sink-def"><a name="L277"></a><tt class="py-lineno">277</tt> <a class="py-toggle" href="#" id="VideoWidget.set_sink-toggle" onclick="return toggle('VideoWidget.set_sink');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="GPlayer.VideoWidget-class.html#set_sink">set_sink</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sink</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="VideoWidget.set_sink-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="VideoWidget.set_sink-expanded"><a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Area</tt><tt class="py-op">.</tt><tt class="py-name">window</tt><tt class="py-op">.</tt><tt class="py-name">xid</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">imagesink</tt> <tt class="py-op">=</tt> <tt class="py-name">sink</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">imagesink</tt><tt class="py-op">.</tt><tt class="py-name">set_xwindow_id</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Area</tt><tt class="py-op">.</tt><tt class="py-name">window</tt><tt class="py-op">.</tt><tt class="py-name">xid</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/GPlayer.GstPlayer-class.html
===================================================================
--- trunk/subtle/docs/html/GPlayer.GstPlayer-class.html	                        (rev 0)
+++ trunk/subtle/docs/html/GPlayer.GstPlayer-class.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,424 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>GPlayer.GstPlayer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="GPlayer-module.html">Module&nbsp;GPlayer</a> ::
+        Class&nbsp;GstPlayer
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="GPlayer.GstPlayer-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class GstPlayer</h1><p class="nomargin-top"><span class="codelink"><a href="GPlayer-pysrc.html#GstPlayer">source&nbsp;code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">videowidget</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#GstPlayer.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="on_sync_message"></a><span class="summary-sig-name">on_sync_message</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">bus</span>,
+        <span class="summary-sig-arg">message</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#GstPlayer.on_sync_message">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="on_message"></a><span class="summary-sig-name">on_message</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">bus</span>,
+        <span class="summary-sig-arg">message</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#GstPlayer.on_message">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="fast_forward"></a><span class="summary-sig-name">fast_forward</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Here we will fast forward the stream for as many times as this is 
+      called</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#GstPlayer.fast_forward">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="slow_motion"></a><span class="summary-sig-name">slow_motion</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Here we will slow motion the stream for as many times as this is 
+      called</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#GstPlayer.slow_motion">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="get_rate"></a><span class="summary-sig-name">get_rate</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Get the playing rate at the moment</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#GstPlayer.get_rate">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="set_location"></a><span class="summary-sig-name">set_location</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">location</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#GstPlayer.set_location">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="set_subtitle_text"></a><span class="summary-sig-name">set_subtitle_text</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">text</span>,
+        <span class="summary-sig-arg">font</span>=<span class="summary-sig-default">None</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#GstPlayer.set_subtitle_text">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="get_location"></a><span class="summary-sig-name">get_location</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#GstPlayer.get_location">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="query_position"></a><span class="summary-sig-name">query_position</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Returns a (position, duration) tuple</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#GstPlayer.query_position">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="query_frame"></a><span class="summary-sig-name">query_frame</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">position</span>)</span><br />
+      Query the frame position</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#GstPlayer.query_frame">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="seek"></a><span class="summary-sig-name">seek</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">location</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#GstPlayer.seek">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="pause"></a><span class="summary-sig-name">pause</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#GstPlayer.pause">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="play"></a><span class="summary-sig-name">play</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Change the stream state to playing or simply change its playing rate 
+      to normal rate</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#GstPlayer.play">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="stop"></a><span class="summary-sig-name">stop</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#GstPlayer.stop">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="get_state"></a><span class="summary-sig-name">get_state</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">1</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#GstPlayer.get_state">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="is_playing"></a><span class="summary-sig-name">is_playing</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#GstPlayer.is_playing">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:36 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/GPlayer.VideoWidget-class.html
===================================================================
--- trunk/subtle/docs/html/GPlayer.VideoWidget-class.html	                        (rev 0)
+++ trunk/subtle/docs/html/GPlayer.VideoWidget-class.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>GPlayer.VideoWidget</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="GPlayer-module.html">Module&nbsp;GPlayer</a> ::
+        Class&nbsp;VideoWidget
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="GPlayer.VideoWidget-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class VideoWidget</h1><p class="nomargin-top"><span class="codelink"><a href="GPlayer-pysrc.html#VideoWidget">source&nbsp;code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">TArea</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#VideoWidget.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="do_expose_event"></a><span class="summary-sig-name">do_expose_event</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">event</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#VideoWidget.do_expose_event">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="set_sink"></a><span class="summary-sig-name">set_sink</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">sink</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="GPlayer-pysrc.html#VideoWidget.set_sink">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/MediaInfo-module.html
===================================================================
--- trunk/subtle/docs/html/MediaInfo-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/MediaInfo-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>MediaInfo</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Module&nbsp;MediaInfo
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="MediaInfo-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module MediaInfo</h1><p class="nomargin-top"><span class="codelink"><a href="MediaInfo-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="MediaInfo.Media-class.html" class="summary-name">Media</a>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="MediaInfo.MediaInfo-class.html" class="summary-name">MediaInfo</a>
+    </td>
+  </tr>
+</table>
+<p class="indent-wrapped-lines"><b>Imports:</b>
+  <span title="os">os</span>,
+  <span title="pygtk">pygtk</span>,
+  <span title="gobject">gobject</span>,
+  <span title="pygst">pygst</span>,
+  <span title="gst">gst</span>,
+  <span title="gst.extend.discoverer">discoverer</span>
+</p><br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:36 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/MediaInfo-pysrc.html
===================================================================
--- trunk/subtle/docs/html/MediaInfo-pysrc.html	                        (rev 0)
+++ trunk/subtle/docs/html/MediaInfo-pysrc.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>MediaInfo</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Module&nbsp;MediaInfo
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="MediaInfo-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="MediaInfo-module.html">Module MediaInfo</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#    This file is part of Subtle</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    This program is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    the Free Software Foundation, either version 3 of the License, or</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    (at your option) any later version.</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    This program is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    GNU General Public License for more details.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pygtk</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-name">pygtk</tt><tt class="py-op">.</tt><tt class="py-name">require</tt><tt class="py-op">(</tt><tt class="py-string">'2.0'</tt><tt class="py-op">)</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">gobject</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">threads_init</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pygst</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-name">pygst</tt><tt class="py-op">.</tt><tt class="py-name">require</tt><tt class="py-op">(</tt><tt class="py-string">'0.10'</tt><tt class="py-op">)</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">gst</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt> <tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Function Subtitles.Discoverer.discoverer()=Subtitles.Discoverer-module.html#discoverer"><a title="Subtitles.Discoverer.discoverer" class="py-name" href="#" onclick="return doclink('link-0', 'discoverer', 'link-0');">discoverer</a></tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"> </tt>
+<a name="Media"></a><div id="Media-def"><a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="Media-toggle" onclick="return toggle('Media');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="MediaInfo.Media-class.html">Media</a><tt class="py-op">:</tt> </tt>
+</div><div id="Media-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="Media-expanded"><a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">    <tt id="link-1" class="py-name" targets="Variable MediaInfo.Media.has_audio=MediaInfo.Media-class.html#has_audio"><a title="MediaInfo.Media.has_audio" class="py-name" href="#" onclick="return doclink('link-1', 'has_audio', 'link-1');">has_audio</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">    <tt id="link-2" class="py-name" targets="Variable MediaInfo.Media.has_video=MediaInfo.Media-class.html#has_video"><a title="MediaInfo.Media.has_video" class="py-name" href="#" onclick="return doclink('link-2', 'has_video', 'link-2');">has_video</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt>  </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">    <tt id="link-3" class="py-name" targets="Variable MediaInfo.Media.framerate=MediaInfo.Media-class.html#framerate"><a title="MediaInfo.Media.framerate" class="py-name" href="#" onclick="return doclink('link-3', 'framerate', 'link-3');">framerate</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">    <tt id="link-4" class="py-name" targets="Variable MediaInfo.Media.sourceURI=MediaInfo.Media-class.html#sourceURI"><a title="MediaInfo.Media.sourceURI" class="py-name" href="#" onclick="return doclink('link-4', 'sourceURI', 'link-4');">sourceURI</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">    <tt id="link-5" class="py-name" targets="Variable MediaInfo.Media.MIME=MediaInfo.Media-class.html#MIME"><a title="MediaInfo.Media.MIME" class="py-name" href="#" onclick="return doclink('link-5', 'MIME', 'link-5');">MIME</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">    <tt id="link-6" class="py-name" targets="Variable MediaInfo.Media.videoLengthNS=MediaInfo.Media-class.html#videoLengthNS"><a title="MediaInfo.Media.videoLengthNS" class="py-name" href="#" onclick="return doclink('link-6', 'videoLengthNS', 'link-6');">videoLengthNS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">    <tt id="link-7" class="py-name" targets="Variable MediaInfo.Media.videoLengthS=MediaInfo.Media-class.html#videoLengthS"><a title="MediaInfo.Media.videoLengthS" class="py-name" href="#" onclick="return doclink('link-7', 'videoLengthS', 'link-7');">videoLengthS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">    <tt id="link-8" class="py-name" targets="Variable MediaInfo.Media.videoCaps=MediaInfo.Media-class.html#videoCaps"><a title="MediaInfo.Media.videoCaps" class="py-name" href="#" onclick="return doclink('link-8', 'videoCaps', 'link-8');">videoCaps</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">    <tt id="link-9" class="py-name" targets="Variable MediaInfo.Media.videoWidth=MediaInfo.Media-class.html#videoWidth"><a title="MediaInfo.Media.videoWidth" class="py-name" href="#" onclick="return doclink('link-9', 'videoWidth', 'link-9');">videoWidth</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">    <tt id="link-10" class="py-name" targets="Variable MediaInfo.Media.videoHeight=MediaInfo.Media-class.html#videoHeight"><a title="MediaInfo.Media.videoHeight" class="py-name" href="#" onclick="return doclink('link-10', 'videoHeight', 'link-10');">videoHeight</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"> </tt>
+<a name="MediaInfo"></a><div id="MediaInfo-def"><a name="L38"></a><tt class="py-lineno">38</tt> <a class="py-toggle" href="#" id="MediaInfo-toggle" onclick="return toggle('MediaInfo');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="MediaInfo.MediaInfo-class.html">MediaInfo</a><tt class="py-op">:</tt> </tt>
+</div><div id="MediaInfo-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="MediaInfo-expanded"><a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"> </tt>
+<a name="MediaInfo.__init__"></a><div id="MediaInfo.__init__-def"><a name="L40"></a><tt class="py-lineno">40</tt> <a class="py-toggle" href="#" id="MediaInfo.__init__-toggle" onclick="return toggle('MediaInfo.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="MediaInfo.MediaInfo-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">file</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaInfo.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MediaInfo.__init__-expanded"><a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt> <tt class="py-op">=</tt> <tt id="link-11" class="py-name" targets="Class MediaInfo.Media=MediaInfo.Media-class.html"><a title="MediaInfo.Media" class="py-name" href="#" onclick="return doclink('link-11', 'Media', 'link-11');">Media</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt class="py-name">source</tt> <tt class="py-op">=</tt> <tt class="py-name">file</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="MediaInfo.Media.sourceURI" class="py-name" href="#" onclick="return doclink('link-12', 'sourceURI', 'link-4');">sourceURI</a></tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method MediaInfo.MediaInfo.discover()=MediaInfo.MediaInfo-class.html#discover,Function Subtitles.Softni.discover()=Subtitles.Softni-module.html#discover,Function Subtitles.SubRip.discover()=Subtitles.SubRip-module.html#discover"><a title="MediaInfo.MediaInfo.discover
+Subtitles.Softni.discover
+Subtitles.SubRip.discover" class="py-name" href="#" onclick="return doclink('link-13', 'discover', 'link-13');">discover</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">notDone</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+</div><a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line"> </tt>
+<a name="MediaInfo.discover"></a><div id="MediaInfo.discover-def"><a name="L47"></a><tt class="py-lineno">47</tt> <a class="py-toggle" href="#" id="MediaInfo.discover-toggle" onclick="return toggle('MediaInfo.discover');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="MediaInfo.MediaInfo-class.html#discover">discover</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaInfo.discover-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MediaInfo.discover-expanded"><a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-14" class="py-name"><a title="Subtitles.Discoverer.discoverer" class="py-name" href="#" onclick="return doclink('link-14', 'discoverer', 'link-0');">discoverer</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Module Subtitles.Discoverer=Subtitles.Discoverer-module.html"><a title="Subtitles.Discoverer" class="py-name" href="#" onclick="return doclink('link-15', 'Discoverer', 'link-15');">Discoverer</a></tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">        <tt class="py-name">d</tt><tt class="py-op">.</tt><tt class="py-name">connect</tt><tt class="py-op">(</tt><tt class="py-string">'discovered'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method MediaInfo.MediaInfo.cb_discover()=MediaInfo.MediaInfo-class.html#cb_discover"><a title="MediaInfo.MediaInfo.cb_discover" class="py-name" href="#" onclick="return doclink('link-16', 'cb_discover', 'link-16');">cb_discover</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">        <tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="MediaInfo.MediaInfo.discover
+Subtitles.Softni.discover
+Subtitles.SubRip.discover" class="py-name" href="#" onclick="return doclink('link-17', 'discover', 'link-13');">discover</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line"> </tt>
+<a name="MediaInfo.cb_discover"></a><div id="MediaInfo.cb_discover-def"><a name="L52"></a><tt class="py-lineno">52</tt> <a class="py-toggle" href="#" id="MediaInfo.cb_discover-toggle" onclick="return toggle('MediaInfo.cb_discover');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="MediaInfo.MediaInfo-class.html#cb_discover">cb_discover</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">d</tt><tt class="py-op">,</tt> <tt class="py-param">ismedia</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaInfo.cb_discover-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MediaInfo.cb_discover-expanded"><a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">ismedia</tt><tt class="py-op">:</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="MediaInfo.Media.MIME" class="py-name" href="#" onclick="return doclink('link-18', 'MIME', 'link-5');">MIME</a></tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt class="py-name">mimetype</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt class="py-name">is_video</tt><tt class="py-op">:</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="MediaInfo.Media.has_video" class="py-name" href="#" onclick="return doclink('link-19', 'has_video', 'link-2');">has_video</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="MediaInfo.Media.framerate" class="py-name" href="#" onclick="return doclink('link-20', 'framerate', 'link-3');">framerate</a></tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt class="py-name">videorate</tt><tt class="py-op">.</tt><tt class="py-name">num</tt><tt class="py-op">)</tt> \ </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">                                       <tt class="py-op">/</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt class="py-name">videorate</tt><tt class="py-op">.</tt><tt class="py-name">denom</tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="MediaInfo.Media.videoLengthNS" class="py-name" href="#" onclick="return doclink('link-21', 'videoLengthNS', 'link-6');">videoLengthNS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt class="py-name">videolength</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="MediaInfo.Media.videoLengthS" class="py-name" href="#" onclick="return doclink('link-22', 'videoLengthS', 'link-7');">videoLengthS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt class="py-name">videolength</tt><tt class="py-op">)</tt> \ </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">                                          <tt class="py-op">/</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">MSECOND</tt><tt class="py-op">)</tt><tt class="py-op">/</tt><tt class="py-number">1000.0</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="MediaInfo.Media.videoCaps" class="py-name" href="#" onclick="return doclink('link-23', 'videoCaps', 'link-8');">videoCaps</a></tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt class="py-name">videocaps</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="MediaInfo.Media.videoHeight" class="py-name" href="#" onclick="return doclink('link-24', 'videoHeight', 'link-10');">videoHeight</a></tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt class="py-name">videoheight</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="MediaInfo.Media.videoWidth" class="py-name" href="#" onclick="return doclink('link-25', 'videoWidth', 'link-9');">videoWidth</a></tt> <tt class="py-op">=</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt class="py-name">videowidth</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">d</tt><tt class="py-op">.</tt><tt class="py-name">is_audio</tt><tt class="py-op">:</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="MediaInfo.Media.has_audio" class="py-name" href="#" onclick="return doclink('link-26', 'has_audio', 'link-1');">has_audio</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">notDone</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+</div><a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line"> </tt>
+<a name="MediaInfo.poll"></a><div id="MediaInfo.poll-def"><a name="L69"></a><tt class="py-lineno">69</tt> <a class="py-toggle" href="#" id="MediaInfo.poll-toggle" onclick="return toggle('MediaInfo.poll');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="MediaInfo.MediaInfo-class.html#poll">poll</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaInfo.poll-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MediaInfo.poll-expanded"><a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">notDone</tt> </tt>
+</div><a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line"> </tt>
+<a name="MediaInfo.getMedia"></a><div id="MediaInfo.getMedia-def"><a name="L72"></a><tt class="py-lineno">72</tt> <a class="py-toggle" href="#" id="MediaInfo.getMedia-toggle" onclick="return toggle('MediaInfo.getMedia');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="MediaInfo.MediaInfo-class.html#getMedia">getMedia</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaInfo.getMedia-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MediaInfo.getMedia-expanded"><a name="L73"></a><tt class="py-lineno">73</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt> </tt>
+</div></div><a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/MediaInfo.Media-class.html
===================================================================
--- trunk/subtle/docs/html/MediaInfo.Media-class.html	                        (rev 0)
+++ trunk/subtle/docs/html/MediaInfo.Media-class.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>MediaInfo.Media</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="MediaInfo-module.html">Module&nbsp;MediaInfo</a> ::
+        Class&nbsp;Media
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="MediaInfo.Media-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Media</h1><p class="nomargin-top"><span class="codelink"><a href="MediaInfo-pysrc.html#Media">source&nbsp;code</a></span></p>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="has_audio"></a><span class="summary-name">has_audio</span> = <code title="None">None</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="has_video"></a><span class="summary-name">has_video</span> = <code title="None">None</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="framerate"></a><span class="summary-name">framerate</span> = <code title="None">None</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="sourceURI"></a><span class="summary-name">sourceURI</span> = <code title="None">None</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="MIME"></a><span class="summary-name">MIME</span> = <code title="None">None</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="videoLengthNS"></a><span class="summary-name">videoLengthNS</span> = <code title="None">None</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="videoLengthS"></a><span class="summary-name">videoLengthS</span> = <code title="None">None</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="videoCaps"></a><span class="summary-name">videoCaps</span> = <code title="None">None</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="videoWidth"></a><span class="summary-name">videoWidth</span> = <code title="None">None</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="videoHeight"></a><span class="summary-name">videoHeight</span> = <code title="None">None</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/MediaInfo.MediaInfo-class.html
===================================================================
--- trunk/subtle/docs/html/MediaInfo.MediaInfo-class.html	                        (rev 0)
+++ trunk/subtle/docs/html/MediaInfo.MediaInfo-class.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>MediaInfo.MediaInfo</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="MediaInfo-module.html">Module&nbsp;MediaInfo</a> ::
+        Class&nbsp;MediaInfo
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="MediaInfo.MediaInfo-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class MediaInfo</h1><p class="nomargin-top"><span class="codelink"><a href="MediaInfo-pysrc.html#MediaInfo">source&nbsp;code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">file</span>,
+        <span class="summary-sig-arg">uri</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="MediaInfo-pysrc.html#MediaInfo.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="discover"></a><span class="summary-sig-name">discover</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">path</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="MediaInfo-pysrc.html#MediaInfo.discover">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_discover"></a><span class="summary-sig-name">cb_discover</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">d</span>,
+        <span class="summary-sig-arg">ismedia</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="MediaInfo-pysrc.html#MediaInfo.cb_discover">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="poll"></a><span class="summary-sig-name">poll</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="MediaInfo-pysrc.html#MediaInfo.poll">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getMedia"></a><span class="summary-sig-name">getMedia</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="MediaInfo-pysrc.html#MediaInfo.getMedia">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles-module.html
===================================================================
--- trunk/subtle/docs/html/Subtitles-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Package&nbsp;Subtitles
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PACKAGE DESCRIPTION ==================== -->
+<h1 class="epydoc">Package Subtitles</h1><p class="nomargin-top"><span class="codelink"><a href="Subtitles-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== SUBMODULES ==================== -->
+<a name="section-Submodules"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Submodules</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Submodules"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr><td class="summary">
+  <ul class="nomargin">
+    <li> <strong class="uidlink"><a href="Subtitles.Discoverer-module.html">Subtitles.Discoverer</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="Subtitles.Line-module.html">Subtitles.Line</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="Subtitles.Softni-module.html">Subtitles.Softni</a></strong>    </li>
+    <li class="private"> <strong class="uidlink"><a href="Subtitles.Sub-module.html" onclick="show_private();">Subtitles.Sub</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="Subtitles.SubRip-module.html">Subtitles.SubRip</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="Subtitles.Subtitles-module.html">Subtitles.Subtitles</a></strong>    </li>
+  </ul></td></tr>
+</table>
+
+<br />
+<p class="indent-wrapped-lines"><b>Imports:</b>
+  <a href="Subtitles.Sub-module.html" onclick="show_private();" title="Subtitles.Sub">Sub</a>
+</p><br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:36 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles-pysrc.html
===================================================================
--- trunk/subtle/docs/html/Subtitles-pysrc.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles-pysrc.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Package&nbsp;Subtitles
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="Subtitles-module.html">Package Subtitles</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       __init__.py</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Copyright 2008 Joao Mesquita &lt;jmesquita at gmail.com&gt;</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       This program is free software; you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       the Free Software Foundation; either version 3 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       This program is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       along with this program; if not, write to the Free Software</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       MA 02110-1301, USA.</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-name">__all__</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">"Subtitles"</tt><tt class="py-op">,</tt> <tt class="py-string">"SubRip"</tt><tt class="py-op">,</tt><tt class="py-string">"Softni"</tt><tt class="py-op">,</tt><tt class="py-string">"Discoverer"</tt><tt class="py-op">,</tt><tt class="py-string">"Line"</tt><tt class="py-op">]</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles.Discoverer-module.html
===================================================================
--- trunk/subtle/docs/html/Subtitles.Discoverer-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles.Discoverer-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles.Discoverer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="Subtitles-module.html">Package&nbsp;Subtitles</a> ::
+        Module&nbsp;Discoverer
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles.Discoverer-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module Discoverer</h1><p class="nomargin-top"><span class="codelink"><a href="Subtitles.Discoverer-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="Subtitles.Discoverer-module.html#discoverer" class="summary-sig-name">discoverer</a>(<span class="summary-sig-arg">file</span>)</span><br />
+      This procedure will negotiate and return the proper subtitle class to
+      handle the specific format.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Discoverer-pysrc.html#discoverer">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<p class="indent-wrapped-lines"><b>Imports:</b>
+  <span title="os">os</span>,
+  <a href="Subtitles.SubRip-module.html" title="Subtitles.SubRip">SubRip</a>,
+  <a href="Subtitles.Softni-module.html" title="Subtitles.Softni">Softni</a>
+</p><br />
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="discoverer"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">discoverer</span>(<span class="sig-arg">file</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="Subtitles.Discoverer-pysrc.html#discoverer">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>This procedure will negotiate and return the proper subtitle class to 
+  handle the specific format. If it returns None, format is not yet 
+  supported.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:36 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles.Discoverer-pysrc.html
===================================================================
--- trunk/subtle/docs/html/Subtitles.Discoverer-pysrc.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles.Discoverer-pysrc.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles.Discoverer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="Subtitles-module.html">Package&nbsp;Subtitles</a> ::
+        Module&nbsp;Discoverer
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles.Discoverer-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="Subtitles.Discoverer-module.html">Module Subtitles.Discoverer</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       discoverer.py</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Copyright 2008 Joao Mesquita &lt;jmesquita at gmail.com&gt;</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       This program is free software; you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       the Free Software Foundation; either version 3 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       This program is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       along with this program; if not, write to the Free Software</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       MA 02110-1301, USA.</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Module Subtitles.SubRip=Subtitles.SubRip-module.html,Class Subtitles.SubRip.SubRip=Subtitles.SubRip.SubRip-class.html"><a title="Subtitles.SubRip
+Subtitles.SubRip.SubRip" class="py-name" href="#" onclick="return doclink('link-0', 'SubRip', 'link-0');">SubRip</a></tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module Subtitles.Softni=Subtitles.Softni-module.html,Class Subtitles.Softni.Softni=Subtitles.Softni.Softni-class.html"><a title="Subtitles.Softni
+Subtitles.Softni.Softni" class="py-name" href="#" onclick="return doclink('link-1', 'Softni', 'link-1');">Softni</a></tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"> </tt>
+<a name="discoverer"></a><div id="discoverer-def"><a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="discoverer-toggle" onclick="return toggle('discoverer');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Discoverer-module.html#discoverer">discoverer</a><tt class="py-op">(</tt><tt class="py-param">file</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="discoverer-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="discoverer-expanded"><a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-docstring">        This procedure will negotiate and return the proper subtitle class to</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"><tt class="py-docstring">        handle the specific format. If it returns None, format is not yet</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"><tt class="py-docstring">        supported.</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">     </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">    <tt class="py-comment"># Test for SubRip</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">if</tt> <tt id="link-2" class="py-name"><a title="Subtitles.SubRip
+Subtitles.SubRip.SubRip" class="py-name" href="#" onclick="return doclink('link-2', 'SubRip', 'link-0');">SubRip</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method MediaInfo.MediaInfo.discover()=MediaInfo.MediaInfo-class.html#discover,Function Subtitles.Softni.discover()=Subtitles.Softni-module.html#discover,Function Subtitles.SubRip.discover()=Subtitles.SubRip-module.html#discover"><a title="MediaInfo.MediaInfo.discover
+Subtitles.Softni.discover
+Subtitles.SubRip.discover" class="py-name" href="#" onclick="return doclink('link-3', 'discover', 'link-3');">discover</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-4" class="py-name"><a title="Subtitles.SubRip
+Subtitles.SubRip.SubRip" class="py-name" href="#" onclick="return doclink('link-4', 'SubRip', 'link-0');">SubRip</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="Subtitles.SubRip
+Subtitles.SubRip.SubRip" class="py-name" href="#" onclick="return doclink('link-5', 'SubRip', 'link-0');">SubRip</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">)</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">    <tt class="py-comment"># Test for Softni</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">if</tt> <tt id="link-6" class="py-name"><a title="Subtitles.Softni
+Subtitles.Softni.Softni" class="py-name" href="#" onclick="return doclink('link-6', 'Softni', 'link-1');">Softni</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="MediaInfo.MediaInfo.discover
+Subtitles.Softni.discover
+Subtitles.SubRip.discover" class="py-name" href="#" onclick="return doclink('link-7', 'discover', 'link-3');">discover</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-8" class="py-name"><a title="Subtitles.Softni
+Subtitles.Softni.Softni" class="py-name" href="#" onclick="return doclink('link-8', 'Softni', 'link-1');">Softni</a></tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="Subtitles.Softni
+Subtitles.Softni.Softni" class="py-name" href="#" onclick="return doclink('link-9', 'Softni', 'link-1');">Softni</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">         </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles.Line-module.html
===================================================================
--- trunk/subtle/docs/html/Subtitles.Line-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles.Line-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles.Line</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="Subtitles-module.html">Package&nbsp;Subtitles</a> ::
+        Module&nbsp;Line
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles.Line-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module Line</h1><p class="nomargin-top"><span class="codelink"><a href="Subtitles.Line-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="Subtitles.Line.Line-class.html" class="summary-name">Line</a><br />
+      Each line of a subtile will have its own class to control the 
+        number of characters and other features
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:36 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles.Line-pysrc.html
===================================================================
--- trunk/subtle/docs/html/Subtitles.Line-pysrc.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles.Line-pysrc.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles.Line</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="Subtitles-module.html">Package&nbsp;Subtitles</a> ::
+        Module&nbsp;Line
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles.Line-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="Subtitles.Line-module.html">Module Subtitles.Line</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Line.py</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Copyright 2008 Joao Mesquita &lt;jmesquita at gmail.com&gt;</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       This program is free software; you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       the Free Software Foundation; either version 3 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       This program is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       along with this program; if not, write to the Free Software</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       MA 02110-1301, USA.</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"> </tt>
+<a name="Line"></a><div id="Line-def"><a name="L23"></a><tt class="py-lineno">23</tt> <a class="py-toggle" href="#" id="Line-toggle" onclick="return toggle('Line');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Subtitles.Line.Line-class.html">Line</a><tt class="py-op">:</tt> </tt>
+</div><div id="Line-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="Line-expanded"><a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"><tt class="py-docstring">        Each line of a subtile will have its own class to control</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"><tt class="py-docstring">        the number of characters and other features</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="Line.__init__"></a><div id="Line.__init__-def"><a name="L28"></a><tt class="py-lineno">28</tt> <a class="py-toggle" href="#" id="Line.__init__-toggle" onclick="return toggle('Line.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Line.Line-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Line.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Line.__init__-expanded"><a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"><tt class="py-docstring">            Each line has its own text</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">text</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">length</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method Subtitles.Line.Line._count()=Subtitles.Line.Line-class.html#_count"><a title="Subtitles.Line.Line._count" class="py-name" href="#" onclick="return doclink('link-0', '_count', 'link-0');">_count</a></tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"> </tt>
+<a name="Line._count"></a><div id="Line._count-def"><a name="L35"></a><tt class="py-lineno">35</tt> <a class="py-toggle" href="#" id="Line._count-toggle" onclick="return toggle('Line._count');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Line.Line-class.html#_count">_count</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Line._count-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Line._count-expanded"><a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"><tt class="py-docstring">            We have to make our own count</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-docstring">            function because of pango markups</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"><tt class="py-docstring">            and end of lines.</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">        <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">text</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles.Line.Line-class.html
===================================================================
--- trunk/subtle/docs/html/Subtitles.Line.Line-class.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles.Line.Line-class.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles.Line.Line</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="Subtitles-module.html">Package&nbsp;Subtitles</a> ::
+        <a href="Subtitles.Line-module.html">Module&nbsp;Line</a> ::
+        Class&nbsp;Line
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles.Line.Line-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Line</h1><p class="nomargin-top"><span class="codelink"><a href="Subtitles.Line-pysrc.html#Line">source&nbsp;code</a></span></p>
+<p>Each line of a subtile will have its own class to control the number 
+  of characters and other features</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">text</span>)</span><br />
+      Each line has its own text</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Line-pysrc.html#Line.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_count"></a><span class="summary-sig-name">_count</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">text</span>)</span><br />
+      We have to make our own count function because of pango markups and 
+      end of lines.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Line-pysrc.html#Line._count">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles.Softni-module.html
===================================================================
--- trunk/subtle/docs/html/Subtitles.Softni-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles.Softni-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles.Softni</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="Subtitles-module.html">Package&nbsp;Subtitles</a> ::
+        Module&nbsp;Softni
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles.Softni-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module Softni</h1><p class="nomargin-top"><span class="codelink"><a href="Subtitles.Softni-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="Subtitles.Softni.Softni-class.html" class="summary-name">Softni</a><br />
+      This class handles the Softni file format
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="discover"></a><span class="summary-sig-name">discover</span>(<span class="summary-sig-arg">file</span>)</span><br />
+      Every subtitle should have a discover function and return true if it 
+      should handle the requested file.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Softni-pysrc.html#discover">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="FRAMERATE"></a><span class="summary-name">FRAMERATE</span> = <code title="25.0">25.0</code>
+    </td>
+  </tr>
+</table>
+<p class="indent-wrapped-lines"><b>Imports:</b>
+  <span title="os">os</span>,
+  <span title="string">string</span>,
+  <span title="re">re</span>,
+  <span title="codecs">codecs</span>,
+  <span title="magic">magic</span>,
+  <span title="random.randint">randint</span>,
+  <a href="Subtitles.Subtitles.Subtitles-class.html" title="Subtitles.Subtitles.Subtitles">Subtitles</a>,
+  <a href="Subtitles.Line.Line-class.html" title="Subtitles.Line.Line">Line</a>,
+  <a href="Subtitles.Sub.Sub-class.html" title="Subtitles.Sub.Sub">Sub</a>
+</p><br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:36 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles.Softni-pysrc.html
===================================================================
--- trunk/subtle/docs/html/Subtitles.Softni-pysrc.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles.Softni-pysrc.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,293 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles.Softni</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="Subtitles-module.html">Package&nbsp;Subtitles</a> ::
+        Module&nbsp;Softni
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles.Softni-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="Subtitles.Softni-module.html">Module Subtitles.Softni</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Softni.py</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Copyright 2008 Joao Mesquita &lt;jmesquita at gmail.com&gt;</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       This program is free software; you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       the Free Software Foundation; either version 3 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       This program is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       along with this program; if not, write to the Free Software</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       MA 02110-1301, USA.</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-comment"># This implementation is on real BAD alpha stage and should not be</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># considered by any chance ready for production.</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># A lot of study is still needed to transform the frames into timestamp</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># since this format is a bit funky.</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">codecs</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-comment"># This is not the best option since we rely on Linux-only</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Make use of file command to check on the file type</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">magic</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"We need python-magic, otherwise, this format will not be \</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-string">    supported"</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">    <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exit</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">random</tt> <tt class="py-keyword">import</tt> <tt class="py-name">randint</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package Subtitles=Subtitles-module.html,Module Subtitles.Subtitles=Subtitles.Subtitles-module.html,Class Subtitles.Subtitles.Subtitles=Subtitles.Subtitles.Subtitles-class.html"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-0', 'Subtitles', 'link-0');">Subtitles</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-1', 'Subtitles', 'link-0');">Subtitles</a></tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name" targets="Module Subtitles.Sub=Subtitles.Sub-module.html,Class Subtitles.Sub.Sub=Subtitles.Sub.Sub-class.html"><a title="Subtitles.Sub
+Subtitles.Sub.Sub" class="py-name" href="#" onclick="return doclink('link-2', 'Sub', 'link-2');">Sub</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable Subtitles.Softni.FRAMERATE=Subtitles.Softni-module.html#FRAMERATE,Variable Subtitles.SubRip.FRAMERATE=Subtitles.SubRip-module.html#FRAMERATE"><a title="Subtitles.Softni.FRAMERATE
+Subtitles.SubRip.FRAMERATE" class="py-name" href="#" onclick="return doclink('link-3', 'FRAMERATE', 'link-3');">FRAMERATE</a></tt><tt class="py-op">=</tt><tt class="py-number">25.00</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"> </tt>
+<a name="discover"></a><div id="discover-def"><a name="L49"></a><tt class="py-lineno"> 49</tt> <a class="py-toggle" href="#" id="discover-toggle" onclick="return toggle('discover');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Softni-module.html#discover">discover</a><tt class="py-op">(</tt><tt class="py-param">file</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="discover-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="discover-expanded"><a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">        Every subtitle should have a discover function</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring">        and return true if it should handle the requested</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">        file.</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">    <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">magic</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">magic</tt><tt class="py-op">.</tt><tt class="py-name">MAGIC_COMPRESS</tt> <tt class="py-op">|</tt> <tt class="py-name">magic</tt><tt class="py-op">.</tt><tt class="py-name">MAGIC_MIME</tt><tt class="py-op">)</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">load</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"text"</tt><tt class="py-op">:</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-comment"># Open file and read it</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">,</tt> <tt class="py-string">"r"</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">    <tt class="py-comment"># Test for SubRip by matching the header</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-name">rawstr</tt> <tt class="py-op">=</tt> <tt class="py-string">r"""^(?P&lt;sub&gt;.*\r?\n)*?</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-string">            ^(?P&lt;ts_from&gt;\d{2}:\d{2}:\d{2}.\d{2})\\(?P&lt;ts_to&gt;\d{2}:\d{2}:\d{2}.\d{2})"""</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">    <tt class="py-name">regex</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-name">rawstr</tt><tt class="py-op">,</tt>  <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">MULTILINE</tt><tt class="py-op">|</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">VERBOSE</tt><tt class="py-op">)</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">regex</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> </tt>
+</div><a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">     </tt>
+<a name="Softni"></a><div id="Softni-def"><a name="L77"></a><tt class="py-lineno"> 77</tt> <a class="py-toggle" href="#" id="Softni-toggle" onclick="return toggle('Softni');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Subtitles.Softni.Softni-class.html">Softni</a><tt class="py-op">(</tt><tt class="py-base-class">Subtitles</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Softni-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Softni-expanded"><a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">        This class handles the Softni file format</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="Softni.__init__"></a><div id="Softni.__init__-def"><a name="L81"></a><tt class="py-lineno"> 81</tt> <a class="py-toggle" href="#" id="Softni.__init__-toggle" onclick="return toggle('Softni.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Softni.Softni-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Softni.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Softni.__init__-expanded"><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt id="link-4" class="py-name"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-4', 'Subtitles', 'link-0');">Subtitles</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method GPlayer.GstPlayer.__init__()=GPlayer.GstPlayer-class.html#__init__,Method GPlayer.VideoWidget.__init__()=GPlayer.VideoWidget-class.html#__init__,Method MediaInfo.MediaInfo.__init__()=MediaInfo.MediaInfo-class.html#__init__,Method Subtitles.Line.Line.__init__()=Subtitles.Line.Line-class.html#__init__,Method Subtitles.Softni.Softni.__init__()=Subtitles.Softni.Softni-class.html#__init__,Method Subtitles.Sub.Sub.__init__()=Subtitles.Sub.Sub-class.html#__init__,Method Subtitles.SubRip.SubRip.__init__()=Subtitles.SubRip.SubRip-class.html#__init__,Method Subtitles.Subtitles.Subtitles.__init__()=Subtitles.Subtitles.Subtitles-class.html#__init__,Method Subtle.Subtle.__init__()=Subtle.Subtle-class.html#__init__"><a title="GPlayer.GstPlayer.__init__
+GPlayer.VideoWidget.__init__
+MediaInfo.MediaInfo.__init__
+Subtitles.Line.Line.__init__
+Subtitles.Softni.Softni.__init__
+Subtitles.Sub.Sub.__init__
+Subtitles.SubRip.SubRip.__init__
+Subtitles.Subtitles.Subtitles.__init__
+Subtle.Subtle.__init__" class="py-name" href="#" onclick="return doclink('link-5', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">         </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-comment"># Set the file encoding</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">magic</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">magic</tt><tt class="py-op">.</tt><tt class="py-name">MAGIC_COMPRESS</tt> <tt class="py-op">|</tt> <tt class="py-name">magic</tt><tt class="py-op">.</tt><tt class="py-name">MAGIC_MIME</tt><tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">load</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">encoding</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'='</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">         </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subType</tt><tt class="py-op">=</tt><tt class="py-string">"Softni"</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method Subtitles.Softni.Softni._loadFromFile()=Subtitles.Softni.Softni-class.html#_loadFromFile"><a title="Subtitles.Softni.Softni._loadFromFile" class="py-name" href="#" onclick="return doclink('link-6', '_loadFromFile', 'link-6');">_loadFromFile</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"> </tt>
+<a name="Softni._loadFromFile"></a><div id="Softni._loadFromFile-def"><a name="L94"></a><tt class="py-lineno"> 94</tt> <a class="py-toggle" href="#" id="Softni._loadFromFile-toggle" onclick="return toggle('Softni._loadFromFile');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Softni.Softni-class.html#_loadFromFile">_loadFromFile</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">file</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Softni._loadFromFile-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Softni._loadFromFile-expanded"><a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring">            Parse and load the subtitle using a string</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-docstring">            as input</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-name">regex</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">r"""^(?P&lt;ts_from&gt;\d{2}:\d{2}:\d{2}.\d{2})\\(?P&lt;ts_to&gt;\d{2}:\d{2}:\d{2}.\d{2})"""</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">MULTILINE</tt><tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">   </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-comment"># We reopen the file here so we can</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment"># iterate over the lines</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">codecs</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">,</tt> <tt class="py-string">"r"</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">encoding</tt><tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-name">str</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">         </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-comment"># Lets set the data structure like we need it</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-name">buffer</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">str</tt><tt class="py-op">:</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">regex</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">                <tt class="py-name">info</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">buffer</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'\\'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">                <tt class="py-name">buffer</tt><tt class="py-op">=</tt><tt class="py-string">""</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">                <tt class="py-name">buffer</tt><tt class="py-op">+=</tt><tt class="py-name">line</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">         </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-comment"># Iterate all the subs and create the</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment"># sub objects</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">sub_count</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">sub</tt> <tt class="py-keyword">in</tt> <tt class="py-name">info</tt><tt class="py-op">:</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">sub</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">            <tt class="py-name">stime</tt> <tt class="py-op">=</tt> <tt class="py-name">sub</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">            <tt class="py-name">etime</tt> <tt class="py-op">=</tt> <tt class="py-name">sub</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">            <tt class="py-name">TS</tt> <tt class="py-op">=</tt> <tt id="link-7" class="py-name"><a title="Subtitles.Sub
+Subtitles.Sub.Sub" class="py-name" href="#" onclick="return doclink('link-7', 'Sub', 'link-2');">Sub</a></tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt class="py-name">TS</tt><tt class="py-op">.</tt><tt class="py-name">start_time</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method Subtitles.Softni.Softni._softniFormat2Timestamp()=Subtitles.Softni.Softni-class.html#_softniFormat2Timestamp"><a title="Subtitles.Softni.Softni._softniFormat2Timestamp" class="py-name" href="#" onclick="return doclink('link-8', '_softniFormat2Timestamp', 'link-8');">_softniFormat2Timestamp</a></tt><tt class="py-op">(</tt><tt class="py-name">stime</tt><tt class="py-op">)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-name">TS</tt><tt class="py-op">.</tt><tt class="py-name">end_time</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="Subtitles.Softni.Softni._softniFormat2Timestamp" class="py-name" href="#" onclick="return doclink('link-9', '_softniFormat2Timestamp', 'link-8');">_softniFormat2Timestamp</a></tt><tt class="py-op">(</tt><tt class="py-name">etime</tt><tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">            <tt class="py-name">TS</tt><tt class="py-op">.</tt><tt class="py-name">start_frame</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method Subtitles.Softni.Softni._softniFormat2Frame()=Subtitles.Softni.Softni-class.html#_softniFormat2Frame"><a title="Subtitles.Softni.Softni._softniFormat2Frame" class="py-name" href="#" onclick="return doclink('link-10', '_softniFormat2Frame', 'link-10');">_softniFormat2Frame</a></tt><tt class="py-op">(</tt><tt class="py-name">stime</tt><tt class="py-op">)</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">            <tt class="py-name">TS</tt><tt class="py-op">.</tt><tt class="py-name">end_frame</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="Subtitles.Softni.Softni._softniFormat2Frame" class="py-name" href="#" onclick="return doclink('link-11', '_softniFormat2Frame', 'link-10');">_softniFormat2Frame</a></tt><tt class="py-op">(</tt><tt class="py-name">etime</tt><tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">            <tt class="py-name">TS</tt><tt class="py-op">.</tt><tt class="py-name">number</tt> <tt class="py-op">=</tt> <tt class="py-name">sub_count</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">            <tt class="py-name">sub_count</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">[</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="Subtitles.Softni.Softni._softniFormat2Timestamp" class="py-name" href="#" onclick="return doclink('link-12', '_softniFormat2Timestamp', 'link-8');">_softniFormat2Timestamp</a></tt><tt class="py-op">(</tt><tt class="py-name">stime</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">TS</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method Subtitles.Subtitles.Subtitles.updateKeys()=Subtitles.Subtitles.Subtitles-class.html#updateKeys"><a title="Subtitles.Subtitles.Subtitles.updateKeys" class="py-name" href="#" onclick="return doclink('link-13', 'updateKeys', 'link-13');">updateKeys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">     </tt>
+<a name="Softni._softniFormat2Frame"></a><div id="Softni._softniFormat2Frame-def"><a name="L135"></a><tt class="py-lineno">135</tt> <a class="py-toggle" href="#" id="Softni._softniFormat2Frame-toggle" onclick="return toggle('Softni._softniFormat2Frame');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Softni.Softni-class.html#_softniFormat2Frame">_softniFormat2Frame</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">softniFormat</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Softni._softniFormat2Frame-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Softni._softniFormat2Frame-expanded"><a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-docstring">            Convert Softni frame format to cumulative frame counting</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-name">frames</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">softniFormat</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-number">60</tt><tt class="py-op">*</tt><tt class="py-number">60</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">                <tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">softniFormat</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">:</tt><tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-number">60</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">                <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">softniFormat</tt><tt class="py-op">[</tt><tt class="py-number">6</tt><tt class="py-op">:</tt><tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt id="link-14" class="py-name"><a title="Subtitles.Softni.FRAMERATE
+Subtitles.SubRip.FRAMERATE" class="py-name" href="#" onclick="return doclink('link-14', 'FRAMERATE', 'link-3');">FRAMERATE</a></tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">                <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">softniFormat</tt><tt class="py-op">[</tt><tt class="py-number">9</tt><tt class="py-op">:</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">frames</tt> </tt>
+</div><a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">         </tt>
+<a name="Softni._softniFormat2Timestamp"></a><div id="Softni._softniFormat2Timestamp-def"><a name="L145"></a><tt class="py-lineno">145</tt> <a class="py-toggle" href="#" id="Softni._softniFormat2Timestamp-toggle" onclick="return toggle('Softni._softniFormat2Timestamp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Softni.Softni-class.html#_softniFormat2Timestamp">_softniFormat2Timestamp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">softniFormat</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Softni._softniFormat2Timestamp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Softni._softniFormat2Timestamp-expanded"><a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-docstring">            Convert Softni frame format to cumulative frame counting</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt>  </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-name">timestamp</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">softniFormat</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-number">60</tt><tt class="py-op">*</tt><tt class="py-number">60</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">                <tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">softniFormat</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">:</tt><tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-number">60</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">                <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">softniFormat</tt><tt class="py-op">[</tt><tt class="py-number">6</tt><tt class="py-op">:</tt><tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">                <tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">softniFormat</tt><tt class="py-op">[</tt><tt class="py-number">9</tt><tt class="py-op">:</tt><tt class="py-number">11</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">/</tt><tt id="link-15" class="py-name"><a title="Subtitles.Softni.FRAMERATE
+Subtitles.SubRip.FRAMERATE" class="py-name" href="#" onclick="return doclink('link-15', 'FRAMERATE', 'link-3');">FRAMERATE</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">timestamp</tt><tt class="py-op">*</tt><tt class="py-number">1000</tt> </tt>
+</div></div><a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles.Softni.Softni-class.html
===================================================================
--- trunk/subtle/docs/html/Subtitles.Softni.Softni-class.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles.Softni.Softni-class.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles.Softni.Softni</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="Subtitles-module.html">Package&nbsp;Subtitles</a> ::
+        <a href="Subtitles.Softni-module.html">Module&nbsp;Softni</a> ::
+        Class&nbsp;Softni
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles.Softni.Softni-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Softni</h1><p class="nomargin-top"><span class="codelink"><a href="Subtitles.Softni-pysrc.html#Softni">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_subtitle" name="uml_class_diagram_for_subtitle">
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#subDel" title="Subtitles.Subtitles.Subtitles.subDel" alt="" coords="17,36,327,55"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#subAdd" title="Subtitles.Subtitles.Subtitles.subAdd" alt="" coords="17,55,327,73"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#updateKeys" title="Subtitles.Subtitles.Subtitles.updateKeys" alt="" coords="17,73,327,92"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#updateText" title="Subtitles.Subtitles.Subtitles.updateText" alt="" coords="17,92,327,111"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#subUpdate" title="Subtitles.Subtitles.Subtitles.subUpdate" alt="" coords="17,111,327,129"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#getSub" title="Subtitles.Subtitles.Subtitles.getSub" alt="" coords="17,129,327,148"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#getSupportedTypes" title="Subtitles.Subtitles.Subtitles.getSupportedTypes" alt="" coords="17,148,327,167"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html" title="This class defines all the interface for the application to handle subtitles and to ease the implementation of new formats" alt="" coords="16,11,328,168"/>
+<area shape="rect" href="Subtitles.Softni.Softni-class.html#__init__" title="Initialize all the attributes needed to handle all types of subtitle &#160;formats as well as their manipulation" alt="" coords="104,223,240,241"/>
+<area shape="rect" href="Subtitles.Softni.Softni-class.html" title="This class handles the Softni file format" alt="" coords="103,197,241,243"/>
+</map>
+  <img src="uml_class_diagram_for_subtitle.gif" alt='' usemap="#uml_class_diagram_for_subtitle" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<p>This class handles the Softni file format</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="Subtitles.Softni.Softni-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">filename</span>)</span><br />
+      Initialize all the attributes needed to handle all types of subtitle 
+      formats as well as their manipulation</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Softni-pysrc.html#Softni.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_loadFromFile"></a><span class="summary-sig-name">_loadFromFile</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">file</span>)</span><br />
+      Parse and load the subtitle using a string as input</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Softni-pysrc.html#Softni._loadFromFile">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_softniFormat2Frame"></a><span class="summary-sig-name">_softniFormat2Frame</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">softniFormat</span>)</span><br />
+      Convert Softni frame format to cumulative frame counting</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Softni-pysrc.html#Softni._softniFormat2Frame">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_softniFormat2Timestamp"></a><span class="summary-sig-name">_softniFormat2Timestamp</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">softniFormat</span>)</span><br />
+      Convert Softni frame format to cumulative frame counting</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Softni-pysrc.html#Softni._softniFormat2Timestamp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="Subtitles.Subtitles.Subtitles-class.html">Subtitles.Subtitles</a></code></b>:
+      <code><a href="Subtitles.Subtitles.Subtitles-class.html#getSub">getSub</a></code>,
+      <code><a href="Subtitles.Subtitles.Subtitles-class.html#getSupportedTypes">getSupportedTypes</a></code>,
+      <code><a href="Subtitles.Subtitles.Subtitles-class.html#subAdd">subAdd</a></code>,
+      <code><a href="Subtitles.Subtitles.Subtitles-class.html#subDel">subDel</a></code>,
+      <code><a href="Subtitles.Subtitles.Subtitles-class.html#subUpdate">subUpdate</a></code>,
+      <code><a href="Subtitles.Subtitles.Subtitles-class.html#updateKeys">updateKeys</a></code>,
+      <code><a href="Subtitles.Subtitles.Subtitles-class.html#updateText">updateText</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">filename</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="Subtitles.Softni-pysrc.html#Softni.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Initialize all the attributes needed to handle all types of subtitle 
+  formats as well as their manipulation</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="Subtitles.Subtitles.Subtitles-class.html#__init__">Subtitles.Subtitles.__init__</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles.Sub-module.html
===================================================================
--- trunk/subtle/docs/html/Subtitles.Sub-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles.Sub-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles.Sub</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="Subtitles-module.html">Package&nbsp;Subtitles</a> ::
+        Module&nbsp;Sub
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles.Sub-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module Sub</h1><p class="nomargin-top"><span class="codelink"><a href="Subtitles.Sub-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="Subtitles.Sub.Sub-class.html" class="summary-name">Sub</a><br />
+      The Sub class, is the class that handles each subtitle individually
+    </td>
+  </tr>
+</table>
+<p class="indent-wrapped-lines"><b>Imports:</b>
+  <span title="string">string</span>,
+  <a href="Subtitles.Line.Line-class.html" title="Subtitles.Line.Line">Line</a>
+</p><br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:36 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles.Sub-pysrc.html
===================================================================
--- trunk/subtle/docs/html/Subtitles.Sub-pysrc.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles.Sub-pysrc.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,205 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles.Sub</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="Subtitles-module.html">Package&nbsp;Subtitles</a> ::
+        Module&nbsp;Sub
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles.Sub-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="Subtitles.Sub-module.html" onclick="show_private();">Module Subtitles.Sub</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Sub.py</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Copyright 2008 Joao Mesquita &lt;jmesquita at gmail.com&gt;</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       This program is free software; you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       the Free Software Foundation; either version 3 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       This program is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       along with this program; if not, write to the Free Software</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       MA 02110-1301, USA.</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module Subtitles.Line=Subtitles.Line-module.html,Class Subtitles.Line.Line=Subtitles.Line.Line-class.html"><a title="Subtitles.Line
+Subtitles.Line.Line" class="py-name" href="#" onclick="return doclink('link-0', 'Line', 'link-0');">Line</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"> </tt>
+<a name="Sub"></a><div id="Sub-def"><a name="L25"></a><tt class="py-lineno">25</tt> <a class="py-toggle" href="#" id="Sub-toggle" onclick="return toggle('Sub');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Subtitles.Sub.Sub-class.html">Sub</a><tt class="py-op">:</tt> </tt>
+</div><div id="Sub-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="Sub-expanded"><a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt class="py-docstring">        The Sub class, is the class that handles each subtitle </tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-docstring">        individually</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"> </tt>
+<a name="Sub.__init__"></a><div id="Sub.__init__-def"><a name="L31"></a><tt class="py-lineno">31</tt> <a class="py-toggle" href="#" id="Sub.__init__-toggle" onclick="return toggle('Sub.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Sub.Sub-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">text</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Sub.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Sub.__init__-expanded"><a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"><tt class="py-docstring">            Init all the variables</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">        <tt class="py-comment"># Start with 1 cos we are only called</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment"># when there is at least one line</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">nLines</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_time</tt><tt class="py-op">=</tt><tt class="py-name">None</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_frame</tt><tt class="py-op">=</tt><tt class="py-number">0</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end_time</tt><tt class="py-op">=</tt><tt class="py-name">None</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end_frame</tt><tt class="py-op">=</tt><tt class="py-number">0</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">number</tt><tt class="py-op">=</tt><tt class="py-name">None</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method Subtitles.Sub.Sub._processText()=Subtitles.Sub.Sub-class.html#_processText"><a title="Subtitles.Sub.Sub._processText" class="py-name" href="#" onclick="return doclink('link-1', '_processText', 'link-1');">_processText</a></tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line"> </tt>
+<a name="Sub.isInTime"></a><div id="Sub.isInTime-def"><a name="L46"></a><tt class="py-lineno">46</tt> <a class="py-toggle" href="#" id="Sub.isInTime-toggle" onclick="return toggle('Sub.isInTime');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Sub.Sub-class.html#isInTime">isInTime</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">time</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Sub.isInTime-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Sub.isInTime-expanded"><a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line"><tt class="py-docstring">            Is it time to display a subtitle?</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">&gt;=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start_time</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">&lt;=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end_time</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-number">1</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt>
+</div><a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line"> </tt>
+<a name="Sub._processText"></a><div id="Sub._processText-def"><a name="L55"></a><tt class="py-lineno">55</tt> <a class="py-toggle" href="#" id="Sub._processText-toggle" onclick="return toggle('Sub._processText');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Sub.Sub-class.html#_processText">_processText</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">text</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Sub._processText-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Sub._processText-expanded"><a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line"><tt class="py-docstring">            We should parse the full text of a subtitle and divide it</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line"><tt class="py-docstring">            line by line.</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line"><tt class="py-docstring">            Another getSub method exists to retrieve the full text</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">        <tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-name">text</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">nLines</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lines</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt id="link-2" class="py-name"><a title="Subtitles.Line
+Subtitles.Line.Line" class="py-name" href="#" onclick="return doclink('link-2', 'Line', 'link-0');">Line</a></tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line">     </tt>
+<a name="Sub.getSubText"></a><div id="Sub.getSubText-def"><a name="L67"></a><tt class="py-lineno">67</tt> <a class="py-toggle" href="#" id="Sub.getSubText-toggle" onclick="return toggle('Sub.getSubText');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Sub.Sub-class.html#getSubText">getSubText</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Sub.getSubText-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Sub.getSubText-expanded"><a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line"><tt class="py-docstring">            Retrieve the full subtitle text.</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line"><tt class="py-docstring">            The data model is yet to be defined.</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line">        <tt class="py-name">fullText</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">73</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">nLines</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line">            <tt class="py-name">fullText</tt> <tt class="py-op">+=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lines</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">75</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">fullText</tt> </tt>
+</div><a name="L76"></a><tt class="py-lineno">76</tt>  <tt class="py-line">         </tt>
+<a name="Sub.setSubText"></a><div id="Sub.setSubText-def"><a name="L77"></a><tt class="py-lineno">77</tt> <a class="py-toggle" href="#" id="Sub.setSubText-toggle" onclick="return toggle('Sub.setSubText');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Sub.Sub-class.html#setSubText">setSubText</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Sub.setSubText-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="Sub.setSubText-expanded"><a name="L78"></a><tt class="py-lineno">78</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">79</tt>  <tt class="py-line"><tt class="py-docstring">            Set the subtitle text and this method will rearrange the</tt> </tt>
+<a name="L80"></a><tt class="py-lineno">80</tt>  <tt class="py-line"><tt class="py-docstring">            structure of lines as well as all other attributes.</tt> </tt>
+<a name="L81"></a><tt class="py-lineno">81</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L82"></a><tt class="py-lineno">82</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
+</div></div><a name="L83"></a><tt class="py-lineno">83</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles.Sub.Sub-class.html
===================================================================
--- trunk/subtle/docs/html/Subtitles.Sub.Sub-class.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles.Sub.Sub-class.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,287 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles.Sub.Sub</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="Subtitles-module.html">Package&nbsp;Subtitles</a> ::
+        <a href="Subtitles.Sub-module.html" onclick="show_private();">Module&nbsp;Sub</a> ::
+        Class&nbsp;Sub
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles.Sub.Sub-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Sub</h1><p class="nomargin-top"><span class="codelink"><a href="Subtitles.Sub-pysrc.html#Sub">source&nbsp;code</a></span></p>
+<p>The Sub class, is the class that handles each subtitle 
+  individually</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">text</span>)</span><br />
+      Init all the variables</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Sub-pysrc.html#Sub.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="isInTime"></a><span class="summary-sig-name">isInTime</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">time</span>)</span><br />
+      Is it time to display a subtitle?</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Sub-pysrc.html#Sub.isInTime">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="Subtitles.Sub.Sub-class.html#_processText" class="summary-sig-name" onclick="show_private();">_processText</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">text</span>)</span><br />
+      We should parse the full text of a subtitle and divide it line by 
+      line.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Sub-pysrc.html#Sub._processText">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="Subtitles.Sub.Sub-class.html#getSubText" class="summary-sig-name">getSubText</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Retrieve the full subtitle text.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Sub-pysrc.html#Sub.getSubText">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="setSubText"></a><span class="summary-sig-name">setSubText</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">text</span>)</span><br />
+      Set the subtitle text and this method will rearrange the structure of
+      lines as well as all other attributes.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Sub-pysrc.html#Sub.setSubText">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="_processText"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_processText</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">text</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="Subtitles.Sub-pysrc.html#Sub._processText">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>We should parse the full text of a subtitle and divide it line by 
+  line. Another getSub method exists to retrieve the full text</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getSubText"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getSubText</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="Subtitles.Sub-pysrc.html#Sub.getSubText">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Retrieve the full subtitle text. The data model is yet to be 
+  defined.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles.SubRip-module.html
===================================================================
--- trunk/subtle/docs/html/Subtitles.SubRip-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles.SubRip-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles.SubRip</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="Subtitles-module.html">Package&nbsp;Subtitles</a> ::
+        Module&nbsp;SubRip
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles.SubRip-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module SubRip</h1><p class="nomargin-top"><span class="codelink"><a href="Subtitles.SubRip-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="Subtitles.SubRip.SubRip-class.html" class="summary-name">SubRip</a><br />
+      This class handles the SubRip subtitle format
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="discover"></a><span class="summary-sig-name">discover</span>(<span class="summary-sig-arg">file</span>)</span><br />
+      Every subtitle should have a discover function and return true if it 
+      should handle the requested file.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.SubRip-pysrc.html#discover">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="FRAMERATE"></a><span class="summary-name">FRAMERATE</span> = <code title="25.0">25.0</code>
+    </td>
+  </tr>
+</table>
+<p class="indent-wrapped-lines"><b>Imports:</b>
+  <span title="os">os</span>,
+  <span title="string">string</span>,
+  <span title="re">re</span>,
+  <span title="codecs">codecs</span>,
+  <span title="magic">magic</span>,
+  <a href="Subtitles.Subtitles.Subtitles-class.html" title="Subtitles.Subtitles.Subtitles">Subtitles</a>,
+  <a href="Subtitles.Line.Line-class.html" title="Subtitles.Line.Line">Line</a>,
+  <a href="Subtitles.Sub.Sub-class.html" title="Subtitles.Sub.Sub">Sub</a>
+</p><br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:36 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles.SubRip-pysrc.html
===================================================================
--- trunk/subtle/docs/html/Subtitles.SubRip-pysrc.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles.SubRip-pysrc.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,307 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles.SubRip</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="Subtitles-module.html">Package&nbsp;Subtitles</a> ::
+        Module&nbsp;SubRip
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles.SubRip-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="Subtitles.SubRip-module.html">Module Subtitles.SubRip</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       SubRip.py</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Copyright 2008 Joao Mesquita &lt;jmesquita at gmail.com&gt;</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       This program is free software; you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       the Free Software Foundation; either version 3 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       This program is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       along with this program; if not, write to the Free Software</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       MA 02110-1301, USA.</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">codecs</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-comment"># This is not the best option since we rely on Linux-only</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Make use of file command to check on the file type</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">magic</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"We need python-magic, otherwise, this format will not be \</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-string">    supported"</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">    <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exit</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package Subtitles=Subtitles-module.html,Module Subtitles.Subtitles=Subtitles.Subtitles-module.html,Class Subtitles.Subtitles.Subtitles=Subtitles.Subtitles.Subtitles-class.html"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-0', 'Subtitles', 'link-0');">Subtitles</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-1', 'Subtitles', 'link-0');">Subtitles</a></tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name" targets="Module Subtitles.Sub=Subtitles.Sub-module.html,Class Subtitles.Sub.Sub=Subtitles.Sub.Sub-class.html"><a title="Subtitles.Sub
+Subtitles.Sub.Sub" class="py-name" href="#" onclick="return doclink('link-2', 'Sub', 'link-2');">Sub</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable Subtitles.Softni.FRAMERATE=Subtitles.Softni-module.html#FRAMERATE,Variable Subtitles.SubRip.FRAMERATE=Subtitles.SubRip-module.html#FRAMERATE"><a title="Subtitles.Softni.FRAMERATE
+Subtitles.SubRip.FRAMERATE" class="py-name" href="#" onclick="return doclink('link-3', 'FRAMERATE', 'link-3');">FRAMERATE</a></tt><tt class="py-op">=</tt><tt class="py-number">25.00</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
+<a name="discover"></a><div id="discover-def"><a name="L41"></a><tt class="py-lineno"> 41</tt> <a class="py-toggle" href="#" id="discover-toggle" onclick="return toggle('discover');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.SubRip-module.html#discover">discover</a><tt class="py-op">(</tt><tt class="py-param">file</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="discover-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="discover-expanded"><a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-docstring">        Every subtitle should have a discover function</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-docstring">        and return true if it should handle the requested</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">        file.</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt>  </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">    <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">magic</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">magic</tt><tt class="py-op">.</tt><tt class="py-name">MAGIC_COMPRESS</tt> <tt class="py-op">|</tt> <tt class="py-name">magic</tt><tt class="py-op">.</tt><tt class="py-name">MAGIC_MIME</tt><tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">    <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">load</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">     </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"text"</tt><tt class="py-op">:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-comment"># Open file and read it</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">,</tt> <tt class="py-string">"r"</tt><tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">     </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">    <tt class="py-comment"># Test for SubRip by matching the header</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-name">rawstr</tt> <tt class="py-op">=</tt> <tt class="py-string">r"""^(?P&lt;counter&gt;\d+)\s*</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-string">                ^(?P&lt;ts_from&gt;\d{2}:\d{2}:\d{2},\d{3})\s*--&gt;\s*(?P&lt;ts_to&gt;\d{2}:\d{2}:\d{2},\d{3})\r?"""</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">    <tt class="py-name">regex</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-name">rawstr</tt><tt class="py-op">,</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">MULTILINE</tt><tt class="py-op">|</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">VERBOSE</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">regex</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> </tt>
+</div><a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"> </tt>
+<a name="SubRip"></a><div id="SubRip-def"><a name="L67"></a><tt class="py-lineno"> 67</tt> <a class="py-toggle" href="#" id="SubRip-toggle" onclick="return toggle('SubRip');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Subtitles.SubRip.SubRip-class.html">SubRip</a><tt class="py-op">(</tt><tt class="py-base-class">Subtitles</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SubRip-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SubRip-expanded"><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring">        This class handles the SubRip subtitle format</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">     </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">    <tt class="py-comment">## Load subtitles.</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Load subtitles from file.</tt> </tt>
+<a name="SubRip.__init__"></a><div id="SubRip.__init__-def"><a name="L74"></a><tt class="py-lineno"> 74</tt> <a class="py-toggle" href="#" id="SubRip.__init__-toggle" onclick="return toggle('SubRip.__init__');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.SubRip.SubRip-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SubRip.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubRip.__init__-expanded"><a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt id="link-4" class="py-name"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-4', 'Subtitles', 'link-0');">Subtitles</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method GPlayer.GstPlayer.__init__()=GPlayer.GstPlayer-class.html#__init__,Method GPlayer.VideoWidget.__init__()=GPlayer.VideoWidget-class.html#__init__,Method MediaInfo.MediaInfo.__init__()=MediaInfo.MediaInfo-class.html#__init__,Method Subtitles.Line.Line.__init__()=Subtitles.Line.Line-class.html#__init__,Method Subtitles.Softni.Softni.__init__()=Subtitles.Softni.Softni-class.html#__init__,Method Subtitles.Sub.Sub.__init__()=Subtitles.Sub.Sub-class.html#__init__,Method Subtitles.SubRip.SubRip.__init__()=Subtitles.SubRip.SubRip-class.html#__init__,Method Subtitles.Subtitles.Subtitles.__init__()=Subtitles.Subtitles.Subtitles-class.html#__init__,Method Subtle.Subtle.__init__()=Subtle.Subtle-class.html#__init__"><a title="GPlayer.GstPlayer.__init__
+GPlayer.VideoWidget.__init__
+MediaInfo.MediaInfo.__init__
+Subtitles.Line.Line.__init__
+Subtitles.Softni.Softni.__init__
+Subtitles.Sub.Sub.__init__
+Subtitles.SubRip.SubRip.__init__
+Subtitles.Subtitles.Subtitles.__init__
+Subtle.Subtle.__init__" class="py-name" href="#" onclick="return doclink('link-5', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">         </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-comment"># Set the file encoding</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">magic</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">magic</tt><tt class="py-op">.</tt><tt class="py-name">MAGIC_COMPRESS</tt> <tt class="py-op">|</tt> <tt class="py-name">magic</tt><tt class="py-op">.</tt><tt class="py-name">MAGIC_MIME</tt><tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">load</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">encoding</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">file</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'='</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">         </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-name">FILE</tt> <tt class="py-op">=</tt> <tt class="py-name">codecs</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">encoding</tt><tt class="py-op">)</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-name">DATA</tt> <tt class="py-op">=</tt> <tt class="py-name">FILE</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-name">FILE</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">         </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subType</tt><tt class="py-op">=</tt><tt class="py-string">"SubRip"</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method Subtitles.SubRip.SubRip._subSRTLoadFromString()=Subtitles.SubRip.SubRip-class.html#_subSRTLoadFromString"><a title="Subtitles.SubRip.SubRip._subSRTLoadFromString" class="py-name" href="#" onclick="return doclink('link-6', '_subSRTLoadFromString', 'link-6');">_subSRTLoadFromString</a></tt><tt class="py-op">(</tt><tt class="py-name">DATA</tt><tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">    <tt class="py-comment">## Save subtitles.</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Save subtitles to the file.</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param FN - file name.</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param format - the store format of subtitles. (NOT USED YET)</tt> </tt>
+<a name="SubRip.subSave"></a><div id="SubRip.subSave-def"><a name="L95"></a><tt class="py-lineno"> 95</tt> <a class="py-toggle" href="#" id="SubRip.subSave-toggle" onclick="return toggle('SubRip.subSave');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.SubRip.SubRip-class.html#subSave">subSave</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">FN</tt><tt class="py-op">,</tt> <tt class="py-param">format</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SubRip.subSave-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubRip.subSave-expanded"><a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-name">FUN</tt><tt class="py-op">=</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">FN</tt><tt class="py-op">,</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">O_WRONLY</tt><tt class="py-op">|</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">O_CREAT</tt><tt class="py-op">|</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">O_TRUNC</tt><tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">N</tt><tt class="py-op">=</tt><tt class="py-number">1</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subKeys</tt><tt class="py-op">:</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt class="py-name">SUB</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">[</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-name">Text</tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">N</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\r\n"</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">            <tt class="py-name">Hour</tt><tt class="py-op">,</tt> <tt class="py-name">Min</tt><tt class="py-op">,</tt> <tt class="py-name">Sec</tt><tt class="py-op">,</tt> <tt class="py-name">MSec</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method Subtitles.SubRip.SubRip._subTime2SRTtime()=Subtitles.SubRip.SubRip-class.html#_subTime2SRTtime"><a title="Subtitles.SubRip.SubRip._subTime2SRTtime" class="py-name" href="#" onclick="return doclink('link-7', '_subTime2SRTtime', 'link-7');">_subTime2SRTtime</a></tt><tt class="py-op">(</tt><tt class="py-name">SUB</tt><tt class="py-op">.</tt><tt class="py-name">start_time</tt><tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">            <tt class="py-name">Text</tt><tt class="py-op">+=</tt><tt class="py-string">"%02d:%02d:%02d,%03d"</tt><tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">Hour</tt><tt class="py-op">,</tt> <tt class="py-name">Min</tt><tt class="py-op">,</tt> <tt class="py-name">Sec</tt><tt class="py-op">,</tt> <tt class="py-name">MSec</tt><tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">            <tt class="py-name">Text</tt><tt class="py-op">+=</tt><tt class="py-string">" --&gt; "</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-name">Hour</tt><tt class="py-op">,</tt> <tt class="py-name">Min</tt><tt class="py-op">,</tt> <tt class="py-name">Sec</tt><tt class="py-op">,</tt> <tt class="py-name">MSec</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="Subtitles.SubRip.SubRip._subTime2SRTtime" class="py-name" href="#" onclick="return doclink('link-8', '_subTime2SRTtime', 'link-7');">_subTime2SRTtime</a></tt><tt class="py-op">(</tt><tt class="py-name">SUB</tt><tt class="py-op">.</tt><tt class="py-name">end_time</tt><tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">            <tt class="py-name">Text</tt><tt class="py-op">+=</tt><tt class="py-string">"%02d:%02d:%02d,%03d"</tt><tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">Hour</tt><tt class="py-op">,</tt> <tt class="py-name">Min</tt><tt class="py-op">,</tt> <tt class="py-name">Sec</tt><tt class="py-op">,</tt> <tt class="py-name">MSec</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\r\n"</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">            <tt class="py-name">Text</tt><tt class="py-op">+=</tt><tt class="py-name">SUB</tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">+</tt><tt class="py-string">"\r\n"</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">SUB</tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">!=</tt><tt class="py-string">"\r\n"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                <tt class="py-name">Text</tt><tt class="py-op">+=</tt><tt class="py-string">"\r\n"</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">FUN</tt><tt class="py-op">,</tt> <tt class="py-name">Text</tt><tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-name">N</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-name">FUN</tt><tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">         </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">    <tt class="py-comment">## Convert subtitle time to SRT format.</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Convert subtitle time for saving in SRT subtitles file.</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param time - subtitle time.</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \return list of: hour, minute, second and milisecond</tt> </tt>
+<a name="SubRip._subTime2SRTtime"></a><div id="SubRip._subTime2SRTtime-def"><a name="L118"></a><tt class="py-lineno">118</tt> <a class="py-toggle" href="#" id="SubRip._subTime2SRTtime-toggle" onclick="return toggle('SubRip._subTime2SRTtime');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.SubRip.SubRip-class.html#_subTime2SRTtime">_subTime2SRTtime</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">time</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SubRip._subTime2SRTtime-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubRip._subTime2SRTtime-expanded"><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-name">tTime</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-name">MSec</tt> <tt class="py-op">=</tt> <tt class="py-name">tTime</tt><tt class="py-op">%</tt><tt class="py-number">1000</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-name">tTime</tt> <tt class="py-op">/=</tt><tt class="py-number">1000</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-name">Sec</tt> <tt class="py-op">=</tt> <tt class="py-name">tTime</tt><tt class="py-op">%</tt><tt class="py-number">60</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-name">tTime</tt> <tt class="py-op">/=</tt> <tt class="py-number">60</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-name">Min</tt> <tt class="py-op">=</tt> <tt class="py-name">tTime</tt><tt class="py-op">%</tt><tt class="py-number">60</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-name">Hour</tt> <tt class="py-op">=</tt> <tt class="py-name">tTime</tt><tt class="py-op">/</tt><tt class="py-number">60</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">Hour</tt><tt class="py-op">,</tt> <tt class="py-name">Min</tt><tt class="py-op">,</tt> <tt class="py-name">Sec</tt><tt class="py-op">,</tt> <tt class="py-name">MSec</tt> </tt>
+</div><a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">    <tt class="py-comment">## Load SRT formated subtitles.</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Load SRT formated subtitles from given string.</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param DATA - string of SRT subtitles.</tt> </tt>
+<a name="SubRip._subSRTLoadFromString"></a><div id="SubRip._subSRTLoadFromString-def"><a name="L131"></a><tt class="py-lineno">131</tt> <a class="py-toggle" href="#" id="SubRip._subSRTLoadFromString-toggle" onclick="return toggle('SubRip._subSRTLoadFromString');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.SubRip.SubRip-class.html#_subSRTLoadFromString">_subSRTLoadFromString</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">DATA</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="SubRip._subSRTLoadFromString-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SubRip._subSRTLoadFromString-expanded"><a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">num_sub</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-name">DATA</tt><tt class="py-op">,</tt> <tt class="py-string">"\r\n"</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-name">DATA</tt><tt class="py-op">=</tt><tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-name">DATA</tt><tt class="py-op">,</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">            <tt class="py-name">DATA</tt><tt class="py-op">=</tt><tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-name">DATA</tt><tt class="py-op">,</tt><tt class="py-string">"\r\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-name">i</tt><tt class="py-op">=</tt><tt class="py-number">0</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">&lt;</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">DATA</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">&gt;=</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">DATA</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt class="py-name">N</tt> <tt class="py-op">=</tt> <tt class="py-name">DATA</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">            <tt class="py-name">i</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">&gt;=</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">DATA</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-name">Timing</tt> <tt class="py-op">=</tt> <tt class="py-name">DATA</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">            <tt class="py-name">Text</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">;</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt class="py-name">i</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">&gt;=</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">DATA</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt><tt class="py-op">(</tt><tt class="py-name">DATA</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">!=</tt><tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">                <tt class="py-name">Text</tt><tt class="py-op">=</tt><tt class="py-name">Text</tt><tt class="py-op">+</tt><tt class="py-name">DATA</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">                <tt class="py-name">i</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">            <tt class="py-name">i</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt class="py-name">Text</tt><tt class="py-op">=</tt><tt class="py-name">Text</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">            <tt class="py-name">ST</tt><tt class="py-op">=</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">Timing</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-number">3600000</tt><tt class="py-op">+</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">Timing</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">:</tt><tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-number">60000</tt><tt class="py-op">+</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">Timing</tt><tt class="py-op">[</tt><tt class="py-number">6</tt><tt class="py-op">:</tt><tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="p
 y-op">)</tt><tt class="py-op">*</tt><tt class="py-number">1000</tt><tt class="py-op">+</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">Timing</tt><tt class="py-op">[</tt><tt class="py-number">9</tt><tt class="py-op">:</tt><tt class="py-number">12</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">            <tt class="py-name">ET</tt><tt class="py-op">=</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">Timing</tt><tt class="py-op">[</tt><tt class="py-number">17</tt><tt class="py-op">:</tt><tt class="py-number">19</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-number">3600000</tt><tt class="py-op">+</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">Timing</tt><tt class="py-op">[</tt><tt class="py-number">20</tt><tt class="py-op">:</tt><tt class="py-number">22</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-number">60000</tt><tt class="py-op">+</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">Timing</tt><tt class="py-op">[</tt><tt class="py-number">23</tt><tt class="py-op">:</tt><tt class="py-number">25</tt><tt class="py-op">]</tt><tt cl
 ass="py-op">)</tt><tt class="py-op">*</tt><tt class="py-number">1000</tt><tt class="py-op">+</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">Timing</tt><tt class="py-op">[</tt><tt class="py-number">26</tt><tt class="py-op">:</tt><tt class="py-number">29</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">             </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">            <tt class="py-name">TS</tt><tt class="py-op">=</tt><tt id="link-9" class="py-name"><a title="Subtitles.Sub
+Subtitles.Sub.Sub" class="py-name" href="#" onclick="return doclink('link-9', 'Sub', 'link-2');">Sub</a></tt><tt class="py-op">(</tt><tt class="py-name">Text</tt><tt class="py-op">)</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">            <tt class="py-name">num_sub</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">            <tt class="py-comment">#TS.text=Text</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-name">TS</tt><tt class="py-op">.</tt><tt class="py-name">start_time</tt><tt class="py-op">=</tt><tt class="py-name">ST</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">            <tt class="py-name">TS</tt><tt class="py-op">.</tt><tt class="py-name">end_time</tt><tt class="py-op">=</tt><tt class="py-name">ET</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">            <tt class="py-name">TS</tt><tt class="py-op">.</tt><tt class="py-name">start_frame</tt><tt class="py-op">=</tt><tt class="py-name">ST</tt><tt class="py-op">*</tt><tt id="link-10" class="py-name"><a title="Subtitles.Softni.FRAMERATE
+Subtitles.SubRip.FRAMERATE" class="py-name" href="#" onclick="return doclink('link-10', 'FRAMERATE', 'link-3');">FRAMERATE</a></tt><tt class="py-op">/</tt><tt class="py-number">1000</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">            <tt class="py-name">TS</tt><tt class="py-op">.</tt><tt class="py-name">end_frame</tt><tt class="py-op">=</tt><tt class="py-name">ET</tt><tt class="py-op">*</tt><tt id="link-11" class="py-name"><a title="Subtitles.Softni.FRAMERATE
+Subtitles.SubRip.FRAMERATE" class="py-name" href="#" onclick="return doclink('link-11', 'FRAMERATE', 'link-3');">FRAMERATE</a></tt><tt class="py-op">/</tt><tt class="py-number">1000</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">            <tt class="py-name">TS</tt><tt class="py-op">.</tt><tt class="py-name">number</tt> <tt class="py-op">=</tt> <tt class="py-name">num_sub</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">[</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">ST</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">TS</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method Subtitles.Subtitles.Subtitles.updateKeys()=Subtitles.Subtitles.Subtitles-class.html#updateKeys"><a title="Subtitles.Subtitles.Subtitles.updateKeys" class="py-name" href="#" onclick="return doclink('link-12', 'updateKeys', 'link-12');">updateKeys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles.SubRip.SubRip-class.html
===================================================================
--- trunk/subtle/docs/html/Subtitles.SubRip.SubRip-class.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles.SubRip.SubRip-class.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,282 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles.SubRip.SubRip</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="Subtitles-module.html">Package&nbsp;Subtitles</a> ::
+        <a href="Subtitles.SubRip-module.html">Module&nbsp;SubRip</a> ::
+        Class&nbsp;SubRip
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles.SubRip.SubRip-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class SubRip</h1><p class="nomargin-top"><span class="codelink"><a href="Subtitles.SubRip-pysrc.html#SubRip">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_subtitle_2" name="uml_class_diagram_for_subtitle_2">
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#subDel" title="Subtitles.Subtitles.Subtitles.subDel" alt="" coords="17,36,327,55"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#subAdd" title="Subtitles.Subtitles.Subtitles.subAdd" alt="" coords="17,55,327,73"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#updateKeys" title="Subtitles.Subtitles.Subtitles.updateKeys" alt="" coords="17,73,327,92"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#updateText" title="Subtitles.Subtitles.Subtitles.updateText" alt="" coords="17,92,327,111"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#subUpdate" title="Subtitles.Subtitles.Subtitles.subUpdate" alt="" coords="17,111,327,129"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#getSub" title="Subtitles.Subtitles.Subtitles.getSub" alt="" coords="17,129,327,148"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#getSupportedTypes" title="Subtitles.Subtitles.Subtitles.getSupportedTypes" alt="" coords="17,148,327,167"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html" title="This class defines all the interface for the application to handle subtitles and to ease the implementation of new formats" alt="" coords="16,11,328,168"/>
+<area shape="rect" href="Subtitles.SubRip.SubRip-class.html#__init__" title="Initialize all the attributes needed to handle all types of subtitle &#160;formats as well as their manipulation" alt="" coords="96,223,248,241"/>
+<area shape="rect" href="Subtitles.SubRip.SubRip-class.html#subSave" title="Subtitles.SubRip.SubRip.subSave" alt="" coords="96,241,248,260"/>
+<area shape="rect" href="Subtitles.SubRip.SubRip-class.html" title="This class handles the SubRip subtitle format" alt="" coords="95,197,249,261"/>
+</map>
+  <img src="uml_class_diagram_for_subtitle_2.gif" alt='' usemap="#uml_class_diagram_for_subtitle_2" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<p>This class handles the SubRip subtitle format</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="Subtitles.SubRip.SubRip-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">filename</span>)</span><br />
+      Initialize all the attributes needed to handle all types of subtitle 
+      formats as well as their manipulation</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.SubRip-pysrc.html#SubRip.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="subSave"></a><span class="summary-sig-name">subSave</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">FN</span>,
+        <span class="summary-sig-arg">format</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.SubRip-pysrc.html#SubRip.subSave">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_subTime2SRTtime"></a><span class="summary-sig-name">_subTime2SRTtime</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">time</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.SubRip-pysrc.html#SubRip._subTime2SRTtime">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_subSRTLoadFromString"></a><span class="summary-sig-name">_subSRTLoadFromString</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">DATA</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.SubRip-pysrc.html#SubRip._subSRTLoadFromString">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="Subtitles.Subtitles.Subtitles-class.html">Subtitles.Subtitles</a></code></b>:
+      <code><a href="Subtitles.Subtitles.Subtitles-class.html#getSub">getSub</a></code>,
+      <code><a href="Subtitles.Subtitles.Subtitles-class.html#getSupportedTypes">getSupportedTypes</a></code>,
+      <code><a href="Subtitles.Subtitles.Subtitles-class.html#subAdd">subAdd</a></code>,
+      <code><a href="Subtitles.Subtitles.Subtitles-class.html#subDel">subDel</a></code>,
+      <code><a href="Subtitles.Subtitles.Subtitles-class.html#subUpdate">subUpdate</a></code>,
+      <code><a href="Subtitles.Subtitles.Subtitles-class.html#updateKeys">updateKeys</a></code>,
+      <code><a href="Subtitles.Subtitles.Subtitles-class.html#updateText">updateText</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">filename</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="Subtitles.SubRip-pysrc.html#SubRip.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Initialize all the attributes needed to handle all types of subtitle 
+  formats as well as their manipulation</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="Subtitles.Subtitles.Subtitles-class.html#__init__">Subtitles.Subtitles.__init__</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles.Subtitles-module.html
===================================================================
--- trunk/subtle/docs/html/Subtitles.Subtitles-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles.Subtitles-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles.Subtitles</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="Subtitles-module.html">Package&nbsp;Subtitles</a> ::
+        Module&nbsp;Subtitles
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles.Subtitles-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module Subtitles</h1><p class="nomargin-top"><span class="codelink"><a href="Subtitles.Subtitles-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="Subtitles.Subtitles.Subtitles-class.html" class="summary-name">Subtitles</a><br />
+      This class defines all the interface for the application to handle 
+        subtitles and to ease the implementation of new formats
+    </td>
+  </tr>
+</table>
+<p class="indent-wrapped-lines"><b>Imports:</b>
+  <span title="os">os</span>,
+  <span title="string">string</span>,
+  <a href="Subtitles.Line.Line-class.html" title="Subtitles.Line.Line">Line</a>,
+  <a href="Subtitles.Sub.Sub-class.html" title="Subtitles.Sub.Sub">Sub</a>
+</p><br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:36 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles.Subtitles-pysrc.html
===================================================================
--- trunk/subtle/docs/html/Subtitles.Subtitles-pysrc.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles.Subtitles-pysrc.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles.Subtitles</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="Subtitles-module.html">Package&nbsp;Subtitles</a> ::
+        Module&nbsp;Subtitles
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles.Subtitles-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="Subtitles.Subtitles-module.html">Module Subtitles.Subtitles</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Subtitles.py</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Copyright 2008 Joao Mesquita &lt;jmesquita at gmail.com&gt;</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       This program is free software; you can redistribute it and/or modify</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       the Free Software Foundation; either version 3 of the License, or</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       (at your option) any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       This program is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       GNU General Public License for more details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       </tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       along with this program; if not, write to the Free Software</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#       MA 02110-1301, USA.</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-comment"># Subtle imports</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module Subtitles.Sub=Subtitles.Sub-module.html,Class Subtitles.Sub.Sub=Subtitles.Sub.Sub-class.html"><a title="Subtitles.Sub
+Subtitles.Sub.Sub" class="py-name" href="#" onclick="return doclink('link-0', 'Sub', 'link-0');">Sub</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"> </tt>
+<a name="Subtitles"></a><div id="Subtitles-def"><a name="L28"></a><tt class="py-lineno"> 28</tt> <a class="py-toggle" href="#" id="Subtitles-toggle" onclick="return toggle('Subtitles');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Subtitles.Subtitles.Subtitles-class.html">Subtitles</a><tt class="py-op">:</tt> </tt>
+</div><div id="Subtitles-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Subtitles-expanded"><a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-docstring">        This class defines all the interface for the application to handle</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring">        subtitles and to ease the implementation of new formats</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">     </tt>
+<a name="Subtitles.__init__"></a><div id="Subtitles.__init__-def"><a name="L34"></a><tt class="py-lineno"> 34</tt> <a class="py-toggle" href="#" id="Subtitles.__init__-toggle" onclick="return toggle('Subtitles.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Subtitles.Subtitles-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">FN</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtitles.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtitles.__init__-expanded"><a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring">            Initialize all the attributes needed to handle</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-docstring">            all types of subtitle formats as well as their manipulation</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subKeys</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">FN</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Support more subtitles types</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subType</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">encoding</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-comment">## Delete subtitle.</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Delete subtitle from subtitles array.</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param time - key of subtitle in "subs" list.</tt> </tt>
+<a name="Subtitles.subDel"></a><div id="Subtitles.subDel-def"><a name="L50"></a><tt class="py-lineno"> 50</tt> <a class="py-toggle" href="#" id="Subtitles.subDel-toggle" onclick="return toggle('Subtitles.subDel');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Subtitles.Subtitles-class.html#subDel">subDel</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">time</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtitles.subDel-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtitles.subDel-expanded"><a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">[</tt><tt class="py-name">time</tt><tt class="py-op">]</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method Subtitles.Subtitles.Subtitles.updateKeys()=Subtitles.Subtitles.Subtitles-class.html#updateKeys"><a title="Subtitles.Subtitles.Subtitles.updateKeys" class="py-name" href="#" onclick="return doclink('link-1', 'updateKeys', 'link-1');">updateKeys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">         </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">    <tt class="py-comment">## Add subtitle.</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Add subtitle to the "subs" list.</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param STime - start time of the subtitle.</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param ETime - end time of the subtitle.</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param Attrs - attributes of the subtitle.</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param isUpdate - to update (or not) keys array of "subs" list.</tt> </tt>
+<a name="Subtitles.subAdd"></a><div id="Subtitles.subAdd-def"><a name="L60"></a><tt class="py-lineno"> 60</tt> <a class="py-toggle" href="#" id="Subtitles.subAdd-toggle" onclick="return toggle('Subtitles.subAdd');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Subtitles.Subtitles-class.html#subAdd">subAdd</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">STime</tt><tt class="py-op">,</tt> <tt class="py-param">ETime</tt><tt class="py-op">,</tt> <tt class="py-param">Text</tt><tt class="py-op">,</tt> <tt class="py-param">Attrs</tt><tt class="py-op">,</tt> <tt class="py-param">isUpdate</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtitles.subAdd-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtitles.subAdd-expanded"><a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-name">TS</tt><tt class="py-op">=</tt><tt id="link-2" class="py-name"><a title="Subtitles.Sub
+Subtitles.Sub.Sub" class="py-name" href="#" onclick="return doclink('link-2', 'Sub', 'link-0');">Sub</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-name">TS</tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">=</tt><tt class="py-name">Text</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-name">TS</tt><tt class="py-op">.</tt><tt class="py-name">start_time</tt><tt class="py-op">=</tt><tt class="py-name">STime</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-name">TS</tt><tt class="py-op">.</tt><tt class="py-name">end_time</tt><tt class="py-op">=</tt><tt class="py-name">ETime</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-name">TS</tt><tt class="py-op">.</tt><tt class="py-name">Attributes</tt><tt class="py-op">=</tt><tt class="py-name">Attrs</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">[</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">STime</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">TS</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isUpdate</tt><tt class="py-op">==</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name"><a title="Subtitles.Subtitles.Subtitles.updateKeys" class="py-name" href="#" onclick="return doclink('link-3', 'updateKeys', 'link-1');">updateKeys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-comment">## Update keys array.</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Update array of "subs" keys.</tt> </tt>
+<a name="Subtitles.updateKeys"></a><div id="Subtitles.updateKeys-def"><a name="L72"></a><tt class="py-lineno"> 72</tt> <a class="py-toggle" href="#" id="Subtitles.updateKeys-toggle" onclick="return toggle('Subtitles.updateKeys');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Subtitles.Subtitles-class.html#updateKeys">updateKeys</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtitles.updateKeys-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtitles.updateKeys-expanded"><a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subKeys</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subKeys</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">    <tt class="py-comment">## Update sub text.</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Update text for sub.</tt> </tt>
+<a name="Subtitles.updateText"></a><div id="Subtitles.updateText-def"><a name="L78"></a><tt class="py-lineno"> 78</tt> <a class="py-toggle" href="#" id="Subtitles.updateText-toggle" onclick="return toggle('Subtitles.updateText');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Subtitles.Subtitles-class.html#updateText">updateText</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtitles.updateText-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtitles.updateText-expanded"><a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">text</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Subkey %s not found"</tt> <tt class="py-op">%</tt> <tt class="py-name">key</tt> </tt>
+</div><a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">    <tt class="py-comment">## Update subtitle.</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Update subtitle key.</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param upSubKey - subtitle to update.</tt> </tt>
+<a name="Subtitles.subUpdate"></a><div id="Subtitles.subUpdate-def"><a name="L87"></a><tt class="py-lineno"> 87</tt> <a class="py-toggle" href="#" id="Subtitles.subUpdate-toggle" onclick="return toggle('Subtitles.subUpdate');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Subtitles.Subtitles-class.html#subUpdate">subUpdate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">upSubKey</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtitles.subUpdate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtitles.subUpdate-expanded"><a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt id="link-4" class="py-name"><a title="Subtitles.Sub
+Subtitles.Sub.Sub" class="py-name" href="#" onclick="return doclink('link-4', 'Sub', 'link-0');">Sub</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">[</tt><tt class="py-name">upSubKey</tt><tt class="py-op">]</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method Subtitles.Subtitles.Subtitles.subDel()=Subtitles.Subtitles.Subtitles-class.html#subDel"><a title="Subtitles.Subtitles.Subtitles.subDel" class="py-name" href="#" onclick="return doclink('link-5', 'subDel', 'link-5');">subDel</a></tt><tt class="py-op">(</tt><tt class="py-name">upSubKey</tt><tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method Subtitles.Subtitles.Subtitles.subAdd()=Subtitles.Subtitles.Subtitles-class.html#subAdd"><a title="Subtitles.Subtitles.Subtitles.subAdd" class="py-name" href="#" onclick="return doclink('link-6', 'subAdd', 'link-6');">subAdd</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="Subtitles.Sub
+Subtitles.Sub.Sub" class="py-name" href="#" onclick="return doclink('link-7', 'Sub', 'link-0');">Sub</a></tt><tt class="py-op">.</tt><tt class="py-name">start_time</tt><tt class="py-op">,</tt> <tt id="link-8" class="py-name"><a title="Subtitles.Sub
+Subtitles.Sub.Sub" class="py-name" href="#" onclick="return doclink('link-8', 'Sub', 'link-0');">Sub</a></tt><tt class="py-op">.</tt><tt class="py-name">end_time</tt><tt class="py-op">,</tt> <tt id="link-9" class="py-name"><a title="Subtitles.Sub
+Subtitles.Sub.Sub" class="py-name" href="#" onclick="return doclink('link-9', 'Sub', 'link-0');">Sub</a></tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">,</tt> <tt id="link-10" class="py-name"><a title="Subtitles.Sub
+Subtitles.Sub.Sub" class="py-name" href="#" onclick="return doclink('link-10', 'Sub', 'link-0');">Sub</a></tt><tt class="py-op">.</tt><tt class="py-name">Attributes</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-comment">## Get subtitle.</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Get subtitle with given time of visibility.</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param time - time of requested subtitle.</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \return subtitle or "None".</tt> </tt>
+<a name="Subtitles.getSub"></a><div id="Subtitles.getSub-def"><a name="L96"></a><tt class="py-lineno"> 96</tt> <a class="py-toggle" href="#" id="Subtitles.getSub-toggle" onclick="return toggle('Subtitles.getSub');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Subtitles.Subtitles-class.html#getSub">getSub</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">time</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtitles.getSub-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtitles.getSub-expanded"><a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">i</tt><tt class="py-op">=</tt><tt class="py-number">0</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subKeys</tt><tt class="py-op">:</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">&gt;=</tt><tt class="py-name">i</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method Subtitles.Sub.Sub.isInTime()=Subtitles.Sub.Sub-class.html#isInTime"><a title="Subtitles.Sub.Sub.isInTime" class="py-name" href="#" onclick="return doclink('link-11', 'isInTime', 'link-11');">isInTime</a></tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">    <tt class="py-comment">## Get subtitle supported types.</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Get subtitle supported types</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \return supported subtitle types </tt> </tt>
+<a name="Subtitles.getSupportedTypes"></a><div id="Subtitles.getSupportedTypes-def"><a name="L110"></a><tt class="py-lineno">110</tt> <a class="py-toggle" href="#" id="Subtitles.getSupportedTypes-toggle" onclick="return toggle('Subtitles.getSupportedTypes');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtitles.Subtitles.Subtitles-class.html#getSupportedTypes">getSupportedTypes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtitles.getSupportedTypes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtitles.getSupportedTypes-expanded"><a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-string">".srt"</tt><tt class="py-op">]</tt> </tt>
+</div></div><a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtitles.Subtitles.Subtitles-class.html
===================================================================
--- trunk/subtle/docs/html/Subtitles.Subtitles.Subtitles-class.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtitles.Subtitles.Subtitles-class.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles.Subtitles.Subtitles</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="Subtitles-module.html">Package&nbsp;Subtitles</a> ::
+        <a href="Subtitles.Subtitles-module.html">Module&nbsp;Subtitles</a> ::
+        Class&nbsp;Subtitles
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtitles.Subtitles.Subtitles-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Subtitles</h1><p class="nomargin-top"><span class="codelink"><a href="Subtitles.Subtitles-pysrc.html#Subtitles">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_subtitle_3" name="uml_class_diagram_for_subtitle_3">
+<area shape="rect" href="Subtitles.Softni.Softni-class.html" title="This class handles the Softni file format" alt="" coords="57,216,143,243"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#__init__" title="Initialize all the attributes needed to handle all types of subtitle &#160;formats as well as their manipulation" alt="" coords="17,36,327,55"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#subDel" title="Subtitles.Subtitles.Subtitles.subDel" alt="" coords="17,55,327,73"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#subAdd" title="Subtitles.Subtitles.Subtitles.subAdd" alt="" coords="17,73,327,92"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#updateKeys" title="Subtitles.Subtitles.Subtitles.updateKeys" alt="" coords="17,92,327,111"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#updateText" title="Subtitles.Subtitles.Subtitles.updateText" alt="" coords="17,111,327,129"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#subUpdate" title="Subtitles.Subtitles.Subtitles.subUpdate" alt="" coords="17,129,327,148"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#getSub" title="Subtitles.Subtitles.Subtitles.getSub" alt="" coords="17,148,327,167"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html#getSupportedTypes" title="Subtitles.Subtitles.Subtitles.getSupportedTypes" alt="" coords="17,167,327,185"/>
+<area shape="rect" href="Subtitles.Subtitles.Subtitles-class.html" title="This class defines all the interface for the application to handle subtitles and to ease the implementation of new formats" alt="" coords="16,11,328,187"/>
+<area shape="rect" href="Subtitles.SubRip.SubRip-class.html" title="This class handles the SubRip subtitle format" alt="" coords="193,216,295,243"/>
+</map>
+  <img src="uml_class_diagram_for_subtitle_3.gif" alt='' usemap="#uml_class_diagram_for_subtitle_3" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<p>This class defines all the interface for the application to handle 
+  subtitles and to ease the implementation of new formats</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">FN</span>)</span><br />
+      Initialize all the attributes needed to handle all types of subtitle 
+      formats as well as their manipulation</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Subtitles-pysrc.html#Subtitles.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="subDel"></a><span class="summary-sig-name">subDel</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">time</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Subtitles-pysrc.html#Subtitles.subDel">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="subAdd"></a><span class="summary-sig-name">subAdd</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">STime</span>,
+        <span class="summary-sig-arg">ETime</span>,
+        <span class="summary-sig-arg">Text</span>,
+        <span class="summary-sig-arg">Attrs</span>,
+        <span class="summary-sig-arg">isUpdate</span>=<span class="summary-sig-default">0</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Subtitles-pysrc.html#Subtitles.subAdd">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="updateKeys"></a><span class="summary-sig-name">updateKeys</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Subtitles-pysrc.html#Subtitles.updateKeys">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="updateText"></a><span class="summary-sig-name">updateText</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">key</span>,
+        <span class="summary-sig-arg">text</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Subtitles-pysrc.html#Subtitles.updateText">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="subUpdate"></a><span class="summary-sig-name">subUpdate</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">upSubKey</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Subtitles-pysrc.html#Subtitles.subUpdate">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getSub"></a><span class="summary-sig-name">getSub</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">time</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Subtitles-pysrc.html#Subtitles.getSub">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getSupportedTypes"></a><span class="summary-sig-name">getSupportedTypes</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtitles.Subtitles-pysrc.html#Subtitles.getSupportedTypes">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtle-module.html
===================================================================
--- trunk/subtle/docs/html/Subtle-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtle-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtle</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Module&nbsp;Subtle
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtle-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module Subtle</h1><p class="nomargin-top"><span class="codelink"><a href="Subtle-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="Subtle.Subtle-class.html" class="summary-name">Subtle</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="ONLINE_MODE"></a><span class="summary-name">ONLINE_MODE</span> = <code title="1">1</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="EDITING_MODE"></a><span class="summary-name">EDITING_MODE</span> = <code title="0">0</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="subtle"></a><span class="summary-name">subtle</span> = <code title="Subtle()">Subtle()</code>
+    </td>
+  </tr>
+</table>
+<p class="indent-wrapped-lines"><b>Imports:</b>
+  <a href="GPlayer.VideoWidget-class.html" title="GPlayer.VideoWidget">VideoWidget</a>,
+  <a href="GPlayer.GstPlayer-class.html" title="GPlayer.GstPlayer">GstPlayer</a>,
+  <span title="sys">sys</span>,
+  <span title="os">os</span>,
+  <a href="MediaInfo.MediaInfo-class.html" title="MediaInfo.MediaInfo">MediaInfo</a>,
+  <span title="SubtleXML.ProjectXML">ProjectXML</span>,
+  <span title="pygtk">pygtk</span>,
+  <span title="gobject">gobject</span>,
+  <span title="gtk">gtk</span>,
+  <span title="gst">gst</span>
+</p><br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:36 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtle-pysrc.html
===================================================================
--- trunk/subtle/docs/html/Subtle-pysrc.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtle-pysrc.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,1103 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtle</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Module&nbsp;Subtle
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtle-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="Subtle-module.html">Module Subtle</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment">#    This file is part of Subtle</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    This program is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    the Free Software Foundation, either version 3 of the License, or</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    (at your option) any later version.</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    This program is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    GNU General Public License for more details.</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module GPlayer=GPlayer-module.html"><a title="GPlayer" class="py-name" href="#" onclick="return doclink('link-0', 'GPlayer', 'link-0');">GPlayer</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Class GPlayer.VideoWidget=GPlayer.VideoWidget-class.html"><a title="GPlayer.VideoWidget" class="py-name" href="#" onclick="return doclink('link-1', 'VideoWidget', 'link-1');">VideoWidget</a></tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="GPlayer" class="py-name" href="#" onclick="return doclink('link-2', 'GPlayer', 'link-0');">GPlayer</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class GPlayer.GstPlayer=GPlayer.GstPlayer-class.html"><a title="GPlayer.GstPlayer" class="py-name" href="#" onclick="return doclink('link-3', 'GstPlayer', 'link-3');">GstPlayer</a></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Package Subtitles=Subtitles-module.html,Module Subtitles.Subtitles=Subtitles.Subtitles-module.html,Class Subtitles.Subtitles.Subtitles=Subtitles.Subtitles.Subtitles-class.html"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-4', 'Subtitles', 'link-4');">Subtitles</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name" targets="Module MediaInfo=MediaInfo-module.html,Class MediaInfo.MediaInfo=MediaInfo.MediaInfo-class.html"><a title="MediaInfo
+MediaInfo.MediaInfo" class="py-name" href="#" onclick="return doclink('link-5', 'MediaInfo', 'link-5');">MediaInfo</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name"><a title="MediaInfo
+MediaInfo.MediaInfo" class="py-name" href="#" onclick="return doclink('link-6', 'MediaInfo', 'link-5');">MediaInfo</a></tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">SubtleXML</tt> <tt class="py-keyword">import</tt> <tt class="py-name">ProjectXML</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">pygtk</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">    <tt class="py-comment">#tell pyGTK, if possible, that we want GTKv2</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-name">pygtk</tt><tt class="py-op">.</tt><tt class="py-name">require</tt><tt class="py-op">(</tt><tt class="py-string">"2.0"</tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">    <tt class="py-comment">#Some distributions come with GTK2, but not pyGTK</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">pass</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">gtk</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">gobject</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">glade</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"You need to install pyGTK or GTKv2 "</tt><tt class="py-op">,</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"or set your PYTHONPATH correctly."</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"try: export PYTHONPATH="</tt><tt class="py-op">,</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"/usr/local/lib/python2.2/site-packages/"</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">    <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exit</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-comment">#now we have both gtk and gtk.glade imported</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#Also, we know we are running GTK v2</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">import</tt> <tt class="py-name">gst</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt id="link-7" class="py-name" targets="Variable Subtle.ONLINE_MODE=Subtle-module.html#ONLINE_MODE"><a title="Subtle.ONLINE_MODE" class="py-name" href="#" onclick="return doclink('link-7', 'ONLINE_MODE', 'link-7');">ONLINE_MODE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt id="link-8" class="py-name" targets="Variable Subtle.EDITING_MODE=Subtle-module.html#EDITING_MODE"><a title="Subtle.EDITING_MODE" class="py-name" href="#" onclick="return doclink('link-8', 'EDITING_MODE', 'link-8');">EDITING_MODE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"> </tt>
+<a name="Subtle"></a><div id="Subtle-def"><a name="L52"></a><tt class="py-lineno"> 52</tt> <a class="py-toggle" href="#" id="Subtle-toggle" onclick="return toggle('Subtle');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Subtle.Subtle-class.html">Subtle</a><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Subtle-expanded"><a name="Subtle.__init__"></a><div id="Subtle.__init__-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="Subtle.__init__-toggle" onclick="return toggle('Subtle.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.__init__-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">        In this init we are going to display the main</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">        Subtle window</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-name">gladefile</tt><tt class="py-op">=</tt><tt class="py-string">"subtle.glade"</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-name">windowname</tt><tt class="py-op">=</tt><tt class="py-string">"MAIN_WINDOW"</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">         </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">update_id</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p_position</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">CLOCK_TIME_NONE</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p_duration</tt> <tt class="py-op">=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">CLOCK_TIME_NONE</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">UPDATE_INTERVAL</tt><tt class="py-op">=</tt><tt class="py-number">100</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">         </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-9', 'Subtitles', 'link-4');">Subtitles</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-comment"># Current subtitle being edited</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cur_edit_sub_iter</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-comment">#Current editing mode</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">## Refer to globals for values</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mode</tt> <tt class="py-op">=</tt> <tt id="link-10" class="py-name"><a title="Subtle.ONLINE_MODE" class="py-name" href="#" onclick="return doclink('link-10', 'ONLINE_MODE', 'link-7');">ONLINE_MODE</a></tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-comment">#self.scroll = 0</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">videoWidgetGst</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">t_duration</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">=</tt><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">glade</tt><tt class="py-op">.</tt><tt class="py-name">XML</tt><tt class="py-op">(</tt><tt class="py-name">gladefile</tt><tt class="py-op">,</tt><tt class="py-name">windowname</tt><tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">gladefile</tt> <tt class="py-op">=</tt> <tt class="py-name">gladefile</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-name">dic</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">"gtk_main_quit"</tt> <tt class="py-op">:</tt> <tt class="py-op">(</tt><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">main_quit</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>\ </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">            <tt class="py-string">"on_main_file_quit_activate"</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">main_quit</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">            <tt class="py-string">"on_main_file_open_activate"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method Subtle.Subtle.mainFileOpen()=Subtle.Subtle-class.html#mainFileOpen"><a title="Subtle.Subtle.mainFileOpen" class="py-name" href="#" onclick="return doclink('link-11', 'mainFileOpen', 'link-11');">mainFileOpen</a></tt><tt class="py-op">,</tt> \ </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_PLAY_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method Subtle.Subtle.playerPlay()=Subtle.Subtle-class.html#playerPlay"><a title="Subtle.Subtle.playerPlay" class="py-name" href="#" onclick="return doclink('link-12', 'playerPlay', 'link-12');">playerPlay</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_STOP_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method Subtle.Subtle.playerStop()=Subtle.Subtle-class.html#playerStop"><a title="Subtle.Subtle.playerStop" class="py-name" href="#" onclick="return doclink('link-13', 'playerStop', 'link-13');">playerStop</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_SM_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method Subtle.Subtle.playerSlowMotion()=Subtle.Subtle-class.html#playerSlowMotion"><a title="Subtle.Subtle.playerSlowMotion" class="py-name" href="#" onclick="return doclink('link-14', 'playerSlowMotion', 'link-14');">playerSlowMotion</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_FF_clicked"</tt><tt class="py-op">:</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method Subtle.Subtle.playerFastForward()=Subtle.Subtle-class.html#playerFastForward"><a title="Subtle.Subtle.playerFastForward" class="py-name" href="#" onclick="return doclink('link-15', 'playerFastForward', 'link-15');">playerFastForward</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_SEEK_FORWARD_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method Subtle.Subtle.playerSeekForward()=Subtle.Subtle-class.html#playerSeekForward"><a title="Subtle.Subtle.playerSeekForward" class="py-name" href="#" onclick="return doclink('link-16', 'playerSeekForward', 'link-16');">playerSeekForward</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_SEEK_REWIND_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method Subtle.Subtle.playerSeekRewind()=Subtle.Subtle-class.html#playerSeekRewind"><a title="Subtle.Subtle.playerSeekRewind" class="py-name" href="#" onclick="return doclink('link-17', 'playerSeekRewind', 'link-17');">playerSeekRewind</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_HIDE_STREAMS_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method Subtle.Subtle.cb_hideStreamsPane()=Subtle.Subtle-class.html#cb_hideStreamsPane"><a title="Subtle.Subtle.cb_hideStreamsPane" class="py-name" href="#" onclick="return doclink('link-18', 'cb_hideStreamsPane', 'link-18');">cb_hideStreamsPane</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_HIDE_SUBLIST_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method Subtle.Subtle.cb_hideSubPane()=Subtle.Subtle-class.html#cb_hideSubPane"><a title="Subtle.Subtle.cb_hideSubPane" class="py-name" href="#" onclick="return doclink('link-19', 'cb_hideSubPane', 'link-19');">cb_hideSubPane</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">            <tt class="py-string">"on_MEDIA_ADJUSTMENT_button_press_event"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method Subtle.Subtle.buttonPressAdjustment()=Subtle.Subtle-class.html#buttonPressAdjustment"><a title="Subtle.Subtle.buttonPressAdjustment" class="py-name" href="#" onclick="return doclink('link-20', 'buttonPressAdjustment', 'link-20');">buttonPressAdjustment</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-string">"on_MEDIA_ADJUSTMENT_button_release_event"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method Subtle.Subtle.buttonReleaseAdjustment()=Subtle.Subtle-class.html#buttonReleaseAdjustment"><a title="Subtle.Subtle.buttonReleaseAdjustment" class="py-name" href="#" onclick="return doclink('link-21', 'buttonReleaseAdjustment', 'link-21');">buttonReleaseAdjustment</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">            <tt class="py-string">"on_MEDIA_ADJUSTMENT_change_value"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method Subtle.Subtle.changeValueAdjustment()=Subtle.Subtle-class.html#changeValueAdjustment"><a title="Subtle.Subtle.changeValueAdjustment" class="py-name" href="#" onclick="return doclink('link-22', 'changeValueAdjustment', 'link-22');">changeValueAdjustment</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt class="py-string">"on_VIDEO_OUT_PUT_expose_event"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method Subtle.Subtle.exposeEventVideoOut()=Subtle.Subtle-class.html#exposeEventVideoOut"><a title="Subtle.Subtle.exposeEventVideoOut" class="py-name" href="#" onclick="return doclink('link-23', 'exposeEventVideoOut', 'link-23');">exposeEventVideoOut</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-string">"on_main_file_save_activate"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method Subtle.Subtle.cb_onSaveMenu()=Subtle.Subtle-class.html#cb_onSaveMenu"><a title="Subtle.Subtle.cb_onSaveMenu" class="py-name" href="#" onclick="return doclink('link-24', 'cb_onSaveMenu', 'link-24');">cb_onSaveMenu</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-string">"on_main_file_save_as_activate"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method Subtle.Subtle.cb_onSaveAsMenu()=Subtle.Subtle-class.html#cb_onSaveAsMenu"><a title="Subtle.Subtle.cb_onSaveAsMenu" class="py-name" href="#" onclick="return doclink('link-25', 'cb_onSaveAsMenu', 'link-25');">cb_onSaveAsMenu</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt class="py-string">"on_main_file_new_activate"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method Subtle.Subtle.cb_onNewMenu()=Subtle.Subtle-class.html#cb_onNewMenu"><a title="Subtle.Subtle.cb_onNewMenu" class="py-name" href="#" onclick="return doclink('link-26', 'cb_onNewMenu', 'link-26');">cb_onNewMenu</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-string">"on_MAIN_VIEW_STREAMS_PANE_activate"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method Subtle.Subtle.cb_showStreamsPane()=Subtle.Subtle-class.html#cb_showStreamsPane"><a title="Subtle.Subtle.cb_showStreamsPane" class="py-name" href="#" onclick="return doclink('link-27', 'cb_showStreamsPane', 'link-27');">cb_showStreamsPane</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">            <tt class="py-string">"on_MAIN_VIEW_SUBTITLES_activate"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method Subtle.Subtle.cb_showSubtitlePane()=Subtle.Subtle-class.html#cb_showSubtitlePane"><a title="Subtle.Subtle.cb_showSubtitlePane" class="py-name" href="#" onclick="return doclink('link-28', 'cb_showSubtitlePane', 'link-28');">cb_showSubtitlePane</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_DEL_STREAM_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method Subtle.Subtle.cb_delStream()=Subtle.Subtle-class.html#cb_delStream"><a title="Subtle.Subtle.cb_delStream" class="py-name" href="#" onclick="return doclink('link-29', 'cb_delStream', 'link-29');">cb_delStream</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_MOD_STREAM_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method Subtle.Subtle.cb_modStream()=Subtle.Subtle-class.html#cb_modStream"><a title="Subtle.Subtle.cb_modStream" class="py-name" href="#" onclick="return doclink('link-30', 'cb_modStream', 'link-30');">cb_modStream</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_NEW_STREAM_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method Subtle.Subtle.cb_newStream()=Subtle.Subtle-class.html#cb_newStream"><a title="Subtle.Subtle.cb_newStream" class="py-name" href="#" onclick="return doclink('link-31', 'cb_newStream', 'link-31');">cb_newStream</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_ADD_STREAM_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Method Subtle.Subtle.cb_addNewStream()=Subtle.Subtle-class.html#cb_addNewStream"><a title="Subtle.Subtle.cb_addNewStream" class="py-name" href="#" onclick="return doclink('link-32', 'cb_addNewStream', 'link-32');">cb_addNewStream</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">            <tt class="py-string">"on_LIST_SUBS_button_release_event"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Method Subtle.Subtle.cb_onSubsListSelect()=Subtle.Subtle-class.html#cb_onSubsListSelect"><a title="Subtle.Subtle.cb_onSubsListSelect" class="py-name" href="#" onclick="return doclink('link-33', 'cb_onSubsListSelect', 'link-33');">cb_onSubsListSelect</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">            <tt class="py-string">"on_LIST_SUBS_button_press_event"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="Subtle.Subtle.cb_onSubsListSelect" class="py-name" href="#" onclick="return doclink('link-34', 'cb_onSubsListSelect', 'link-33');">cb_onSubsListSelect</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">            <tt class="py-string">"on_txt_subedit_key_release_event"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method Subtle.Subtle.cb_onSubtitleEdit()=Subtle.Subtle-class.html#cb_onSubtitleEdit"><a title="Subtle.Subtle.cb_onSubtitleEdit" class="py-name" href="#" onclick="return doclink('link-35', 'cb_onSubtitleEdit', 'link-35');">cb_onSubtitleEdit</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt class="py-string">"on_tgl_mode_toggled"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method Subtle.Subtle.cb_onModeChanged()=Subtle.Subtle-class.html#cb_onModeChanged"><a title="Subtle.Subtle.cb_onModeChanged" class="py-name" href="#" onclick="return doclink('link-36', 'cb_onModeChanged', 'link-36');">cb_onModeChanged</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_SAVE_STREAM_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Method Subtle.Subtle.cb_saveStream()=Subtle.Subtle-class.html#cb_saveStream"><a title="Subtle.Subtle.cb_saveStream" class="py-name" href="#" onclick="return doclink('link-37', 'cb_saveStream', 'link-37');">cb_saveStream</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_DEL_SUBS_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Method Subtle.Subtle.cb_subDel()=Subtle.Subtle-class.html#cb_subDel"><a title="Subtle.Subtle.cb_subDel" class="py-name" href="#" onclick="return doclink('link-38', 'cb_subDel', 'link-38');">cb_subDel</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_OUT_SUB_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name" targets="Method Subtle.Subtle.cb_subOut()=Subtle.Subtle-class.html#cb_subOut"><a title="Subtle.Subtle.cb_subOut" class="py-name" href="#" onclick="return doclink('link-39', 'cb_subOut', 'link-39');">cb_subOut</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_IN_SUB_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method Subtle.Subtle.cb_subIn()=Subtle.Subtle-class.html#cb_subIn"><a title="Subtle.Subtle.cb_subIn" class="py-name" href="#" onclick="return doclink('link-40', 'cb_subIn', 'link-40');">cb_subIn</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_INS_B4_SUB_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Method Subtle.Subtle.cb_onSubInsB4()=Subtle.Subtle-class.html#cb_onSubInsB4"><a title="Subtle.Subtle.cb_onSubInsB4" class="py-name" href="#" onclick="return doclink('link-41', 'cb_onSubInsB4', 'link-41');">cb_onSubInsB4</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_INS_AFTER_SUB_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Method Subtle.Subtle.cb_onSubInsAfter()=Subtle.Subtle-class.html#cb_onSubInsAfter"><a title="Subtle.Subtle.cb_onSubInsAfter" class="py-name" href="#" onclick="return doclink('link-42', 'cb_onSubInsAfter', 'link-42');">cb_onSubInsAfter</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt class="py-string">"on_TOOL_IN_SUB_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="Subtle.Subtle.cb_subIn" class="py-name" href="#" onclick="return doclink('link-43', 'cb_subIn', 'link-40');">cb_subIn</a></tt><tt class="py-op">}</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">signal_autoconnect</tt> <tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">         </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowMainWindow</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"MAIN_WINDOW"</tt><tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectOpen</tt><tt class="py-op">=</tt><tt class="py-name">None</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectSO</tt><tt class="py-op">=</tt><tt class="py-name">None</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowNewSubFile</tt><tt class="py-op">=</tt><tt class="py-name">None</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">PFileName</tt><tt class="py-op">=</tt><tt class="py-name">None</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowMediaOpen</tt><tt class="py-op">=</tt><tt class="py-name">None</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-comment">#self.windowStreams=gtk.glade.XML (self.gladefile,"STREAM_WINDOW")</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#dic = {"on_TOOL_DEL_STREAM_clicked": self.cb_delStream,\</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#        "on_TOOL_MOD_STREAM_clicked": self.cb_modStream,\</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#        "on_TOOL_NEW_STREAM_clicked": self.cb_newStream,\</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#        "on_TOOL_ADD_STREAM_clicked": self.cb_addNewStream,\</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#        "on_STREAM_WINDOW_delete_event": self.cb_StreamWindowDelete}</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#self.windowStreams.signal_autoconnect (dic)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">### Setup LIST_STREAMS</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#LIST = self.windowStreams.get_widget("LIST_STREAMS")</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">LIST</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"LIST_STREAMS"</tt><tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">LIST</tt><tt class="py-op">:</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt> <tt class="py-op">=</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">TreeStore</tt><tt class="py-op">(</tt><tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">TYPE_STRING</tt><tt class="py-op">,</tt> <tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">TYPE_UINT</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">            <tt class="py-name">LIST</tt><tt class="py-op">.</tt><tt class="py-name">set_model</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">)</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">            <tt class="py-name">cell</tt> <tt class="py-op">=</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">CellRendererText</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt class="py-name">tvcolumn</tt> <tt class="py-op">=</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">TreeViewColumn</tt><tt class="py-op">(</tt><tt class="py-string">'Streams'</tt><tt class="py-op">,</tt> <tt class="py-name">cell</tt><tt class="py-op">,</tt> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-name">LIST</tt><tt class="py-op">.</tt><tt class="py-name">append_column</tt><tt class="py-op">(</tt><tt class="py-name">tvcolumn</tt><tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">         </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-comment">#self.windowSubsList=gtk.glade.XML (self.gladefile,"SUBS_LIST")</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#dic = {"on_LIST_SUBS_cursor_changed": self.cb_onSubsListSelect,\</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#        "on_TOOL_SAVE_STREAM_clicked": self.cb_saveStream,\</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#        "on_TOOL_DEL_SUBS_clicked": self.cb_subDel,\</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#        "on_TOOL_OUT_SUB_clicked": self.cb_subOut,\</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#        "on_TOOL_IN_SUB_clicked": self.cb_subIn,\</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#        "on_TOOL_INS_B4_SUB_clicked": self.cb_onSubInsB4,\</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#        "on_TOOL_INS_AFTER_SUB_clicked": self.cb_onSubInsAfter,\</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#        "on_TOOL_IN_SUB_clicked": self.cb_subIn,\</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#        "on_SUBS_LIST_delete_event": self.cb_onSubsWindowDelete}</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#self.windowSubsList.signal_autoconnect (dic)</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#SUBLIST = self.windowSubsList.get_widget("LIST_SUBS")</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">SUBLIST</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"LIST_SUBS"</tt><tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-name">SUBLIST</tt><tt class="py-op">.</tt><tt class="py-name">add_events</tt><tt class="py-op">(</tt><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">gdk</tt><tt class="py-op">.</tt><tt class="py-name">_2BUTTON_PRESS</tt><tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">SUBLIST</tt><tt class="py-op">:</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt> <tt class="py-op">=</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">ListStore</tt><tt class="py-op">(</tt><tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">TYPE_UINT</tt><tt class="py-op">,</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">                                                <tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">TYPE_UINT</tt><tt class="py-op">,</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">                                                <tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">TYPE_UINT</tt><tt class="py-op">,</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">                                                <tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">TYPE_UINT</tt><tt class="py-op">,</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">                                                <tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">TYPE_UINT</tt><tt class="py-op">,</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">                                                <tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">TYPE_STRING</tt><tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">            <tt class="py-name">SUBLIST</tt><tt class="py-op">.</tt><tt class="py-name">set_model</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">            <tt class="py-name">cell</tt> <tt class="py-op">=</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">CellRendererText</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">            <tt class="py-name">tvcolumn</tt> <tt class="py-op">=</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">TreeViewColumn</tt><tt class="py-op">(</tt><tt class="py-string">'#'</tt><tt class="py-op">,</tt> <tt class="py-name">cell</tt><tt class="py-op">,</tt> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">            <tt class="py-name">SUBLIST</tt><tt class="py-op">.</tt><tt class="py-name">append_column</tt><tt class="py-op">(</tt><tt class="py-name">tvcolumn</tt><tt class="py-op">)</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">            <tt class="py-name">cell</tt> <tt class="py-op">=</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">CellRendererText</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">            <tt class="py-name">tvcolumn</tt> <tt class="py-op">=</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">TreeViewColumn</tt><tt class="py-op">(</tt><tt class="py-string">'Start Time'</tt><tt class="py-op">,</tt> <tt class="py-name">cell</tt><tt class="py-op">,</tt> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">            <tt class="py-name">SUBLIST</tt><tt class="py-op">.</tt><tt class="py-name">append_column</tt><tt class="py-op">(</tt><tt class="py-name">tvcolumn</tt><tt class="py-op">)</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">            <tt class="py-name">cell</tt> <tt class="py-op">=</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">CellRendererText</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">            <tt class="py-name">tvcolumn</tt> <tt class="py-op">=</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">TreeViewColumn</tt><tt class="py-op">(</tt><tt class="py-string">'End Time'</tt><tt class="py-op">,</tt> <tt class="py-name">cell</tt><tt class="py-op">,</tt> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">            <tt class="py-name">SUBLIST</tt><tt class="py-op">.</tt><tt class="py-name">append_column</tt><tt class="py-op">(</tt><tt class="py-name">tvcolumn</tt><tt class="py-op">)</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">            <tt class="py-name">cell</tt> <tt class="py-op">=</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">CellRendererText</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">            <tt class="py-name">tvcolumn</tt> <tt class="py-op">=</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">TreeViewColumn</tt><tt class="py-op">(</tt><tt class="py-string">'Start Frame'</tt><tt class="py-op">,</tt> <tt class="py-name">cell</tt><tt class="py-op">,</tt> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">            <tt class="py-name">SUBLIST</tt><tt class="py-op">.</tt><tt class="py-name">append_column</tt><tt class="py-op">(</tt><tt class="py-name">tvcolumn</tt><tt class="py-op">)</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">            <tt class="py-name">cell</tt> <tt class="py-op">=</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">CellRendererText</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">            <tt class="py-name">tvcolumn</tt> <tt class="py-op">=</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">TreeViewColumn</tt><tt class="py-op">(</tt><tt class="py-string">'End Frame'</tt><tt class="py-op">,</tt> <tt class="py-name">cell</tt><tt class="py-op">,</tt> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">            <tt class="py-name">SUBLIST</tt><tt class="py-op">.</tt><tt class="py-name">append_column</tt><tt class="py-op">(</tt><tt class="py-name">tvcolumn</tt><tt class="py-op">)</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">            <tt class="py-name">cell</tt> <tt class="py-op">=</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">CellRendererText</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-name">tvcolumn</tt> <tt class="py-op">=</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">TreeViewColumn</tt><tt class="py-op">(</tt><tt class="py-string">'Text'</tt><tt class="py-op">,</tt> <tt class="py-name">cell</tt><tt class="py-op">,</tt> <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">            <tt class="py-name">tvcolumn</tt><tt class="py-op">.</tt><tt class="py-name">set_resizable</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-name">SUBLIST</tt><tt class="py-op">.</tt><tt class="py-name">append_column</tt><tt class="py-op">(</tt><tt class="py-name">tvcolumn</tt><tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-comment">#WND=self.windowStreams.get_widget("STREAM_WINDOW")</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#WND.hide()</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#WND=self.windowSubsList.get_widget("SUBS_LIST")</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#WND.hide()</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">### Main window setup</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">videoWidget</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"VIDEO_OUT_PUT"</tt><tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">adjustment</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"MEDIA_ADJUSTMENT"</tt><tt class="py-op">)</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">labelHour</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"LABEL_HOUR"</tt><tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">labelMin</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"LABEL_MIN"</tt><tt class="py-op">)</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">labelSec</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"LABEL_SEC"</tt><tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">labelMSec</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"LABEL_MSEC"</tt><tt class="py-op">)</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">playButton</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"TOOL_PLAY"</tt><tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lbl_cur_fps</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"lbl_cur_fps"</tt><tt class="py-op">)</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streams_pane</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"streams_pane"</tt><tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subtitle_pane</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"subtitle_pane"</tt><tt class="py-op">)</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">txt_subedit</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"txt_subedit"</tt><tt class="py-op">)</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tgl_mode</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"tgl_mode"</tt><tt class="py-op">)</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">spin_seek_value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"spin_seek_value"</tt><tt class="py-op">)</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subList</tt> <tt class="py-op">=</tt> <tt class="py-name">SUBLIST</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-comment">#self.windowMainWindow.maximize()</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_onModeChanged"></a><div id="Subtle.cb_onModeChanged-def"><a name="L205"></a><tt class="py-lineno">205</tt> <a class="py-toggle" href="#" id="Subtle.cb_onModeChanged-toggle" onclick="return toggle('Subtle.cb_onModeChanged');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_onModeChanged">cb_onModeChanged</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_onModeChanged-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_onModeChanged-expanded"><a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"><tt class="py-docstring">            Change from online mode to editing mode</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line"><tt class="py-docstring">            and vice versa</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-comment"># Online mode</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tgl_mode</tt><tt class="py-op">.</tt><tt class="py-name">get_active</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mode</tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name"><a title="Subtle.ONLINE_MODE" class="py-name" href="#" onclick="return doclink('link-44', 'ONLINE_MODE', 'link-7');">ONLINE_MODE</a></tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">txt_subedit</tt><tt class="py-op">.</tt><tt class="py-name">set_sensitive</tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-comment"># Editing mode</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mode</tt> <tt class="py-op">=</tt> <tt id="link-45" class="py-name"><a title="Subtle.EDITING_MODE" class="py-name" href="#" onclick="return doclink('link-45', 'EDITING_MODE', 'link-8');">EDITING_MODE</a></tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">txt_subedit</tt><tt class="py-op">.</tt><tt class="py-name">set_sensitive</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+</div><a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_hideSubPane"></a><div id="Subtle.cb_hideSubPane-def"><a name="L222"></a><tt class="py-lineno">222</tt> <a class="py-toggle" href="#" id="Subtle.cb_hideSubPane-toggle" onclick="return toggle('Subtle.cb_hideSubPane');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_hideSubPane">cb_hideSubPane</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_hideSubPane-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_hideSubPane-expanded"><a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-docstring">            Hide the subtitles pane</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subtitle_pane</tt><tt class="py-op">.</tt><tt class="py-name">hide</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_hideStreamsPane"></a><div id="Subtle.cb_hideStreamsPane-def"><a name="L230"></a><tt class="py-lineno">230</tt> <a class="py-toggle" href="#" id="Subtle.cb_hideStreamsPane-toggle" onclick="return toggle('Subtle.cb_hideStreamsPane');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_hideStreamsPane">cb_hideStreamsPane</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_hideStreamsPane-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_hideStreamsPane-expanded"><a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"><tt class="py-docstring">            Hide the streams pane</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streams_pane</tt><tt class="py-op">.</tt><tt class="py-name">hide</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_showStreamsPane"></a><div id="Subtle.cb_showStreamsPane-def"><a name="L238"></a><tt class="py-lineno">238</tt> <a class="py-toggle" href="#" id="Subtle.cb_showStreamsPane-toggle" onclick="return toggle('Subtle.cb_showStreamsPane');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_showStreamsPane">cb_showStreamsPane</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_showStreamsPane-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_showStreamsPane-expanded"><a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"><tt class="py-docstring">            Hide the streams pane</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streams_pane</tt><tt class="py-op">.</tt><tt class="py-name">show</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_onSubInsB4"></a><div id="Subtle.cb_onSubInsB4-def"><a name="L246"></a><tt class="py-lineno">246</tt> <a class="py-toggle" href="#" id="Subtle.cb_onSubInsB4-toggle" onclick="return toggle('Subtle.cb_onSubInsB4');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_onSubInsB4">cb_onSubInsB4</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_onSubInsB4-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_onSubInsB4-expanded"><a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line"><tt class="py-docstring">            Insert new subtitle before current selected</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">        <tt class="py-name">subsList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"LIST_SUBS"</tt><tt class="py-op">)</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt class="py-name">selection</tt> <tt class="py-op">=</tt> <tt class="py-name">subsList</tt><tt class="py-op">.</tt><tt class="py-name">get_selection</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">selection</tt><tt class="py-op">.</tt><tt class="py-name">get_selected</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">result</tt><tt class="py-op">:</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">            <tt class="py-name">model</tt><tt class="py-op">,</tt> <tt class="py-name">iter</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">iter_is_valid</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">                <tt class="py-name">cur</tt><tt class="py-op">,</tt> <tt class="py-name">sTime</tt><tt class="py-op">,</tt> <tt class="py-name">eTime</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name" targets="Method Subtitles.Subtitles.Subtitles.subAdd()=Subtitles.Subtitles.Subtitles-class.html#subAdd"><a title="Subtitles.Subtitles.Subtitles.subAdd" class="py-name" href="#" onclick="return doclink('link-46', 'subAdd', 'link-46');">subAdd</a></tt><tt class="py-op">(</tt><tt class="py-name">sTime</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-name">sTime</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-string">''</tt><tt class="py-op">,</tt><tt class="py-name">None</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">insert_before</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">cur</tt><tt class="py-op">,</tt> <tt class="py-name">sTime</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">sTime</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">,</tt>\ </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">                                                    <tt class="py-string">'New subtitle...'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name" targets="Method Subtle.Subtle.reorder_SubsListStore()=Subtle.Subtle-class.html#reorder_SubsListStore"><a title="Subtle.Subtle.reorder_SubsListStore" class="py-name" href="#" onclick="return doclink('link-47', 'reorder_SubsListStore', 'link-47');">reorder_SubsListStore</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_onSubInsAfter"></a><div id="Subtle.cb_onSubInsAfter-def"><a name="L264"></a><tt class="py-lineno">264</tt> <a class="py-toggle" href="#" id="Subtle.cb_onSubInsAfter-toggle" onclick="return toggle('Subtle.cb_onSubInsAfter');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_onSubInsAfter">cb_onSubInsAfter</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_onSubInsAfter-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_onSubInsAfter-expanded"><a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"><tt class="py-docstring">            Insert new subtitle after current selected</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-name">subsList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"LIST_SUBS"</tt><tt class="py-op">)</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-name">selection</tt> <tt class="py-op">=</tt> <tt class="py-name">subsList</tt><tt class="py-op">.</tt><tt class="py-name">get_selection</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">selection</tt><tt class="py-op">.</tt><tt class="py-name">get_selected</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">result</tt><tt class="py-op">:</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">            <tt class="py-name">model</tt><tt class="py-op">,</tt> <tt class="py-name">iter</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">iter_is_valid</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">                <tt class="py-name">cur</tt><tt class="py-op">,</tt> <tt class="py-name">sTime</tt><tt class="py-op">,</tt> <tt class="py-name">eTime</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="Subtitles.Subtitles.Subtitles.subAdd" class="py-name" href="#" onclick="return doclink('link-48', 'subAdd', 'link-46');">subAdd</a></tt><tt class="py-op">(</tt><tt class="py-name">eTime</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-name">eTime</tt><tt class="py-op">+</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-string">''</tt><tt class="py-op">,</tt><tt class="py-name">None</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">                <tt class="py-name">cur</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">insert_after</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">cur</tt><tt class="py-op">,</tt> <tt class="py-name">eTime</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">eTime</tt><tt class="py-op">+</tt><tt class="py-number">2</tt><tt class="py-op">,</tt>\ </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">                                                        <tt class="py-string">'New subtitle...'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="Subtle.Subtle.reorder_SubsListStore" class="py-name" href="#" onclick="return doclink('link-49', 'reorder_SubsListStore', 'link-47');">reorder_SubsListStore</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line"> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.reorder_SubsListStore"></a><div id="Subtle.reorder_SubsListStore-def"><a name="L283"></a><tt class="py-lineno">283</tt> <a class="py-toggle" href="#" id="Subtle.reorder_SubsListStore-toggle" onclick="return toggle('Subtle.reorder_SubsListStore');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#reorder_SubsListStore">reorder_SubsListStore</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.reorder_SubsListStore-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.reorder_SubsListStore-expanded"><a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line"><tt class="py-docstring">            Reorder the subs listStore when added or deleted</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">        <tt class="py-name">iter</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">get_iter_first</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">        <tt class="py-name">cur</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">iter</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">iter</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">set_value</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">cur</tt><tt class="py-op">)</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">                <tt class="py-name">cur</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">                <tt class="py-name">iter</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">iter_next</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_subDel"></a><div id="Subtle.cb_subDel-def"><a name="L296"></a><tt class="py-lineno">296</tt> <a class="py-toggle" href="#" id="Subtle.cb_subDel-toggle" onclick="return toggle('Subtle.cb_subDel');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_subDel">cb_subDel</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_subDel-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_subDel-expanded"><a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line"><tt class="py-docstring">            Delete a subtile from the list store and from memory</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">        <tt class="py-name">subsList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"LIST_SUBS"</tt><tt class="py-op">)</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">        <tt class="py-name">selection</tt> <tt class="py-op">=</tt> <tt class="py-name">subsList</tt><tt class="py-op">.</tt><tt class="py-name">get_selection</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">selection</tt><tt class="py-op">.</tt><tt class="py-name">get_selected</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">result</tt><tt class="py-op">:</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">            <tt class="py-name">model</tt><tt class="py-op">,</tt> <tt class="py-name">iter</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">            <tt class="py-name">subKey</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Method Subtitles.Subtitles.Subtitles.subDel()=Subtitles.Subtitles.Subtitles-class.html#subDel"><a title="Subtitles.Subtitles.Subtitles.subDel" class="py-name" href="#" onclick="return doclink('link-50', 'subDel', 'link-50');">subDel</a></tt><tt class="py-op">(</tt><tt class="py-name">subKey</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">            <tt class="py-name">model</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">)</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="Subtle.Subtle.reorder_SubsListStore" class="py-name" href="#" onclick="return doclink('link-51', 'reorder_SubsListStore', 'link-47');">reorder_SubsListStore</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_subOut"></a><div id="Subtle.cb_subOut-def"><a name="L311"></a><tt class="py-lineno">311</tt> <a class="py-toggle" href="#" id="Subtle.cb_subOut-toggle" onclick="return toggle('Subtle.cb_subOut');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_subOut">cb_subOut</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_subOut-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_subOut-expanded"><a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line"><tt class="py-docstring">            Set subtitle endtime</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">:</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">            <tt class="py-name">subsList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowSubsList</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"LIST_SUBS"</tt><tt class="py-op">)</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">            <tt class="py-name">selection</tt> <tt class="py-op">=</tt> <tt class="py-name">subsList</tt><tt class="py-op">.</tt><tt class="py-name">get_selection</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">selection</tt><tt class="py-op">.</tt><tt class="py-name">get_selected</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">result</tt><tt class="py-op">:</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">                <tt class="py-name">model</tt><tt class="py-op">,</tt> <tt class="py-name">iter</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">                <tt class="py-name">subKey</tt><tt class="py-op">,</tt> <tt class="py-name">end_time</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name" targets="Method Subtitles.Subtitles.Subtitles.getSub()=Subtitles.Subtitles.Subtitles-class.html#getSub"><a title="Subtitles.Subtitles.Subtitles.getSub" class="py-name" href="#" onclick="return doclink('link-52', 'getSub', 'link-52');">getSub</a></tt><tt class="py-op">(</tt><tt class="py-name">subKey</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">end_time</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p_position</tt><tt class="py-op">/</tt><tt class="py-number">1000000</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name" targets="Method Subtitles.Subtitles.Subtitles.subUpdate()=Subtitles.Subtitles.Subtitles-class.html#subUpdate"><a title="Subtitles.Subtitles.Subtitles.subUpdate" class="py-name" href="#" onclick="return doclink('link-53', 'subUpdate', 'link-53');">subUpdate</a></tt><tt class="py-op">(</tt><tt class="py-name">subKey</tt><tt class="py-op">)</tt> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">"Error while setting subtitle timecode"</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">,</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p_position</tt><tt class="py-op">/</tt><tt class="py-number">1000000</tt><tt class="py-op">)</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+</div><a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line"> </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_subIn"></a><div id="Subtle.cb_subIn-def"><a name="L332"></a><tt class="py-lineno">332</tt> <a class="py-toggle" href="#" id="Subtle.cb_subIn-toggle" onclick="return toggle('Subtle.cb_subIn');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_subIn">cb_subIn</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_subIn-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_subIn-expanded"><a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line"><tt class="py-docstring">            Set subtitle start time</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">:</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">            <tt class="py-name">subsList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowSubsList</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"LIST_SUBS"</tt><tt class="py-op">)</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">            <tt class="py-name">selection</tt> <tt class="py-op">=</tt> <tt class="py-name">subsList</tt><tt class="py-op">.</tt><tt class="py-name">get_selection</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">selection</tt><tt class="py-op">.</tt><tt class="py-name">get_selected</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">result</tt><tt class="py-op">:</tt> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">                <tt class="py-name">model</tt><tt class="py-op">,</tt> <tt class="py-name">iter</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">                <tt class="py-name">subKey</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="Subtitles.Subtitles.Subtitles.getSub" class="py-name" href="#" onclick="return doclink('link-54', 'getSub', 'link-52');">getSub</a></tt><tt class="py-op">(</tt><tt class="py-name">subKey</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">start_time</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p_position</tt><tt class="py-op">/</tt><tt class="py-number">1000000</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="Subtitles.Subtitles.Subtitles.subUpdate" class="py-name" href="#" onclick="return doclink('link-55', 'subUpdate', 'link-53');">subUpdate</a></tt><tt class="py-op">(</tt><tt class="py-name">subKey</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt> <tt class="py-string">"Error while setting subtitle timecode"</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p_position</tt><tt class="py-op">/</tt><tt class="py-number">1000000</tt><tt class="py-op">)</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+</div><a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line"> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_onSubsWindowDelete"></a><div id="Subtle.cb_onSubsWindowDelete-def"><a name="L353"></a><tt class="py-lineno">353</tt> <a class="py-toggle" href="#" id="Subtle.cb_onSubsWindowDelete-toggle" onclick="return toggle('Subtle.cb_onSubsWindowDelete');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_onSubsWindowDelete">cb_onSubsWindowDelete</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">,</tt> <tt class="py-param">event</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_onSubsWindowDelete-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_onSubsWindowDelete-expanded"><a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">        <tt class="py-name">widget</tt><tt class="py-op">.</tt><tt class="py-name">hide</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+</div><a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line"> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_StreamWindowDelete"></a><div id="Subtle.cb_StreamWindowDelete-def"><a name="L358"></a><tt class="py-lineno">358</tt> <a class="py-toggle" href="#" id="Subtle.cb_StreamWindowDelete-toggle" onclick="return toggle('Subtle.cb_StreamWindowDelete');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_StreamWindowDelete">cb_StreamWindowDelete</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">,</tt> <tt class="py-param">event</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_StreamWindowDelete-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_StreamWindowDelete-expanded"><a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">        <tt class="py-name">widget</tt><tt class="py-op">.</tt><tt class="py-name">hide</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+</div><a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_onSubtitleWindow"></a><div id="Subtle.cb_onSubtitleWindow-def"><a name="L363"></a><tt class="py-lineno">363</tt> <a class="py-toggle" href="#" id="Subtle.cb_onSubtitleWindow-toggle" onclick="return toggle('Subtle.cb_onSubtitleWindow');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_onSubtitleWindow">cb_onSubtitleWindow</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">menu</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_onSubtitleWindow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_onSubtitleWindow-expanded"><a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowSubsList</tt><tt class="py-op">:</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowSubsList</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"SUBS_LIST"</tt><tt class="py-op">)</tt> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">show</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line"> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_showSubtitlePane"></a><div id="Subtle.cb_showSubtitlePane-def"><a name="L369"></a><tt class="py-lineno">369</tt> <a class="py-toggle" href="#" id="Subtle.cb_showSubtitlePane-toggle" onclick="return toggle('Subtle.cb_showSubtitlePane');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_showSubtitlePane">cb_showSubtitlePane</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">menu</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_showSubtitlePane-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_showSubtitlePane-expanded"><a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line"><tt class="py-docstring">           Show subtitle pane</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subtitle_pane</tt><tt class="py-op">.</tt><tt class="py-name">show</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.getSubtitle"></a><div id="Subtle.getSubtitle-def"><a name="L375"></a><tt class="py-lineno">375</tt> <a class="py-toggle" href="#" id="Subtle.getSubtitle-toggle" onclick="return toggle('Subtle.getSubtitle');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#getSubtitle">getSubtitle</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">source</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.getSubtitle-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.getSubtitle-expanded"><a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-56', 'Subtitles', 'link-4');">Subtitles</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">subSource</tt><tt class="py-op">==</tt><tt class="py-name">source</tt><tt class="py-op">:</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">i</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line"> </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_saveStream"></a><div id="Subtle.cb_saveStream-def"><a name="L382"></a><tt class="py-lineno">382</tt> <a class="py-toggle" href="#" id="Subtle.cb_saveStream-toggle" onclick="return toggle('Subtle.cb_saveStream');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_saveStream">cb_saveStream</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_saveStream-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_saveStream-expanded"><a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line"><tt class="py-docstring">            Save a stream. This will be renamed to cb_saveSub</tt> </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line"><tt class="py-docstring">            since we don't offer video editting (yet)</tt> </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">        <tt class="py-comment">#TODO: This is broken. How about implementing it correctly?</tt> </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">TView</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowStreams</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"LIST_STREAMS"</tt><tt class="py-op">)</tt> </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">        <tt class="py-name">TSelec</tt> <tt class="py-op">=</tt> <tt class="py-name">TView</tt><tt class="py-op">.</tt><tt class="py-name">get_selection</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">        <tt class="py-name">TModel</tt><tt class="py-op">,</tt> <tt class="py-name">TIter</tt> <tt class="py-op">=</tt> <tt class="py-name">TSelec</tt><tt class="py-op">.</tt><tt class="py-name">get_selected</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">TIter</tt><tt class="py-op">:</tt> </tt>
+<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">        <tt class="py-name">N</tt><tt class="py-op">=</tt><tt class="py-name">TModel</tt><tt class="py-op">.</tt><tt class="py-name">get_value</tt><tt class="py-op">(</tt><tt class="py-name">TIter</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">        <tt class="py-name">mInfo</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">[</tt><tt class="py-name">N</tt><tt class="py-op">]</tt> </tt>
+<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">"subtitle"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mInfo</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Variable MediaInfo.Media.MIME=MediaInfo.Media-class.html#MIME"><a title="MediaInfo.Media.MIME" class="py-name" href="#" onclick="return doclink('link-57', 'MIME', 'link-57');">MIME</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">            <tt class="py-name">tSubtitle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Method Subtle.Subtle.getSubtitle()=Subtle.Subtle-class.html#getSubtitle"><a title="Subtle.Subtle.getSubtitle" class="py-name" href="#" onclick="return doclink('link-58', 'getSubtitle', 'link-58');">getSubtitle</a></tt><tt class="py-op">(</tt><tt class="py-name">mInfo</tt><tt class="py-op">.</tt><tt class="py-name">Streams</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">ID</tt><tt class="py-op">)</tt> </tt>
+<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line">            <tt class="py-name">tSubtitle</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name" targets="Method Subtitles.SubRip.SubRip.subSave()=Subtitles.SubRip.SubRip-class.html#subSave"><a title="Subtitles.SubRip.SubRip.subSave" class="py-name" href="#" onclick="return doclink('link-59', 'subSave', 'link-59');">subSave</a></tt><tt class="py-op">(</tt><tt class="py-name">mInfo</tt><tt class="py-op">.</tt><tt class="py-name">source</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line"> </tt>
+<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_modStream"></a><div id="Subtle.cb_modStream-def"><a name="L400"></a><tt class="py-lineno">400</tt> <a class="py-toggle" href="#" id="Subtle.cb_modStream-toggle" onclick="return toggle('Subtle.cb_modStream');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_modStream">cb_modStream</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_modStream-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_modStream-expanded"><a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">        <tt class="py-comment"># We have removed the window</tt> </tt>
+<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#if not self.windowStreams:</tt> </tt>
+<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#    return</tt> </tt>
+<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">:</tt> </tt>
+<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">        <tt class="py-comment">#TView = self.windowStreams.get_widget("LIST_STREAMS")</tt> </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">TView</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">wTree</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"LIST_STREAMS"</tt><tt class="py-op">)</tt> </tt>
+<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">        <tt class="py-name">TSelec</tt> <tt class="py-op">=</tt> <tt class="py-name">TView</tt><tt class="py-op">.</tt><tt class="py-name">get_selection</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">        <tt class="py-name">TModel</tt><tt class="py-op">,</tt> <tt class="py-name">TIter</tt> <tt class="py-op">=</tt> <tt class="py-name">TSelec</tt><tt class="py-op">.</tt><tt class="py-name">get_selected</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">TIter</tt><tt class="py-op">:</tt> </tt>
+<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">        <tt class="py-name">N</tt><tt class="py-op">=</tt><tt class="py-name">TModel</tt><tt class="py-op">.</tt><tt class="py-name">get_value</tt><tt class="py-op">(</tt><tt class="py-name">TIter</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: We should actually get the selected subtitle</tt> </tt>
+<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">if</tt> <tt class="py-string">"Subtitle"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">N</tt><tt class="py-op">:</tt> </tt>
+<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name" targets="Method Subtle.Subtle.setSubtitle()=Subtle.Subtle-class.html#setSubtitle"><a title="Subtle.Subtle.setSubtitle" class="py-name" href="#" onclick="return doclink('link-60', 'setSubtitle', 'link-60');">setSubtitle</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line"> </tt>
+<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_newStream"></a><div id="Subtle.cb_newStream-def"><a name="L418"></a><tt class="py-lineno">418</tt> <a class="py-toggle" href="#" id="Subtle.cb_newStream-toggle" onclick="return toggle('Subtle.cb_newStream');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_newStream">cb_newStream</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_newStream-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_newStream-expanded"><a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line"><tt class="py-docstring">           Create a new subtitle</tt> </tt>
+<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">        <tt class="py-comment">#TODO: Lets popup something that will let us choose sub type</tt> </tt>
+<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowNewSubFile</tt><tt class="py-op">==</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowNewSubFile</tt><tt class="py-op">=</tt><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">glade</tt><tt class="py-op">.</tt><tt class="py-name">XML</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">gladefile</tt><tt class="py-op">,</tt><tt class="py-string">"NEW_SUBTITLE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line">            <tt class="py-comment">#dic={"on_OPEN_BUTTON_CANCEL_clicked": self.cb_openMediaCancel,\</tt> </tt>
+<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-comment">#    "on_OPEN_BUTTON_OPEN_clicked": self.cb_openMediaOpen }</tt> </tt>
+<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-comment">#self.windowMediaOpen.signal_autoconnect(dic)</tt> </tt>
+<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-name">WND</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowNewSubFile</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"NEW_SUBTITLE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">show</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowNewSubFile</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"NEW_SUBTITLE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">WND</tt><tt class="py-op">:</tt> </tt>
+<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowNewSubFile</tt><tt class="py-op">=</tt><tt class="py-name">None</tt> </tt>
+<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">                <tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">show</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line"> </tt>
+<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.setSubtitle"></a><div id="Subtle.setSubtitle-def"><a name="L439"></a><tt class="py-lineno">439</tt> <a class="py-toggle" href="#" id="Subtle.setSubtitle-toggle" onclick="return toggle('Subtle.setSubtitle');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#setSubtitle">setSubtitle</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.setSubtitle-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.setSubtitle-expanded"><a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">:</tt> </tt>
+<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">            <tt class="py-comment"># We have removed the window for now</tt> </tt>
+<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-comment">#if (self.windowStreams):</tt> </tt>
+<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-comment">#    WND=self.windowSubsList.get_widget("SUBS_LIST")</tt> </tt>
+<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-comment">#    WND.show()</tt> </tt>
+<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name" targets="Method Subtle.Subtle.subsWindowUpdate()=Subtle.Subtle-class.html#subsWindowUpdate"><a title="Subtle.Subtle.subsWindowUpdate" class="py-name" href="#" onclick="return doclink('link-61', 'subsWindowUpdate', 'link-61');">subsWindowUpdate</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line"> </tt>
+<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.updateStreamWindow"></a><div id="Subtle.updateStreamWindow-def"><a name="L448"></a><tt class="py-lineno">448</tt> <a class="py-toggle" href="#" id="Subtle.updateStreamWindow-toggle" onclick="return toggle('Subtle.updateStreamWindow');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#updateStreamWindow">updateStreamWindow</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.updateStreamWindow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.updateStreamWindow-expanded"><a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">        <tt class="py-comment">#FIXME: This should be more complete and better handled</tt> </tt>
+<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment"># Maybe all streams must be on the same list/dict</tt> </tt>
+<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">:</tt> </tt>
+<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">clear</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">sub</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-62', 'Subtitles', 'link-4');">Subtitles</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">            <tt class="py-name">iter</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">"Subtitle: "</tt><tt class="py-op">+</tt> <tt class="py-name">sub</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-63', 'Subtitles', 'link-4');">Subtitles</a></tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">            <tt class="py-name">child</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">)</tt> </tt>
+<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">"Type: "</tt> <tt class="py-op">+</tt> <tt class="py-name">sub</tt><tt class="py-op">.</tt><tt class="py-name">subType</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">                    <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-64', 'Subtitles', 'link-4');">Subtitles</a></tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">            <tt class="py-name">child</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">)</tt> </tt>
+<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">"Encoding: "</tt> <tt class="py-op">+</tt> <tt class="py-name">sub</tt><tt class="py-op">.</tt><tt class="py-name">encoding</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line">                    <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-65', 'Subtitles', 'link-4');">Subtitles</a></tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">mInfo</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">:</tt> </tt>
+<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">            <tt class="py-name">iter</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">mInfo</tt><tt class="py-op">.</tt><tt class="py-name">source</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">mInfo</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">mInfo</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name" targets="Variable MediaInfo.Media.has_video=MediaInfo.Media-class.html#has_video"><a title="MediaInfo.Media.has_video" class="py-name" href="#" onclick="return doclink('link-66', 'has_video', 'link-66');">has_video</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">                <tt class="py-name">child</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">)</tt> </tt>
+<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">"Mimetype: "</tt> <tt class="py-op">+</tt> <tt class="py-name">mInfo</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="MediaInfo.Media.MIME" class="py-name" href="#" onclick="return doclink('link-67', 'MIME', 'link-57');">MIME</a></tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">                        <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">mInfo</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">                <tt class="py-name">child</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">)</tt> </tt>
+<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">"Resolution: %dx%d "</tt><tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">mInfo</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name" targets="Variable MediaInfo.Media.videoWidth=MediaInfo.Media-class.html#videoWidth"><a title="MediaInfo.Media.videoWidth" class="py-name" href="#" onclick="return doclink('link-68', 'videoWidth', 'link-68');">videoWidth</a></tt><tt class="py-op">,</tt> <tt class="py-name">mInfo</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name" targets="Variable MediaInfo.Media.videoHeight=MediaInfo.Media-class.html#videoHeight"><a title="Media
 Info.Media.videoHeight" class="py-name" href="#" onclick="return doclink('link-69', 'videoHeight', 'link-69');">videoHeight</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line">                        <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">mInfo</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line">                <tt class="py-name">child</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">)</tt> </tt>
+<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">"Framerate: %.2f"</tt> <tt class="py-op">%</tt> <tt class="py-name">mInfo</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name" targets="Variable MediaInfo.Media.framerate=MediaInfo.Media-class.html#framerate"><a title="MediaInfo.Media.framerate" class="py-name" href="#" onclick="return doclink('link-70', 'framerate', 'link-70');">framerate</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line">                        <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">mInfo</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line">                <tt class="py-name">child</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">)</tt> </tt>
+<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">"Length: %s s"</tt> <tt class="py-op">%</tt> <tt class="py-name">mInfo</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name" targets="Variable MediaInfo.Media.videoLengthS=MediaInfo.Media-class.html#videoLengthS"><a title="MediaInfo.Media.videoLengthS" class="py-name" href="#" onclick="return doclink('link-71', 'videoLengthS', 'link-71');">videoLengthS</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line">                        <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">mInfo</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line">                <tt class="py-name">child</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">)</tt> </tt>
+<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">"Frames: %d"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">mInfo</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="MediaInfo.Media.videoLengthS" class="py-name" href="#" onclick="return doclink('link-72', 'videoLengthS', 'link-71');">videoLengthS</a></tt><tt class="py-op">/</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">/</tt><tt class="py-name">mInfo</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="MediaInfo.Media.framerate" class="py-name" href="#" onclick="return doclink('
 link-73', 'framerate', 'link-70');">framerate</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">                        <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">mInfo</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">                <tt class="py-name">child</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line"> </tt>
+<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_delStream"></a><div id="Subtle.cb_delStream-def"><a name="L485"></a><tt class="py-lineno">485</tt> <a class="py-toggle" href="#" id="Subtle.cb_delStream-toggle" onclick="return toggle('Subtle.cb_delStream');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_delStream">cb_delStream</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_delStream-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_delStream-expanded"><a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line"><tt class="py-docstring">            Remove a stream from the current project</tt> </tt>
+<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line">        <tt class="py-comment">#FIXME: We broke this ...</tt> </tt>
+<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowStreams</tt><tt class="py-op">:</tt> </tt>
+<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">streamsTreeStore</tt><tt class="py-op">:</tt> </tt>
+<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">        <tt class="py-name">TView</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowStreams</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"LIST_STREAMS"</tt><tt class="py-op">)</tt> </tt>
+<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line">        <tt class="py-name">TSelec</tt> <tt class="py-op">=</tt> <tt class="py-name">TView</tt><tt class="py-op">.</tt><tt class="py-name">get_selection</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line">        <tt class="py-name">TModel</tt><tt class="py-op">,</tt> <tt class="py-name">TIter</tt> <tt class="py-op">=</tt> <tt class="py-name">TSelec</tt><tt class="py-op">.</tt><tt class="py-name">get_selected</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">TIter</tt><tt class="py-op">:</tt> </tt>
+<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">        <tt class="py-name">N</tt><tt class="py-op">=</tt><tt class="py-name">TModel</tt><tt class="py-op">.</tt><tt class="py-name">get_value</tt><tt class="py-op">(</tt><tt class="py-name">TIter</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name" targets="Method Subtle.Subtle.updateStreamWindow()=Subtle.Subtle-class.html#updateStreamWindow"><a title="Subtle.Subtle.updateStreamWindow" class="py-name" href="#" onclick="return doclink('link-74', 'updateStreamWindow', 'link-74');">updateStreamWindow</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line"> </tt>
+<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_openMediaCancel"></a><div id="Subtle.cb_openMediaCancel-def"><a name="L503"></a><tt class="py-lineno">503</tt> <a class="py-toggle" href="#" id="Subtle.cb_openMediaCancel-toggle" onclick="return toggle('Subtle.cb_openMediaCancel');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_openMediaCancel">cb_openMediaCancel</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_openMediaCancel-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_openMediaCancel-expanded"><a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowMediaOpen</tt><tt class="py-op">:</tt> </tt>
+<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowMediaOpen</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"OPEN_MEDIA"</tt><tt class="py-op">)</tt> </tt>
+<a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">hide</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line"> </tt>
+<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_openMediaOpen"></a><div id="Subtle.cb_openMediaOpen-def"><a name="L509"></a><tt class="py-lineno">509</tt> <a class="py-toggle" href="#" id="Subtle.cb_openMediaOpen-toggle" onclick="return toggle('Subtle.cb_openMediaOpen');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_openMediaOpen">cb_openMediaOpen</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_openMediaOpen-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_openMediaOpen-expanded"><a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line"><tt class="py-docstring">            Callback to open a file</tt> </tt>
+<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line"><tt class="py-docstring">            We do not add filters here because we</tt> </tt>
+<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line"><tt class="py-docstring">            want to make subtle as dynamic as possible</tt> </tt>
+<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line"><tt class="py-docstring">            and the number of supported files is too big and</tt> </tt>
+<a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line"><tt class="py-docstring">            sometimes not extensions based</tt> </tt>
+<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line">        <tt class="py-name">WND</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowMediaOpen</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"OPEN_MEDIA"</tt><tt class="py-op">)</tt> </tt>
+<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line">        <tt class="py-name">FN</tt><tt class="py-op">=</tt><tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">get_filename</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line">        <tt class="py-name">URI</tt><tt class="py-op">=</tt><tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">get_uri</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">TEST_SUB_URI</tt> <tt class="py-op">=</tt> <tt class="py-name">URI</tt> </tt>
+<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line">        <tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">hide</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line"> </tt>
+<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line">        <tt class="py-name">tmpSub</tt> <tt class="py-op">=</tt> <tt id="link-75" class="py-name" targets="Module Subtitles.Discoverer=Subtitles.Discoverer-module.html"><a title="Subtitles.Discoverer" class="py-name" href="#" onclick="return doclink('link-75', 'Discoverer', 'link-75');">Discoverer</a></tt><tt class="py-op">.</tt><tt id="link-76" class="py-name" targets="Function Subtitles.Discoverer.discoverer()=Subtitles.Discoverer-module.html#discoverer"><a title="Subtitles.Discoverer.discoverer" class="py-name" href="#" onclick="return doclink('link-76', 'discoverer', 'link-76');">discoverer</a></tt><tt class="py-op">(</tt><tt class="py-name">FN</tt><tt class="py-op">)</tt> </tt>
+<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">tmpSub</tt><tt class="py-op">:</tt> </tt>
+<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt> <tt class="py-op">=</tt> <tt class="py-name">tmpSub</tt> </tt>
+<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-77', 'Subtitles', 'link-4');">Subtitles</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">tmpSub</tt><tt class="py-op">)</tt> </tt>
+<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="Subtle.Subtle.updateStreamWindow" class="py-name" href="#" onclick="return doclink('link-78', 'updateStreamWindow', 'link-74');">updateStreamWindow</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">            <tt class="py-name">MI</tt> <tt class="py-op">=</tt> <tt id="link-79" class="py-name"><a title="MediaInfo
+MediaInfo.MediaInfo" class="py-name" href="#" onclick="return doclink('link-79', 'MediaInfo', 'link-5');">MediaInfo</a></tt><tt class="py-op">(</tt><tt class="py-name">FN</tt><tt class="py-op">,</tt> <tt class="py-name">URI</tt><tt class="py-op">)</tt> </tt>
+<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line">            <tt class="py-comment"># Lets poll for information</tt> </tt>
+<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">timeout_add</tt><tt class="py-op">(</tt><tt class="py-number">30</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name" targets="Method Subtle.Subtle.addMedia()=Subtle.Subtle-class.html#addMedia"><a title="Subtle.Subtle.addMedia" class="py-name" href="#" onclick="return doclink('link-80', 'addMedia', 'link-80');">addMedia</a></tt><tt class="py-op">,</tt> <tt class="py-name">MI</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">     </tt>
+<a name="Subtle.addMedia"></a><div id="Subtle.addMedia-def"><a name="L533"></a><tt class="py-lineno">533</tt> <a class="py-toggle" href="#" id="Subtle.addMedia-toggle" onclick="return toggle('Subtle.addMedia');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#addMedia">addMedia</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">mInfo</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.addMedia-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.addMedia-expanded"><a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line"><tt class="py-docstring">            This is polled untill a media file discover process</tt> </tt>
+<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line"><tt class="py-docstring">            has ended. When it has, throw error to the user if not</tt> </tt>
+<a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line"><tt class="py-docstring">            supported.</tt> </tt>
+<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">mInfo</tt><tt class="py-op">:</tt> </tt>
+<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line">        <tt class="py-comment"># First, wait for media discovery </tt> </tt>
+<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-keyword">if</tt> <tt class="py-name">mInfo</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name" targets="Method MediaInfo.MediaInfo.poll()=MediaInfo.MediaInfo-class.html#poll"><a title="MediaInfo.MediaInfo.poll" class="py-name" href="#" onclick="return doclink('link-81', 'poll', 'link-81');">poll</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">True</tt>  </tt>
+<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">        <tt class="py-name">mInfo</tt> <tt class="py-op">=</tt> <tt class="py-name">mInfo</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name" targets="Method MediaInfo.MediaInfo.getMedia()=MediaInfo.MediaInfo-class.html#getMedia"><a title="MediaInfo.MediaInfo.getMedia" class="py-name" href="#" onclick="return doclink('link-82', 'getMedia', 'link-82');">getMedia</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">mInfo</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="MediaInfo.Media.MIME" class="py-name" href="#" onclick="return doclink('link-83', 'MIME', 'link-57');">MIME</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">mInfo</tt><tt class="py-op">)</tt> </tt>
+<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="Subtle.Subtle.updateStreamWindow" class="py-name" href="#" onclick="return doclink('link-84', 'updateStreamWindow', 'link-74');">updateStreamWindow</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line">            <tt class="py-comment">#Set videoWidget sizes according to media standards</tt> </tt>
+<a name="L549"></a><tt class="py-lineno">549</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">videoWidget</tt><tt class="py-op">.</tt><tt class="py-name">set_size_request</tt><tt class="py-op">(</tt><tt class="py-name">mInfo</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="MediaInfo.Media.videoWidth" class="py-name" href="#" onclick="return doclink('link-85', 'videoWidth', 'link-68');">videoWidth</a></tt><tt class="py-op">,</tt> \ </tt>
+<a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line">                                                <tt class="py-name">mInfo</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="MediaInfo.Media.videoHeight" class="py-name" href="#" onclick="return doclink('link-86', 'videoHeight', 'link-69');">videoHeight</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">videoWidgetGst</tt><tt class="py-op">=</tt><tt id="link-87" class="py-name"><a title="GPlayer.VideoWidget" class="py-name" href="#" onclick="return doclink('link-87', 'VideoWidget', 'link-1');">VideoWidget</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">videoWidget</tt><tt class="py-op">)</tt> </tt>
+<a name="L552"></a><tt class="py-lineno">552</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">=</tt><tt id="link-88" class="py-name"><a title="GPlayer.GstPlayer" class="py-name" href="#" onclick="return doclink('link-88', 'GstPlayer', 'link-3');">GstPlayer</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">videoWidgetGst</tt><tt class="py-op">)</tt> </tt>
+<a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name" targets="Method GPlayer.GstPlayer.set_location()=GPlayer.GstPlayer-class.html#set_location"><a title="GPlayer.GstPlayer.set_location" class="py-name" href="#" onclick="return doclink('link-89', 'set_location', 'link-89');">set_location</a></tt><tt class="py-op">(</tt><tt class="py-string">"file://"</tt><tt class="py-op">+</tt><tt class="py-name">mInfo</tt><tt class="py-op">.</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
+<a name="L554"></a><tt class="py-lineno">554</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">videoWidget</tt><tt class="py-op">.</tt><tt class="py-name">flags</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">&amp;</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">REALIZED</tt><tt class="py-op">:</tt> </tt>
+<a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name" targets="Method Subtle.Subtle.play_toggled()=Subtle.Subtle-class.html#play_toggled"><a title="Subtle.Subtle.play_toggled" class="py-name" href="#" onclick="return doclink('link-90', 'play_toggled', 'link-90');">play_toggled</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">videoWidget</tt><tt class="py-op">.</tt><tt class="py-name">connect_after</tt><tt class="py-op">(</tt><tt class="py-string">'realize'</tt><tt class="py-op">,</tt> </tt>
+<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line">                                           <tt class="py-keyword">lambda</tt> <tt class="py-op">*</tt><tt class="py-name">x</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="Subtle.Subtle.play_toggled" class="py-name" href="#" onclick="return doclink('link-91', 'play_toggled', 'link-90');">play_toggled</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line">            <tt class="py-name">errorDialog</tt> <tt class="py-op">=</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">MessageDialog</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowMainWindow</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line">                                            <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">DIALOG_MODAL</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line">                                            <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">MESSAGE_ERROR</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line">                                            <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">BUTTONS_CLOSE</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line">                                            <tt class="py-string">"This file format is not supported \</tt> </tt>
+<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line"><tt class="py-string">                                            or not detected."</tt><tt class="py-op">)</tt> </tt>
+<a name="L566"></a><tt class="py-lineno">566</tt>  <tt class="py-line">            <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">errorDialog</tt><tt class="py-op">.</tt><tt class="py-name">run</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">result</tt> <tt class="py-op">==</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">RESPONSE_CLOSE</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line">                <tt class="py-name">errorDialog</tt><tt class="py-op">.</tt><tt class="py-name">destroy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L569"></a><tt class="py-lineno">569</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line"> </tt>
+<a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_addNewStream"></a><div id="Subtle.cb_addNewStream-def"><a name="L572"></a><tt class="py-lineno">572</tt> <a class="py-toggle" href="#" id="Subtle.cb_addNewStream-toggle" onclick="return toggle('Subtle.cb_addNewStream');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_addNewStream">cb_addNewStream</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_addNewStream-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_addNewStream-expanded"><a name="L573"></a><tt class="py-lineno">573</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowMediaOpen</tt><tt class="py-op">==</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowMediaOpen</tt><tt class="py-op">=</tt><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">glade</tt><tt class="py-op">.</tt><tt class="py-name">XML</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">gladefile</tt><tt class="py-op">,</tt><tt class="py-string">"OPEN_MEDIA"</tt><tt class="py-op">)</tt> </tt>
+<a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line">            <tt class="py-name">dic</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">"on_OPEN_BUTTON_CANCEL_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name" targets="Method Subtle.Subtle.cb_openMediaCancel()=Subtle.Subtle-class.html#cb_openMediaCancel"><a title="Subtle.Subtle.cb_openMediaCancel" class="py-name" href="#" onclick="return doclink('link-92', 'cb_openMediaCancel', 'link-92');">cb_openMediaCancel</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line">                <tt class="py-string">"on_OPEN_BUTTON_OPEN_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name" targets="Method Subtle.Subtle.cb_openMediaOpen()=Subtle.Subtle-class.html#cb_openMediaOpen"><a title="Subtle.Subtle.cb_openMediaOpen" class="py-name" href="#" onclick="return doclink('link-93', 'cb_openMediaOpen', 'link-93');">cb_openMediaOpen</a></tt> <tt class="py-op">}</tt> </tt>
+<a name="L577"></a><tt class="py-lineno">577</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowMediaOpen</tt><tt class="py-op">.</tt><tt class="py-name">signal_autoconnect</tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">)</tt> </tt>
+<a name="L578"></a><tt class="py-lineno">578</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowMediaOpen</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"OPEN_MEDIA"</tt><tt class="py-op">)</tt> </tt>
+<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">WND</tt><tt class="py-op">:</tt> </tt>
+<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowMediaOpen</tt><tt class="py-op">=</tt><tt class="py-name">None</tt> </tt>
+<a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L583"></a><tt class="py-lineno">583</tt>  <tt class="py-line">                <tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">show</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L584"></a><tt class="py-lineno">584</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line"> </tt>
+<a name="L586"></a><tt class="py-lineno">586</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_onNewMenu"></a><div id="Subtle.cb_onNewMenu-def"><a name="L587"></a><tt class="py-lineno">587</tt> <a class="py-toggle" href="#" id="Subtle.cb_onNewMenu-toggle" onclick="return toggle('Subtle.cb_onNewMenu');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_onNewMenu">cb_onNewMenu</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">menu</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_onNewMenu-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_onNewMenu-expanded"><a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowStreams</tt><tt class="py-op">:</tt> </tt>
+<a name="L589"></a><tt class="py-lineno">589</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowStreams</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"STREAM_WINDOW"</tt><tt class="py-op">)</tt> </tt>
+<a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">show</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L591"></a><tt class="py-lineno">591</tt>  <tt class="py-line"> </tt>
+<a name="L592"></a><tt class="py-lineno">592</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_onSubsListSelect"></a><div id="Subtle.cb_onSubsListSelect-def"><a name="L593"></a><tt class="py-lineno">593</tt> <a class="py-toggle" href="#" id="Subtle.cb_onSubsListSelect-toggle" onclick="return toggle('Subtle.cb_onSubsListSelect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_onSubsListSelect">cb_onSubsListSelect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">,</tt> <tt class="py-param">event</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_onSubsListSelect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_onSubsListSelect-expanded"><a name="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line"><tt class="py-docstring">            Do the proper thing when subtitle is selected</tt> </tt>
+<a name="L596"></a><tt class="py-lineno">596</tt>  <tt class="py-line"><tt class="py-docstring">            2 clicks seeks de video to its timecode</tt> </tt>
+<a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line"><tt class="py-docstring">            1 click edits on the TextView</tt> </tt>
+<a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L599"></a><tt class="py-lineno">599</tt>  <tt class="py-line">        <tt class="py-comment">#FIXME: Something nasty happens on the selection of the subtitle</tt> </tt>
+<a name="L600"></a><tt class="py-lineno">600</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment"># Only happens the first time and throws an exception</tt> </tt>
+<a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">Row</tt><tt class="py-op">=</tt><tt class="py-name">None</tt> </tt>
+<a name="L602"></a><tt class="py-lineno">602</tt>  <tt class="py-line">        <tt class="py-name">Selection</tt> <tt class="py-op">=</tt> <tt class="py-name">widget</tt><tt class="py-op">.</tt><tt class="py-name">get_selection</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L603"></a><tt class="py-lineno">603</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">Selection</tt><tt class="py-op">==</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L604"></a><tt class="py-lineno">604</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L605"></a><tt class="py-lineno">605</tt>  <tt class="py-line">        <tt class="py-name">Model</tt><tt class="py-op">,</tt> <tt class="py-name">Rows</tt> <tt class="py-op">=</tt> <tt class="py-name">Selection</tt><tt class="py-op">.</tt><tt class="py-name">get_selected_rows</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L606"></a><tt class="py-lineno">606</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">Rows</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L607"></a><tt class="py-lineno">607</tt>  <tt class="py-line">            <tt class="py-comment">#FIXME: Buggy solution!! Has something to do with</tt> </tt>
+<a name="L608"></a><tt class="py-lineno">608</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-comment"># button press release event generated...</tt> </tt>
+<a name="L609"></a><tt class="py-lineno">609</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-name">Row</tt> <tt class="py-op">=</tt> <tt class="py-name">Model</tt><tt class="py-op">[</tt><tt class="py-name">Rows</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
+<a name="L610"></a><tt class="py-lineno">610</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">:</tt> </tt>
+<a name="L611"></a><tt class="py-lineno">611</tt>  <tt class="py-line">                <tt id="link-94" class="py-name" targets="Module Subtitles.Sub=Subtitles.Sub-module.html,Class Subtitles.Sub.Sub=Subtitles.Sub.Sub-class.html"><a title="Subtitles.Sub
+Subtitles.Sub.Sub" class="py-name" href="#" onclick="return doclink('link-94', 'Sub', 'link-94');">Sub</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">[</tt><tt class="py-name">Row</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
+<a name="L612"></a><tt class="py-lineno">612</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">event</tt><tt class="py-op">.</tt><tt class="py-name">type</tt> <tt class="py-op">==</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">gdk</tt><tt class="py-op">.</tt><tt class="py-name">_2BUTTON_PRESS</tt> <tt class="py-keyword">and</tt> <tt class="py-name">event</tt><tt class="py-op">.</tt><tt class="py-name">button</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L613"></a><tt class="py-lineno">613</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">:</tt> </tt>
+<a name="L614"></a><tt class="py-lineno">614</tt>  <tt class="py-line">                <tt class="py-name">B</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">;</tt> </tt>
+<a name="L615"></a><tt class="py-lineno">615</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name" targets="Method GPlayer.GstPlayer.set_subtitle_text()=GPlayer.GstPlayer-class.html#set_subtitle_text"><a title="GPlayer.GstPlayer.set_subtitle_text" class="py-name" href="#" onclick="return doclink('link-95', 'set_subtitle_text', 'link-95');">set_subtitle_text</a></tt><tt class="py-op">(</tt><tt id="link-96" class="py-name"><a title="Subtitles.Sub
+Subtitles.Sub.Sub" class="py-name" href="#" onclick="return doclink('link-96', 'Sub', 'link-94');">Sub</a></tt><tt class="py-op">.</tt><tt id="link-97" class="py-name" targets="Method Subtitles.Sub.Sub.getSubText()=Subtitles.Sub.Sub-class.html#getSubText"><a title="Subtitles.Sub.Sub.getSubText" class="py-name" href="#" onclick="return doclink('link-97', 'getSubText', 'link-97');">getSubText</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L616"></a><tt class="py-lineno">616</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name" targets="Method GPlayer.GstPlayer.is_playing()=GPlayer.GstPlayer-class.html#is_playing"><a title="GPlayer.GstPlayer.is_playing" class="py-name" href="#" onclick="return doclink('link-98', 'is_playing', 'link-98');">is_playing</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L617"></a><tt class="py-lineno">617</tt>  <tt class="py-line">                    <tt class="py-name">B</tt><tt class="py-op">=</tt><tt class="py-number">1</tt> </tt>
+<a name="L618"></a><tt class="py-lineno">618</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="Subtle.Subtle.play_toggled" class="py-name" href="#" onclick="return doclink('link-99', 'play_toggled', 'link-90');">play_toggled</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L619"></a><tt class="py-lineno">619</tt>  <tt class="py-line">                <tt class="py-name">real</tt> <tt class="py-op">=</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">Row</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-comment"># in ns</tt> </tt>
+<a name="L620"></a><tt class="py-lineno">620</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name" targets="Method GPlayer.GstPlayer.seek()=GPlayer.GstPlayer-class.html#seek"><a title="GPlayer.GstPlayer.seek" class="py-name" href="#" onclick="return doclink('link-100', 'seek', 'link-100');">seek</a></tt><tt class="py-op">(</tt><tt class="py-name">real</tt><tt class="py-op">*</tt><tt class="py-number">1000000</tt><tt class="py-op">)</tt> </tt>
+<a name="L621"></a><tt class="py-lineno">621</tt>  <tt class="py-line">                <tt class="py-comment"># allow for a preroll</tt> </tt>
+<a name="L622"></a><tt class="py-lineno">622</tt>  <tt class="py-line"><tt class="py-comment"></tt>                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name" targets="Method GPlayer.GstPlayer.get_state()=GPlayer.GstPlayer-class.html#get_state"><a title="GPlayer.GstPlayer.get_state" class="py-name" href="#" onclick="return doclink('link-101', 'get_state', 'link-101');">get_state</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">50</tt><tt class="py-op">*</tt><tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">MSECOND</tt><tt class="py-op">)</tt> <tt class="py-comment"># 50 ms</tt> </tt>
+<a name="L623"></a><tt class="py-lineno">623</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">B</tt><tt class="py-op">==</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L624"></a><tt class="py-lineno">624</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="Subtle.Subtle.play_toggled" class="py-name" href="#" onclick="return doclink('link-102', 'play_toggled', 'link-90');">play_toggled</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L625"></a><tt class="py-lineno">625</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">event</tt><tt class="py-op">.</tt><tt class="py-name">type</tt> <tt class="py-op">==</tt> <tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">gdk</tt><tt class="py-op">.</tt><tt class="py-name">BUTTON_RELEASE</tt><tt class="py-op">:</tt> </tt>
+<a name="L626"></a><tt class="py-lineno">626</tt>  <tt class="py-line">            <tt class="py-name">model</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cur_edit_sub_iter</tt> <tt class="py-op">=</tt>  <tt class="py-name">Selection</tt><tt class="py-op">.</tt><tt class="py-name">get_selected</tt><tt class="py-op">(</tt><tt class="py-op">)</tt>  </tt>
+<a name="L627"></a><tt class="py-lineno">627</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name" targets="Method Subtle.Subtle.setSubtitleEdit()=Subtle.Subtle-class.html#setSubtitleEdit"><a title="Subtle.Subtle.setSubtitleEdit" class="py-name" href="#" onclick="return doclink('link-103', 'setSubtitleEdit', 'link-103');">setSubtitleEdit</a></tt><tt class="py-op">(</tt> <tt id="link-104" class="py-name"><a title="Subtitles.Sub
+Subtitles.Sub.Sub" class="py-name" href="#" onclick="return doclink('link-104', 'Sub', 'link-94');">Sub</a></tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="Subtitles.Sub.Sub.getSubText" class="py-name" href="#" onclick="return doclink('link-105', 'getSubText', 'link-97');">getSubText</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+</div><a name="L628"></a><tt class="py-lineno">628</tt>  <tt class="py-line"> </tt>
+<a name="L629"></a><tt class="py-lineno">629</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_onSubTextEdited"></a><div id="Subtle.cb_onSubTextEdited-def"><a name="L630"></a><tt class="py-lineno">630</tt> <a class="py-toggle" href="#" id="Subtle.cb_onSubTextEdited-toggle" onclick="return toggle('Subtle.cb_onSubTextEdited');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_onSubTextEdited">cb_onSubTextEdited</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">cell</tt><tt class="py-op">,</tt> <tt class="py-param">path</tt><tt class="py-op">,</tt> <tt class="py-param">new_text</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_onSubTextEdited-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_onSubTextEdited-expanded"><a name="L631"></a><tt class="py-lineno">631</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L632"></a><tt class="py-lineno">632</tt>  <tt class="py-line"><tt class="py-docstring">            Callback to change subtitle when subtitle text was changed</tt> </tt>
+<a name="L633"></a><tt class="py-lineno">633</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L634"></a><tt class="py-lineno">634</tt>  <tt class="py-line">        <tt class="py-name">iter</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">get_iter</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
+<a name="L635"></a><tt class="py-lineno">635</tt>  <tt class="py-line">        <tt class="py-name">subKey</tt><tt class="py-op">,</tt> <tt class="py-name">ETime</tt><tt class="py-op">,</tt> <tt class="py-name">Text</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="L636"></a><tt class="py-lineno">636</tt>  <tt class="py-line">        <tt class="py-name">subtitle</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="Subtitles.Subtitles.Subtitles.getSub" class="py-name" href="#" onclick="return doclink('link-106', 'getSub', 'link-52');">getSub</a></tt><tt class="py-op">(</tt><tt class="py-name">subKey</tt><tt class="py-op">)</tt> </tt>
+<a name="L637"></a><tt class="py-lineno">637</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">subtitle</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> <tt class="py-op">!=</tt> <tt class="py-name">new_text</tt><tt class="py-op">:</tt> </tt>
+<a name="L638"></a><tt class="py-lineno">638</tt>  <tt class="py-line">            <tt class="py-name">subAttr</tt> <tt class="py-op">=</tt> <tt class="py-name">subtitle</tt><tt class="py-op">.</tt><tt class="py-name">Attributes</tt> </tt>
+<a name="L639"></a><tt class="py-lineno">639</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="Subtitles.Subtitles.Subtitles.subDel" class="py-name" href="#" onclick="return doclink('link-107', 'subDel', 'link-50');">subDel</a></tt><tt class="py-op">(</tt><tt class="py-name">subKey</tt><tt class="py-op">)</tt> </tt>
+<a name="L640"></a><tt class="py-lineno">640</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="Subtitles.Subtitles.Subtitles.subAdd" class="py-name" href="#" onclick="return doclink('link-108', 'subAdd', 'link-46');">subAdd</a></tt><tt class="py-op">(</tt><tt class="py-name">subKey</tt><tt class="py-op">,</tt><tt class="py-name">ETime</tt><tt class="py-op">,</tt><tt class="py-name">new_text</tt><tt class="py-op">,</tt><tt class="py-name">subAttr</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L641"></a><tt class="py-lineno">641</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">,</tt><tt class="py-number">3</tt><tt class="py-op">,</tt><tt class="py-name">new_text</tt><tt class="py-op">)</tt> </tt>
+<a name="L642"></a><tt class="py-lineno">642</tt>  <tt class="py-line"> </tt>
+<a name="L643"></a><tt class="py-lineno">643</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+</div><a name="L644"></a><tt class="py-lineno">644</tt>  <tt class="py-line"> </tt>
+<a name="L645"></a><tt class="py-lineno">645</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_onSubtitleEdit"></a><div id="Subtle.cb_onSubtitleEdit-def"><a name="L646"></a><tt class="py-lineno">646</tt> <a class="py-toggle" href="#" id="Subtle.cb_onSubtitleEdit-toggle" onclick="return toggle('Subtle.cb_onSubtitleEdit');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_onSubtitleEdit">cb_onSubtitleEdit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">,</tt> <tt class="py-param">event</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_onSubtitleEdit-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_onSubtitleEdit-expanded"><a name="L647"></a><tt class="py-lineno">647</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L648"></a><tt class="py-lineno">648</tt>  <tt class="py-line"><tt class="py-docstring">            Updates the subtile list in realtime</tt> </tt>
+<a name="L649"></a><tt class="py-lineno">649</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L650"></a><tt class="py-lineno">650</tt>  <tt class="py-line">        <tt class="py-name">id</tt><tt class="py-op">,</tt> <tt class="py-name">subKey</tt><tt class="py-op">,</tt> <tt class="py-name">ETime</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cur_edit_sub_iter</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L651"></a><tt class="py-lineno">651</tt>  <tt class="py-line">        <tt class="py-comment">#self.Subtitle.subDel(subKey)</tt> </tt>
+<a name="L652"></a><tt class="py-lineno">652</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">txt_subedit</tt><tt class="py-op">.</tt><tt class="py-name">get_buffer</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get_property</tt><tt class="py-op">(</tt><tt class="py-string">'text'</tt><tt class="py-op">)</tt> </tt>
+<a name="L653"></a><tt class="py-lineno">653</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name" targets="Method Subtitles.Subtitles.Subtitles.updateText()=Subtitles.Subtitles.Subtitles-class.html#updateText"><a title="Subtitles.Subtitles.Subtitles.updateText" class="py-name" href="#" onclick="return doclink('link-109', 'updateText', 'link-109');">updateText</a></tt><tt class="py-op">(</tt><tt class="py-name">subKey</tt><tt class="py-op">,</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
+<a name="L654"></a><tt class="py-lineno">654</tt>  <tt class="py-line">        <tt class="py-comment">#self.Subtitle.subAdd(subKey,ETime,text,None,0)</tt> </tt>
+<a name="L655"></a><tt class="py-lineno">655</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cur_edit_sub_iter</tt><tt class="py-op">,</tt> <tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-name">text</tt><tt class="py-op">)</tt>  </tt>
+<a name="L656"></a><tt class="py-lineno">656</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L657"></a><tt class="py-lineno">657</tt>  <tt class="py-line"> </tt>
+<a name="L658"></a><tt class="py-lineno">658</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.setSubtitleEdit"></a><div id="Subtle.setSubtitleEdit-def"><a name="L659"></a><tt class="py-lineno">659</tt> <a class="py-toggle" href="#" id="Subtle.setSubtitleEdit-toggle" onclick="return toggle('Subtle.setSubtitleEdit');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#setSubtitleEdit">setSubtitleEdit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">sub</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.setSubtitleEdit-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.setSubtitleEdit-expanded"><a name="L660"></a><tt class="py-lineno">660</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L661"></a><tt class="py-lineno">661</tt>  <tt class="py-line"><tt class="py-docstring">            Set the subtitle to be edited</tt> </tt>
+<a name="L662"></a><tt class="py-lineno">662</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L663"></a><tt class="py-lineno">663</tt>  <tt class="py-line">        <tt class="py-name">buf</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">txt_subedit</tt><tt class="py-op">.</tt><tt class="py-name">get_buffer</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L664"></a><tt class="py-lineno">664</tt>  <tt class="py-line">        <tt class="py-name">buf</tt><tt class="py-op">.</tt><tt class="py-name">set_text</tt><tt class="py-op">(</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L665"></a><tt class="py-lineno">665</tt>  <tt class="py-line"> </tt>
+<a name="L666"></a><tt class="py-lineno">666</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.subsWindowUpdate"></a><div id="Subtle.subsWindowUpdate-def"><a name="L667"></a><tt class="py-lineno">667</tt> <a class="py-toggle" href="#" id="Subtle.subsWindowUpdate-toggle" onclick="return toggle('Subtle.subsWindowUpdate');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#subsWindowUpdate">subsWindowUpdate</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.subsWindowUpdate-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.subsWindowUpdate-expanded"><a name="L668"></a><tt class="py-lineno">668</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">:</tt> </tt>
+<a name="L669"></a><tt class="py-lineno">669</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L670"></a><tt class="py-lineno">670</tt>  <tt class="py-line">        <tt class="py-comment"># We have removed the window for now</tt> </tt>
+<a name="L671"></a><tt class="py-lineno">671</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-comment">#if self.windowSubsList:</tt> </tt>
+<a name="L672"></a><tt class="py-lineno">672</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">clear</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L673"></a><tt class="py-lineno">673</tt>  <tt class="py-line">        <tt class="py-name">j</tt><tt class="py-op">=</tt><tt class="py-number">0</tt> </tt>
+<a name="L674"></a><tt class="py-lineno">674</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">.</tt><tt class="py-name">subKeys</tt><tt class="py-op">:</tt> </tt>
+<a name="L675"></a><tt class="py-lineno">675</tt>  <tt class="py-line">            <tt class="py-name">S</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L676"></a><tt class="py-lineno">676</tt>  <tt class="py-line">            <tt class="py-name">iter</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L677"></a><tt class="py-lineno">677</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subsListStore</tt><tt class="py-op">.</tt><tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">iter</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">j</tt><tt class="py-op">,</tt>  </tt>
+<a name="L678"></a><tt class="py-lineno">678</tt>  <tt class="py-line">                                        <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">S</tt><tt class="py-op">.</tt><tt class="py-name">start_time</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L679"></a><tt class="py-lineno">679</tt>  <tt class="py-line">                                        <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">S</tt><tt class="py-op">.</tt><tt class="py-name">end_time</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L680"></a><tt class="py-lineno">680</tt>  <tt class="py-line">                                        <tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">S</tt><tt class="py-op">.</tt><tt class="py-name">start_frame</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L681"></a><tt class="py-lineno">681</tt>  <tt class="py-line">                                        <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">S</tt><tt class="py-op">.</tt><tt class="py-name">end_frame</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L682"></a><tt class="py-lineno">682</tt>  <tt class="py-line">                                        <tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">S</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="Subtitles.Sub.Sub.getSubText" class="py-name" href="#" onclick="return doclink('link-110', 'getSubText', 'link-97');">getSubText</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L683"></a><tt class="py-lineno">683</tt>  <tt class="py-line">            <tt class="py-name">j</tt> <tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+</div><a name="L684"></a><tt class="py-lineno">684</tt>  <tt class="py-line"> </tt>
+<a name="L685"></a><tt class="py-lineno">685</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.saveProject"></a><div id="Subtle.saveProject-def"><a name="L686"></a><tt class="py-lineno">686</tt> <a class="py-toggle" href="#" id="Subtle.saveProject-toggle" onclick="return toggle('Subtle.saveProject');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#saveProject">saveProject</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.saveProject-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.saveProject-expanded"><a name="L687"></a><tt class="py-lineno">687</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">PFileName</tt><tt class="py-op">:</tt> </tt>
+<a name="L688"></a><tt class="py-lineno">688</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L689"></a><tt class="py-lineno">689</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">PFileName</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">!=</tt><tt class="py-string">".spf"</tt><tt class="py-op">:</tt> </tt>
+<a name="L690"></a><tt class="py-lineno">690</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">PFileName</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">PFileName</tt><tt class="py-op">+</tt><tt class="py-string">".spf"</tt> </tt>
+<a name="L691"></a><tt class="py-lineno">691</tt>  <tt class="py-line">        <tt class="py-name">PXML</tt><tt class="py-op">=</tt><tt class="py-name">ProjectXML</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L692"></a><tt class="py-lineno">692</tt>  <tt class="py-line">        <tt class="py-name">PXML</tt><tt class="py-op">.</tt><tt class="py-name">addHeadInfo</tt><tt class="py-op">(</tt><tt class="py-string">"title"</tt><tt class="py-op">,</tt> <tt class="py-string">"Subtle development version"</tt><tt class="py-op">)</tt> </tt>
+<a name="L693"></a><tt class="py-lineno">693</tt>  <tt class="py-line">        <tt class="py-name">PXML</tt><tt class="py-op">.</tt><tt class="py-name">addHeadInfo</tt><tt class="py-op">(</tt><tt class="py-string">"desc"</tt><tt class="py-op">,</tt> <tt class="py-string">"This is version current at development stage."</tt><tt class="py-op">)</tt> </tt>
+<a name="L694"></a><tt class="py-lineno">694</tt>  <tt class="py-line">        <tt class="py-name">PXML</tt><tt class="py-op">.</tt><tt class="py-name">addHeadInfo</tt><tt class="py-op">(</tt><tt class="py-string">"author"</tt><tt class="py-op">,</tt> <tt class="py-string">"Joao Mesquita"</tt><tt class="py-op">)</tt> </tt>
+<a name="L695"></a><tt class="py-lineno">695</tt>  <tt class="py-line">        <tt class="py-name">PXML</tt><tt class="py-op">.</tt><tt class="py-name">addHeadInfo</tt><tt class="py-op">(</tt><tt class="py-string">"email"</tt><tt class="py-op">,</tt> <tt class="py-string">"jmesquita at gmail.com"</tt><tt class="py-op">)</tt> </tt>
+<a name="L696"></a><tt class="py-lineno">696</tt>  <tt class="py-line">        <tt class="py-name">PXML</tt><tt class="py-op">.</tt><tt class="py-name">addHeadInfo</tt><tt class="py-op">(</tt><tt class="py-string">"info"</tt><tt class="py-op">,</tt> <tt class="py-string">"Sample of save function"</tt><tt class="py-op">)</tt> </tt>
+<a name="L697"></a><tt class="py-lineno">697</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">:</tt> </tt>
+<a name="L698"></a><tt class="py-lineno">698</tt>  <tt class="py-line">            <tt class="py-name">PXML</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="Subtle.Subtle.addMedia" class="py-name" href="#" onclick="return doclink('link-111', 'addMedia', 'link-80');">addMedia</a></tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
+<a name="L699"></a><tt class="py-lineno">699</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-112', 'Subtitles', 'link-4');">Subtitles</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L700"></a><tt class="py-lineno">700</tt>  <tt class="py-line">            <tt class="py-name">PXML</tt><tt class="py-op">.</tt><tt class="py-name">addSubtitle</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
+<a name="L701"></a><tt class="py-lineno">701</tt>  <tt class="py-line">        <tt class="py-name">PXML</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">PFileName</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L702"></a><tt class="py-lineno">702</tt>  <tt class="py-line"> </tt>
+<a name="L703"></a><tt class="py-lineno">703</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_projectSaveOpen"></a><div id="Subtle.cb_projectSaveOpen-def"><a name="L704"></a><tt class="py-lineno">704</tt> <a class="py-toggle" href="#" id="Subtle.cb_projectSaveOpen-toggle" onclick="return toggle('Subtle.cb_projectSaveOpen');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_projectSaveOpen">cb_projectSaveOpen</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_projectSaveOpen-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_projectSaveOpen-expanded"><a name="L705"></a><tt class="py-lineno">705</tt>  <tt class="py-line">        <tt class="py-name">WND</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectSO</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"SAVE_OPEN_PFILE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L706"></a><tt class="py-lineno">706</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">PFileName</tt><tt class="py-op">=</tt><tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">get_filename</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L707"></a><tt class="py-lineno">707</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name" targets="Method Subtle.Subtle.saveProject()=Subtle.Subtle-class.html#saveProject"><a title="Subtle.Subtle.saveProject" class="py-name" href="#" onclick="return doclink('link-113', 'saveProject', 'link-113');">saveProject</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L708"></a><tt class="py-lineno">708</tt>  <tt class="py-line">        <tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">hide</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L709"></a><tt class="py-lineno">709</tt>  <tt class="py-line"> </tt>
+<a name="L710"></a><tt class="py-lineno">710</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_projectSaveCancel"></a><div id="Subtle.cb_projectSaveCancel-def"><a name="L711"></a><tt class="py-lineno">711</tt> <a class="py-toggle" href="#" id="Subtle.cb_projectSaveCancel-toggle" onclick="return toggle('Subtle.cb_projectSaveCancel');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_projectSaveCancel">cb_projectSaveCancel</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_projectSaveCancel-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_projectSaveCancel-expanded"><a name="L712"></a><tt class="py-lineno">712</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectSO</tt><tt class="py-op">==</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> </tt>
+<a name="L713"></a><tt class="py-lineno">713</tt>  <tt class="py-line">        <tt class="py-name">WND</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectSO</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"SAVE_OPEN_PFILE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L714"></a><tt class="py-lineno">714</tt>  <tt class="py-line">        <tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">hide</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L715"></a><tt class="py-lineno">715</tt>  <tt class="py-line"> </tt>
+<a name="L716"></a><tt class="py-lineno">716</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_onSaveAsMenu"></a><div id="Subtle.cb_onSaveAsMenu-def"><a name="L717"></a><tt class="py-lineno">717</tt> <a class="py-toggle" href="#" id="Subtle.cb_onSaveAsMenu-toggle" onclick="return toggle('Subtle.cb_onSaveAsMenu');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_onSaveAsMenu">cb_onSaveAsMenu</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_onSaveAsMenu-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_onSaveAsMenu-expanded"><a name="L718"></a><tt class="py-lineno">718</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">PFileName</tt><tt class="py-op">=</tt><tt class="py-name">None</tt> </tt>
+<a name="L719"></a><tt class="py-lineno">719</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="Subtle.Subtle.cb_onSaveMenu" class="py-name" href="#" onclick="return doclink('link-114', 'cb_onSaveMenu', 'link-24');">cb_onSaveMenu</a></tt><tt class="py-op">(</tt><tt class="py-name">widget</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L720"></a><tt class="py-lineno">720</tt>  <tt class="py-line"> </tt>
+<a name="L721"></a><tt class="py-lineno">721</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_onSaveMenu"></a><div id="Subtle.cb_onSaveMenu-def"><a name="L722"></a><tt class="py-lineno">722</tt> <a class="py-toggle" href="#" id="Subtle.cb_onSaveMenu-toggle" onclick="return toggle('Subtle.cb_onSaveMenu');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_onSaveMenu">cb_onSaveMenu</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_onSaveMenu-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_onSaveMenu-expanded"><a name="L723"></a><tt class="py-lineno">723</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">PFileName</tt><tt class="py-op">:</tt> </tt>
+<a name="L724"></a><tt class="py-lineno">724</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="Subtle.Subtle.saveProject" class="py-name" href="#" onclick="return doclink('link-115', 'saveProject', 'link-113');">saveProject</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L725"></a><tt class="py-lineno">725</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L726"></a><tt class="py-lineno">726</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectSO</tt><tt class="py-op">==</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L727"></a><tt class="py-lineno">727</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectSO</tt><tt class="py-op">=</tt><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">glade</tt><tt class="py-op">.</tt><tt class="py-name">XML</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">gladefile</tt><tt class="py-op">,</tt><tt class="py-string">"SAVE_OPEN_PFILE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L728"></a><tt class="py-lineno">728</tt>  <tt class="py-line">            <tt class="py-name">dic</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">"on_PROJECT_BUTTON_CANCEL_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name" targets="Method Subtle.Subtle.cb_projectSaveCancel()=Subtle.Subtle-class.html#cb_projectSaveCancel"><a title="Subtle.Subtle.cb_projectSaveCancel" class="py-name" href="#" onclick="return doclink('link-116', 'cb_projectSaveCancel', 'link-116');">cb_projectSaveCancel</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L729"></a><tt class="py-lineno">729</tt>  <tt class="py-line">                <tt class="py-string">"on_PROJECT_BUTTON_OK_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name" targets="Method Subtle.Subtle.cb_projectSaveOpen()=Subtle.Subtle-class.html#cb_projectSaveOpen"><a title="Subtle.Subtle.cb_projectSaveOpen" class="py-name" href="#" onclick="return doclink('link-117', 'cb_projectSaveOpen', 'link-117');">cb_projectSaveOpen</a></tt> <tt class="py-op">}</tt> </tt>
+<a name="L730"></a><tt class="py-lineno">730</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectSO</tt><tt class="py-op">.</tt><tt class="py-name">signal_autoconnect</tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">)</tt> </tt>
+<a name="L731"></a><tt class="py-lineno">731</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectSO</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"SAVE_OPEN_PFILE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L732"></a><tt class="py-lineno">732</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">set_action</tt><tt class="py-op">(</tt><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">FILE_CHOOSER_ACTION_SAVE</tt><tt class="py-op">)</tt> </tt>
+<a name="L733"></a><tt class="py-lineno">733</tt>  <tt class="py-line">            <tt class="py-name">OKB</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectSO</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"PROJECT_BUTTON_OK"</tt><tt class="py-op">)</tt> </tt>
+<a name="L734"></a><tt class="py-lineno">734</tt>  <tt class="py-line">            <tt class="py-name">OKB</tt><tt class="py-op">.</tt><tt class="py-name">set_label</tt><tt class="py-op">(</tt><tt class="py-string">"gtk-save"</tt><tt class="py-op">)</tt> </tt>
+<a name="L735"></a><tt class="py-lineno">735</tt>  <tt class="py-line">            <tt class="py-name">OKB</tt><tt class="py-op">.</tt><tt class="py-name">set_use_stock</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L736"></a><tt class="py-lineno">736</tt>  <tt class="py-line">            <tt class="py-name">Filter</tt><tt class="py-op">=</tt><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">FileFilter</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L737"></a><tt class="py-lineno">737</tt>  <tt class="py-line">            <tt class="py-name">Filter</tt><tt class="py-op">.</tt><tt class="py-name">set_name</tt><tt class="py-op">(</tt><tt class="py-string">"Subtle project file"</tt><tt class="py-op">)</tt> </tt>
+<a name="L738"></a><tt class="py-lineno">738</tt>  <tt class="py-line">            <tt class="py-name">Filter</tt><tt class="py-op">.</tt><tt class="py-name">add_pattern</tt><tt class="py-op">(</tt><tt class="py-string">"*.spf"</tt><tt class="py-op">)</tt> </tt>
+<a name="L739"></a><tt class="py-lineno">739</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">add_filter</tt><tt class="py-op">(</tt><tt class="py-name">Filter</tt><tt class="py-op">)</tt> </tt>
+<a name="L740"></a><tt class="py-lineno">740</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L741"></a><tt class="py-lineno">741</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectSO</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"SAVE_OPEN_PFILE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L742"></a><tt class="py-lineno">742</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">WND</tt><tt class="py-op">==</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L743"></a><tt class="py-lineno">743</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectSO</tt><tt class="py-op">=</tt><tt class="py-name">None</tt> </tt>
+<a name="L744"></a><tt class="py-lineno">744</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="Subtle.Subtle.cb_onSaveMenu" class="py-name" href="#" onclick="return doclink('link-118', 'cb_onSaveMenu', 'link-24');">cb_onSaveMenu</a></tt><tt class="py-op">(</tt><tt class="py-name">widget</tt><tt class="py-op">)</tt> </tt>
+<a name="L745"></a><tt class="py-lineno">745</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L746"></a><tt class="py-lineno">746</tt>  <tt class="py-line">                <tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">show</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L747"></a><tt class="py-lineno">747</tt>  <tt class="py-line"> </tt>
+<a name="L748"></a><tt class="py-lineno">748</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_setSubStartTime"></a><div id="Subtle.cb_setSubStartTime-def"><a name="L749"></a><tt class="py-lineno">749</tt> <a class="py-toggle" href="#" id="Subtle.cb_setSubStartTime-toggle" onclick="return toggle('Subtle.cb_setSubStartTime');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_setSubStartTime">cb_setSubStartTime</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_setSubStartTime-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_setSubStartTime-expanded"><a name="L750"></a><tt class="py-lineno">750</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subStartTime</tt><tt class="py-op">.</tt><tt class="py-name">set_value</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p_position</tt><tt class="py-op">/</tt><tt class="py-number">1000000</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L751"></a><tt class="py-lineno">751</tt>  <tt class="py-line"> </tt>
+<a name="L752"></a><tt class="py-lineno">752</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.cb_setSubEndTime"></a><div id="Subtle.cb_setSubEndTime-def"><a name="L753"></a><tt class="py-lineno">753</tt> <a class="py-toggle" href="#" id="Subtle.cb_setSubEndTime-toggle" onclick="return toggle('Subtle.cb_setSubEndTime');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#cb_setSubEndTime">cb_setSubEndTime</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.cb_setSubEndTime-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.cb_setSubEndTime-expanded"><a name="L754"></a><tt class="py-lineno">754</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subEndTime</tt><tt class="py-op">.</tt><tt class="py-name">set_value</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p_position</tt><tt class="py-op">/</tt><tt class="py-number">1000000</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L755"></a><tt class="py-lineno">755</tt>  <tt class="py-line"> </tt>
+<a name="L756"></a><tt class="py-lineno">756</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.setSubStartTime"></a><div id="Subtle.setSubStartTime-def"><a name="L757"></a><tt class="py-lineno">757</tt> <a class="py-toggle" href="#" id="Subtle.setSubStartTime-toggle" onclick="return toggle('Subtle.setSubStartTime');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#setSubStartTime">setSubStartTime</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">time</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.setSubStartTime-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.setSubStartTime-expanded"><a name="L758"></a><tt class="py-lineno">758</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subStartTime</tt><tt class="py-op">.</tt><tt class="py-name">set_value</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L759"></a><tt class="py-lineno">759</tt>  <tt class="py-line"> </tt>
+<a name="L760"></a><tt class="py-lineno">760</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.setSubEndTime"></a><div id="Subtle.setSubEndTime-def"><a name="L761"></a><tt class="py-lineno">761</tt> <a class="py-toggle" href="#" id="Subtle.setSubEndTime-toggle" onclick="return toggle('Subtle.setSubEndTime');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#setSubEndTime">setSubEndTime</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">time</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.setSubEndTime-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.setSubEndTime-expanded"><a name="L762"></a><tt class="py-lineno">762</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subEndTime</tt><tt class="py-op">.</tt><tt class="py-name">set_value</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L763"></a><tt class="py-lineno">763</tt>  <tt class="py-line"> </tt>
+<a name="L764"></a><tt class="py-lineno">764</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.exposeEventVideoOut"></a><div id="Subtle.exposeEventVideoOut-def"><a name="L765"></a><tt class="py-lineno">765</tt> <a class="py-toggle" href="#" id="Subtle.exposeEventVideoOut-toggle" onclick="return toggle('Subtle.exposeEventVideoOut');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#exposeEventVideoOut">exposeEventVideoOut</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">,</tt> <tt class="py-param">event</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.exposeEventVideoOut-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.exposeEventVideoOut-expanded"><a name="L766"></a><tt class="py-lineno">766</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">videoWidgetGst</tt><tt class="py-op">:</tt> </tt>
+<a name="L767"></a><tt class="py-lineno">767</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">videoWidgetGst</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name" targets="Method GPlayer.VideoWidget.do_expose_event()=GPlayer.VideoWidget-class.html#do_expose_event"><a title="GPlayer.VideoWidget.do_expose_event" class="py-name" href="#" onclick="return doclink('link-119', 'do_expose_event', 'link-119');">do_expose_event</a></tt><tt class="py-op">(</tt><tt class="py-name">event</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L768"></a><tt class="py-lineno">768</tt>  <tt class="py-line"> </tt>
+<a name="L769"></a><tt class="py-lineno">769</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.changeValueAdjustment"></a><div id="Subtle.changeValueAdjustment-def"><a name="L770"></a><tt class="py-lineno">770</tt> <a class="py-toggle" href="#" id="Subtle.changeValueAdjustment-toggle" onclick="return toggle('Subtle.changeValueAdjustment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#changeValueAdjustment">changeValueAdjustment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">,</tt> <tt class="py-param">t1</tt><tt class="py-op">,</tt> <tt class="py-param">t2</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.changeValueAdjustment-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.changeValueAdjustment-expanded"><a name="L771"></a><tt class="py-lineno">771</tt>  <tt class="py-line">        <tt class="py-comment">#if (not self.scroll):</tt> </tt>
+<a name="L772"></a><tt class="py-lineno">772</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-name">real</tt> <tt class="py-op">=</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">adjustment</tt><tt class="py-op">.</tt><tt class="py-name">get_value</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-comment"># in ns</tt> </tt>
+<a name="L773"></a><tt class="py-lineno">773</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="GPlayer.GstPlayer.seek" class="py-name" href="#" onclick="return doclink('link-120', 'seek', 'link-100');">seek</a></tt><tt class="py-op">(</tt><tt class="py-name">real</tt><tt class="py-op">)</tt> </tt>
+<a name="L774"></a><tt class="py-lineno">774</tt>  <tt class="py-line">            <tt class="py-comment"># allow for a preroll</tt> </tt>
+<a name="L775"></a><tt class="py-lineno">775</tt>  <tt class="py-line"><tt class="py-comment"></tt>            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="GPlayer.GstPlayer.get_state" class="py-name" href="#" onclick="return doclink('link-121', 'get_state', 'link-101');">get_state</a></tt><tt class="py-op">(</tt><tt class="py-name">timeout</tt><tt class="py-op">=</tt><tt class="py-number">50</tt><tt class="py-op">*</tt><tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">MSECOND</tt><tt class="py-op">)</tt> <tt class="py-comment"># 50 ms</tt> </tt>
+</div><a name="L776"></a><tt class="py-lineno">776</tt>  <tt class="py-line"> </tt>
+<a name="L777"></a><tt class="py-lineno">777</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.buttonReleaseAdjustment"></a><div id="Subtle.buttonReleaseAdjustment-def"><a name="L778"></a><tt class="py-lineno">778</tt> <a class="py-toggle" href="#" id="Subtle.buttonReleaseAdjustment-toggle" onclick="return toggle('Subtle.buttonReleaseAdjustment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#buttonReleaseAdjustment">buttonReleaseAdjustment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">,</tt> <tt class="py-param">event</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.buttonReleaseAdjustment-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.buttonReleaseAdjustment-expanded"><a name="L779"></a><tt class="py-lineno">779</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">scroll</tt><tt class="py-op">=</tt><tt class="py-number">0</tt> </tt>
+</div><a name="L780"></a><tt class="py-lineno">780</tt>  <tt class="py-line"> </tt>
+<a name="L781"></a><tt class="py-lineno">781</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.buttonPressAdjustment"></a><div id="Subtle.buttonPressAdjustment-def"><a name="L782"></a><tt class="py-lineno">782</tt> <a class="py-toggle" href="#" id="Subtle.buttonPressAdjustment-toggle" onclick="return toggle('Subtle.buttonPressAdjustment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#buttonPressAdjustment">buttonPressAdjustment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">,</tt> <tt class="py-param">event</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.buttonPressAdjustment-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.buttonPressAdjustment-expanded"><a name="L783"></a><tt class="py-lineno">783</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">scroll</tt><tt class="py-op">=</tt><tt class="py-number">1</tt> </tt>
+</div><a name="L784"></a><tt class="py-lineno">784</tt>  <tt class="py-line"> </tt>
+<a name="L785"></a><tt class="py-lineno">785</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.playerStop"></a><div id="Subtle.playerStop-def"><a name="L786"></a><tt class="py-lineno">786</tt> <a class="py-toggle" href="#" id="Subtle.playerStop-toggle" onclick="return toggle('Subtle.playerStop');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#playerStop">playerStop</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.playerStop-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.playerStop-expanded"><a name="L787"></a><tt class="py-lineno">787</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">:</tt> </tt>
+<a name="L788"></a><tt class="py-lineno">788</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="GPlayer.GstPlayer.is_playing" class="py-name" href="#" onclick="return doclink('link-122', 'is_playing', 'link-98');">is_playing</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L789"></a><tt class="py-lineno">789</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="Subtle.Subtle.play_toggled" class="py-name" href="#" onclick="return doclink('link-123', 'play_toggled', 'link-90');">play_toggled</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L790"></a><tt class="py-lineno">790</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name" targets="Method GPlayer.GstPlayer.stop()=GPlayer.GstPlayer-class.html#stop"><a title="GPlayer.GstPlayer.stop" class="py-name" href="#" onclick="return doclink('link-124', 'stop', 'link-124');">stop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L791"></a><tt class="py-lineno">791</tt>  <tt class="py-line"> </tt>
+<a name="L792"></a><tt class="py-lineno">792</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.playerPlay"></a><div id="Subtle.playerPlay-def"><a name="L793"></a><tt class="py-lineno">793</tt> <a class="py-toggle" href="#" id="Subtle.playerPlay-toggle" onclick="return toggle('Subtle.playerPlay');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#playerPlay">playerPlay</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.playerPlay-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.playerPlay-expanded"><a name="L794"></a><tt class="py-lineno">794</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">:</tt> </tt>
+<a name="L795"></a><tt class="py-lineno">795</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="Subtle.Subtle.play_toggled" class="py-name" href="#" onclick="return doclink('link-125', 'play_toggled', 'link-90');">play_toggled</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L796"></a><tt class="py-lineno">796</tt>  <tt class="py-line"> </tt>
+<a name="L797"></a><tt class="py-lineno">797</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.playerSlowMotion"></a><div id="Subtle.playerSlowMotion-def"><a name="L798"></a><tt class="py-lineno">798</tt> <a class="py-toggle" href="#" id="Subtle.playerSlowMotion-toggle" onclick="return toggle('Subtle.playerSlowMotion');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#playerSlowMotion">playerSlowMotion</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.playerSlowMotion-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.playerSlowMotion-expanded"><a name="L799"></a><tt class="py-lineno">799</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L800"></a><tt class="py-lineno">800</tt>  <tt class="py-line"><tt class="py-docstring">            Put the current playing video in slow motion</tt> </tt>
+<a name="L801"></a><tt class="py-lineno">801</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L802"></a><tt class="py-lineno">802</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name" targets="Method GPlayer.GstPlayer.slow_motion()=GPlayer.GstPlayer-class.html#slow_motion"><a title="GPlayer.GstPlayer.slow_motion" class="py-name" href="#" onclick="return doclink('link-126', 'slow_motion', 'link-126');">slow_motion</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L803"></a><tt class="py-lineno">803</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">playButton</tt><tt class="py-op">.</tt><tt class="py-name">set_stock_id</tt><tt class="py-op">(</tt><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">STOCK_MEDIA_PLAY</tt><tt class="py-op">)</tt> </tt>
+<a name="L804"></a><tt class="py-lineno">804</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L805"></a><tt class="py-lineno">805</tt>  <tt class="py-line"> </tt>
+<a name="L806"></a><tt class="py-lineno">806</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.playerFastForward"></a><div id="Subtle.playerFastForward-def"><a name="L807"></a><tt class="py-lineno">807</tt> <a class="py-toggle" href="#" id="Subtle.playerFastForward-toggle" onclick="return toggle('Subtle.playerFastForward');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#playerFastForward">playerFastForward</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.playerFastForward-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.playerFastForward-expanded"><a name="L808"></a><tt class="py-lineno">808</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L809"></a><tt class="py-lineno">809</tt>  <tt class="py-line"><tt class="py-docstring">            Put the current playing video in FastForward </tt> </tt>
+<a name="L810"></a><tt class="py-lineno">810</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L811"></a><tt class="py-lineno">811</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name" targets="Method GPlayer.GstPlayer.fast_forward()=GPlayer.GstPlayer-class.html#fast_forward"><a title="GPlayer.GstPlayer.fast_forward" class="py-name" href="#" onclick="return doclink('link-127', 'fast_forward', 'link-127');">fast_forward</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L812"></a><tt class="py-lineno">812</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">playButton</tt><tt class="py-op">.</tt><tt class="py-name">set_stock_id</tt><tt class="py-op">(</tt><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">STOCK_MEDIA_PLAY</tt><tt class="py-op">)</tt> </tt>
+<a name="L813"></a><tt class="py-lineno">813</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L814"></a><tt class="py-lineno">814</tt>  <tt class="py-line"> </tt>
+<a name="L815"></a><tt class="py-lineno">815</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.playerSeekForward"></a><div id="Subtle.playerSeekForward-def"><a name="L816"></a><tt class="py-lineno">816</tt> <a class="py-toggle" href="#" id="Subtle.playerSeekForward-toggle" onclick="return toggle('Subtle.playerSeekForward');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#playerSeekForward">playerSeekForward</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.playerSeekForward-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.playerSeekForward-expanded"><a name="L817"></a><tt class="py-lineno">817</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L818"></a><tt class="py-lineno">818</tt>  <tt class="py-line"><tt class="py-docstring">            Jump some time or frames (depends on the subtitle format </tt> </tt>
+<a name="L819"></a><tt class="py-lineno">819</tt>  <tt class="py-line"><tt class="py-docstring">            we are using) beyond current position</tt> </tt>
+<a name="L820"></a><tt class="py-lineno">820</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L821"></a><tt class="py-lineno">821</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Here we have to add support for more subtitle formats</tt> </tt>
+<a name="L822"></a><tt class="py-lineno">822</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">cur_position</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name" targets="Method GPlayer.GstPlayer.query_position()=GPlayer.GstPlayer-class.html#query_position"><a title="GPlayer.GstPlayer.query_position" class="py-name" href="#" onclick="return doclink('link-128', 'query_position', 'link-128');">query_position</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L823"></a><tt class="py-lineno">823</tt>  <tt class="py-line">        <tt class="py-name">next_position</tt> <tt class="py-op">=</tt> <tt class="py-name">cur_position</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">spin_seek_value</tt><tt class="py-op">.</tt><tt class="py-name">get_value_as_int</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-number">1000000000</tt> <tt class="py-op">)</tt> </tt>
+<a name="L824"></a><tt class="py-lineno">824</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="GPlayer.GstPlayer.seek" class="py-name" href="#" onclick="return doclink('link-129', 'seek', 'link-100');">seek</a></tt><tt class="py-op">(</tt><tt class="py-name">next_position</tt><tt class="py-op">)</tt> </tt>
+<a name="L825"></a><tt class="py-lineno">825</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name" targets="Method Subtle.Subtle.update_scale_cb()=Subtle.Subtle-class.html#update_scale_cb"><a title="Subtle.Subtle.update_scale_cb" class="py-name" href="#" onclick="return doclink('link-130', 'update_scale_cb', 'link-130');">update_scale_cb</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L826"></a><tt class="py-lineno">826</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L827"></a><tt class="py-lineno">827</tt>  <tt class="py-line"> </tt>
+<a name="L828"></a><tt class="py-lineno">828</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.playerSeekRewind"></a><div id="Subtle.playerSeekRewind-def"><a name="L829"></a><tt class="py-lineno">829</tt> <a class="py-toggle" href="#" id="Subtle.playerSeekRewind-toggle" onclick="return toggle('Subtle.playerSeekRewind');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#playerSeekRewind">playerSeekRewind</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.playerSeekRewind-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.playerSeekRewind-expanded"><a name="L830"></a><tt class="py-lineno">830</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L831"></a><tt class="py-lineno">831</tt>  <tt class="py-line"><tt class="py-docstring">            Jump back some time or frames (depends on the subtitle format</tt> </tt>
+<a name="L832"></a><tt class="py-lineno">832</tt>  <tt class="py-line"><tt class="py-docstring">            we are using)</tt> </tt>
+<a name="L833"></a><tt class="py-lineno">833</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L834"></a><tt class="py-lineno">834</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: Here we have to add support for more subtitle formats</tt> </tt>
+<a name="L835"></a><tt class="py-lineno">835</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">cur_position</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="GPlayer.GstPlayer.query_position" class="py-name" href="#" onclick="return doclink('link-131', 'query_position', 'link-128');">query_position</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L836"></a><tt class="py-lineno">836</tt>  <tt class="py-line">        <tt class="py-name">next_position</tt> <tt class="py-op">=</tt> <tt class="py-name">cur_position</tt> <tt class="py-op">-</tt> <tt class="py-op">(</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">spin_seek_value</tt><tt class="py-op">.</tt><tt class="py-name">get_value_as_int</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-number">1000000000</tt> <tt class="py-op">)</tt> </tt>
+<a name="L837"></a><tt class="py-lineno">837</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="GPlayer.GstPlayer.seek" class="py-name" href="#" onclick="return doclink('link-132', 'seek', 'link-100');">seek</a></tt><tt class="py-op">(</tt><tt class="py-name">next_position</tt><tt class="py-op">)</tt> </tt>
+<a name="L838"></a><tt class="py-lineno">838</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="Subtle.Subtle.update_scale_cb" class="py-name" href="#" onclick="return doclink('link-133', 'update_scale_cb', 'link-130');">update_scale_cb</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L839"></a><tt class="py-lineno">839</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L840"></a><tt class="py-lineno">840</tt>  <tt class="py-line"> </tt>
+<a name="L841"></a><tt class="py-lineno">841</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.mainFileOpen"></a><div id="Subtle.mainFileOpen-def"><a name="L842"></a><tt class="py-lineno">842</tt> <a class="py-toggle" href="#" id="Subtle.mainFileOpen-toggle" onclick="return toggle('Subtle.mainFileOpen');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#mainFileOpen">mainFileOpen</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.mainFileOpen-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.mainFileOpen-expanded"><a name="L843"></a><tt class="py-lineno">843</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectOpen</tt><tt class="py-op">==</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L844"></a><tt class="py-lineno">844</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectOpen</tt><tt class="py-op">=</tt><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">glade</tt><tt class="py-op">.</tt><tt class="py-name">XML</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">gladefile</tt><tt class="py-op">,</tt><tt class="py-string">"SAVE_OPEN_PFILE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L845"></a><tt class="py-lineno">845</tt>  <tt class="py-line">            <tt class="py-name">dic</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">"on_PROJECT_BUTTON_CANCEL_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name" targets="Method Subtle.Subtle.openFileCancel()=Subtle.Subtle-class.html#openFileCancel"><a title="Subtle.Subtle.openFileCancel" class="py-name" href="#" onclick="return doclink('link-134', 'openFileCancel', 'link-134');">openFileCancel</a></tt><tt class="py-op">,</tt>\ </tt>
+<a name="L846"></a><tt class="py-lineno">846</tt>  <tt class="py-line">                <tt class="py-string">"on_PROJECT_BUTTON_OK_clicked"</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name" targets="Method Subtle.Subtle.openFileOpen()=Subtle.Subtle-class.html#openFileOpen"><a title="Subtle.Subtle.openFileOpen" class="py-name" href="#" onclick="return doclink('link-135', 'openFileOpen', 'link-135');">openFileOpen</a></tt> <tt class="py-op">}</tt> </tt>
+<a name="L847"></a><tt class="py-lineno">847</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectOpen</tt><tt class="py-op">.</tt><tt class="py-name">signal_autoconnect</tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">)</tt> </tt>
+<a name="L848"></a><tt class="py-lineno">848</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectOpen</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"SAVE_OPEN_PFILE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L849"></a><tt class="py-lineno">849</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">set_action</tt><tt class="py-op">(</tt><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">FILE_CHOOSER_ACTION_OPEN</tt><tt class="py-op">)</tt> </tt>
+<a name="L850"></a><tt class="py-lineno">850</tt>  <tt class="py-line">            <tt class="py-name">OKB</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectOpen</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"PROJECT_BUTTON_OK"</tt><tt class="py-op">)</tt> </tt>
+<a name="L851"></a><tt class="py-lineno">851</tt>  <tt class="py-line">            <tt class="py-name">OKB</tt><tt class="py-op">.</tt><tt class="py-name">set_label</tt><tt class="py-op">(</tt><tt class="py-string">"gtk-open"</tt><tt class="py-op">)</tt> </tt>
+<a name="L852"></a><tt class="py-lineno">852</tt>  <tt class="py-line">            <tt class="py-name">OKB</tt><tt class="py-op">.</tt><tt class="py-name">set_use_stock</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L853"></a><tt class="py-lineno">853</tt>  <tt class="py-line">            <tt class="py-name">Filter</tt><tt class="py-op">=</tt><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">FileFilter</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L854"></a><tt class="py-lineno">854</tt>  <tt class="py-line">            <tt class="py-name">Filter</tt><tt class="py-op">.</tt><tt class="py-name">set_name</tt><tt class="py-op">(</tt><tt class="py-string">"Subtle project file"</tt><tt class="py-op">)</tt> </tt>
+<a name="L855"></a><tt class="py-lineno">855</tt>  <tt class="py-line">            <tt class="py-name">Filter</tt><tt class="py-op">.</tt><tt class="py-name">add_pattern</tt><tt class="py-op">(</tt><tt class="py-string">"*.spf"</tt><tt class="py-op">)</tt> </tt>
+<a name="L856"></a><tt class="py-lineno">856</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">add_filter</tt><tt class="py-op">(</tt><tt class="py-name">Filter</tt><tt class="py-op">)</tt> </tt>
+<a name="L857"></a><tt class="py-lineno">857</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L858"></a><tt class="py-lineno">858</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectOpen</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"SAVE_OPEN_PFILE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L859"></a><tt class="py-lineno">859</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">WND</tt><tt class="py-op">==</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L860"></a><tt class="py-lineno">860</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectOpen</tt><tt class="py-op">=</tt><tt class="py-name">None</tt> </tt>
+<a name="L861"></a><tt class="py-lineno">861</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="Subtle.Subtle.mainFileOpen" class="py-name" href="#" onclick="return doclink('link-136', 'mainFileOpen', 'link-11');">mainFileOpen</a></tt><tt class="py-op">(</tt><tt class="py-name">widget</tt><tt class="py-op">)</tt> </tt>
+<a name="L862"></a><tt class="py-lineno">862</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L863"></a><tt class="py-lineno">863</tt>  <tt class="py-line">                <tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">show</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L864"></a><tt class="py-lineno">864</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L865"></a><tt class="py-lineno">865</tt>  <tt class="py-line"> </tt>
+<a name="L866"></a><tt class="py-lineno">866</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.openFileCancel"></a><div id="Subtle.openFileCancel-def"><a name="L867"></a><tt class="py-lineno">867</tt> <a class="py-toggle" href="#" id="Subtle.openFileCancel-toggle" onclick="return toggle('Subtle.openFileCancel');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#openFileCancel">openFileCancel</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.openFileCancel-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.openFileCancel-expanded"><a name="L868"></a><tt class="py-lineno">868</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectOpen</tt><tt class="py-op">==</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> </tt>
+<a name="L869"></a><tt class="py-lineno">869</tt>  <tt class="py-line">        <tt class="py-name">WND</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectOpen</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"SAVE_OPEN_PFILE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L870"></a><tt class="py-lineno">870</tt>  <tt class="py-line">        <tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">hide</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L871"></a><tt class="py-lineno">871</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L872"></a><tt class="py-lineno">872</tt>  <tt class="py-line"> </tt>
+<a name="L873"></a><tt class="py-lineno">873</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.openFileOpen"></a><div id="Subtle.openFileOpen-def"><a name="L874"></a><tt class="py-lineno">874</tt> <a class="py-toggle" href="#" id="Subtle.openFileOpen-toggle" onclick="return toggle('Subtle.openFileOpen');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#openFileOpen">openFileOpen</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">widget</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.openFileOpen-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.openFileOpen-expanded"><a name="L875"></a><tt class="py-lineno">875</tt>  <tt class="py-line">        <tt class="py-name">WND</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowProjectOpen</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"SAVE_OPEN_PFILE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L876"></a><tt class="py-lineno">876</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">PFileName</tt><tt class="py-op">=</tt><tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">get_filename</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L877"></a><tt class="py-lineno">877</tt>  <tt class="py-line">        <tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">hide</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L878"></a><tt class="py-lineno">878</tt>  <tt class="py-line">        <tt class="py-name">PXML</tt><tt class="py-op">=</tt><tt class="py-name">ProjectXML</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L879"></a><tt class="py-lineno">879</tt>  <tt class="py-line">        <tt class="py-name">PXML</tt><tt class="py-op">.</tt><tt class="py-name">load</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">PFileName</tt><tt class="py-op">)</tt> </tt>
+<a name="L880"></a><tt class="py-lineno">880</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">PXML</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="MediaInfo.MediaInfo.getMedia" class="py-name" href="#" onclick="return doclink('link-137', 'getMedia', 'link-82');">getMedia</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L881"></a><tt class="py-lineno">881</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="Subtle.Subtle.addMedia" class="py-name" href="#" onclick="return doclink('link-138', 'addMedia', 'link-80');">addMedia</a></tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
+<a name="L882"></a><tt class="py-lineno">882</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-139', 'Subtitles', 'link-4');">Subtitles</a></tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L883"></a><tt class="py-lineno">883</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">PXML</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="Subtle.Subtle.getSubtitle" class="py-name" href="#" onclick="return doclink('link-140', 'getSubtitle', 'link-58');">getSubtitle</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L884"></a><tt class="py-lineno">884</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-141', 'Subtitles', 'link-4');">Subtitles</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
+<a name="L885"></a><tt class="py-lineno">885</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">media</tt><tt class="py-op">)</tt><tt class="py-op">&gt;</tt><tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L886"></a><tt class="py-lineno">886</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">windowStreams</tt><tt class="py-op">.</tt><tt class="py-name">get_widget</tt><tt class="py-op">(</tt><tt class="py-string">"STREAM_WINDOW"</tt><tt class="py-op">)</tt> </tt>
+<a name="L887"></a><tt class="py-lineno">887</tt>  <tt class="py-line">            <tt class="py-name">WND</tt><tt class="py-op">.</tt><tt class="py-name">show</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L888"></a><tt class="py-lineno">888</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> </tt>
+</div><a name="L889"></a><tt class="py-lineno">889</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.play_toggled"></a><div id="Subtle.play_toggled-def"><a name="L890"></a><tt class="py-lineno">890</tt> <a class="py-toggle" href="#" id="Subtle.play_toggled-toggle" onclick="return toggle('Subtle.play_toggled');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#play_toggled">play_toggled</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.play_toggled-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.play_toggled-expanded"><a name="L891"></a><tt class="py-lineno">891</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="GPlayer.GstPlayer.is_playing" class="py-name" href="#" onclick="return doclink('link-142', 'is_playing', 'link-98');">is_playing</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L892"></a><tt class="py-lineno">892</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name" targets="Method GPlayer.GstPlayer.get_rate()=GPlayer.GstPlayer-class.html#get_rate"><a title="GPlayer.GstPlayer.get_rate" class="py-name" href="#" onclick="return doclink('link-143', 'get_rate', 'link-143');">get_rate</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">1.0</tt><tt class="py-op">:</tt> </tt>
+<a name="L893"></a><tt class="py-lineno">893</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name" targets="Method GPlayer.GstPlayer.play()=GPlayer.GstPlayer-class.html#play"><a title="GPlayer.GstPlayer.play" class="py-name" href="#" onclick="return doclink('link-144', 'play', 'link-144');">play</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L894"></a><tt class="py-lineno">894</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">playButton</tt><tt class="py-op">.</tt><tt class="py-name">set_stock_id</tt><tt class="py-op">(</tt><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">STOCK_MEDIA_PAUSE</tt><tt class="py-op">)</tt> </tt>
+<a name="L895"></a><tt class="py-lineno">895</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L896"></a><tt class="py-lineno">896</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name" targets="Method GPlayer.GstPlayer.pause()=GPlayer.GstPlayer-class.html#pause"><a title="GPlayer.GstPlayer.pause" class="py-name" href="#" onclick="return doclink('link-145', 'pause', 'link-145');">pause</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L897"></a><tt class="py-lineno">897</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">playButton</tt><tt class="py-op">.</tt><tt class="py-name">set_stock_id</tt><tt class="py-op">(</tt><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">STOCK_MEDIA_PLAY</tt><tt class="py-op">)</tt> </tt>
+<a name="L898"></a><tt class="py-lineno">898</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">source_remove</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">update_id</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L899"></a><tt class="py-lineno">899</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">update_id</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
+<a name="L900"></a><tt class="py-lineno">900</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L901"></a><tt class="py-lineno">901</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="GPlayer.GstPlayer.play" class="py-name" href="#" onclick="return doclink('link-146', 'play', 'link-144');">play</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L902"></a><tt class="py-lineno">902</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">update_id</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L903"></a><tt class="py-lineno">903</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">update_id</tt> <tt class="py-op">=</tt> <tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">timeout_add</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">UPDATE_INTERVAL</tt><tt class="py-op">,</tt> </tt>
+<a name="L904"></a><tt class="py-lineno">904</tt>  <tt class="py-line">                                                     <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="Subtle.Subtle.update_scale_cb" class="py-name" href="#" onclick="return doclink('link-147', 'update_scale_cb', 'link-130');">update_scale_cb</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L905"></a><tt class="py-lineno">905</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">playButton</tt><tt class="py-op">.</tt><tt class="py-name">set_stock_id</tt><tt class="py-op">(</tt><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">STOCK_MEDIA_PAUSE</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L906"></a><tt class="py-lineno">906</tt>  <tt class="py-line"> </tt>
+<a name="L907"></a><tt class="py-lineno">907</tt>  <tt class="py-line"> </tt>
+<a name="Subtle.update_scale_cb"></a><div id="Subtle.update_scale_cb-def"><a name="L908"></a><tt class="py-lineno">908</tt> <a class="py-toggle" href="#" id="Subtle.update_scale_cb-toggle" onclick="return toggle('Subtle.update_scale_cb');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="Subtle.Subtle-class.html#update_scale_cb">update_scale_cb</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Subtle.update_scale_cb-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Subtle.update_scale_cb-expanded"><a name="L909"></a><tt class="py-lineno">909</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p_position</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p_duration</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="GPlayer.GstPlayer.query_position" class="py-name" href="#" onclick="return doclink('link-148', 'query_position', 'link-128');">query_position</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L910"></a><tt class="py-lineno">910</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p_duration</tt> <tt class="py-op">!=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">t_duration</tt><tt class="py-op">:</tt> </tt>
+<a name="L911"></a><tt class="py-lineno">911</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">t_duration</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p_duration</tt> </tt>
+<a name="L912"></a><tt class="py-lineno">912</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">adjustment</tt><tt class="py-op">.</tt><tt class="py-name">set_range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">t_duration</tt><tt class="py-op">)</tt> </tt>
+<a name="L913"></a><tt class="py-lineno">913</tt>  <tt class="py-line">        <tt class="py-name">tmSec</tt><tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p_position</tt><tt class="py-op">/</tt><tt class="py-number">1000000</tt> </tt>
+<a name="L914"></a><tt class="py-lineno">914</tt>  <tt class="py-line">        <tt class="py-name">MSec</tt> <tt class="py-op">=</tt> <tt class="py-name">tmSec</tt> </tt>
+<a name="L915"></a><tt class="py-lineno">915</tt>  <tt class="py-line">        <tt class="py-name">tmSec</tt> <tt class="py-op">=</tt> <tt class="py-name">tmSec</tt><tt class="py-op">/</tt><tt class="py-number">1000</tt> </tt>
+<a name="L916"></a><tt class="py-lineno">916</tt>  <tt class="py-line">        <tt class="py-name">Sec</tt> <tt class="py-op">=</tt> <tt class="py-name">tmSec</tt><tt class="py-op">%</tt><tt class="py-number">60</tt> </tt>
+<a name="L917"></a><tt class="py-lineno">917</tt>  <tt class="py-line">        <tt class="py-name">tmSec</tt> <tt class="py-op">=</tt> <tt class="py-name">tmSec</tt><tt class="py-op">/</tt><tt class="py-number">60</tt> </tt>
+<a name="L918"></a><tt class="py-lineno">918</tt>  <tt class="py-line">        <tt class="py-name">Min</tt> <tt class="py-op">=</tt> <tt class="py-name">tmSec</tt><tt class="py-op">%</tt><tt class="py-number">60</tt> </tt>
+<a name="L919"></a><tt class="py-lineno">919</tt>  <tt class="py-line">        <tt class="py-name">Hour</tt> <tt class="py-op">=</tt> <tt class="py-name">tmSec</tt><tt class="py-op">/</tt><tt class="py-number">60</tt> </tt>
+<a name="L920"></a><tt class="py-lineno">920</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">:</tt> </tt>
+<a name="L921"></a><tt class="py-lineno">921</tt>  <tt class="py-line">            <tt class="py-name">TText</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Subtitle</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="Subtitles.Subtitles.Subtitles.getSub" class="py-name" href="#" onclick="return doclink('link-149', 'getSub', 'link-52');">getSub</a></tt><tt class="py-op">(</tt><tt class="py-name">MSec</tt><tt class="py-op">)</tt> </tt>
+<a name="L922"></a><tt class="py-lineno">922</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="GPlayer.GstPlayer.is_playing" class="py-name" href="#" onclick="return doclink('link-150', 'is_playing', 'link-98');">is_playing</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L923"></a><tt class="py-lineno">923</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">TText</tt><tt class="py-op">:</tt> </tt>
+<a name="L924"></a><tt class="py-lineno">924</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="GPlayer.GstPlayer.set_subtitle_text" class="py-name" href="#" onclick="return doclink('link-151', 'set_subtitle_text', 'link-95');">set_subtitle_text</a></tt><tt class="py-op">(</tt> <tt class="py-name">TText</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="Subtitles.Sub.Sub.getSubText" class="py-name" href="#" onclick="return doclink('link-152', 'getSubText', 'link-97');">getSubText</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L925"></a><tt class="py-lineno">925</tt>  <tt class="py-line">                    <tt class="py-comment"># Select current playing subtitle</tt> </tt>
+<a name="L926"></a><tt class="py-lineno">926</tt>  <tt class="py-line"><tt class="py-comment"></tt>                    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mode</tt> <tt class="py-op">==</tt> <tt id="link-153" class="py-name"><a title="Subtle.ONLINE_MODE" class="py-name" href="#" onclick="return doclink('link-153', 'ONLINE_MODE', 'link-7');">ONLINE_MODE</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L927"></a><tt class="py-lineno">927</tt>  <tt class="py-line">                        <tt class="py-name">Selection</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subList</tt><tt class="py-op">.</tt><tt class="py-name">get_selection</tt><tt class="py-op">(</tt><tt class="py-op">)</tt>  </tt>
+<a name="L928"></a><tt class="py-lineno">928</tt>  <tt class="py-line">                        <tt class="py-comment">#FIXME: This sometimes bugs ... Why??</tt> </tt>
+<a name="L929"></a><tt class="py-lineno">929</tt>  <tt class="py-line"><tt class="py-comment"></tt>                        <tt class="py-name">Selection</tt><tt class="py-op">.</tt><tt class="py-name">select_path</tt><tt class="py-op">(</tt><tt class="py-name">TText</tt><tt class="py-op">.</tt><tt class="py-name">number</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L930"></a><tt class="py-lineno">930</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="Subtle.Subtle.setSubtitleEdit" class="py-name" href="#" onclick="return doclink('link-154', 'setSubtitleEdit', 'link-103');">setSubtitleEdit</a></tt><tt class="py-op">(</tt> <tt class="py-name">TText</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="Subtitles.Sub.Sub.getSubText" class="py-name" href="#" onclick="return doclink('link-155', 'getSubText', 'link-97');">getSubText</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L931"></a><tt class="py-lineno">931</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L932"></a><tt class="py-lineno">932</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="GPlayer.GstPlayer.set_subtitle_text" class="py-name" href="#" onclick="return doclink('link-156', 'set_subtitle_text', 'link-95');">set_subtitle_text</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
+<a name="L933"></a><tt class="py-lineno">933</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mode</tt> <tt class="py-op">==</tt> <tt id="link-157" class="py-name"><a title="Subtle.ONLINE_MODE" class="py-name" href="#" onclick="return doclink('link-157', 'ONLINE_MODE', 'link-7');">ONLINE_MODE</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L934"></a><tt class="py-lineno">934</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="Subtle.Subtle.setSubtitleEdit" class="py-name" href="#" onclick="return doclink('link-158', 'setSubtitleEdit', 'link-103');">setSubtitleEdit</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
+<a name="L935"></a><tt class="py-lineno">935</tt>  <tt class="py-line">                        <tt class="py-comment"># Unselect what is not being played</tt> </tt>
+<a name="L936"></a><tt class="py-lineno">936</tt>  <tt class="py-line"><tt class="py-comment"></tt>                        <tt class="py-name">Selection</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subList</tt><tt class="py-op">.</tt><tt class="py-name">get_selection</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L937"></a><tt class="py-lineno">937</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">Selection</tt><tt class="py-op">:</tt> </tt>
+<a name="L938"></a><tt class="py-lineno">938</tt>  <tt class="py-line">                            <tt class="py-name">Selection</tt><tt class="py-op">.</tt><tt class="py-name">unselect_all</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L939"></a><tt class="py-lineno">939</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p_position</tt> <tt class="py-op">!=</tt> <tt class="py-name">gst</tt><tt class="py-op">.</tt><tt class="py-name">CLOCK_TIME_NONE</tt><tt class="py-op">)</tt><tt class="py-op">:</tt><tt class="py-comment"># and (not self.scroll):</tt> </tt>
+<a name="L940"></a><tt class="py-lineno">940</tt>  <tt class="py-line">            <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p_position</tt> </tt>
+<a name="L941"></a><tt class="py-lineno">941</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">adjustment</tt><tt class="py-op">.</tt><tt class="py-name">set_value</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+<a name="L942"></a><tt class="py-lineno">942</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">labelHour</tt><tt class="py-op">.</tt><tt class="py-name">set_text</tt><tt class="py-op">(</tt><tt class="py-string">"%02d"</tt><tt class="py-op">%</tt><tt class="py-name">Hour</tt><tt class="py-op">)</tt> </tt>
+<a name="L943"></a><tt class="py-lineno">943</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">labelMin</tt><tt class="py-op">.</tt><tt class="py-name">set_text</tt><tt class="py-op">(</tt><tt class="py-string">"%02d"</tt><tt class="py-op">%</tt><tt class="py-name">Min</tt><tt class="py-op">)</tt> </tt>
+<a name="L944"></a><tt class="py-lineno">944</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">labelSec</tt><tt class="py-op">.</tt><tt class="py-name">set_text</tt><tt class="py-op">(</tt><tt class="py-string">"%02d"</tt><tt class="py-op">%</tt><tt class="py-name">Sec</tt><tt class="py-op">)</tt> </tt>
+<a name="L945"></a><tt class="py-lineno">945</tt>  <tt class="py-line">        <tt class="py-comment">#FIXME: We are not displaying this correctly</tt> </tt>
+<a name="L946"></a><tt class="py-lineno">946</tt>  <tt class="py-line"><tt class="py-comment"></tt>        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">labelMSec</tt><tt class="py-op">.</tt><tt class="py-name">set_text</tt><tt class="py-op">(</tt><tt class="py-string">"%09d"</tt><tt class="py-op">%</tt><tt class="py-name">MSec</tt><tt class="py-op">)</tt> </tt>
+<a name="L947"></a><tt class="py-lineno">947</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lbl_cur_fps</tt><tt class="py-op">.</tt><tt class="py-name">set_text</tt><tt class="py-op">(</tt><tt class="py-string">"%04d"</tt><tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">player</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name" targets="Method GPlayer.GstPlayer.query_frame()=GPlayer.GstPlayer-class.html#query_frame"><a title="GPlayer.GstPlayer.query_frame" class="py-name" href="#" onclick="return doclink('link-159', 'query_frame', 'link-159');">query_frame</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">p_position</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L948"></a><tt class="py-lineno">948</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+</div></div><a name="L949"></a><tt class="py-lineno">949</tt>  <tt class="py-line"> </tt>
+<a name="L950"></a><tt class="py-lineno">950</tt>  <tt class="py-line"><tt class="py-comment">#==============================================================================</tt> </tt>
+<a name="L951"></a><tt class="py-lineno">951</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#        MAIN:</tt> </tt>
+<a name="L952"></a><tt class="py-lineno">952</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#==============================================================================</tt> </tt>
+<a name="L953"></a><tt class="py-lineno">953</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt id="link-160" class="py-name" targets="Variable Subtle.subtle=Subtle-module.html#subtle"><a title="Subtle.subtle" class="py-name" href="#" onclick="return doclink('link-160', 'subtle', 'link-160');">subtle</a></tt><tt class="py-op">=</tt><tt id="link-161" class="py-name" targets="Module Subtle=Subtle-module.html,Class Subtle.Subtle=Subtle.Subtle-class.html"><a title="Subtle
+Subtle.Subtle" class="py-name" href="#" onclick="return doclink('link-161', 'Subtle', 'link-161');">Subtle</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L954"></a><tt class="py-lineno">954</tt>  <tt class="py-line"><tt class="py-name">gtk</tt><tt class="py-op">.</tt><tt class="py-name">main</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L955"></a><tt class="py-lineno">955</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/Subtle.Subtle-class.html
===================================================================
--- trunk/subtle/docs/html/Subtle.Subtle-class.html	                        (rev 0)
+++ trunk/subtle/docs/html/Subtle.Subtle-class.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,1178 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtle.Subtle</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="Subtle-module.html">Module&nbsp;Subtle</a> ::
+        Class&nbsp;Subtle
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="Subtle.Subtle-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Subtle</h1><p class="nomargin-top"><span class="codelink"><a href="Subtle-pysrc.html#Subtle">source&nbsp;code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      In this init we are going to display the main Subtle window</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_onModeChanged"></a><span class="summary-sig-name">cb_onModeChanged</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span><br />
+      Change from online mode to editing mode and vice versa</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_onModeChanged">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_hideSubPane"></a><span class="summary-sig-name">cb_hideSubPane</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span><br />
+      Hide the subtitles pane</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_hideSubPane">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_hideStreamsPane"></a><span class="summary-sig-name">cb_hideStreamsPane</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span><br />
+      Hide the streams pane</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_hideStreamsPane">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_showStreamsPane"></a><span class="summary-sig-name">cb_showStreamsPane</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span><br />
+      Hide the streams pane</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_showStreamsPane">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_onSubInsB4"></a><span class="summary-sig-name">cb_onSubInsB4</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span><br />
+      Insert new subtitle before current selected</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_onSubInsB4">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_onSubInsAfter"></a><span class="summary-sig-name">cb_onSubInsAfter</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span><br />
+      Insert new subtitle after current selected</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_onSubInsAfter">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="reorder_SubsListStore"></a><span class="summary-sig-name">reorder_SubsListStore</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Reorder the subs listStore when added or deleted</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.reorder_SubsListStore">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_subDel"></a><span class="summary-sig-name">cb_subDel</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span><br />
+      Delete a subtile from the list store and from memory</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_subDel">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_subOut"></a><span class="summary-sig-name">cb_subOut</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span><br />
+      Set subtitle endtime</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_subOut">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_subIn"></a><span class="summary-sig-name">cb_subIn</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span><br />
+      Set subtitle start time</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_subIn">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_onSubsWindowDelete"></a><span class="summary-sig-name">cb_onSubsWindowDelete</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>,
+        <span class="summary-sig-arg">event</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_onSubsWindowDelete">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_StreamWindowDelete"></a><span class="summary-sig-name">cb_StreamWindowDelete</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>,
+        <span class="summary-sig-arg">event</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_StreamWindowDelete">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_onSubtitleWindow"></a><span class="summary-sig-name">cb_onSubtitleWindow</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">menu</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_onSubtitleWindow">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_showSubtitlePane"></a><span class="summary-sig-name">cb_showSubtitlePane</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">menu</span>)</span><br />
+      Show subtitle pane</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_showSubtitlePane">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getSubtitle"></a><span class="summary-sig-name">getSubtitle</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">source</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.getSubtitle">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="Subtle.Subtle-class.html#cb_saveStream" class="summary-sig-name">cb_saveStream</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span><br />
+      Save a stream.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_saveStream">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_modStream"></a><span class="summary-sig-name">cb_modStream</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_modStream">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_newStream"></a><span class="summary-sig-name">cb_newStream</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span><br />
+      Create a new subtitle</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_newStream">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="setSubtitle"></a><span class="summary-sig-name">setSubtitle</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.setSubtitle">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="updateStreamWindow"></a><span class="summary-sig-name">updateStreamWindow</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.updateStreamWindow">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_delStream"></a><span class="summary-sig-name">cb_delStream</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span><br />
+      Remove a stream from the current project</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_delStream">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_openMediaCancel"></a><span class="summary-sig-name">cb_openMediaCancel</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_openMediaCancel">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_openMediaOpen"></a><span class="summary-sig-name">cb_openMediaOpen</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span><br />
+      Callback to open a file We do not add filters here because we want to
+      make subtle as dynamic as possible and the number of supported files 
+      is too big and sometimes not extensions based</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_openMediaOpen">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="Subtle.Subtle-class.html#addMedia" class="summary-sig-name">addMedia</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">mInfo</span>)</span><br />
+      This is polled untill a media file discover process has ended.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.addMedia">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_addNewStream"></a><span class="summary-sig-name">cb_addNewStream</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_addNewStream">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_onNewMenu"></a><span class="summary-sig-name">cb_onNewMenu</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">menu</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_onNewMenu">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_onSubsListSelect"></a><span class="summary-sig-name">cb_onSubsListSelect</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>,
+        <span class="summary-sig-arg">event</span>)</span><br />
+      Do the proper thing when subtitle is selected 2 clicks seeks de video
+      to its timecode 1 click edits on the TextView</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_onSubsListSelect">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_onSubTextEdited"></a><span class="summary-sig-name">cb_onSubTextEdited</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">cell</span>,
+        <span class="summary-sig-arg">path</span>,
+        <span class="summary-sig-arg">new_text</span>)</span><br />
+      Callback to change subtitle when subtitle text was changed</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_onSubTextEdited">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_onSubtitleEdit"></a><span class="summary-sig-name">cb_onSubtitleEdit</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>,
+        <span class="summary-sig-arg">event</span>)</span><br />
+      Updates the subtile list in realtime</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_onSubtitleEdit">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="setSubtitleEdit"></a><span class="summary-sig-name">setSubtitleEdit</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">sub</span>)</span><br />
+      Set the subtitle to be edited</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.setSubtitleEdit">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="subsWindowUpdate"></a><span class="summary-sig-name">subsWindowUpdate</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.subsWindowUpdate">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="saveProject"></a><span class="summary-sig-name">saveProject</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.saveProject">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_projectSaveOpen"></a><span class="summary-sig-name">cb_projectSaveOpen</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_projectSaveOpen">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_projectSaveCancel"></a><span class="summary-sig-name">cb_projectSaveCancel</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_projectSaveCancel">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_onSaveAsMenu"></a><span class="summary-sig-name">cb_onSaveAsMenu</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_onSaveAsMenu">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_onSaveMenu"></a><span class="summary-sig-name">cb_onSaveMenu</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_onSaveMenu">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_setSubStartTime"></a><span class="summary-sig-name">cb_setSubStartTime</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_setSubStartTime">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="cb_setSubEndTime"></a><span class="summary-sig-name">cb_setSubEndTime</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_setSubEndTime">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="setSubStartTime"></a><span class="summary-sig-name">setSubStartTime</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">time</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.setSubStartTime">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="setSubEndTime"></a><span class="summary-sig-name">setSubEndTime</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">time</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.setSubEndTime">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="exposeEventVideoOut"></a><span class="summary-sig-name">exposeEventVideoOut</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>,
+        <span class="summary-sig-arg">event</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.exposeEventVideoOut">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="changeValueAdjustment"></a><span class="summary-sig-name">changeValueAdjustment</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>,
+        <span class="summary-sig-arg">t1</span>,
+        <span class="summary-sig-arg">t2</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.changeValueAdjustment">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="buttonReleaseAdjustment"></a><span class="summary-sig-name">buttonReleaseAdjustment</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>,
+        <span class="summary-sig-arg">event</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.buttonReleaseAdjustment">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="buttonPressAdjustment"></a><span class="summary-sig-name">buttonPressAdjustment</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>,
+        <span class="summary-sig-arg">event</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.buttonPressAdjustment">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="playerStop"></a><span class="summary-sig-name">playerStop</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.playerStop">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="playerPlay"></a><span class="summary-sig-name">playerPlay</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.playerPlay">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="playerSlowMotion"></a><span class="summary-sig-name">playerSlowMotion</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span><br />
+      Put the current playing video in slow motion</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.playerSlowMotion">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="playerFastForward"></a><span class="summary-sig-name">playerFastForward</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span><br />
+      Put the current playing video in FastForward</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.playerFastForward">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="playerSeekForward"></a><span class="summary-sig-name">playerSeekForward</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span><br />
+      Jump some time or frames (depends on the subtitle format we are 
+      using) beyond current position</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.playerSeekForward">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="playerSeekRewind"></a><span class="summary-sig-name">playerSeekRewind</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span><br />
+      Jump back some time or frames (depends on the subtitle format we are 
+      using)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.playerSeekRewind">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="mainFileOpen"></a><span class="summary-sig-name">mainFileOpen</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.mainFileOpen">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="openFileCancel"></a><span class="summary-sig-name">openFileCancel</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.openFileCancel">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="openFileOpen"></a><span class="summary-sig-name">openFileOpen</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">widget</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.openFileOpen">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="play_toggled"></a><span class="summary-sig-name">play_toggled</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.play_toggled">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="update_scale_cb"></a><span class="summary-sig-name">update_scale_cb</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="Subtle-pysrc.html#Subtle.update_scale_cb">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="cb_saveStream"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">cb_saveStream</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">widget</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="Subtle-pysrc.html#Subtle.cb_saveStream">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>Save a stream. This will be renamed to cb_saveSub since we don't offer
+  video editting (yet)</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="addMedia"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">addMedia</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">mInfo</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="Subtle-pysrc.html#Subtle.addMedia">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <p>This is polled untill a media file discover process has ended. When it
+  has, throw error to the user if not supported.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:37 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/SubtleXML-module.html
===================================================================
--- trunk/subtle/docs/html/SubtleXML-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/SubtleXML-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SubtleXML</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a class="navbar" target="_top" href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Module&nbsp;SubtleXML
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="SubtleXML-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module SubtleXML</h1><p class="nomargin-top"><span class="codelink"><a href="SubtleXML-pysrc.html">source&nbsp;code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="SubtleXML.ProjectXML-class.html" class="summary-name">ProjectXML</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a class="navbar" target="_top" href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:23:16 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/SubtleXML-pysrc.html
===================================================================
--- trunk/subtle/docs/html/SubtleXML-pysrc.html	                        (rev 0)
+++ trunk/subtle/docs/html/SubtleXML-pysrc.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SubtleXML</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a class="navbar" target="_top" href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Module&nbsp;SubtleXML
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="SubtleXML-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="SubtleXML-module.html">Module SubtleXML</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#    This file is part of Subtle</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    This program is free software: you can redistribute it and/or modify</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    it under the terms of the GNU General Public License as published by</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    the Free Software Foundation, either version 3 of the License, or</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    (at your option) any later version.</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    This program is distributed in the hope that it will be useful,</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    GNU General Public License for more details.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    You should have received a copy of the GNU General Public License</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#    along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-comment">## \file SouffleurXML.py</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Documentation for subtitles module of Souffleur project.</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># \author Maxim Litvinov (aka DarakuTenshi) &lt;otaky at ukr.net&gt;</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">xml</tt><tt class="py-op">.</tt><tt class="py-name">dom</tt><tt class="py-op">.</tt><tt class="py-name">minidom</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package Subtitles=Subtitles-module.html,Module Subtitles.Subtitles=Subtitles.Subtitles-module.html,Class Subtitles.Subtitles.Subtitles=Subtitles.Subtitles.Subtitles-class.html"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-0', 'Subtitles', 'link-0');">Subtitles</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module Subtitles.Sub=Subtitles.Sub-module.html,Class Subtitles.Sub.Sub=Subtitles.Sub.Sub-class.html"><a title="Subtitles.Sub
+Subtitles.Sub.Sub" class="py-name" href="#" onclick="return doclink('link-1', 'Sub', 'link-1');">Sub</a></tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-2', 'Subtitles', 'link-0');">Subtitles</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-3', 'Subtitles', 'link-0');">Subtitles</a></tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-comment">## ProjectXML class.</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Class for working whith XML formated project file.</tt> </tt>
+<a name="ProjectXML"></a><div id="ProjectXML-def"><a name="L27"></a><tt class="py-lineno"> 27</tt> <a class="py-toggle" href="#" id="ProjectXML-toggle" onclick="return toggle('ProjectXML');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">class</tt> <a class="py-def-name" href="SubtleXML.ProjectXML-class.html">ProjectXML</a><tt class="py-op">:</tt> </tt>
+</div><div id="ProjectXML-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ProjectXML-expanded"><a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">    <tt class="py-comment">## Constructor</tt> </tt>
+<a name="ProjectXML.__init__"></a><div id="ProjectXML.__init__-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="ProjectXML.__init__-toggle" onclick="return toggle('ProjectXML.__init__');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="SubtleXML.ProjectXML-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProjectXML.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ProjectXML.__init__-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">impl</tt> <tt class="py-op">=</tt> <tt class="py-name">xml</tt><tt class="py-op">.</tt><tt class="py-name">dom</tt><tt class="py-op">.</tt><tt class="py-name">minidom</tt><tt class="py-op">.</tt><tt class="py-name">getDOMImplementation</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">impl</tt><tt class="py-op">.</tt><tt class="py-name">createDocument</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">"souffleur"</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">root</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">documentElement</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">rootAttr</tt><tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createAttribute</tt><tt class="py-op">(</tt><tt class="py-string">"type"</tt><tt class="py-op">)</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">rootAttr</tt><tt class="py-op">.</tt><tt class="py-name">nodeValue</tt><tt class="py-op">=</tt><tt class="py-string">"project"</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">root</tt><tt class="py-op">.</tt><tt class="py-name">setAttributeNode</tt><tt class="py-op">(</tt><tt class="py-name">rootAttr</tt><tt class="py-op">)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">versionEl</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-string">"version"</tt><tt class="py-op">)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">versionTxt</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createTextNode</tt><tt class="py-op">(</tt><tt class="py-string">"0"</tt><tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">versionEl</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">versionTxt</tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">root</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">versionEl</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">head</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+</div><a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">    <tt class="py-comment">## \var impl</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># DOMImplementation for XML parsing.</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-comment"></tt>     </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">    <tt class="py-comment">## \var doc</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Document XML object.</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-comment"></tt>     </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">    <tt class="py-comment">## \var root</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Root element ("souffleur" section) in the object.</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-comment"></tt>     </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt class="py-comment">## \var head</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Object of the "head" section in the XML.</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-comment"></tt>     </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt class="py-comment">## \var body </tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Object of the "body" section in the XML.</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-comment"></tt>     </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">    <tt class="py-comment">## \var version</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Version of the pfoject file format.</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-comment"></tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-comment">#==============================================================================</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment">## Load XML file.</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Load XML tree from the file.</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param fileName - name of the XML project file.</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \return self object or None.</tt> </tt>
+<a name="ProjectXML.load"></a><div id="ProjectXML.load-def"><a name="L71"></a><tt class="py-lineno"> 71</tt> <a class="py-toggle" href="#" id="ProjectXML.load-toggle" onclick="return toggle('ProjectXML.load');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="SubtleXML.ProjectXML-class.html#load">load</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fileName</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProjectXML.load-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ProjectXML.load-expanded"><a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">root</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">head</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt class="py-name">xml</tt><tt class="py-op">.</tt><tt class="py-name">dom</tt><tt class="py-op">.</tt><tt class="py-name">minidom</tt><tt class="py-op">.</tt><tt class="py-name">parse</tt><tt class="py-op">(</tt><tt class="py-name">fileName</tt><tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">documentElement</tt><tt class="py-op">.</tt><tt class="py-name">nodeName</tt> <tt class="py-op">!=</tt> <tt class="py-string">"souffleur"</tt><tt class="py-op">:</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">root</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">documentElement</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">root</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">:</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">nodeName</tt><tt class="py-op">==</tt><tt class="py-string">"head"</tt><tt class="py-op">:</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">head</tt><tt class="py-op">=</tt><tt class="py-name">i</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">nodeName</tt><tt class="py-op">==</tt><tt class="py-string">"body"</tt><tt class="py-op">:</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body</tt><tt class="py-op">=</tt><tt class="py-name">i</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">nodeName</tt><tt class="py-op">==</tt><tt class="py-string">"version"</tt><tt class="py-op">:</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">nodeValue</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-comment">#==============================================================================</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment">## Write XML.</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Write XML data to the file.</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param fileName - name of file to store data.</tt> </tt>
+<a name="ProjectXML.write"></a><div id="ProjectXML.write-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <a class="py-toggle" href="#" id="ProjectXML.write-toggle" onclick="return toggle('ProjectXML.write');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="SubtleXML.ProjectXML-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fileName</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProjectXML.write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ProjectXML.write-expanded"><a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">HDLR</tt><tt class="py-op">=</tt><tt class="py-name">file</tt><tt class="py-op">(</tt><tt class="py-name">fileName</tt><tt class="py-op">,</tt> <tt class="py-string">"w"</tt><tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">writexml</tt><tt class="py-op">(</tt><tt class="py-name">HDLR</tt><tt class="py-op">)</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-name">HDLR</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-comment">#==============================================================================</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment">## Add variable head.</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Add some variable to the head section.</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param attrName - name of the attribute.</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param attrValue - value of the attribute.</tt> </tt>
+<a name="ProjectXML.addHeadInfo"></a><div id="ProjectXML.addHeadInfo-def"><a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="ProjectXML.addHeadInfo-toggle" onclick="return toggle('ProjectXML.addHeadInfo');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="SubtleXML.ProjectXML-class.html#addHeadInfo">addHeadInfo</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">attrName</tt><tt class="py-op">,</tt> <tt class="py-param">attrValue</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProjectXML.addHeadInfo-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ProjectXML.addHeadInfo-expanded"><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">head</tt><tt class="py-op">:</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">head</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-string">"head"</tt><tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">root</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">head</tt><tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">attrName</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">attrValue</tt><tt class="py-op">:</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-name">attrEl</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-name">attrName</tt><tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-name">attrTxt</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createTextNode</tt><tt class="py-op">(</tt><tt class="py-name">attrValue</tt><tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-name">attrEl</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">attrTxt</tt><tt class="py-op">)</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">head</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">attrEl</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-comment">#==============================================================================</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment">## Add media.</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Add media info to the body section.</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param media - Media class instance.</tt> </tt>
+<a name="ProjectXML.addMedia"></a><div id="ProjectXML.addMedia-def"><a name="L120"></a><tt class="py-lineno">120</tt> <a class="py-toggle" href="#" id="ProjectXML.addMedia-toggle" onclick="return toggle('ProjectXML.addMedia');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="SubtleXML.ProjectXML-class.html#addMedia">addMedia</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">media</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProjectXML.addMedia-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ProjectXML.addMedia-expanded"><a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">media</tt><tt class="py-op">:</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">media</tt><tt class="py-op">)</tt><tt class="py-op">!=</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt id="link-4" class="py-name" targets="Class MediaInfo.Media=MediaInfo.Media-class.html"><a title="MediaInfo.Media" class="py-name" href="#" onclick="return doclink('link-4', 'Media', 'link-4');">Media</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body</tt><tt class="py-op">:</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-string">"body"</tt><tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">root</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body</tt><tt class="py-op">)</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-string">"data"</tt><tt class="py-op">)</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">source</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-string">"source"</tt><tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-name">sType</tt><tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createAttribute</tt><tt class="py-op">(</tt><tt class="py-string">"type"</tt><tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-name">sType</tt><tt class="py-op">.</tt><tt class="py-name">nodeValue</tt><tt class="py-op">=</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Variable MediaInfo.Media.MIME=MediaInfo.Media-class.html#MIME"><a title="MediaInfo.Media.MIME" class="py-name" href="#" onclick="return doclink('link-5', 'MIME', 'link-5');">MIME</a></tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">source</tt><tt class="py-op">.</tt><tt class="py-name">setAttributeNode</tt><tt class="py-op">(</tt><tt class="py-name">sType</tt><tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">sTxt</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createTextNode</tt><tt class="py-op">(</tt><tt class="py-name">media</tt><tt class="py-op">.</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-name">source</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">sTxt</tt><tt class="py-op">)</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-name">data</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">media</tt><tt class="py-op">.</tt><tt class="py-name">Streams</tt><tt class="py-op">:</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt class="py-name">tmpMedia</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-string">"media"</tt><tt class="py-op">)</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">            <tt class="py-name">data</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">tmpMedia</tt><tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">            <tt class="py-name">tmpEl</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-string">"type"</tt><tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-name">tmpTxt</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createTextNode</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="MediaInfo.Media.MIME" class="py-name" href="#" onclick="return doclink('link-6', 'MIME', 'link-5');">MIME</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">            <tt class="py-name">tmpEl</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">tmpTxt</tt><tt class="py-op">)</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt class="py-name">tmpMedia</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">tmpEl</tt><tt class="py-op">)</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">            <tt class="py-name">tmpEl</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-string">"name"</tt><tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-name">tmpTxt</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createTextNode</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">Name</tt><tt class="py-op">)</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">            <tt class="py-name">tmpEl</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">tmpTxt</tt><tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt class="py-name">tmpMedia</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">tmpEl</tt><tt class="py-op">)</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt class="py-name">tmpEl</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-string">"id"</tt><tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">            <tt class="py-name">tmpTxt</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createTextNode</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">ID</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">            <tt class="py-name">tmpEl</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">tmpTxt</tt><tt class="py-op">)</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt class="py-name">tmpMedia</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">tmpEl</tt><tt class="py-op">)</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">attrs</tt><tt class="py-op">:</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">            <tt class="py-name">attrs</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-string">"attrs"</tt><tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">            <tt class="py-name">tmpMedia</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">attrs</tt><tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">attrs</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">                <tt class="py-name">tmpEl</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-name">j</tt><tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">                <tt class="py-name">tmpTxt</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createTextNode</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">attrs</tt><tt class="py-op">[</tt><tt class="py-name">j</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">                <tt class="py-name">tmpEl</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">tmpTxt</tt><tt class="py-op">)</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">                <tt class="py-name">attrs</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">tmpEl</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-comment">#==============================================================================</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment">## Add subtitles.</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Add subtitles to the body section.</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \param subtitle - Subtitles class instance.</tt> </tt>
+<a name="ProjectXML.addSubtitle"></a><div id="ProjectXML.addSubtitle-def"><a name="L174"></a><tt class="py-lineno">174</tt> <a class="py-toggle" href="#" id="ProjectXML.addSubtitle-toggle" onclick="return toggle('ProjectXML.addSubtitle');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="SubtleXML.ProjectXML-class.html#addSubtitle">addSubtitle</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">subtitle</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProjectXML.addSubtitle-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ProjectXML.addSubtitle-expanded"><a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">subtitle</tt><tt class="py-op">:</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">subtitle</tt><tt class="py-op">)</tt><tt class="py-op">!=</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-7', 'Subtitles', 'link-0');">Subtitles</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body</tt><tt class="py-op">:</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-string">"body"</tt><tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">root</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body</tt><tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-string">"subtitles"</tt><tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-name">source</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-string">"source"</tt><tt class="py-op">)</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-name">sTxt</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createTextNode</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">subtitle</tt><tt class="py-op">.</tt><tt class="py-name">subSource</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-name">source</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">sTxt</tt><tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-name">data</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">)</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">subtitle</tt><tt class="py-op">.</tt><tt class="py-name">subKeys</tt><tt class="py-op">:</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">            <tt class="py-name">sub</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-string">"sub"</tt><tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">            <tt class="py-name">tmpEl</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-string">"start"</tt><tt class="py-op">)</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">            <tt class="py-name">tmpTxt</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createTextNode</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">subtitle</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">start_time</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">            <tt class="py-name">tmpEl</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">tmpTxt</tt><tt class="py-op">)</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">            <tt class="py-name">sub</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">tmpEl</tt><tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">            <tt class="py-name">tmpEl</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-string">"end"</tt><tt class="py-op">)</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">            <tt class="py-name">tmpTxt</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createTextNode</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">subtitle</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">end_time</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            <tt class="py-name">tmpEl</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">tmpTxt</tt><tt class="py-op">)</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">            <tt class="py-name">sub</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">tmpEl</tt><tt class="py-op">)</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">            <tt class="py-name">tmpEl</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createElement</tt><tt class="py-op">(</tt><tt class="py-string">"text"</tt><tt class="py-op">)</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">            <tt class="py-name">tmpTxt</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">doc</tt><tt class="py-op">.</tt><tt class="py-name">createTextNode</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">subtitle</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">            <tt class="py-name">tmpEl</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">tmpTxt</tt><tt class="py-op">)</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">            <tt class="py-name">sub</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">tmpEl</tt><tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">            <tt class="py-name">data</tt><tt class="py-op">.</tt><tt class="py-name">appendChild</tt><tt class="py-op">(</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line"> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"><tt class="py-comment">#==============================================================================</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment">##Get head</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Get list of the head section attributes.</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \return list of the attrName =&gt; attrValue</tt> </tt>
+<a name="ProjectXML.getHead"></a><div id="ProjectXML.getHead-def"><a name="L211"></a><tt class="py-lineno">211</tt> <a class="py-toggle" href="#" id="ProjectXML.getHead-toggle" onclick="return toggle('ProjectXML.getHead');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="SubtleXML.ProjectXML-class.html#getHead">getHead</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProjectXML.getHead-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ProjectXML.getHead-expanded"><a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">head</tt><tt class="py-op">:</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-name">ret</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">head</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">:</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">            <tt class="py-name">ret</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">nodeName</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">nodeValue</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">ret</tt> </tt>
+</div><a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"><tt class="py-comment">#==============================================================================</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment">## Get media.</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Get media info from XML.</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \return List of the Media class.</tt> </tt>
+<a name="ProjectXML.getMedia"></a><div id="ProjectXML.getMedia-def"><a name="L223"></a><tt class="py-lineno">223</tt> <a class="py-toggle" href="#" id="ProjectXML.getMedia-toggle" onclick="return toggle('ProjectXML.getMedia');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="SubtleXML.ProjectXML-class.html#getMedia">getMedia</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProjectXML.getMedia-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ProjectXML.getMedia-expanded"><a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body</tt><tt class="py-op">:</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-name">ret</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">:</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">nodeName</tt><tt class="py-op">==</tt><tt class="py-string">"data"</tt><tt class="py-op">:</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">                <tt class="py-name">tMedia</tt><tt class="py-op">=</tt><tt id="link-8" class="py-name"><a title="MediaInfo.Media" class="py-name" href="#" onclick="return doclink('link-8', 'Media', 'link-4');">Media</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">:</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">j</tt><tt class="py-op">.</tt><tt class="py-name">nodeName</tt><tt class="py-op">==</tt><tt class="py-string">"source"</tt><tt class="py-op">:</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">                        <tt class="py-name">mType</tt><tt class="py-op">=</tt><tt class="py-name">j</tt><tt class="py-op">.</tt><tt class="py-name">attributes</tt><tt class="py-op">[</tt><tt class="py-string">"type"</tt><tt class="py-op">]</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">mType</tt><tt class="py-op">:</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">                            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">                        <tt class="py-name">tMedia</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="MediaInfo.Media.MIME" class="py-name" href="#" onclick="return doclink('link-9', 'MIME', 'link-5');">MIME</a></tt><tt class="py-op">=</tt><tt class="py-name">mType</tt><tt class="py-op">.</tt><tt class="py-name">nodeValue</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">                        <tt class="py-name">tMedia</tt><tt class="py-op">.</tt><tt class="py-name">source</tt><tt class="py-op">=</tt><tt class="py-name">j</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">nodeValue</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">j</tt><tt class="py-op">.</tt><tt class="py-name">nodeName</tt><tt class="py-op">==</tt><tt class="py-string">"media"</tt><tt class="py-op">:</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">                        <tt class="py-name">tStream</tt> <tt class="py-op">=</tt> <tt class="py-name">Stream</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">                        <tt class="py-keyword">for</tt> <tt class="py-name">k</tt> <tt class="py-keyword">in</tt> <tt class="py-name">j</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">:</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">                            <tt class="py-name">nodeName</tt> <tt class="py-op">=</tt> <tt class="py-name">k</tt><tt class="py-op">.</tt><tt class="py-name">nodeName</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt class="py-name">nodeName</tt> <tt class="py-op">==</tt> <tt class="py-string">"type"</tt><tt class="py-op">:</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">                                <tt class="py-name">tStream</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="MediaInfo.Media.MIME" class="py-name" href="#" onclick="return doclink('link-10', 'MIME', 'link-5');">MIME</a></tt> <tt class="py-op">=</tt> <tt class="py-name">k</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">nodeValue</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">                            <tt class="py-keyword">elif</tt> <tt class="py-name">nodeName</tt> <tt class="py-op">==</tt> <tt class="py-string">"id"</tt><tt class="py-op">:</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">                                <tt class="py-name">tStream</tt><tt class="py-op">.</tt><tt class="py-name">ID</tt> <tt class="py-op">=</tt> <tt class="py-name">k</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">nodeValue</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">                            <tt class="py-keyword">elif</tt> <tt class="py-name">nodeName</tt> <tt class="py-op">==</tt> <tt class="py-string">"name"</tt><tt class="py-op">:</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">                                <tt class="py-name">tStream</tt><tt class="py-op">.</tt><tt class="py-name">Name</tt> <tt class="py-op">=</tt> <tt class="py-name">k</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">nodeValue</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">                            <tt class="py-keyword">elif</tt> <tt class="py-name">nodeName</tt> <tt class="py-op">==</tt> <tt class="py-string">"attrs"</tt><tt class="py-op">:</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">                                <tt class="py-keyword">for</tt> <tt class="py-name">l</tt> <tt class="py-keyword">in</tt> <tt class="py-name">k</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">:</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">                                    <tt class="py-name">tStream</tt><tt class="py-op">.</tt><tt class="py-name">addAttr</tt><tt class="py-op">(</tt><tt class="py-name">l</tt><tt class="py-op">.</tt><tt class="py-name">nodeName</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">nodeValue</tt><tt class="py-op">)</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">                            <tt class="py-name">tMedia</tt><tt class="py-op">.</tt><tt class="py-name">addStream</tt><tt class="py-op">(</tt><tt class="py-name">tStream</tt><tt class="py-op">)</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">                <tt class="py-name">ret</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">tMedia</tt><tt class="py-op">)</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">ret</tt> </tt>
+</div><a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line"> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"><tt class="py-comment">#==============================================================================</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment">##Get subtitles.</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># Get subtitles from XML project file.</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-comment"># \raturn Array of the Subtitles.</tt> </tt>
+<a name="ProjectXML.getSubtitle"></a><div id="ProjectXML.getSubtitle-def"><a name="L258"></a><tt class="py-lineno">258</tt> <a class="py-toggle" href="#" id="ProjectXML.getSubtitle-toggle" onclick="return toggle('ProjectXML.getSubtitle');">-</a><tt class="py-line"><tt class="py-comment"></tt>    <tt class="py-keyword">def</tt> <a class="py-def-name" href="SubtleXML.ProjectXML-class.html#getSubtitle">getSubtitle</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProjectXML.getSubtitle-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ProjectXML.getSubtitle-expanded"><a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body</tt><tt class="py-op">:</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-name">ret</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">:</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">nodeName</tt><tt class="py-op">==</tt><tt class="py-string">"subtitles"</tt><tt class="py-op">:</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">                <tt class="py-name">tSubtitles</tt><tt class="py-op">=</tt><tt id="link-11" class="py-name"><a title="Subtitles
+Subtitles.Subtitles
+Subtitles.Subtitles.Subtitles" class="py-name" href="#" onclick="return doclink('link-11', 'Subtitles', 'link-0');">Subtitles</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">:</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">j</tt><tt class="py-op">.</tt><tt class="py-name">nodeName</tt><tt class="py-op">==</tt><tt class="py-string">"source"</tt><tt class="py-op">:</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">                        <tt class="py-name">tSubtitles</tt><tt class="py-op">.</tt><tt class="py-name">subSource</tt><tt class="py-op">=</tt><tt class="py-name">j</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">nodeValue</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">j</tt><tt class="py-op">.</tt><tt class="py-name">nodeName</tt><tt class="py-op">==</tt><tt class="py-string">"sub"</tt><tt class="py-op">:</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">                        <tt class="py-name">tSub</tt><tt class="py-op">=</tt><tt id="link-12" class="py-name"><a title="Subtitles.Sub
+Subtitles.Sub.Sub" class="py-name" href="#" onclick="return doclink('link-12', 'Sub', 'link-1');">Sub</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">                        <tt class="py-keyword">for</tt> <tt class="py-name">k</tt> <tt class="py-keyword">in</tt> <tt class="py-name">j</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">:</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">                            <tt class="py-name">nodeName</tt> <tt class="py-op">=</tt> <tt class="py-name">k</tt><tt class="py-op">.</tt><tt class="py-name">nodeName</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt class="py-name">nodeName</tt> <tt class="py-op">==</tt> <tt class="py-string">"start"</tt><tt class="py-op">:</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">                                <tt class="py-name">tSub</tt><tt class="py-op">.</tt><tt class="py-name">start_time</tt><tt class="py-op">=</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">k</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">nodeValue</tt><tt class="py-op">)</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">                            <tt class="py-keyword">elif</tt> <tt class="py-name">nodeName</tt> <tt class="py-op">==</tt> <tt class="py-string">"end"</tt><tt class="py-op">:</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">                                <tt class="py-name">tSub</tt><tt class="py-op">.</tt><tt class="py-name">end_time</tt><tt class="py-op">=</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">k</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">nodeValue</tt><tt class="py-op">)</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">                            <tt class="py-keyword">elif</tt> <tt class="py-name">nodeName</tt> <tt class="py-op">==</tt> <tt class="py-string">"text"</tt><tt class="py-op">:</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">                                <tt class="py-name">tSub</tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">k</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">nodeValue</tt><tt class="py-op">)</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">                        <tt class="py-name">tSubtitles</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">[</tt><tt class="py-name">tSub</tt><tt class="py-op">.</tt><tt class="py-name">start_time</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">tSub</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">                        <tt class="py-name">tSubtitles</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method Subtitles.Subtitles.Subtitles.updateKeys()=Subtitles.Subtitles.Subtitles-class.html#updateKeys"><a title="Subtitles.Subtitles.Subtitles.updateKeys" class="py-name" href="#" onclick="return doclink('link-13', 'updateKeys', 'link-13');">updateKeys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">                <tt class="py-name">ret</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">tSubtitles</tt><tt class="py-op">)</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">ret</tt> </tt>
+</div></div><a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a class="navbar" target="_top" href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:23:17 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/SubtleXML.ProjectXML-class.html
===================================================================
--- trunk/subtle/docs/html/SubtleXML.ProjectXML-class.html	                        (rev 0)
+++ trunk/subtle/docs/html/SubtleXML.ProjectXML-class.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SubtleXML.ProjectXML</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a class="navbar" target="_top" href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="SubtleXML-module.html">Module&nbsp;SubtleXML</a> ::
+        Class&nbsp;ProjectXML
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="SubtleXML.ProjectXML-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class ProjectXML</h1><p class="nomargin-top"><span class="codelink"><a href="SubtleXML-pysrc.html#ProjectXML">source&nbsp;code</a></span></p>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="SubtleXML-pysrc.html#ProjectXML.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="addHeadInfo"></a><span class="summary-sig-name">addHeadInfo</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">attrName</span>,
+        <span class="summary-sig-arg">attrValue</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="SubtleXML-pysrc.html#ProjectXML.addHeadInfo">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="addMedia"></a><span class="summary-sig-name">addMedia</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">media</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="SubtleXML-pysrc.html#ProjectXML.addMedia">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="addSubtitle"></a><span class="summary-sig-name">addSubtitle</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">subtitle</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="SubtleXML-pysrc.html#ProjectXML.addSubtitle">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getHead"></a><span class="summary-sig-name">getHead</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="SubtleXML-pysrc.html#ProjectXML.getHead">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getMedia"></a><span class="summary-sig-name">getMedia</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="SubtleXML-pysrc.html#ProjectXML.getMedia">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getSubtitle"></a><span class="summary-sig-name">getSubtitle</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="SubtleXML-pysrc.html#ProjectXML.getSubtitle">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="load"></a><span class="summary-sig-name">load</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fileName</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="SubtleXML-pysrc.html#ProjectXML.load">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="write"></a><span class="summary-sig-name">write</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fileName</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="SubtleXML-pysrc.html#ProjectXML.write">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a class="navbar" target="_top" href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:23:16 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/api-objects.txt
===================================================================
--- trunk/subtle/docs/html/api-objects.txt	                        (rev 0)
+++ trunk/subtle/docs/html/api-objects.txt	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,156 @@
+GPlayer	GPlayer-module.html
+MediaInfo	MediaInfo-module.html
+Subtitles	Subtitles-module.html
+Subtitles.Discoverer	Subtitles.Discoverer-module.html
+Subtitles.Discoverer.discoverer	Subtitles.Discoverer-module.html#discoverer
+Subtitles.Line	Subtitles.Line-module.html
+Subtitles.Softni	Subtitles.Softni-module.html
+Subtitles.Softni.FRAMERATE	Subtitles.Softni-module.html#FRAMERATE
+Subtitles.Softni.discover	Subtitles.Softni-module.html#discover
+Subtitles.Sub	Subtitles.Sub-module.html
+Subtitles.SubRip	Subtitles.SubRip-module.html
+Subtitles.SubRip.FRAMERATE	Subtitles.SubRip-module.html#FRAMERATE
+Subtitles.SubRip.discover	Subtitles.SubRip-module.html#discover
+Subtitles.Subtitles	Subtitles.Subtitles-module.html
+Subtle	Subtle-module.html
+Subtle.ONLINE_MODE	Subtle-module.html#ONLINE_MODE
+Subtle.EDITING_MODE	Subtle-module.html#EDITING_MODE
+Subtle.subtle	Subtle-module.html#subtle
+GPlayer.GstPlayer	GPlayer.GstPlayer-class.html
+GPlayer.GstPlayer.play	GPlayer.GstPlayer-class.html#play
+GPlayer.GstPlayer.pause	GPlayer.GstPlayer-class.html#pause
+GPlayer.GstPlayer.set_location	GPlayer.GstPlayer-class.html#set_location
+GPlayer.GstPlayer.on_message	GPlayer.GstPlayer-class.html#on_message
+GPlayer.GstPlayer.set_subtitle_text	GPlayer.GstPlayer-class.html#set_subtitle_text
+GPlayer.GstPlayer.stop	GPlayer.GstPlayer-class.html#stop
+GPlayer.GstPlayer.is_playing	GPlayer.GstPlayer-class.html#is_playing
+GPlayer.GstPlayer.get_rate	GPlayer.GstPlayer-class.html#get_rate
+GPlayer.GstPlayer.get_location	GPlayer.GstPlayer-class.html#get_location
+GPlayer.GstPlayer.fast_forward	GPlayer.GstPlayer-class.html#fast_forward
+GPlayer.GstPlayer.query_position	GPlayer.GstPlayer-class.html#query_position
+GPlayer.GstPlayer.get_state	GPlayer.GstPlayer-class.html#get_state
+GPlayer.GstPlayer.on_sync_message	GPlayer.GstPlayer-class.html#on_sync_message
+GPlayer.GstPlayer.slow_motion	GPlayer.GstPlayer-class.html#slow_motion
+GPlayer.GstPlayer.seek	GPlayer.GstPlayer-class.html#seek
+GPlayer.GstPlayer.query_frame	GPlayer.GstPlayer-class.html#query_frame
+GPlayer.GstPlayer.__init__	GPlayer.GstPlayer-class.html#__init__
+GPlayer.VideoWidget	GPlayer.VideoWidget-class.html
+GPlayer.VideoWidget.do_expose_event	GPlayer.VideoWidget-class.html#do_expose_event
+GPlayer.VideoWidget.__init__	GPlayer.VideoWidget-class.html#__init__
+GPlayer.VideoWidget.set_sink	GPlayer.VideoWidget-class.html#set_sink
+MediaInfo.Media	MediaInfo.Media-class.html
+MediaInfo.Media.videoLengthNS	MediaInfo.Media-class.html#videoLengthNS
+MediaInfo.Media.videoLengthS	MediaInfo.Media-class.html#videoLengthS
+MediaInfo.Media.sourceURI	MediaInfo.Media-class.html#sourceURI
+MediaInfo.Media.has_audio	MediaInfo.Media-class.html#has_audio
+MediaInfo.Media.framerate	MediaInfo.Media-class.html#framerate
+MediaInfo.Media.has_video	MediaInfo.Media-class.html#has_video
+MediaInfo.Media.videoCaps	MediaInfo.Media-class.html#videoCaps
+MediaInfo.Media.MIME	MediaInfo.Media-class.html#MIME
+MediaInfo.Media.videoWidth	MediaInfo.Media-class.html#videoWidth
+MediaInfo.Media.videoHeight	MediaInfo.Media-class.html#videoHeight
+MediaInfo.MediaInfo	MediaInfo.MediaInfo-class.html
+MediaInfo.MediaInfo.getMedia	MediaInfo.MediaInfo-class.html#getMedia
+MediaInfo.MediaInfo.poll	MediaInfo.MediaInfo-class.html#poll
+MediaInfo.MediaInfo.cb_discover	MediaInfo.MediaInfo-class.html#cb_discover
+MediaInfo.MediaInfo.discover	MediaInfo.MediaInfo-class.html#discover
+MediaInfo.MediaInfo.__init__	MediaInfo.MediaInfo-class.html#__init__
+Subtitles.Line.Line	Subtitles.Line.Line-class.html
+Subtitles.Line.Line._count	Subtitles.Line.Line-class.html#_count
+Subtitles.Line.Line.__init__	Subtitles.Line.Line-class.html#__init__
+Subtitles.Softni.Softni	Subtitles.Softni.Softni-class.html
+Subtitles.Subtitles.Subtitles.getSupportedTypes	Subtitles.Subtitles.Subtitles-class.html#getSupportedTypes
+Subtitles.Subtitles.Subtitles.updateKeys	Subtitles.Subtitles.Subtitles-class.html#updateKeys
+Subtitles.Subtitles.Subtitles.updateText	Subtitles.Subtitles.Subtitles-class.html#updateText
+Subtitles.Softni.Softni._softniFormat2Frame	Subtitles.Softni.Softni-class.html#_softniFormat2Frame
+Subtitles.Softni.Softni._softniFormat2Timestamp	Subtitles.Softni.Softni-class.html#_softniFormat2Timestamp
+Subtitles.Subtitles.Subtitles.subUpdate	Subtitles.Subtitles.Subtitles-class.html#subUpdate
+Subtitles.Subtitles.Subtitles.subAdd	Subtitles.Subtitles.Subtitles-class.html#subAdd
+Subtitles.Softni.Softni._loadFromFile	Subtitles.Softni.Softni-class.html#_loadFromFile
+Subtitles.Subtitles.Subtitles.getSub	Subtitles.Subtitles.Subtitles-class.html#getSub
+Subtitles.Softni.Softni.__init__	Subtitles.Softni.Softni-class.html#__init__
+Subtitles.Subtitles.Subtitles.subDel	Subtitles.Subtitles.Subtitles-class.html#subDel
+Subtitles.Sub.Sub	Subtitles.Sub.Sub-class.html
+Subtitles.Sub.Sub.setSubText	Subtitles.Sub.Sub-class.html#setSubText
+Subtitles.Sub.Sub.isInTime	Subtitles.Sub.Sub-class.html#isInTime
+Subtitles.Sub.Sub.getSubText	Subtitles.Sub.Sub-class.html#getSubText
+Subtitles.Sub.Sub.__init__	Subtitles.Sub.Sub-class.html#__init__
+Subtitles.Sub.Sub._processText	Subtitles.Sub.Sub-class.html#_processText
+Subtitles.SubRip.SubRip	Subtitles.SubRip.SubRip-class.html
+Subtitles.Subtitles.Subtitles.getSupportedTypes	Subtitles.Subtitles.Subtitles-class.html#getSupportedTypes
+Subtitles.Subtitles.Subtitles.updateKeys	Subtitles.Subtitles.Subtitles-class.html#updateKeys
+Subtitles.SubRip.SubRip._subTime2SRTtime	Subtitles.SubRip.SubRip-class.html#_subTime2SRTtime
+Subtitles.Subtitles.Subtitles.updateText	Subtitles.Subtitles.Subtitles-class.html#updateText
+Subtitles.SubRip.SubRip._subSRTLoadFromString	Subtitles.SubRip.SubRip-class.html#_subSRTLoadFromString
+Subtitles.Subtitles.Subtitles.subUpdate	Subtitles.Subtitles.Subtitles-class.html#subUpdate
+Subtitles.SubRip.SubRip.subSave	Subtitles.SubRip.SubRip-class.html#subSave
+Subtitles.Subtitles.Subtitles.subAdd	Subtitles.Subtitles.Subtitles-class.html#subAdd
+Subtitles.Subtitles.Subtitles.getSub	Subtitles.Subtitles.Subtitles-class.html#getSub
+Subtitles.SubRip.SubRip.__init__	Subtitles.SubRip.SubRip-class.html#__init__
+Subtitles.Subtitles.Subtitles.subDel	Subtitles.Subtitles.Subtitles-class.html#subDel
+Subtitles.Subtitles.Subtitles	Subtitles.Subtitles.Subtitles-class.html
+Subtitles.Subtitles.Subtitles.getSupportedTypes	Subtitles.Subtitles.Subtitles-class.html#getSupportedTypes
+Subtitles.Subtitles.Subtitles.updateKeys	Subtitles.Subtitles.Subtitles-class.html#updateKeys
+Subtitles.Subtitles.Subtitles.getSub	Subtitles.Subtitles.Subtitles-class.html#getSub
+Subtitles.Subtitles.Subtitles.subUpdate	Subtitles.Subtitles.Subtitles-class.html#subUpdate
+Subtitles.Subtitles.Subtitles.subAdd	Subtitles.Subtitles.Subtitles-class.html#subAdd
+Subtitles.Subtitles.Subtitles.updateText	Subtitles.Subtitles.Subtitles-class.html#updateText
+Subtitles.Subtitles.Subtitles.__init__	Subtitles.Subtitles.Subtitles-class.html#__init__
+Subtitles.Subtitles.Subtitles.subDel	Subtitles.Subtitles.Subtitles-class.html#subDel
+Subtle.Subtle	Subtle.Subtle-class.html
+Subtle.Subtle.cb_hideStreamsPane	Subtle.Subtle-class.html#cb_hideStreamsPane
+Subtle.Subtle.setSubEndTime	Subtle.Subtle-class.html#setSubEndTime
+Subtle.Subtle.cb_openMediaOpen	Subtle.Subtle-class.html#cb_openMediaOpen
+Subtle.Subtle.cb_projectSaveOpen	Subtle.Subtle-class.html#cb_projectSaveOpen
+Subtle.Subtle.exposeEventVideoOut	Subtle.Subtle-class.html#exposeEventVideoOut
+Subtle.Subtle.play_toggled	Subtle.Subtle-class.html#play_toggled
+Subtle.Subtle.cb_onSubInsB4	Subtle.Subtle-class.html#cb_onSubInsB4
+Subtle.Subtle.playerFastForward	Subtle.Subtle-class.html#playerFastForward
+Subtle.Subtle.cb_modStream	Subtle.Subtle-class.html#cb_modStream
+Subtle.Subtle.update_scale_cb	Subtle.Subtle-class.html#update_scale_cb
+Subtle.Subtle.cb_setSubEndTime	Subtle.Subtle-class.html#cb_setSubEndTime
+Subtle.Subtle.changeValueAdjustment	Subtle.Subtle-class.html#changeValueAdjustment
+Subtle.Subtle.playerStop	Subtle.Subtle-class.html#playerStop
+Subtle.Subtle.__init__	Subtle.Subtle-class.html#__init__
+Subtle.Subtle.cb_delStream	Subtle.Subtle-class.html#cb_delStream
+Subtle.Subtle.cb_projectSaveCancel	Subtle.Subtle-class.html#cb_projectSaveCancel
+Subtle.Subtle.cb_onSaveAsMenu	Subtle.Subtle-class.html#cb_onSaveAsMenu
+Subtle.Subtle.openFileOpen	Subtle.Subtle-class.html#openFileOpen
+Subtle.Subtle.cb_newStream	Subtle.Subtle-class.html#cb_newStream
+Subtle.Subtle.cb_saveStream	Subtle.Subtle-class.html#cb_saveStream
+Subtle.Subtle.cb_setSubStartTime	Subtle.Subtle-class.html#cb_setSubStartTime
+Subtle.Subtle.cb_hideSubPane	Subtle.Subtle-class.html#cb_hideSubPane
+Subtle.Subtle.cb_subIn	Subtle.Subtle-class.html#cb_subIn
+Subtle.Subtle.cb_StreamWindowDelete	Subtle.Subtle-class.html#cb_StreamWindowDelete
+Subtle.Subtle.cb_onSubInsAfter	Subtle.Subtle-class.html#cb_onSubInsAfter
+Subtle.Subtle.cb_onSubsWindowDelete	Subtle.Subtle-class.html#cb_onSubsWindowDelete
+Subtle.Subtle.cb_onSubTextEdited	Subtle.Subtle-class.html#cb_onSubTextEdited
+Subtle.Subtle.cb_onSubtitleEdit	Subtle.Subtle-class.html#cb_onSubtitleEdit
+Subtle.Subtle.cb_openMediaCancel	Subtle.Subtle-class.html#cb_openMediaCancel
+Subtle.Subtle.getSubtitle	Subtle.Subtle-class.html#getSubtitle
+Subtle.Subtle.cb_showSubtitlePane	Subtle.Subtle-class.html#cb_showSubtitlePane
+Subtle.Subtle.mainFileOpen	Subtle.Subtle-class.html#mainFileOpen
+Subtle.Subtle.setSubStartTime	Subtle.Subtle-class.html#setSubStartTime
+Subtle.Subtle.cb_subOut	Subtle.Subtle-class.html#cb_subOut
+Subtle.Subtle.subsWindowUpdate	Subtle.Subtle-class.html#subsWindowUpdate
+Subtle.Subtle.addMedia	Subtle.Subtle-class.html#addMedia
+Subtle.Subtle.updateStreamWindow	Subtle.Subtle-class.html#updateStreamWindow
+Subtle.Subtle.playerSlowMotion	Subtle.Subtle-class.html#playerSlowMotion
+Subtle.Subtle.cb_subDel	Subtle.Subtle-class.html#cb_subDel
+Subtle.Subtle.playerSeekForward	Subtle.Subtle-class.html#playerSeekForward
+Subtle.Subtle.playerSeekRewind	Subtle.Subtle-class.html#playerSeekRewind
+Subtle.Subtle.reorder_SubsListStore	Subtle.Subtle-class.html#reorder_SubsListStore
+Subtle.Subtle.cb_addNewStream	Subtle.Subtle-class.html#cb_addNewStream
+Subtle.Subtle.cb_onSaveMenu	Subtle.Subtle-class.html#cb_onSaveMenu
+Subtle.Subtle.cb_onSubtitleWindow	Subtle.Subtle-class.html#cb_onSubtitleWindow
+Subtle.Subtle.setSubtitle	Subtle.Subtle-class.html#setSubtitle
+Subtle.Subtle.cb_onModeChanged	Subtle.Subtle-class.html#cb_onModeChanged
+Subtle.Subtle.buttonReleaseAdjustment	Subtle.Subtle-class.html#buttonReleaseAdjustment
+Subtle.Subtle.cb_onSubsListSelect	Subtle.Subtle-class.html#cb_onSubsListSelect
+Subtle.Subtle.setSubtitleEdit	Subtle.Subtle-class.html#setSubtitleEdit
+Subtle.Subtle.cb_onNewMenu	Subtle.Subtle-class.html#cb_onNewMenu
+Subtle.Subtle.openFileCancel	Subtle.Subtle-class.html#openFileCancel
+Subtle.Subtle.saveProject	Subtle.Subtle-class.html#saveProject
+Subtle.Subtle.playerPlay	Subtle.Subtle-class.html#playerPlay
+Subtle.Subtle.cb_showStreamsPane	Subtle.Subtle-class.html#cb_showStreamsPane
+Subtle.Subtle.buttonPressAdjustment	Subtle.Subtle-class.html#buttonPressAdjustment

Added: trunk/subtle/docs/html/class-tree.html
===================================================================
--- trunk/subtle/docs/html/class-tree.html	                        (rev 0)
+++ trunk/subtle/docs/html/class-tree.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Class Hierarchy</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">&nbsp;</td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="class-tree.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<center><b>
+ [ <a href="module-tree.html">Module Hierarchy</a>
+ | <a href="class-tree.html">Class Hierarchy</a> ]
+</b></center><br />
+<h1 class="epydoc">Class Hierarchy</h1>
+<ul class="nomargin-top">
+    <li> <strong class="uidlink"><a href="GPlayer.GstPlayer-class.html">GPlayer.GstPlayer</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="Subtitles.Line.Line-class.html">Subtitles.Line.Line</a></strong>:
+      <em class="summary">Each line of a subtile will have its own class to control the 
+        number of characters and other features</em>
+    </li>
+    <li> <strong class="uidlink"><a href="MediaInfo.Media-class.html">MediaInfo.Media</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="MediaInfo.MediaInfo-class.html">MediaInfo.MediaInfo</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="Subtitles.Sub.Sub-class.html">Subtitles.Sub.Sub</a></strong>:
+      <em class="summary">The Sub class, is the class that handles each subtitle individually</em>
+    </li>
+    <li> <strong class="uidlink"><a href="Subtitles.Subtitles.Subtitles-class.html">Subtitles.Subtitles.Subtitles</a></strong>:
+      <em class="summary">This class defines all the interface for the application to handle 
+        subtitles and to ease the implementation of new formats</em>
+    <ul>
+    <li> <strong class="uidlink"><a href="Subtitles.Softni.Softni-class.html">Subtitles.Softni.Softni</a></strong>:
+      <em class="summary">This class handles the Softni file format</em>
+    </li>
+    <li> <strong class="uidlink"><a href="Subtitles.SubRip.SubRip-class.html">Subtitles.SubRip.SubRip</a></strong>:
+      <em class="summary">This class handles the SubRip subtitle format</em>
+    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="Subtle.Subtle-class.html">Subtle.Subtle</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="GPlayer.VideoWidget-class.html">GPlayer.VideoWidget</a></strong>
+    </li>
+</ul>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:36 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/crarr.png
===================================================================
(Binary files differ)


Property changes on: trunk/subtle/docs/html/crarr.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/subtle/docs/html/epydoc.css
===================================================================
--- trunk/subtle/docs/html/epydoc.css	                        (rev 0)
+++ trunk/subtle/docs/html/epydoc.css	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,322 @@
+
+
+/* Epydoc CSS Stylesheet
+ *
+ * This stylesheet can be used to customize the appearance of epydoc's
+ * HTML output.
+ *
+ */
+
+/* Default Colors & Styles
+ *   - Set the default foreground & background color with 'body'; and 
+ *     link colors with 'a:link' and 'a:visited'.
+ *   - Use bold for decision list terms.
+ *   - The heading styles defined here are used for headings *within*
+ *     docstring descriptions.  All headings used by epydoc itself use
+ *     either class='epydoc' or class='toc' (CSS styles for both
+ *     defined below).
+ */
+body                        { background: #ffffff; color: #000000; }
+p                           { margin-top: 0.5em; margin-bottom: 0.5em; }
+a:link                      { color: #0000ff; }
+a:visited                   { color: #204080; }
+dt                          { font-weight: bold; }
+h1                          { font-size: +140%; font-style: italic;
+                              font-weight: bold; }
+h2                          { font-size: +125%; font-style: italic;
+                              font-weight: bold; }
+h3                          { font-size: +110%; font-style: italic;
+                              font-weight: normal; }
+code                        { font-size: 100%; }
+/* N.B.: class, not pseudoclass */
+a.link                      { font-family: monospace; }
+ 
+/* Page Header & Footer
+ *   - The standard page header consists of a navigation bar (with
+ *     pointers to standard pages such as 'home' and 'trees'); a
+ *     breadcrumbs list, which can be used to navigate to containing
+ *     classes or modules; options links, to show/hide private
+ *     variables and to show/hide frames; and a page title (using
+ *     <h1>).  The page title may be followed by a link to the
+ *     corresponding source code (using 'span.codelink').
+ *   - The footer consists of a navigation bar, a timestamp, and a
+ *     pointer to epydoc's homepage.
+ */ 
+h1.epydoc                   { margin: 0; font-size: +140%; font-weight: bold; }
+h2.epydoc                   { font-size: +130%; font-weight: bold; }
+h3.epydoc                   { font-size: +115%; font-weight: bold;
+                              margin-top: 0.2em; }
+td h3.epydoc                { font-size: +115%; font-weight: bold;
+                              margin-bottom: 0; }
+table.navbar                { background: #a0c0ff; color: #000000;
+                              border: 2px groove #c0d0d0; }
+table.navbar table          { color: #000000; }
+th.navbar-select            { background: #70b0ff;
+                              color: #000000; } 
+table.navbar a              { text-decoration: none; }  
+table.navbar a:link         { color: #0000ff; }
+table.navbar a:visited      { color: #204080; }
+span.breadcrumbs            { font-size: 85%; font-weight: bold; }
+span.options                { font-size: 70%; }
+span.codelink               { font-size: 85%; }
+td.footer                   { font-size: 85%; }
+
+/* Table Headers
+ *   - Each summary table and details section begins with a 'header'
+ *     row.  This row contains a section title (marked by
+ *     'span.table-header') as well as a show/hide private link
+ *     (marked by 'span.options', defined above).
+ *   - Summary tables that contain user-defined groups mark those
+ *     groups using 'group header' rows.
+ */
+td.table-header             { background: #70b0ff; color: #000000;
+                              border: 1px solid #608090; }
+td.table-header table       { color: #000000; }
+td.table-header table a:link      { color: #0000ff; }
+td.table-header table a:visited   { color: #204080; }
+span.table-header           { font-size: 120%; font-weight: bold; }
+th.group-header             { background: #c0e0f8; color: #000000;
+                              text-align: left; font-style: italic; 
+                              font-size: 115%; 
+                              border: 1px solid #608090; }
+
+/* Summary Tables (functions, variables, etc)
+ *   - Each object is described by a single row of the table with
+ *     two cells.  The left cell gives the object's type, and is
+ *     marked with 'code.summary-type'.  The right cell gives the
+ *     object's name and a summary description.
+ *   - CSS styles for the table's header and group headers are
+ *     defined above, under 'Table Headers'
+ */
+table.summary               { border-collapse: collapse;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #608090;
+                              margin-bottom: 0.5em; }
+td.summary                  { border: 1px solid #608090; }
+code.summary-type           { font-size: 85%; }
+table.summary a:link        { color: #0000ff; }
+table.summary a:visited     { color: #204080; }
+
+
+/* Details Tables (functions, variables, etc)
+ *   - Each object is described in its own div.
+ *   - A single-row summary table w/ table-header is used as
+ *     a header for each details section (CSS style for table-header
+ *     is defined above, under 'Table Headers').
+ */
+table.details               { border-collapse: collapse;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #608090;
+                              margin: .2em 0 0 0; }
+table.details table         { color: #000000; }
+table.details a:link        { color: #0000ff; }
+table.details a:visited     { color: #204080; }
+
+/* Fields */
+dl.fields                   { margin-left: 2em; margin-top: 1em;
+                              margin-bottom: 1em; }
+dl.fields dd ul             { margin-left: 0em; padding-left: 0em; }
+dl.fields dd ul li ul       { margin-left: 2em; padding-left: 0em; }
+div.fields                  { margin-left: 2em; }
+div.fields p                { margin-bottom: 0.5em; }
+
+/* Index tables (identifier index, term index, etc)
+ *   - link-index is used for indices containing lists of links
+ *     (namely, the identifier index & term index).
+ *   - index-where is used in link indices for the text indicating
+ *     the container/source for each link.
+ *   - metadata-index is used for indices containing metadata
+ *     extracted from fields (namely, the bug index & todo index).
+ */
+table.link-index            { border-collapse: collapse;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #608090; }
+td.link-index               { border-width: 0px; }
+table.link-index a:link     { color: #0000ff; }
+table.link-index a:visited  { color: #204080; }
+span.index-where            { font-size: 70%; }
+table.metadata-index        { border-collapse: collapse;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #608090; 
+                              margin: .2em 0 0 0; }
+td.metadata-index           { border-width: 1px; border-style: solid; }
+table.metadata-index a:link { color: #0000ff; }
+table.metadata-index a:visited  { color: #204080; }
+
+/* Function signatures
+ *   - sig* is used for the signature in the details section.
+ *   - .summary-sig* is used for the signature in the summary 
+ *     table, and when listing property accessor functions.
+ * */
+.sig-name                   { color: #006080; }
+.sig-arg                    { color: #008060; }
+.sig-default                { color: #602000; }
+.summary-sig                { font-family: monospace; }
+.summary-sig-name           { color: #006080; font-weight: bold; }
+table.summary a.summary-sig-name:link
+                            { color: #006080; font-weight: bold; }
+table.summary a.summary-sig-name:visited
+                            { color: #006080; font-weight: bold; }
+.summary-sig-arg            { color: #006040; }
+.summary-sig-default        { color: #501800; }
+
+/* Subclass list
+ */
+ul.subclass-list { display: inline; }
+ul.subclass-list li { display: inline; }
+
+/* To render variables, classes etc. like functions */
+table.summary .summary-name { color: #006080; font-weight: bold;
+                              font-family: monospace; }
+table.summary
+     a.summary-name:link    { color: #006080; font-weight: bold;
+                              font-family: monospace; }
+table.summary
+    a.summary-name:visited  { color: #006080; font-weight: bold;
+                              font-family: monospace; }
+
+/* Variable values
+ *   - In the 'variable details' sections, each varaible's value is
+ *     listed in a 'pre.variable' box.  The width of this box is
+ *     restricted to 80 chars; if the value's repr is longer than
+ *     this it will be wrapped, using a backslash marked with
+ *     class 'variable-linewrap'.  If the value's repr is longer
+ *     than 3 lines, the rest will be ellided; and an ellipsis
+ *     marker ('...' marked with 'variable-ellipsis') will be used.
+ *   - If the value is a string, its quote marks will be marked
+ *     with 'variable-quote'.
+ *   - If the variable is a regexp, it is syntax-highlighted using
+ *     the re* CSS classes.
+ */
+pre.variable                { padding: .5em; margin: 0;
+                              background: #dce4ec; color: #000000;
+                              border: 1px solid #708890; }
+.variable-linewrap          { color: #604000; font-weight: bold; }
+.variable-ellipsis          { color: #604000; font-weight: bold; }
+.variable-quote             { color: #604000; font-weight: bold; }
+.variable-group             { color: #008000; font-weight: bold; }
+.variable-op                { color: #604000; font-weight: bold; }
+.variable-string            { color: #006030; }
+.variable-unknown           { color: #a00000; font-weight: bold; }
+.re                         { color: #000000; }
+.re-char                    { color: #006030; }
+.re-op                      { color: #600000; }
+.re-group                   { color: #003060; }
+.re-ref                     { color: #404040; }
+
+/* Base tree
+ *   - Used by class pages to display the base class hierarchy.
+ */
+pre.base-tree               { font-size: 80%; margin: 0; }
+
+/* Frames-based table of contents headers
+ *   - Consists of two frames: one for selecting modules; and
+ *     the other listing the contents of the selected module.
+ *   - h1.toc is used for each frame's heading
+ *   - h2.toc is used for subheadings within each frame.
+ */
+h1.toc                      { text-align: center; font-size: 105%;
+                              margin: 0; font-weight: bold;
+                              padding: 0; }
+h2.toc                      { font-size: 100%; font-weight: bold; 
+                              margin: 0.5em 0 0 -0.3em; }
+
+/* Syntax Highlighting for Source Code
+ *   - doctest examples are displayed in a 'pre.py-doctest' block.
+ *     If the example is in a details table entry, then it will use
+ *     the colors specified by the 'table pre.py-doctest' line.
+ *   - Source code listings are displayed in a 'pre.py-src' block.
+ *     Each line is marked with 'span.py-line' (used to draw a line
+ *     down the left margin, separating the code from the line
+ *     numbers).  Line numbers are displayed with 'span.py-lineno'.
+ *     The expand/collapse block toggle button is displayed with
+ *     'a.py-toggle' (Note: the CSS style for 'a.py-toggle' should not
+ *     modify the font size of the text.)
+ *   - If a source code page is opened with an anchor, then the
+ *     corresponding code block will be highlighted.  The code
+ *     block's header is highlighted with 'py-highlight-hdr'; and
+ *     the code block's body is highlighted with 'py-highlight'.
+ *   - The remaining py-* classes are used to perform syntax
+ *     highlighting (py-string for string literals, py-name for names,
+ *     etc.)
+ */
+pre.py-doctest              { padding: .5em; margin: 1em;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #708890; }
+table pre.py-doctest        { background: #dce4ec;
+                              color: #000000; }
+pre.py-src                  { border: 2px solid #000000; 
+                              background: #f0f0f0; color: #000000; }
+.py-line                    { border-left: 2px solid #000000; 
+                              margin-left: .2em; padding-left: .4em; }
+.py-lineno                  { font-style: italic; font-size: 90%;
+                              padding-left: .5em; }
+a.py-toggle                 { text-decoration: none; }
+div.py-highlight-hdr        { border-top: 2px solid #000000;
+                              border-bottom: 2px solid #000000;
+                              background: #d8e8e8; }
+div.py-highlight            { border-bottom: 2px solid #000000;
+                              background: #d0e0e0; }
+.py-prompt                  { color: #005050; font-weight: bold;}
+.py-more                    { color: #005050; font-weight: bold;}
+.py-string                  { color: #006030; }
+.py-comment                 { color: #003060; }
+.py-keyword                 { color: #600000; }
+.py-output                  { color: #404040; }
+.py-name                    { color: #000050; }
+.py-name:link               { color: #000050 !important; }
+.py-name:visited            { color: #000050 !important; }
+.py-number                  { color: #005000; }
+.py-defname                 { color: #000060; font-weight: bold; }
+.py-def-name                { color: #000060; font-weight: bold; }
+.py-base-class              { color: #000060; }
+.py-param                   { color: #000060; }
+.py-docstring               { color: #006030; }
+.py-decorator               { color: #804020; }
+/* Use this if you don't want links to names underlined: */
+/*a.py-name                   { text-decoration: none; }*/
+
+/* Graphs & Diagrams
+ *   - These CSS styles are used for graphs & diagrams generated using
+ *     Graphviz dot.  'img.graph-without-title' is used for bare
+ *     diagrams (to remove the border created by making the image
+ *     clickable).
+ */
+img.graph-without-title     { border: none; }
+img.graph-with-title        { border: 1px solid #000000; }
+span.graph-title            { font-weight: bold; }
+span.graph-caption          { }
+
+/* General-purpose classes
+ *   - 'p.indent-wrapped-lines' defines a paragraph whose first line
+ *     is not indented, but whose subsequent lines are.
+ *   - The 'nomargin-top' class is used to remove the top margin (e.g.
+ *     from lists).  The 'nomargin' class is used to remove both the
+ *     top and bottom margin (but not the left or right margin --
+ *     for lists, that would cause the bullets to disappear.)
+ */
+p.indent-wrapped-lines      { padding: 0 0 0 7em; text-indent: -7em; 
+                              margin: 0; }
+.nomargin-top               { margin-top: 0; }
+.nomargin                   { margin-top: 0; margin-bottom: 0; }
+
+/* HTML Log */
+div.log-block               { padding: 0; margin: .5em 0 .5em 0;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #000000; }
+div.log-error               { padding: .1em .3em .1em .3em; margin: 4px;
+                              background: #ffb0b0; color: #000000;
+                              border: 1px solid #000000; }
+div.log-warning             { padding: .1em .3em .1em .3em; margin: 4px;
+                              background: #ffffb0; color: #000000;
+                              border: 1px solid #000000; }
+div.log-info               { padding: .1em .3em .1em .3em; margin: 4px;
+                              background: #b0ffb0; color: #000000;
+                              border: 1px solid #000000; }
+h2.log-hdr                  { background: #70b0ff; color: #000000;
+                              margin: 0; padding: 0em 0.5em 0em 0.5em;
+                              border-bottom: 1px solid #000000; font-size: 110%; }
+p.log                       { font-weight: bold; margin: .5em 0 .5em 0; }
+tr.opt-changed              { color: #000000; font-weight: bold; }
+tr.opt-default              { color: #606060; }
+pre.log                     { margin: 0; padding: 0; padding-left: 1em; }

Added: trunk/subtle/docs/html/epydoc.js
===================================================================
--- trunk/subtle/docs/html/epydoc.js	                        (rev 0)
+++ trunk/subtle/docs/html/epydoc.js	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,293 @@
+function toggle_private() {
+        // Search for any private/public links on this page.  Store
+        // their old text in "cmd," so we will know what action to
+        // take; and change their text to the opposite action.
+        var cmd = "?";
+        var elts = document.getElementsByTagName("a");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "privatelink") {
+            cmd = elts[i].innerHTML;
+            elts[i].innerHTML = ((cmd && cmd.substr(0,4)=="show")?
+                                    "hide&nbsp;private":"show&nbsp;private");
+          }
+        }
+        // Update all DIVs containing private objects.
+        var elts = document.getElementsByTagName("div");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "private") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
+          }
+          else if (elts[i].className == "public") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"block":"none");
+          }
+        }
+        // Update all table rows containing private objects.  Note, we
+        // use "" instead of "block" becaue IE & firefox disagree on what
+        // this should be (block vs table-row), and "" just gives the
+        // default for both browsers.
+        var elts = document.getElementsByTagName("tr");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "private") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"");
+          }
+        }
+        // Update all list items containing private objects.
+        var elts = document.getElementsByTagName("li");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "private") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?
+                                        "none":"");
+          }
+        }
+        // Update all list items containing private objects.
+        var elts = document.getElementsByTagName("ul");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "private") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
+          }
+        }
+        // Set a cookie to remember the current option.
+        document.cookie = "EpydocPrivate="+cmd;
+      }
+function show_private() {
+        var elts = document.getElementsByTagName("a");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "privatelink") {
+            cmd = elts[i].innerHTML;
+            if (cmd && cmd.substr(0,4)=="show")
+                toggle_private();
+          }
+        }
+      }
+function getCookie(name) {
+        var dc = document.cookie;
+        var prefix = name + "=";
+        var begin = dc.indexOf("; " + prefix);
+        if (begin == -1) {
+          begin = dc.indexOf(prefix);
+          if (begin != 0) return null;
+        } else
+        { begin += 2; }
+        var end = document.cookie.indexOf(";", begin);
+        if (end == -1)
+        { end = dc.length; }
+        return unescape(dc.substring(begin + prefix.length, end));
+      }
+function setFrame(url1, url2) {
+          parent.frames[1].location.href = url1;
+          parent.frames[2].location.href = url2;
+      }
+function checkCookie() {
+        var cmd=getCookie("EpydocPrivate");
+        if (cmd && cmd.substr(0,4)!="show" && location.href.indexOf("#_") < 0)
+            toggle_private();
+      }
+function toggleCallGraph(id) {
+        var elt = document.getElementById(id);
+        if (elt.style.display == "none")
+            elt.style.display = "block";
+        else
+            elt.style.display = "none";
+      }
+function expand(id) {
+  var elt = document.getElementById(id+"-expanded");
+  if (elt) elt.style.display = "block";
+  var elt = document.getElementById(id+"-expanded-linenums");
+  if (elt) elt.style.display = "block";
+  var elt = document.getElementById(id+"-collapsed");
+  if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
+  var elt = document.getElementById(id+"-collapsed-linenums");
+  if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
+  var elt = document.getElementById(id+"-toggle");
+  if (elt) { elt.innerHTML = "-"; }
+}
+
+function collapse(id) {
+  var elt = document.getElementById(id+"-expanded");
+  if (elt) elt.style.display = "none";
+  var elt = document.getElementById(id+"-expanded-linenums");
+  if (elt) elt.style.display = "none";
+  var elt = document.getElementById(id+"-collapsed-linenums");
+  if (elt) { elt.innerHTML = "<br />"; elt.style.display="block"; }
+  var elt = document.getElementById(id+"-toggle");
+  if (elt) { elt.innerHTML = "+"; }
+  var elt = document.getElementById(id+"-collapsed");
+  if (elt) {
+    elt.style.display = "block";
+    
+    var indent = elt.getAttribute("indent");
+    var pad = elt.getAttribute("pad");
+    var s = "<tt class='py-lineno'>";
+    for (var i=0; i<pad.length; i++) { s += "&nbsp;" }
+    s += "</tt>";
+    s += "&nbsp;&nbsp;<tt class='py-line'>";
+    for (var i=0; i<indent.length; i++) { s += "&nbsp;" }
+    s += "<a href='#' onclick='expand(\"" + id;
+    s += "\");return false'>...</a></tt><br />";
+    elt.innerHTML = s;
+  }
+}
+
+function toggle(id) {
+  elt = document.getElementById(id+"-toggle");
+  if (elt.innerHTML == "-")
+      collapse(id); 
+  else
+      expand(id);
+  return false;
+}
+
+function highlight(id) {
+  var elt = document.getElementById(id+"-def");
+  if (elt) elt.className = "py-highlight-hdr";
+  var elt = document.getElementById(id+"-expanded");
+  if (elt) elt.className = "py-highlight";
+  var elt = document.getElementById(id+"-collapsed");
+  if (elt) elt.className = "py-highlight";
+}
+
+function num_lines(s) {
+  var n = 1;
+  var pos = s.indexOf("\n");
+  while ( pos > 0) {
+    n += 1;
+    pos = s.indexOf("\n", pos+1);
+  }
+  return n;
+}
+
+// Collapse all blocks that mave more than `min_lines` lines.
+function collapse_all(min_lines) {
+  var elts = document.getElementsByTagName("div");
+  for (var i=0; i<elts.length; i++) {
+    var elt = elts[i];
+    var split = elt.id.indexOf("-");
+    if (split > 0)
+      if (elt.id.substring(split, elt.id.length) == "-expanded")
+        if (num_lines(elt.innerHTML) > min_lines)
+          collapse(elt.id.substring(0, split));
+  }
+}
+
+function expandto(href) {
+  var start = href.indexOf("#")+1;
+  if (start != 0 && start != href.length) {
+    if (href.substring(start, href.length) != "-") {
+      collapse_all(4);
+      pos = href.indexOf(".", start);
+      while (pos != -1) {
+        var id = href.substring(start, pos);
+        expand(id);
+        pos = href.indexOf(".", pos+1);
+      }
+      var id = href.substring(start, href.length);
+      expand(id);
+      highlight(id);
+    }
+  }
+}
+
+function kill_doclink(id) {
+  var parent = document.getElementById(id);
+  parent.removeChild(parent.childNodes.item(0));
+}
+function auto_kill_doclink(ev) {
+  if (!ev) var ev = window.event;
+  if (!this.contains(ev.toElement)) {
+    var parent = document.getElementById(this.parentID);
+    parent.removeChild(parent.childNodes.item(0));
+  }
+}
+
+function doclink(id, name, targets_id) {
+  var elt = document.getElementById(id);
+
+  // If we already opened the box, then destroy it.
+  // (This case should never occur, but leave it in just in case.)
+  if (elt.childNodes.length > 1) {
+    elt.removeChild(elt.childNodes.item(0));
+  }
+  else {
+    // The outer box: relative + inline positioning.
+    var box1 = document.createElement("div");
+    box1.style.position = "relative";
+    box1.style.display = "inline";
+    box1.style.top = 0;
+    box1.style.left = 0;
+  
+    // A shadow for fun
+    var shadow = document.createElement("div");
+    shadow.style.position = "absolute";
+    shadow.style.left = "-1.3em";
+    shadow.style.top = "-1.3em";
+    shadow.style.background = "#404040";
+    
+    // The inner box: absolute positioning.
+    var box2 = document.createElement("div");
+    box2.style.position = "relative";
+    box2.style.border = "1px solid #a0a0a0";
+    box2.style.left = "-.2em";
+    box2.style.top = "-.2em";
+    box2.style.background = "white";
+    box2.style.padding = ".3em .4em .3em .4em";
+    box2.style.fontStyle = "normal";
+    box2.onmouseout=auto_kill_doclink;
+    box2.parentID = id;
+
+    // Get the targets
+    var targets_elt = document.getElementById(targets_id);
+    var targets = targets_elt.getAttribute("targets");
+    var links = "";
+    target_list = targets.split(",");
+    for (var i=0; i<target_list.length; i++) {
+        var target = target_list[i].split("=");
+        links += "<li><a href='" + target[1] + 
+               "' style='text-decoration:none'>" +
+               target[0] + "</a></li>";
+    }
+  
+    // Put it all together.
+    elt.insertBefore(box1, elt.childNodes.item(0));
+    //box1.appendChild(box2);
+    box1.appendChild(shadow);
+    shadow.appendChild(box2);
+    box2.innerHTML =
+        "Which <b>"+name+"</b> do you want to see documentation for?" +
+        "<ul style='margin-bottom: 0;'>" +
+        links + 
+        "<li><a href='#' style='text-decoration:none' " +
+        "onclick='kill_doclink(\""+id+"\");return false;'>"+
+        "<i>None of the above</i></a></li></ul>";
+  }
+  return false;
+}
+
+function get_anchor() {
+          var href = location.href;
+          var start = href.indexOf("#")+1;
+          if ((start != 0) && (start != href.length))
+              return href.substring(start, href.length);
+      }
+function redirect_url(dottedName) {
+          // Scan through each element of the "pages" list, and check
+          // if "name" matches with any of them.
+          for (var i=0; i<pages.length; i++) {
+
+              // Each page has the form "<pagename>-m" or "<pagename>-c";
+              // extract the <pagename> portion & compare it to dottedName.
+              var pagename = pages[i].substring(0, pages[i].length-2);
+              if (pagename == dottedName.substring(0,pagename.length)) {
+
+                  // We've found a page that matches `dottedName`;
+                  // construct its URL, using leftover `dottedName`
+                  // content to form an anchor.
+                  var pagetype = pages[i].charAt(pages[i].length-1);
+                  var url = pagename + ((pagetype=="m")?"-module.html":
+                                                        "-class.html");
+                  if (dottedName.length > pagename.length)
+                      url += "#" + dottedName.substring(pagename.length+1,
+                                                        dottedName.length);
+                  return url;
+              }
+          }
+      }

Added: trunk/subtle/docs/html/frames.html
===================================================================
--- trunk/subtle/docs/html/frames.html	                        (rev 0)
+++ trunk/subtle/docs/html/frames.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+          "DTD/xhtml1-frameset.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title> Subtle </title>
+</head>
+<frameset cols="20%,80%">
+  <frameset rows="30%,70%">
+    <frame src="toc.html" name="moduleListFrame"
+           id="moduleListFrame" />
+    <frame src="toc-everything.html" name="moduleFrame"
+           id="moduleFrame" />
+  </frameset>
+  <frame src="Subtle-module.html" name="mainFrame" id="mainFrame" />
+</frameset>
+</html>

Added: trunk/subtle/docs/html/help.html
===================================================================
--- trunk/subtle/docs/html/help.html	                        (rev 0)
+++ trunk/subtle/docs/html/help.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,278 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Help</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Help&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">&nbsp;</td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="help.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+
+<h1 class="epydoc"> API Documentation </h1>
+
+<p> This document contains the API (Application Programming Interface)
+documentation for Subtle.  Documentation for the Python
+objects defined by the project is divided into separate pages for each
+package, module, and class.  The API documentation also includes two
+pages containing information about the project as a whole: a trees
+page, and an index page.  </p>
+
+<h2> Object Documentation </h2>
+
+  <p>Each <strong>Package Documentation</strong> page contains: </p>
+  <ul>
+    <li> A description of the package. </li>
+    <li> A list of the modules and sub-packages contained by the
+    package.  </li>
+    <li> A summary of the classes defined by the package. </li>
+    <li> A summary of the functions defined by the package. </li>
+    <li> A summary of the variables defined by the package. </li>
+    <li> A detailed description of each function defined by the
+    package. </li>
+    <li> A detailed description of each variable defined by the
+    package. </li>
+  </ul>
+  
+  <p>Each <strong>Module Documentation</strong> page contains:</p>
+  <ul>
+    <li> A description of the module. </li>
+    <li> A summary of the classes defined by the module. </li>
+    <li> A summary of the functions defined by the module. </li>
+    <li> A summary of the variables defined by the module. </li>
+    <li> A detailed description of each function defined by the
+    module. </li>
+    <li> A detailed description of each variable defined by the
+    module. </li>
+  </ul>
+  
+  <p>Each <strong>Class Documentation</strong> page contains: </p>
+  <ul>
+    <li> A class inheritance diagram. </li>
+    <li> A list of known subclasses. </li>
+    <li> A description of the class. </li>
+    <li> A summary of the methods defined by the class. </li>
+    <li> A summary of the instance variables defined by the class. </li>
+    <li> A summary of the class (static) variables defined by the
+    class. </li> 
+    <li> A detailed description of each method defined by the
+    class. </li>
+    <li> A detailed description of each instance variable defined by the
+    class. </li> 
+    <li> A detailed description of each class (static) variable defined
+    by the class. </li> 
+  </ul>
+
+<h2> Project Documentation </h2>
+
+  <p> The <strong>Trees</strong> page contains the module and class hierarchies: </p>
+  <ul>
+    <li> The <em>module hierarchy</em> lists every package and module, with
+    modules grouped into packages.  At the top level, and within each
+    package, modules and sub-packages are listed alphabetically. </li>
+    <li> The <em>class hierarchy</em> lists every class, grouped by base
+    class.  If a class has more than one base class, then it will be
+    listed under each base class.  At the top level, and under each base
+    class, classes are listed alphabetically. </li>
+  </ul>
+  
+  <p> The <strong>Index</strong> page contains indices of terms and
+  identifiers: </p>
+  <ul>
+    <li> The <em>term index</em> lists every term indexed by any object's
+    documentation.  For each term, the index provides links to each
+    place where the term is indexed. </li>
+    <li> The <em>identifier index</em> lists the (short) name of every package,
+    module, class, method, function, variable, and parameter.  For each
+    identifier, the index provides a short description, and a link to
+    its documentation. </li>
+  </ul>
+
+<h2> The Table of Contents </h2>
+
+<p> The table of contents occupies the two frames on the left side of
+the window.  The upper-left frame displays the <em>project
+contents</em>, and the lower-left frame displays the <em>module
+contents</em>: </p>
+
+<table class="help summary" border="1" cellspacing="0" cellpadding="3">
+  <tr style="height: 30%">
+    <td align="center" style="font-size: small">
+       Project<br />Contents<hr />...</td>
+    <td align="center" style="font-size: small" rowspan="2" width="70%">
+      API<br />Documentation<br />Frame<br /><br /><br />
+    </td>
+  </tr>
+  <tr>
+    <td align="center" style="font-size: small">
+      Module<br />Contents<hr />&nbsp;<br />...<br />&nbsp;
+    </td>
+  </tr>
+</table><br />
+
+<p> The <strong>project contents frame</strong> contains a list of all packages
+and modules that are defined by the project.  Clicking on an entry
+will display its contents in the module contents frame.  Clicking on a
+special entry, labeled "Everything," will display the contents of
+the entire project. </p>
+
+<p> The <strong>module contents frame</strong> contains a list of every
+submodule, class, type, exception, function, and variable defined by a
+module or package.  Clicking on an entry will display its
+documentation in the API documentation frame.  Clicking on the name of
+the module, at the top of the frame, will display the documentation
+for the module itself. </p>
+
+<p> The "<strong>frames</strong>" and "<strong>no frames</strong>" buttons below the top
+navigation bar can be used to control whether the table of contents is
+displayed or not. </p>
+
+<h2> The Navigation Bar </h2>
+
+<p> A navigation bar is located at the top and bottom of every page.
+It indicates what type of page you are currently viewing, and allows
+you to go to related pages.  The following table describes the labels
+on the navigation bar.  Note that not some labels (such as
+[Parent]) are not displayed on all pages. </p>
+
+<table class="summary" border="1" cellspacing="0" cellpadding="3" width="100%">
+<tr class="summary">
+  <th>Label</th>
+  <th>Highlighted when...</th>
+  <th>Links to...</th>
+</tr>
+  <tr><td valign="top"><strong>[Parent]</strong></td>
+      <td valign="top"><em>(never highlighted)</em></td>
+      <td valign="top"> the parent of the current package </td></tr>
+  <tr><td valign="top"><strong>[Package]</strong></td>
+      <td valign="top">viewing a package</td>
+      <td valign="top">the package containing the current object
+      </td></tr>
+  <tr><td valign="top"><strong>[Module]</strong></td>
+      <td valign="top">viewing a module</td>
+      <td valign="top">the module containing the current object
+      </td></tr> 
+  <tr><td valign="top"><strong>[Class]</strong></td>
+      <td valign="top">viewing a class </td>
+      <td valign="top">the class containing the current object</td></tr>
+  <tr><td valign="top"><strong>[Trees]</strong></td>
+      <td valign="top">viewing the trees page</td>
+      <td valign="top"> the trees page </td></tr>
+  <tr><td valign="top"><strong>[Index]</strong></td>
+      <td valign="top">viewing the index page</td>
+      <td valign="top"> the index page </td></tr>
+  <tr><td valign="top"><strong>[Help]</strong></td>
+      <td valign="top">viewing the help page</td>
+      <td valign="top"> the help page </td></tr>
+</table>
+
+<p> The "<strong>show private</strong>" and "<strong>hide private</strong>" buttons below
+the top navigation bar can be used to control whether documentation
+for private objects is displayed.  Private objects are usually defined
+as objects whose (short) names begin with a single underscore, but do
+not end with an underscore.  For example, "<code>_x</code>",
+"<code>__pprint</code>", and "<code>epydoc.epytext._tokenize</code>"
+are private objects; but "<code>re.sub</code>",
+"<code>__init__</code>", and "<code>type_</code>" are not.  However,
+if a module defines the "<code>__all__</code>" variable, then its
+contents are used to decide which objects are private. </p>
+
+<p> A timestamp below the bottom navigation bar indicates when each
+page was last updated. </p>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Help&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:36 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/identifier-index.html
===================================================================
--- trunk/subtle/docs/html/identifier-index.html	                        (rev 0)
+++ trunk/subtle/docs/html/identifier-index.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,659 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Identifier Index</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Indices&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">&nbsp;</td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="identifier-index.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table border="0" width="100%">
+<tr valign="bottom"><td>
+<h1 class="epydoc">Identifier Index</h1>
+</td><td>
+[
+ <a href="#A">A</a>
+ <a href="#B">B</a>
+ <a href="#C">C</a>
+ <a href="#D">D</a>
+ <a href="#E">E</a>
+ <a href="#F">F</a>
+ <a href="#G">G</a>
+ <a href="#H">H</a>
+ <a href="#I">I</a>
+  J
+  K
+ <a href="#L">L</a>
+ <a href="#M">M</a>
+  N
+ <a href="#O">O</a>
+ <a href="#P">P</a>
+ <a href="#Q">Q</a>
+ <a href="#R">R</a>
+ <a href="#S">S</a>
+  T
+ <a href="#U">U</a>
+ <a href="#V">V</a>
+  W
+  X
+  Y
+  Z
+ <a href="#_">_</a>
+]
+</td></table>
+<table border="0" width="100%">
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="A">A</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#addMedia">addMedia()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="B">B</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#buttonPressAdjustment">buttonPressAdjustment()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#buttonReleaseAdjustment">buttonReleaseAdjustment()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="C">C</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_addNewStream">cb_addNewStream()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_onSubInsAfter">cb_onSubInsAfter()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_saveStream">cb_saveStream()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_delStream">cb_delStream()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_onSubInsB4">cb_onSubInsB4()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_setSubEndTime">cb_setSubEndTime()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="MediaInfo.MediaInfo-class.html#cb_discover">cb_discover()</a><br />
+<span class="index-where">(in&nbsp;<a href="MediaInfo.MediaInfo-class.html">MediaInfo</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_onSubsListSelect">cb_onSubsListSelect()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_setSubStartTime">cb_setSubStartTime()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_hideStreamsPane">cb_hideStreamsPane()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_onSubsWindowDelete">cb_onSubsWindowDelete()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_showStreamsPane">cb_showStreamsPane()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_hideSubPane">cb_hideSubPane()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_onSubTextEdited">cb_onSubTextEdited()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_showSubtitlePane">cb_showSubtitlePane()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_modStream">cb_modStream()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_onSubtitleEdit">cb_onSubtitleEdit()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_StreamWindowDelete">cb_StreamWindowDelete()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_newStream">cb_newStream()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_onSubtitleWindow">cb_onSubtitleWindow()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_subDel">cb_subDel()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_onModeChanged">cb_onModeChanged()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_openMediaCancel">cb_openMediaCancel()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_subIn">cb_subIn()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_onNewMenu">cb_onNewMenu()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_openMediaOpen">cb_openMediaOpen()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_subOut">cb_subOut()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_onSaveAsMenu">cb_onSaveAsMenu()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_projectSaveCancel">cb_projectSaveCancel()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#changeValueAdjustment">changeValueAdjustment()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_onSaveMenu">cb_onSaveMenu()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#cb_projectSaveOpen">cb_projectSaveOpen()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="D">D</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="MediaInfo.MediaInfo-class.html#discover">discover()</a><br />
+<span class="index-where">(in&nbsp;<a href="MediaInfo.MediaInfo-class.html">MediaInfo</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.SubRip-module.html#discover">discover()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.SubRip-module.html">Subtitles.SubRip</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Discoverer-module.html#discoverer">discoverer()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Discoverer-module.html">Subtitles.Discoverer</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtitles.Softni-module.html#discover">discover()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Softni-module.html">Subtitles.Softni</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Discoverer-module.html">Discoverer</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles-module.html">Subtitles</a>)</span></td>
+<td width="33%" class="link-index"><a href="GPlayer.VideoWidget-class.html#do_expose_event">do_expose_event()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.VideoWidget-class.html">VideoWidget</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="E">E</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="Subtle-module.html#EDITING_MODE">EDITING_MODE</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle-module.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#exposeEventVideoOut">exposeEventVideoOut()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="F">F</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="GPlayer.GstPlayer-class.html#fast_forward">fast_forward()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.GstPlayer-class.html">GstPlayer</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Softni-module.html#FRAMERATE">FRAMERATE</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Softni-module.html">Subtitles.Softni</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="MediaInfo.Media-class.html#framerate">framerate</a><br />
+<span class="index-where">(in&nbsp;<a href="MediaInfo.Media-class.html">Media</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.SubRip-module.html#FRAMERATE">FRAMERATE</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.SubRip-module.html">Subtitles.SubRip</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="G">G</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="GPlayer.GstPlayer-class.html#get_location">get_location()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.GstPlayer-class.html">GstPlayer</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Subtitles.Subtitles-class.html#getSub">getSub()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Subtitles.Subtitles-class.html">Subtitles</a>)</span></td>
+<td width="33%" class="link-index"><a href="GPlayer-module.html">GPlayer</a></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="GPlayer.GstPlayer-class.html#get_rate">get_rate()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.GstPlayer-class.html">GstPlayer</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Sub.Sub-class.html#getSubText">getSubText()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Sub.Sub-class.html">Sub</a>)</span></td>
+<td width="33%" class="link-index"><a href="GPlayer.GstPlayer-class.html">GstPlayer</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer-module.html">GPlayer</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="GPlayer.GstPlayer-class.html#get_state">get_state()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.GstPlayer-class.html">GstPlayer</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#getSubtitle">getSubtitle()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="MediaInfo.MediaInfo-class.html#getMedia">getMedia()</a><br />
+<span class="index-where">(in&nbsp;<a href="MediaInfo.MediaInfo-class.html">MediaInfo</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Subtitles.Subtitles-class.html#getSupportedTypes">getSupportedTypes()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Subtitles.Subtitles-class.html">Subtitles</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="H">H</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="MediaInfo.Media-class.html#has_audio">has_audio</a><br />
+<span class="index-where">(in&nbsp;<a href="MediaInfo.Media-class.html">Media</a>)</span></td>
+<td width="33%" class="link-index"><a href="MediaInfo.Media-class.html#has_video">has_video</a><br />
+<span class="index-where">(in&nbsp;<a href="MediaInfo.Media-class.html">Media</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="I">I</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="GPlayer.GstPlayer-class.html#is_playing">is_playing()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.GstPlayer-class.html">GstPlayer</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Sub.Sub-class.html#isInTime">isInTime()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Sub.Sub-class.html">Sub</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="L">L</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="Subtitles.Line-module.html">Line</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles-module.html">Subtitles</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Line.Line-class.html">Line</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Line-module.html">Subtitles.Line</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="M">M</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#mainFileOpen">mainFileOpen()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="MediaInfo-module.html">MediaInfo</a></td>
+<td width="33%" class="link-index"><a href="MediaInfo.Media-class.html#MIME">MIME</a><br />
+<span class="index-where">(in&nbsp;<a href="MediaInfo.Media-class.html">Media</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="MediaInfo.Media-class.html">Media</a><br />
+<span class="index-where">(in&nbsp;<a href="MediaInfo-module.html">MediaInfo</a>)</span></td>
+<td width="33%" class="link-index"><a href="MediaInfo.MediaInfo-class.html">MediaInfo</a><br />
+<span class="index-where">(in&nbsp;<a href="MediaInfo-module.html">MediaInfo</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="O">O</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="GPlayer.GstPlayer-class.html#on_message">on_message()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.GstPlayer-class.html">GstPlayer</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle-module.html#ONLINE_MODE">ONLINE_MODE</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle-module.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#openFileOpen">openFileOpen()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="GPlayer.GstPlayer-class.html#on_sync_message">on_sync_message()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.GstPlayer-class.html">GstPlayer</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#openFileCancel">openFileCancel()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="P">P</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="GPlayer.GstPlayer-class.html#pause">pause()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.GstPlayer-class.html">GstPlayer</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#playerPlay">playerPlay()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#playerStop">playerStop()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="GPlayer.GstPlayer-class.html#play">play()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.GstPlayer-class.html">GstPlayer</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#playerSeekForward">playerSeekForward()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="MediaInfo.MediaInfo-class.html#poll">poll()</a><br />
+<span class="index-where">(in&nbsp;<a href="MediaInfo.MediaInfo-class.html">MediaInfo</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#play_toggled">play_toggled()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#playerSeekRewind">playerSeekRewind()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#playerFastForward">playerFastForward()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#playerSlowMotion">playerSlowMotion()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="Q">Q</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="GPlayer.GstPlayer-class.html#query_frame">query_frame()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.GstPlayer-class.html">GstPlayer</a>)</span></td>
+<td width="33%" class="link-index"><a href="GPlayer.GstPlayer-class.html#query_position">query_position()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.GstPlayer-class.html">GstPlayer</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="R">R</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#reorder_SubsListStore">reorder_SubsListStore()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="S">S</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#saveProject">saveProject()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="GPlayer.GstPlayer-class.html#slow_motion">slow_motion()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.GstPlayer-class.html">GstPlayer</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.SubRip.SubRip-class.html">SubRip</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.SubRip-module.html">Subtitles.SubRip</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="GPlayer.GstPlayer-class.html#seek">seek()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.GstPlayer-class.html">GstPlayer</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Softni-module.html">Softni</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles-module.html">Subtitles</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.SubRip.SubRip-class.html#subSave">subSave()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.SubRip.SubRip-class.html">SubRip</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="GPlayer.GstPlayer-class.html#set_location">set_location()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.GstPlayer-class.html">GstPlayer</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Softni.Softni-class.html">Softni</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Softni-module.html">Subtitles.Softni</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#subsWindowUpdate">subsWindowUpdate()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="GPlayer.VideoWidget-class.html#set_sink">set_sink()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.VideoWidget-class.html">VideoWidget</a>)</span></td>
+<td width="33%" class="link-index"><a href="MediaInfo.Media-class.html#sourceURI">sourceURI</a><br />
+<span class="index-where">(in&nbsp;<a href="MediaInfo.Media-class.html">Media</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles-module.html">Subtitles</a></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="GPlayer.GstPlayer-class.html#set_subtitle_text">set_subtitle_text()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.GstPlayer-class.html">GstPlayer</a>)</span></td>
+<td width="33%" class="link-index"><a href="GPlayer.GstPlayer-class.html#stop">stop()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.GstPlayer-class.html">GstPlayer</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Subtitles-module.html">Subtitles</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles-module.html">Subtitles</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#setSubEndTime">setSubEndTime()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Sub-module.html">Sub</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles-module.html">Subtitles</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Subtitles.Subtitles-class.html">Subtitles</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Subtitles-module.html">Subtitles.Subtitles</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#setSubStartTime">setSubStartTime()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Sub.Sub-class.html">Sub</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Sub-module.html" onclick="show_private();">Subtitles.Sub</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle-module.html">Subtle</a></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtitles.Sub.Sub-class.html#setSubText">setSubText()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Sub.Sub-class.html">Sub</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Subtitles.Subtitles-class.html#subAdd">subAdd()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Subtitles.Subtitles-class.html">Subtitles</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html">Subtle</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle-module.html">Subtle</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#setSubtitle">setSubtitle()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Subtitles.Subtitles-class.html#subDel">subDel()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Subtitles.Subtitles-class.html">Subtitles</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle-module.html#subtle">subtle</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle-module.html">Subtle</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#setSubtitleEdit">setSubtitleEdit()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.SubRip-module.html">SubRip</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles-module.html">Subtitles</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Subtitles.Subtitles-class.html#subUpdate">subUpdate()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Subtitles.Subtitles-class.html">Subtitles</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="U">U</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#update_scale_cb">update_scale_cb()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#updateStreamWindow">updateStreamWindow()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtitles.Subtitles.Subtitles-class.html#updateKeys">updateKeys()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Subtitles.Subtitles-class.html">Subtitles</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Subtitles.Subtitles-class.html#updateText">updateText()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Subtitles.Subtitles-class.html">Subtitles</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="V">V</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="MediaInfo.Media-class.html#videoCaps">videoCaps</a><br />
+<span class="index-where">(in&nbsp;<a href="MediaInfo.Media-class.html">Media</a>)</span></td>
+<td width="33%" class="link-index"><a href="MediaInfo.Media-class.html#videoLengthNS">videoLengthNS</a><br />
+<span class="index-where">(in&nbsp;<a href="MediaInfo.Media-class.html">Media</a>)</span></td>
+<td width="33%" class="link-index"><a href="GPlayer.VideoWidget-class.html">VideoWidget</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer-module.html">GPlayer</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="MediaInfo.Media-class.html#videoHeight">videoHeight</a><br />
+<span class="index-where">(in&nbsp;<a href="MediaInfo.Media-class.html">Media</a>)</span></td>
+<td width="33%" class="link-index"><a href="MediaInfo.Media-class.html#videoLengthS">videoLengthS</a><br />
+<span class="index-where">(in&nbsp;<a href="MediaInfo.Media-class.html">Media</a>)</span></td>
+<td width="33%" class="link-index"><a href="MediaInfo.Media-class.html#videoWidth">videoWidth</a><br />
+<span class="index-where">(in&nbsp;<a href="MediaInfo.Media-class.html">Media</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="_">_</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="GPlayer.GstPlayer-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.GstPlayer-class.html">GstPlayer</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.SubRip.SubRip-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.SubRip.SubRip-class.html">SubRip</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Softni.Softni-class.html#_softniFormat2Frame">_softniFormat2Frame()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Softni.Softni-class.html">Softni</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="GPlayer.VideoWidget-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="GPlayer.VideoWidget-class.html">VideoWidget</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Subtitles.Subtitles-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Subtitles.Subtitles-class.html">Subtitles</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Softni.Softni-class.html#_softniFormat2Timestamp">_softniFormat2Timestamp()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Softni.Softni-class.html">Softni</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="MediaInfo.MediaInfo-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="MediaInfo.MediaInfo-class.html">MediaInfo</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtle.Subtle-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtle.Subtle-class.html">Subtle</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.SubRip.SubRip-class.html#_subSRTLoadFromString">_subSRTLoadFromString()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.SubRip.SubRip-class.html">SubRip</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtitles.Line.Line-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Line.Line-class.html">Line</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Line.Line-class.html#_count">_count()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Line.Line-class.html">Line</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.SubRip.SubRip-class.html#_subTime2SRTtime">_subTime2SRTtime()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.SubRip.SubRip-class.html">SubRip</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtitles.Softni.Softni-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Softni.Softni-class.html">Softni</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Softni.Softni-class.html#_loadFromFile">_loadFromFile()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Softni.Softni-class.html">Softni</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="Subtitles.Sub.Sub-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Sub.Sub-class.html">Sub</a>)</span></td>
+<td width="33%" class="link-index"><a href="Subtitles.Sub.Sub-class.html#_processText">_processText()</a><br />
+<span class="index-where">(in&nbsp;<a href="Subtitles.Sub.Sub-class.html">Sub</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+</table>
+<br /><br /><!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Indices&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:36 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/index.html
===================================================================
--- trunk/subtle/docs/html/index.html	                        (rev 0)
+++ trunk/subtle/docs/html/index.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+          "DTD/xhtml1-frameset.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title> Subtle </title>
+</head>
+<frameset cols="20%,80%">
+  <frameset rows="30%,70%">
+    <frame src="toc.html" name="moduleListFrame"
+           id="moduleListFrame" />
+    <frame src="toc-everything.html" name="moduleFrame"
+           id="moduleFrame" />
+  </frameset>
+  <frame src="Subtle-module.html" name="mainFrame" id="mainFrame" />
+</frameset>
+</html>

Added: trunk/subtle/docs/html/module-tree.html
===================================================================
--- trunk/subtle/docs/html/module-tree.html	                        (rev 0)
+++ trunk/subtle/docs/html/module-tree.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Module Hierarchy</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">&nbsp;</td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="module-tree.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<center><b>
+ [ <a href="module-tree.html">Module Hierarchy</a>
+ | <a href="class-tree.html">Class Hierarchy</a> ]
+</b></center><br />
+<h1 class="epydoc">Module Hierarchy</h1>
+<ul class="nomargin-top">
+    <li> <strong class="uidlink"><a href="GPlayer-module.html">GPlayer</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="MediaInfo-module.html">MediaInfo</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="Subtitles-module.html">Subtitles</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="Subtitles.Discoverer-module.html">Subtitles.Discoverer</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="Subtitles.Line-module.html">Subtitles.Line</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="Subtitles.Softni-module.html">Subtitles.Softni</a></strong>    </li>
+    <li class="private"> <strong class="uidlink"><a href="Subtitles.Sub-module.html" onclick="show_private();">Subtitles.Sub</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="Subtitles.SubRip-module.html">Subtitles.SubRip</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="Subtitles.Subtitles-module.html">Subtitles.Subtitles</a></strong>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="Subtle-module.html">Subtle</a></strong>    </li>
+</ul>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="Subtle-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a href="http://wiki.xiph.org/Subtle">Subtle</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Aug  5 23:52:36 2008
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/redirect.html
===================================================================
--- trunk/subtle/docs/html/redirect.html	                        (rev 0)
+++ trunk/subtle/docs/html/redirect.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,38 @@
+<html><head><title>Epydoc Redirect Page</title>
+<meta http-equiv="cache-control" content="no-cache" />
+<meta http-equiv="expires" content="0" />
+<meta http-equiv="pragma" content="no-cache" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+<body>
+<script type="text/javascript">
+<!--
+var pages = ["Subtitles.Subtitles.Subtitles-c", "Subtitles.Softni.Softni-c", "Subtitles.SubRip.SubRip-c", "Subtitles.Discoverer-m", "Subtitles.Subtitles-m", "GPlayer.VideoWidget-c", "MediaInfo.MediaInfo-c", "Subtitles.Line.Line-c", "GPlayer.GstPlayer-c", "Subtitles.Sub.Sub-c", "Subtitles.Softni-m", "Subtitles.SubRip-m", "MediaInfo.Media-c", "Subtitles.Line-m", "Subtitles.Sub-m", "Subtle.Subtle-c", "MediaInfo-m", "Subtitles-m", "GPlayer-m", "Subtle-m"];
+var dottedName = get_anchor();
+if (dottedName) {
+    var target = redirect_url(dottedName);
+    if (target) window.location.replace(target);
+}
+// -->
+</script>
+
+<h3>Epydoc Auto-redirect page</h3>
+
+<p>When javascript is enabled, this page will redirect URLs of
+the form <tt>redirect.html#<i>dotted.name</i></tt> to the
+documentation for the object with the given fully-qualified
+dotted name.</p>
+<p><a id="message"> &nbsp; </a></p>
+
+<script type="text/javascript">
+<!--
+if (dottedName) {
+    var msg = document.getElementById("message");
+    msg.innerHTML = "No documentation found for <tt>"+
+                    dottedName+"</tt>";
+}
+// -->
+</script>
+
+</body>
+</html>

Added: trunk/subtle/docs/html/toc-GPlayer-module.html
===================================================================
--- trunk/subtle/docs/html/toc-GPlayer-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/toc-GPlayer-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>GPlayer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module GPlayer</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="GPlayer.GstPlayer-class.html"
+     >GstPlayer</a><br />    <a target="mainFrame" href="GPlayer.VideoWidget-class.html"
+     >VideoWidget</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/toc-MediaInfo-module.html
===================================================================
--- trunk/subtle/docs/html/toc-MediaInfo-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/toc-MediaInfo-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>MediaInfo</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module MediaInfo</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="MediaInfo.Media-class.html"
+     >Media</a><br />    <a target="mainFrame" href="MediaInfo.MediaInfo-class.html"
+     >MediaInfo</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/toc-Subtitles-module.html
===================================================================
--- trunk/subtle/docs/html/toc-Subtitles-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/toc-Subtitles-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module Subtitles</h1>
+<hr />
+<hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/toc-Subtitles.Discoverer-module.html
===================================================================
--- trunk/subtle/docs/html/toc-Subtitles.Discoverer-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/toc-Subtitles.Discoverer-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Discoverer</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module Discoverer</h1>
+<hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="Subtitles.Discoverer-module.html#discoverer"
+     >discoverer</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/toc-Subtitles.Line-module.html
===================================================================
--- trunk/subtle/docs/html/toc-Subtitles.Line-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/toc-Subtitles.Line-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Line</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module Line</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="Subtitles.Line.Line-class.html"
+     >Line</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/toc-Subtitles.Softni-module.html
===================================================================
--- trunk/subtle/docs/html/toc-Subtitles.Softni-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/toc-Subtitles.Softni-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Softni</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module Softni</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="Subtitles.Softni.Softni-class.html"
+     >Softni</a><br />  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="Subtitles.Softni-module.html#discover"
+     >discover</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="Subtitles.Softni-module.html#FRAMERATE"
+     >FRAMERATE</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/toc-Subtitles.Sub-module.html
===================================================================
--- trunk/subtle/docs/html/toc-Subtitles.Sub-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/toc-Subtitles.Sub-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Sub</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module Sub</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+  <div class="private">
+    <a target="mainFrame" href="Subtitles.Sub.Sub-class.html"
+     >Sub</a><br />  </div>
+<hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/toc-Subtitles.SubRip-module.html
===================================================================
--- trunk/subtle/docs/html/toc-Subtitles.SubRip-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/toc-Subtitles.SubRip-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SubRip</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module SubRip</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="Subtitles.SubRip.SubRip-class.html"
+     >SubRip</a><br />  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="Subtitles.SubRip-module.html#discover"
+     >discover</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="Subtitles.SubRip-module.html#FRAMERATE"
+     >FRAMERATE</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/toc-Subtitles.Subtitles-module.html
===================================================================
--- trunk/subtle/docs/html/toc-Subtitles.Subtitles-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/toc-Subtitles.Subtitles-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtitles</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module Subtitles</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="Subtitles.Subtitles.Subtitles-class.html"
+     >Subtitles</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/toc-Subtle-module.html
===================================================================
--- trunk/subtle/docs/html/toc-Subtle-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/toc-Subtle-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Subtle</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module Subtle</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="Subtle.Subtle-class.html"
+     >Subtle</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="Subtle-module.html#EDITING_MODE"
+     >EDITING_MODE</a><br />    <a target="mainFrame" href="Subtle-module.html#ONLINE_MODE"
+     >ONLINE_MODE</a><br />    <a target="mainFrame" href="Subtle-module.html#subtle"
+     >subtle</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/toc-SubtleXML-module.html
===================================================================
--- trunk/subtle/docs/html/toc-SubtleXML-module.html	                        (rev 0)
+++ trunk/subtle/docs/html/toc-SubtleXML-module.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>SubtleXML</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module SubtleXML</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="SubtleXML.ProjectXML-class.html"
+     >ProjectXML</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/toc-everything.html
===================================================================
--- trunk/subtle/docs/html/toc-everything.html	                        (rev 0)
+++ trunk/subtle/docs/html/toc-everything.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Everything</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Everything</h1>
+<hr />
+  <h2 class="toc">All Classes</h2>
+    <a target="mainFrame" href="GPlayer.GstPlayer-class.html"
+     >GPlayer.GstPlayer</a><br />    <a target="mainFrame" href="GPlayer.VideoWidget-class.html"
+     >GPlayer.VideoWidget</a><br />    <a target="mainFrame" href="MediaInfo.Media-class.html"
+     >MediaInfo.Media</a><br />    <a target="mainFrame" href="MediaInfo.MediaInfo-class.html"
+     >MediaInfo.MediaInfo</a><br />    <a target="mainFrame" href="Subtitles.Line.Line-class.html"
+     >Subtitles.Line.Line</a><br />    <a target="mainFrame" href="Subtitles.Softni.Softni-class.html"
+     >Subtitles.Softni.Softni</a><br />  <div class="private">
+    <a target="mainFrame" href="Subtitles.Sub.Sub-class.html"
+     >Subtitles.Sub.Sub</a><br />  </div>
+    <a target="mainFrame" href="Subtitles.SubRip.SubRip-class.html"
+     >Subtitles.SubRip.SubRip</a><br />    <a target="mainFrame" href="Subtitles.Subtitles.Subtitles-class.html"
+     >Subtitles.Subtitles.Subtitles</a><br />    <a target="mainFrame" href="Subtle.Subtle-class.html"
+     >Subtle.Subtle</a><br />  <h2 class="toc">All Functions</h2>
+    <a target="mainFrame" href="Subtitles.Discoverer-module.html#discoverer"
+     >Subtitles.Discoverer.discoverer</a><br />    <a target="mainFrame" href="Subtitles.Softni-module.html#discover"
+     >Subtitles.Softni.discover</a><br />    <a target="mainFrame" href="Subtitles.SubRip-module.html#discover"
+     >Subtitles.SubRip.discover</a><br />  <h2 class="toc">All Variables</h2>
+    <a target="mainFrame" href="Subtitles.Softni-module.html#FRAMERATE"
+     >Subtitles.Softni.FRAMERATE</a><br />    <a target="mainFrame" href="Subtitles.SubRip-module.html#FRAMERATE"
+     >Subtitles.SubRip.FRAMERATE</a><br />    <a target="mainFrame" href="Subtle-module.html#EDITING_MODE"
+     >Subtle.EDITING_MODE</a><br />    <a target="mainFrame" href="Subtle-module.html#ONLINE_MODE"
+     >Subtle.ONLINE_MODE</a><br />    <a target="mainFrame" href="Subtle-module.html#subtle"
+     >Subtle.subtle</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/toc.html
===================================================================
--- trunk/subtle/docs/html/toc.html	                        (rev 0)
+++ trunk/subtle/docs/html/toc.html	2008-08-06 02:55:30 UTC (rev 15155)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Table of Contents</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Table&nbsp;of&nbsp;Contents</h1>
+<hr />
+  <a target="moduleFrame" href="toc-everything.html">Everything</a>
+  <br />
+  <h2 class="toc">Modules</h2>
+    <a target="moduleFrame" href="toc-GPlayer-module.html"
+     onclick="setFrame('toc-GPlayer-module.html','GPlayer-module.html');"     >GPlayer</a><br />    <a target="moduleFrame" href="toc-MediaInfo-module.html"
+     onclick="setFrame('toc-MediaInfo-module.html','MediaInfo-module.html');"     >MediaInfo</a><br />    <a target="moduleFrame" href="toc-Subtitles-module.html"
+     onclick="setFrame('toc-Subtitles-module.html','Subtitles-module.html');"     >Subtitles</a><br />    <a target="moduleFrame" href="toc-Subtitles.Discoverer-module.html"
+     onclick="setFrame('toc-Subtitles.Discoverer-module.html','Subtitles.Discoverer-module.html');"     >Subtitles.Discoverer</a><br />    <a target="moduleFrame" href="toc-Subtitles.Line-module.html"
+     onclick="setFrame('toc-Subtitles.Line-module.html','Subtitles.Line-module.html');"     >Subtitles.Line</a><br />    <a target="moduleFrame" href="toc-Subtitles.Softni-module.html"
+     onclick="setFrame('toc-Subtitles.Softni-module.html','Subtitles.Softni-module.html');"     >Subtitles.Softni</a><br />  <div class="private">
+    <a target="moduleFrame" href="toc-Subtitles.Sub-module.html"
+     onclick="setFrame('toc-Subtitles.Sub-module.html','Subtitles.Sub-module.html');"     >Subtitles.Sub</a><br />  </div>
+    <a target="moduleFrame" href="toc-Subtitles.SubRip-module.html"
+     onclick="setFrame('toc-Subtitles.SubRip-module.html','Subtitles.SubRip-module.html');"     >Subtitles.SubRip</a><br />    <a target="moduleFrame" href="toc-Subtitles.Subtitles-module.html"
+     onclick="setFrame('toc-Subtitles.Subtitles-module.html','Subtitles.Subtitles-module.html');"     >Subtitles.Subtitles</a><br />    <a target="moduleFrame" href="toc-Subtle-module.html"
+     onclick="setFrame('toc-Subtle-module.html','Subtle-module.html');"     >Subtle</a><br /><hr />
+  <span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

Added: trunk/subtle/docs/html/uml_class_diagram_for_subtitle.gif
===================================================================
(Binary files differ)


Property changes on: trunk/subtle/docs/html/uml_class_diagram_for_subtitle.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/subtle/docs/html/uml_class_diagram_for_subtitle_2.gif
===================================================================
(Binary files differ)


Property changes on: trunk/subtle/docs/html/uml_class_diagram_for_subtitle_2.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/subtle/docs/html/uml_class_diagram_for_subtitle_3.gif
===================================================================
(Binary files differ)


Property changes on: trunk/subtle/docs/html/uml_class_diagram_for_subtitle_3.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream



More information about the commits mailing list