63
63
<h1 class="epydoc">Source Code for <a href="screenlets.plugins.Mplayer-module.html">Module screenlets.plugins.Mplayer</a></h1>
64
64
<pre class="py-src">
65
65
<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment"># This application is released under the GNU General Public License </tt> </tt>
66
<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># v3 (or, at your option, any later version). You can find the full </tt> </tt>
67
<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># text of the license under http://www.gnu.org/licenses/gpl.txt. </tt> </tt>
68
<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># By using, editing and/or distributing this software you agree to </tt> </tt>
69
<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># the terms and conditions of this license. </tt> </tt>
70
<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Thank you for using free software!</tt> </tt>
71
<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
66
<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"># v3 (or, at your option, any later version). You can find the full </tt> </tt>
67
<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"># text of the license under http://www.gnu.org/licenses/gpl.txt. </tt> </tt>
68
<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"># By using, editing and/or distributing this software you agree to </tt> </tt>
69
<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># the terms and conditions of this license. </tt> </tt>
70
<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># Thank you for using free software!</tt> </tt>
71
<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"> </tt>
72
72
<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># Mplayer module (c) Whise (Helder Fraga) 2008 <helder.fraga@hotmail.com></tt> </tt>
73
<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
73
<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"> </tt>
74
74
<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"> </tt>
75
75
<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">fcntl</tt><tt class="py-op">,</tt> <tt class="py-name">gobject</tt><tt class="py-op">,</tt> <tt class="py-name">time</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt> </tt>
76
76
<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line">
78
78
<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable screenlets.plugins.Mplayer.STATUS_TIMEOUT=screenlets.plugins.Mplayer-module.html#STATUS_TIMEOUT"><a title="screenlets.plugins.Mplayer.STATUS_TIMEOUT" class="py-name" href="#" onclick="return doclink('link-0', 'STATUS_TIMEOUT', 'link-0');">STATUS_TIMEOUT</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1000</tt> </tt>
79
79
<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line">
81
<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment">#
82
<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment"># Provides simple piped I/O to an mplayer process.
83
<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">#
84
<a name="Mplayer"></a><div id="Mplayer-def"><a name="L18"></a><tt class="py-lineno"> 18</tt> <a class="py-toggle" href="#" id="Mplayer-toggle" onclick="return toggle('Mplayer');">-</a><tt class="py-line"><tt class="py-comment"></tt><tt class="py-keyword">class</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html">Mplayer</a><tt class="py-op">:</tt> </tt>
81
<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment">#</tt>
83
<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"># Provides simple piped I/O to an mplayer process.</tt>
85
<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment">#</tt>
87
<a name="Mplayer"></a><div id="Mplayer-def"><a name="L18"></a><tt class="py-lineno"> 18</tt> <a class="py-toggle" href="#" id="Mplayer-toggle" onclick="return toggle('Mplayer');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html">Mplayer</a><tt class="py-op">:</tt> </tt>
88
88
</div><div id="Mplayer-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Mplayer-expanded"><a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line">
90
90
<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"> <tt id="link-1" class="py-name" targets="Variable screenlets.plugins.Mplayer.Mplayer.pymp=screenlets.plugins.Mplayer.Mplayer-class.html#pymp"><a title="screenlets.plugins.Mplayer.Mplayer.pymp" class="py-name" href="#" onclick="return doclink('link-1', 'pymp', 'link-1');">pymp</a></tt><tt class="py-op">,</tt> <tt id="link-2" class="py-name" targets="Variable screenlets.plugins.Mplayer.Mplayer.mplayerIn=screenlets.plugins.Mplayer.Mplayer-class.html#mplayerIn"><a title="screenlets.plugins.Mplayer.Mplayer.mplayerIn" class="py-name" href="#" onclick="return doclink('link-2', 'mplayerIn', 'link-2');">mplayerIn</a></tt><tt class="py-op">,</tt> <tt id="link-3" class="py-name" targets="Variable screenlets.plugins.Mplayer.Mplayer.mplayerOut=screenlets.plugins.Mplayer.Mplayer-class.html#mplayerOut"><a title="screenlets.plugins.Mplayer.Mplayer.mplayerOut" class="py-name" href="#" onclick="return doclink('link-3', 'mplayerOut', 'link-3');">mplayerOut</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> </tt>
91
91
<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"> <tt id="link-4" class="py-name" targets="Variable screenlets.plugins.Mplayer.Mplayer.inputHandler=screenlets.plugins.Mplayer.Mplayer-class.html#inputHandler"><a title="screenlets.plugins.Mplayer.Mplayer.inputHandler" class="py-name" href="#" onclick="return doclink('link-4', 'inputHandler', 'link-4');">inputHandler</a></tt><tt class="py-op">,</tt> <tt id="link-5" class="py-name" targets="Variable screenlets.plugins.Mplayer.Mplayer.eofHandler=screenlets.plugins.Mplayer.Mplayer-class.html#eofHandler"><a title="screenlets.plugins.Mplayer.Mplayer.eofHandler" class="py-name" href="#" onclick="return doclink('link-5', 'eofHandler', 'link-5');">eofHandler</a></tt><tt class="py-op">,</tt> <tt id="link-6" class="py-name" targets="Variable screenlets.plugins.Mplayer.Mplayer.statusQuery=screenlets.plugins.Mplayer.Mplayer-class.html#statusQuery"><a title="screenlets.plugins.Mplayer.Mplayer.statusQuery" class="py-name" href="#" onclick="return doclink('link-6', 'statusQuery', 'link-6');">statusQuery</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt> </tt>
87
87
<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"> <tt id="link-8" class="py-name" targets="Variable screenlets.plugins.Mplayer.Mplayer.streamTitle=screenlets.plugins.Mplayer.Mplayer-class.html#streamTitle"><a title="screenlets.plugins.Mplayer.Mplayer.streamTitle" class="py-name" href="#" onclick="return doclink('link-8', 'streamTitle', 'link-8');">streamTitle</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
88
88
<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> <tt id="link-9" class="py-name" targets="Variable screenlets.plugins.Mplayer.Mplayer.streamTitleChangeListeners=screenlets.plugins.Mplayer.Mplayer-class.html#streamTitleChangeListeners"><a title="screenlets.plugins.Mplayer.Mplayer.streamTitleChangeListeners" class="py-name" href="#" onclick="return doclink('link-9', 'streamTitleChangeListeners', 'link-9');">streamTitleChangeListeners</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
89
89
<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line">
91
<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> <tt class="py-comment">#
92
<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Initializes this Mplayer with the specified Pymp.
93
<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#
94
<a name="Mplayer.__init__"></a><div id="Mplayer.__init__-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="Mplayer.__init__-toggle" onclick="return toggle('Mplayer.__init__');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-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">pymp</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
91
<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
93
<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> <tt class="py-comment"># Initializes this Mplayer with the specified Pymp.</tt>
95
<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
97
<a name="Mplayer.__init__"></a><div id="Mplayer.__init__-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="Mplayer.__init__-toggle" onclick="return toggle('Mplayer.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-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">pymp</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
98
98
</div><div id="Mplayer.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="Mplayer.__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 id="link-10" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.pymp" class="py-name" href="#" onclick="return doclink('link-10', 'pymp', 'link-1');">pymp</a></tt> <tt class="py-op">=</tt> <tt id="link-11" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.pymp" class="py-name" href="#" onclick="return doclink('link-11', 'pymp', 'link-1');">pymp</a></tt> </tt>
99
99
</div><a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line">
101
<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> <tt class="py-comment">#
102
<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Plays the specified target.
103
<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#
104
<a name="Mplayer.play"></a><div id="Mplayer.play-def"><a name="L35"></a><tt class="py-lineno"> 35</tt> <a class="py-toggle" href="#" id="Mplayer.play-toggle" onclick="return toggle('Mplayer.play');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#play">play</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">target</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
101
<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
103
<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-comment"># Plays the specified target.</tt>
105
<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
107
<a name="Mplayer.play"></a><div id="Mplayer.play-def"><a name="L35"></a><tt class="py-lineno"> 35</tt> <a class="py-toggle" href="#" id="Mplayer.play-toggle" onclick="return toggle('Mplayer.play');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#play">play</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">target</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
108
108
</div><div id="Mplayer.play-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="Mplayer.play-expanded"><a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line">
110
110
<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-name">mpc</tt> <tt class="py-op">=</tt> <tt class="py-string">"mplayer -slave -quiet "</tt> <tt class="py-op">+</tt> <tt class="py-name">target</tt> <tt class="py-op">+</tt> <tt class="py-string">" 2>/dev/null"</tt> </tt>
111
111
<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line">
153
153
<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line">
155
155
<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-28" class="py-name" targets="Method screenlets.plugins.Mplayer.Mplayer.cmd()=screenlets.plugins.Mplayer.Mplayer-class.html#cmd"><a title="screenlets.plugins.Mplayer.Mplayer.cmd" class="py-name" href="#" onclick="return doclink('link-28', 'cmd', 'link-28');">cmd</a></tt><tt class="py-op">(</tt><tt class="py-string">"pause"</tt><tt class="py-op">)</tt> </tt>
156
156
</div><a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line">
158
<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-comment">#
159
<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Seeks the amount using the specified mode. See mplayer docs.
160
<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#
161
<a name="Mplayer.seek"></a><div id="Mplayer.seek-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <a class="py-toggle" href="#" id="Mplayer.seek-toggle" onclick="return toggle('Mplayer.seek');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-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">amount</tt><tt class="py-op">,</tt> <tt class="py-param">mode</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
158
<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
160
<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-comment"># Seeks the amount using the specified mode. See mplayer docs.</tt>
162
<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
164
<a name="Mplayer.seek"></a><div id="Mplayer.seek-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <a class="py-toggle" href="#" id="Mplayer.seek-toggle" onclick="return toggle('Mplayer.seek');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-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">amount</tt><tt class="py-op">,</tt> <tt class="py-param">mode</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
165
165
</div><div id="Mplayer.seek-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="Mplayer.seek-expanded"><a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
166
166
</div><a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line">
168
<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-comment">#
169
<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Cleanly closes any IPC resources to mplayer.
170
<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#
171
<a name="Mplayer.close"></a><div id="Mplayer.close-def"><a name="L99"></a><tt class="py-lineno"> 99</tt> <a class="py-toggle" href="#" id="Mplayer.close-toggle" onclick="return toggle('Mplayer.close');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#close">close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
168
<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
170
<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-comment"># Cleanly closes any IPC resources to mplayer.</tt>
172
<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
174
<a name="Mplayer.close"></a><div id="Mplayer.close-def"><a name="L99"></a><tt class="py-lineno"> 99</tt> <a class="py-toggle" href="#" id="Mplayer.close-toggle" onclick="return toggle('Mplayer.close');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#close">close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
175
175
</div><div id="Mplayer.close-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="Mplayer.close-expanded"><a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.stopStatusQuery" class="py-name" href="#" onclick="return doclink('link-29', 'stopStatusQuery', 'link-26');">stopStatusQuery</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-comment">#cancel query</tt> </tt>
176
176
<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method screenlets.plugins.Mplayer.Mplayer.stopEofHandler()=screenlets.plugins.Mplayer.Mplayer-class.html#stopEofHandler"><a title="screenlets.plugins.Mplayer.Mplayer.stopEofHandler" class="py-name" href="#" onclick="return doclink('link-30', 'stopEofHandler', 'link-30');">stopEofHandler</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-comment">#cancel eof monitor</tt> </tt>
177
177
<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method screenlets.plugins.Mplayer.Mplayer.stopInputHandler()=screenlets.plugins.Mplayer.Mplayer-class.html#stopInputHandler"><a title="screenlets.plugins.Mplayer.Mplayer.stopInputHandler" class="py-name" href="#" onclick="return doclink('link-31', 'stopInputHandler', 'link-31');">stopInputHandler</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-comment">#cancel input monitor</tt> </tt>
208
208
<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
209
209
<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line">
211
211
<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mplayer_record_In</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mplayer_record_Out</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> </tt>
212
</div><a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-comment">#
213
<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Triggered when mplayer's stdout reaches EOF.
214
<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#
215
<a name="Mplayer.handleEof"></a><div id="Mplayer.handleEof-def"><a name="L138"></a><tt class="py-lineno">138</tt> <a class="py-toggle" href="#" id="Mplayer.handleEof-toggle" onclick="return toggle('Mplayer.handleEof');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#handleEof">handleEof</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-param">condition</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
212
</div><a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
214
<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-comment"># Triggered when mplayer's stdout reaches EOF.</tt>
216
<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
218
<a name="Mplayer.handleEof"></a><div id="Mplayer.handleEof-def"><a name="L138"></a><tt class="py-lineno">138</tt> <a class="py-toggle" href="#" id="Mplayer.handleEof-toggle" onclick="return toggle('Mplayer.handleEof');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#handleEof">handleEof</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-param">condition</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
219
219
</div><div id="Mplayer.handleEof-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="Mplayer.handleEof-expanded"><a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line">
221
221
<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 id="link-44" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.stopStatusQuery" class="py-name" href="#" onclick="return doclink('link-44', 'stopStatusQuery', 'link-26');">stopStatusQuery</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-comment">#cancel query</tt> </tt>
222
222
<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line">
224
224
<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.mplayerIn" class="py-name" href="#" onclick="return doclink('link-45', 'mplayerIn', 'link-2');">mplayerIn</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.mplayerOut" class="py-name" href="#" onclick="return doclink('link-46', 'mplayerOut', 'link-3');">mplayerOut</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt> </tt>
225
225
<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line">
227
<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-comment"># if self.pymp.playlist.continuous: #play next target
228
<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># self.pymp.playlist.next(None, None)
229
<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># else: #reset progress bar
230
<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># self.pymp.control.setProgress(-1)
231
<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"><tt class="py-comment"></tt>
228
<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-comment"># if self.pymp.playlist.continuous: #play next target</tt>
230
<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-comment"># self.pymp.playlist.next(None, None)</tt>
232
<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-comment"># else: #reset progress bar</tt>
234
<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-comment"># self.pymp.control.setProgress(-1)</tt>
236
<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line">
238
238
<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
239
239
</div><a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line">
241
<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-comment">#
242
<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Triggered when mplayer's stdout reaches EOF.
243
<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#
244
<a name="Mplayer.handleInput"></a><div id="Mplayer.handleInput-def"><a name="L154"></a><tt class="py-lineno">154</tt> <a class="py-toggle" href="#" id="Mplayer.handleInput-toggle" onclick="return toggle('Mplayer.handleInput');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#handleInput">handleInput</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-param">condition</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
241
<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
243
<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-comment"># Triggered when mplayer's stdout reaches EOF.</tt>
245
<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
247
<a name="Mplayer.handleInput"></a><div id="Mplayer.handleInput-def"><a name="L154"></a><tt class="py-lineno">154</tt> <a class="py-toggle" href="#" id="Mplayer.handleInput-toggle" onclick="return toggle('Mplayer.handleInput');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#handleInput">handleInput</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-param">condition</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
248
248
</div><div id="Mplayer.handleInput-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="Mplayer.handleInput-expanded"><a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
249
249
<a name="L156"></a><tt class="py-lineno">156</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">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.mplayerOut" class="py-name" href="#" onclick="return doclink('link-47', 'mplayerOut', 'link-3');">mplayerOut</a></tt><tt class="py-op">:</tt> </tt>
250
250
<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 id="link-48" class="py-name" targets="Method screenlets.plugins.Mplayer.Mplayer.lookForStreamTitle()=screenlets.plugins.Mplayer.Mplayer-class.html#lookForStreamTitle"><a title="screenlets.plugins.Mplayer.Mplayer.lookForStreamTitle" class="py-name" href="#" onclick="return doclink('link-48', 'lookForStreamTitle', 'link-48');">lookForStreamTitle</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
251
251
<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
252
252
<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
253
253
</div><a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line">
255
<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-comment">#
256
<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Triggered when mplayer prints something stdout.
257
<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#
258
<a name="Mplayer.lookForStreamTitle"></a><div id="Mplayer.lookForStreamTitle-def"><a name="L164"></a><tt class="py-lineno">164</tt> <a class="py-toggle" href="#" id="Mplayer.lookForStreamTitle-toggle" onclick="return toggle('Mplayer.lookForStreamTitle');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#lookForStreamTitle">lookForStreamTitle</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
255
<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
257
<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-comment"># Triggered when mplayer prints something stdout.</tt>
259
<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
261
<a name="Mplayer.lookForStreamTitle"></a><div id="Mplayer.lookForStreamTitle-def"><a name="L164"></a><tt class="py-lineno">164</tt> <a class="py-toggle" href="#" id="Mplayer.lookForStreamTitle-toggle" onclick="return toggle('Mplayer.lookForStreamTitle');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#lookForStreamTitle">lookForStreamTitle</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">line</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
262
262
</div><div id="Mplayer.lookForStreamTitle-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="Mplayer.lookForStreamTitle-expanded"><a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-name">matches</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name" targets="Method screenlets.plugins.AmazonCoverArtSearch.AmazonCoverArtSearch.search()=screenlets.plugins.AmazonCoverArtSearch.AmazonCoverArtSearch-class.html#search"><a title="screenlets.plugins.AmazonCoverArtSearch.AmazonCoverArtSearch.search" class="py-name" href="#" onclick="return doclink('link-49', 'search', 'link-49');">search</a></tt><tt class="py-op">(</tt><tt class="py-string">"(?<=StreamTitle=\')(.*)(\';StreamUrl=)"</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
263
263
<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">matches</tt><tt class="py-op">:</tt> </tt>
264
264
<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-50" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.streamTitle" class="py-name" href="#" onclick="return doclink('link-50', 'streamTitle', 'link-8');">streamTitle</a></tt> <tt class="py-op">=</tt> <tt class="py-name">matches</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
272
272
<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"ANS_TIME_POSITION"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
273
273
<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-name">seconds</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="screenlets.plugins.Convert.Converter.replace" class="py-name" href="#" onclick="return doclink('link-58', 'replace', 'link-57');">replace</a></tt><tt class="py-op">(</tt><tt class="py-string">"ANS_TIME_POSITION="</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
274
274
<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line">
276
<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-comment">#self.pymp.control.setProgress(percent, seconds)
277
<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
276
<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-comment">#self.pymp.control.setProgress(percent, seconds)</tt>
278
<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
279
279
</div><a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line">
281
<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-comment">#
282
<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Add a listener that will be called every time a change in stream title is detected.
283
<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># The signature of the callback should be:
284
<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># def callback(source, newStreamTitle)
285
<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#
286
<a name="Mplayer.addStreamTitleChangeListener"></a><div id="Mplayer.addStreamTitleChangeListener-def"><a name="L207"></a><tt class="py-lineno">207</tt> <a class="py-toggle" href="#" id="Mplayer.addStreamTitleChangeListener-toggle" onclick="return toggle('Mplayer.addStreamTitleChangeListener');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#addStreamTitleChangeListener">addStreamTitleChangeListener</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">callback</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
281
<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
283
<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt class="py-comment"># Add a listener that will be called every time a change in stream title is detected.</tt>
285
<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-comment"># The signature of the callback should be:</tt>
287
<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt class="py-comment"># def callback(source, newStreamTitle)</tt>
289
<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
291
<a name="Mplayer.addStreamTitleChangeListener"></a><div id="Mplayer.addStreamTitleChangeListener-def"><a name="L207"></a><tt class="py-lineno">207</tt> <a class="py-toggle" href="#" id="Mplayer.addStreamTitleChangeListener-toggle" onclick="return toggle('Mplayer.addStreamTitleChangeListener');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#addStreamTitleChangeListener">addStreamTitleChangeListener</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">callback</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
292
292
</div><div id="Mplayer.addStreamTitleChangeListener-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="Mplayer.addStreamTitleChangeListener-expanded"><a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.streamTitleChangeListeners" class="py-name" href="#" onclick="return doclink('link-59', 'streamTitleChangeListeners', 'link-9');">streamTitleChangeListeners</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">callback</tt><tt class="py-op">)</tt> </tt>
293
293
</div><a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line">
295
<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-comment">#
296
<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Removes a stream title change listener.
297
<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#
298
<a name="Mplayer.removeStreamTitleChangeListener"></a><div id="Mplayer.removeStreamTitleChangeListener-def"><a name="L213"></a><tt class="py-lineno">213</tt> <a class="py-toggle" href="#" id="Mplayer.removeStreamTitleChangeListener-toggle" onclick="return toggle('Mplayer.removeStreamTitleChangeListener');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#removeStreamTitleChangeListener">removeStreamTitleChangeListener</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">callback</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
295
<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
297
<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-comment"># Removes a stream title change listener.</tt>
299
<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
301
<a name="Mplayer.removeStreamTitleChangeListener"></a><div id="Mplayer.removeStreamTitleChangeListener-def"><a name="L213"></a><tt class="py-lineno">213</tt> <a class="py-toggle" href="#" id="Mplayer.removeStreamTitleChangeListener-toggle" onclick="return toggle('Mplayer.removeStreamTitleChangeListener');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#removeStreamTitleChangeListener">removeStreamTitleChangeListener</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">callback</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
302
302
</div><div id="Mplayer.removeStreamTitleChangeListener-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="Mplayer.removeStreamTitleChangeListener-expanded"><a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.streamTitleChangeListeners" class="py-name" href="#" onclick="return doclink('link-60', 'streamTitleChangeListeners', 'link-9');">streamTitleChangeListeners</a></tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">callback</tt><tt class="py-op">)</tt> </tt>
303
303
</div><a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line">
305
<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-comment">#
306
<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Inserts the status query monitor.
307
<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#
308
<a name="Mplayer.startStatusQuery"></a><div id="Mplayer.startStatusQuery-def"><a name="L219"></a><tt class="py-lineno">219</tt> <a class="py-toggle" href="#" id="Mplayer.startStatusQuery-toggle" onclick="return toggle('Mplayer.startStatusQuery');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#startStatusQuery">startStatusQuery</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
305
<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
307
<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> <tt class="py-comment"># Inserts the status query monitor.</tt>
309
<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
311
<a name="Mplayer.startStatusQuery"></a><div id="Mplayer.startStatusQuery-def"><a name="L219"></a><tt class="py-lineno">219</tt> <a class="py-toggle" href="#" id="Mplayer.startStatusQuery-toggle" onclick="return toggle('Mplayer.startStatusQuery');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#startStatusQuery">startStatusQuery</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
312
312
</div><div id="Mplayer.startStatusQuery-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="Mplayer.startStatusQuery-expanded"><a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.statusQuery" class="py-name" href="#" onclick="return doclink('link-61', 'statusQuery', 'link-6');">statusQuery</a></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 id="link-62" class="py-name"><a title="screenlets.plugins.Mplayer.STATUS_TIMEOUT" class="py-name" href="#" onclick="return doclink('link-62', 'STATUS_TIMEOUT', 'link-0');">STATUS_TIMEOUT</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name" targets="Method screenlets.plugins.Mplayer.Mplayer.queryStatus()=screenlets.plugins.Mplayer.Mplayer-class.html#queryStatus"><a title="screenlets.plugins.Mplayer.Mplayer.queryStatus" class="py-name" href="#" onclick="return doclink('link-63', 'queryStatus', 'link-63');">queryStatus</a></tt><tt class="py-op">)</tt> </tt>
313
313
</div><a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line">
315
<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> <tt class="py-comment">#
316
<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Removes the status query monitor.
317
<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#
318
<a name="Mplayer.stopStatusQuery"></a><div id="Mplayer.stopStatusQuery-def"><a name="L225"></a><tt class="py-lineno">225</tt> <a class="py-toggle" href="#" id="Mplayer.stopStatusQuery-toggle" onclick="return toggle('Mplayer.stopStatusQuery');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#stopStatusQuery">stopStatusQuery</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
315
<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
317
<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-comment"># Removes the status query monitor.</tt>
319
<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
321
<a name="Mplayer.stopStatusQuery"></a><div id="Mplayer.stopStatusQuery-def"><a name="L225"></a><tt class="py-lineno">225</tt> <a class="py-toggle" href="#" id="Mplayer.stopStatusQuery-toggle" onclick="return toggle('Mplayer.stopStatusQuery');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#stopStatusQuery">stopStatusQuery</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
322
322
</div><div id="Mplayer.stopStatusQuery-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="Mplayer.stopStatusQuery-expanded"><a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.statusQuery" class="py-name" href="#" onclick="return doclink('link-64', 'statusQuery', 'link-6');">statusQuery</a></tt><tt class="py-op">:</tt> </tt>
323
323
<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <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 id="link-65" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.statusQuery" class="py-name" href="#" onclick="return doclink('link-65', 'statusQuery', 'link-6');">statusQuery</a></tt><tt class="py-op">)</tt> </tt>
324
324
<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 id="link-66" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.statusQuery" class="py-name" href="#" onclick="return doclink('link-66', 'statusQuery', 'link-6');">statusQuery</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
325
325
</div><a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line">
327
<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-comment">#
328
<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Inserts the EOF monitor.
329
<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#
330
<a name="Mplayer.startEofHandler"></a><div id="Mplayer.startEofHandler-def"><a name="L233"></a><tt class="py-lineno">233</tt> <a class="py-toggle" href="#" id="Mplayer.startEofHandler-toggle" onclick="return toggle('Mplayer.startEofHandler');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#startEofHandler">startEofHandler</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
327
<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
329
<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> <tt class="py-comment"># Inserts the EOF monitor.</tt>
331
<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
333
<a name="Mplayer.startEofHandler"></a><div id="Mplayer.startEofHandler-def"><a name="L233"></a><tt class="py-lineno">233</tt> <a class="py-toggle" href="#" id="Mplayer.startEofHandler-toggle" onclick="return toggle('Mplayer.startEofHandler');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#startEofHandler">startEofHandler</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
334
334
</div><div id="Mplayer.startEofHandler-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="Mplayer.startEofHandler-expanded"><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 id="link-67" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.eofHandler" class="py-name" href="#" onclick="return doclink('link-67', 'eofHandler', 'link-5');">eofHandler</a></tt> <tt class="py-op">=</tt> <tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">io_add_watch</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.mplayerOut" class="py-name" href="#" onclick="return doclink('link-68', 'mplayerOut', 'link-3');">mplayerOut</a></tt><tt class="py-op">,</tt> <tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">IO_HUP</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name" targets="Method screenlets.plugins.Mplayer.Mplayer.handleEof()=screenlets.plugins.Mplayer.Mplayer-class.html#handleEof"><a title="screenlets.plugins.Mplayer.Mplayer.handleEof" class="py-name" href="#" onclick="return doclink('link-69', 'handleEof', 'link-69');">handleEof</a></tt><tt class="py-op">)</tt> </tt>
335
335
</div><a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line">
337
<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-comment">#
338
<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Removes the EOF monitor.
339
<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#
340
<a name="Mplayer.stopEofHandler"></a><div id="Mplayer.stopEofHandler-def"><a name="L239"></a><tt class="py-lineno">239</tt> <a class="py-toggle" href="#" id="Mplayer.stopEofHandler-toggle" onclick="return toggle('Mplayer.stopEofHandler');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#stopEofHandler">stopEofHandler</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
337
<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
339
<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> <tt class="py-comment"># Removes the EOF monitor.</tt>
341
<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
343
<a name="Mplayer.stopEofHandler"></a><div id="Mplayer.stopEofHandler-def"><a name="L239"></a><tt class="py-lineno">239</tt> <a class="py-toggle" href="#" id="Mplayer.stopEofHandler-toggle" onclick="return toggle('Mplayer.stopEofHandler');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#stopEofHandler">stopEofHandler</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
344
344
</div><div id="Mplayer.stopEofHandler-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="Mplayer.stopEofHandler-expanded"><a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.eofHandler" class="py-name" href="#" onclick="return doclink('link-70', 'eofHandler', 'link-5');">eofHandler</a></tt><tt class="py-op">:</tt> </tt>
345
345
<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"> <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 id="link-71" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.eofHandler" class="py-name" href="#" onclick="return doclink('link-71', 'eofHandler', 'link-5');">eofHandler</a></tt><tt class="py-op">)</tt> </tt>
346
346
<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 id="link-72" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.eofHandler" class="py-name" href="#" onclick="return doclink('link-72', 'eofHandler', 'link-5');">eofHandler</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
347
347
</div><a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line">
349
<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"> <tt class="py-comment">#
350
<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Inserts the input monitoy.
351
<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#
352
<a name="Mplayer.startInputHandler"></a><div id="Mplayer.startInputHandler-def"><a name="L247"></a><tt class="py-lineno">247</tt> <a class="py-toggle" href="#" id="Mplayer.startInputHandler-toggle" onclick="return toggle('Mplayer.startInputHandler');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#startInputHandler">startInputHandler</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
349
<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
351
<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-comment"># Inserts the input monitoy.</tt>
353
<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
355
<a name="Mplayer.startInputHandler"></a><div id="Mplayer.startInputHandler-def"><a name="L247"></a><tt class="py-lineno">247</tt> <a class="py-toggle" href="#" id="Mplayer.startInputHandler-toggle" onclick="return toggle('Mplayer.startInputHandler');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#startInputHandler">startInputHandler</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
356
356
</div><div id="Mplayer.startInputHandler-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="Mplayer.startInputHandler-expanded"><a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.inputHandler" class="py-name" href="#" onclick="return doclink('link-73', 'inputHandler', 'link-4');">inputHandler</a></tt> <tt class="py-op">=</tt> <tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">io_add_watch</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.mplayerOut" class="py-name" href="#" onclick="return doclink('link-74', 'mplayerOut', 'link-3');">mplayerOut</a></tt><tt class="py-op">,</tt> <tt class="py-name">gobject</tt><tt class="py-op">.</tt><tt class="py-name">IO_IN</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name" targets="Method screenlets.plugins.Mplayer.Mplayer.handleInput()=screenlets.plugins.Mplayer.Mplayer-class.html#handleInput"><a title="screenlets.plugins.Mplayer.Mplayer.handleInput" class="py-name" href="#" onclick="return doclink('link-75', 'handleInput', 'link-75');">handleInput</a></tt><tt class="py-op">)</tt> </tt>
357
357
</div><a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line">
359
<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"> <tt class="py-comment">#
360
<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># Removes the EOF monitor.
361
<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#
362
<a name="Mplayer.stopInputHandler"></a><div id="Mplayer.stopInputHandler-def"><a name="L253"></a><tt class="py-lineno">253</tt> <a class="py-toggle" href="#" id="Mplayer.stopInputHandler-toggle" onclick="return toggle('Mplayer.stopInputHandler');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#stopInputHandler">stopInputHandler</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
359
<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
361
<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"> <tt class="py-comment"># Removes the EOF monitor.</tt>
363
<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"> <tt class="py-comment">#</tt>
365
<a name="Mplayer.stopInputHandler"></a><div id="Mplayer.stopInputHandler-def"><a name="L253"></a><tt class="py-lineno">253</tt> <a class="py-toggle" href="#" id="Mplayer.stopInputHandler-toggle" onclick="return toggle('Mplayer.stopInputHandler');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="screenlets.plugins.Mplayer.Mplayer-class.html#stopInputHandler">stopInputHandler</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
366
366
</div><div id="Mplayer.stopInputHandler-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="Mplayer.stopInputHandler-expanded"><a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.inputHandler" class="py-name" href="#" onclick="return doclink('link-76', 'inputHandler', 'link-4');">inputHandler</a></tt><tt class="py-op">:</tt> </tt>
367
367
<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"> <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 id="link-77" class="py-name"><a title="screenlets.plugins.Mplayer.Mplayer.inputHandler" class="py-name" href="#" onclick="return doclink('link-77', 'inputHandler', 'link-4');">inputHandler</a></tt><tt class="py-op">)</tt> </tt>
368
368
<a name="L256"></a><tt class="py-lineno">256</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="screenlets.plugins.Mplayer.Mplayer.inputHandler" class="py-name" href="#" onclick="return doclink('link-78', 'inputHandler', 'link-4');">inputHandler</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
369
369
</div></div><a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line">
371
371
<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"><tt class="py-comment">#End of file</tt> </tt>
372
<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt><script type="text/javascript">
372
<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"> </tt><script type="text/javascript">
374
374
expandto(location.href);