summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdwin Eefting <edwin@datux.nl>2012-11-11 11:40:36 (GMT)
committer Edwin Eefting <edwin@datux.nl>2012-11-11 11:40:36 (GMT)
commit2ddebd5e47464a8868b25dcf3d38c3b823526160 (patch)
tree01c032e67fc590459bced5724ecc578478991e0d
parent1e4f4d2a6e2247a03111b82261ac30ab9a20405c (diff)
renamed pl to pl_dir, since there probably will be a pl_youtube or something in the future. documented and fixed vlc. created mp module for stateless media player project
-rw-r--r--modules/docs/html/classes.html6
-rw-r--r--modules/docs/html/classpl_1_1Citer-members.html2
-rw-r--r--modules/docs/html/classpl_1_1Citer.html4
-rw-r--r--modules/docs/html/classpl_1_1CiterMan-members.html2
-rw-r--r--modules/docs/html/classpl_1_1CiterMan.html4
-rw-r--r--modules/docs/html/classpl_1_1Cpath-members.html2
-rw-r--r--modules/docs/html/classpl_1_1Cpath.html4
-rw-r--r--modules/docs/html/classpl_1_1CsortedDir-members.html2
-rw-r--r--modules/docs/html/classpl_1_1CsortedDir.html4
-rw-r--r--modules/docs/html/classplay__vlc_1_1CPlayer-members.html2
-rw-r--r--modules/docs/html/classplay__vlc_1_1CPlayer.html4
-rw-r--r--modules/docs/html/files.html3
-rw-r--r--modules/docs/html/namespacemembers.html11
-rw-r--r--modules/docs/html/namespacemembers_func.html11
-rw-r--r--modules/docs/html/namespacepl.html393
-rw-r--r--modules/docs/html/namespaceplay__vlc.html226
-rw-r--r--modules/docs/html/namespaces.html2
-rw-r--r--modules/docs/html/pl__dir_8module_2module_8cpp.html139
-rw-r--r--modules/docs/html/play__vlc_8module_2module_8cpp.html127
-rw-r--r--modules/mp.module/CMakeLists.txt28
-rw-r--r--modules/mp.module/module.cpp89
-rw-r--r--modules/pl_dir.module/CMakeLists.txt (renamed from modules/pl.module/CMakeLists.txt)0
-rw-r--r--modules/pl_dir.module/module.cpp (renamed from modules/pl.module/module.cpp)3
-rw-r--r--modules/play_vlc.module/module.cpp50
24 files changed, 1095 insertions, 23 deletions
diff --git a/modules/docs/html/classes.html b/modules/docs/html/classes.html
index c81900c..044ca64 100644
--- a/modules/docs/html/classes.html
+++ b/modules/docs/html/classes.html
@@ -61,9 +61,9 @@
<tr><td rowspan="2" valign="bottom"><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;C&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classasterisk_1_1Cgroup.html">Cgroup</a> (asterisk)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classCnetAmi.html">CnetAmi</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classpaper_1_1CpaperClient.html">CpaperClient</a> (<a class="el" href="namespacepaper.html">paper</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classpong_1_1Cpong.html">Cpong</a> (pong)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classChttpSession.html">ChttpSession</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classCnetDmx.html">CnetDmx</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classpaper_1_1CpaperObject.html">CpaperObject</a> (<a class="el" href="namespacepaper.html">paper</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classpong_1_1Cposition.html">Cposition</a> (pong)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classasterisk_1_1Cchannel.html">Cchannel</a> (asterisk)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classChttpSessionMan.html">ChttpSessionMan</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classCnetHttp.html">CnetHttp</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classpl_1_1Cpath.html">Cpath</a> (pl)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classasterisk_1_1Cserver.html">Cserver</a> (asterisk)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classsynapse__curl_1_1Ccurl.html">Ccurl</a> (synapse_curl)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classpl_1_1Citer.html">Citer</a> (pl)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classCnetLirc.html">CnetLirc</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classplay__vlc_1_1CPlayer.html">CPlayer</a> (play_vlc)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classasterisk_1_1Csession.html">Csession</a> (asterisk)&#160;&#160;&#160;</td></tr>
-<tr><td valign="top"><a class="el" href="classasterisk_1_1Cdevice.html">Cdevice</a> (asterisk)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classpl_1_1CiterMan.html">CiterMan</a> (pl)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classCnetModule.html">CnetModule</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classpong_1_1Cplayer.html">Cplayer</a> (pong)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classpl_1_1CsortedDir.html">CsortedDir</a> (pl)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classasterisk_1_1Cchannel.html">Cchannel</a> (asterisk)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classChttpSessionMan.html">ChttpSessionMan</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classCnetHttp.html">CnetHttp</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classpl_1_1Cpath.html">Cpath</a> (<a class="el" href="namespacepl.html">pl</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classasterisk_1_1Cserver.html">Cserver</a> (asterisk)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classsynapse__curl_1_1Ccurl.html">Ccurl</a> (synapse_curl)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classpl_1_1Citer.html">Citer</a> (<a class="el" href="namespacepl.html">pl</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classCnetLirc.html">CnetLirc</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classplay__vlc_1_1CPlayer.html">CPlayer</a> (<a class="el" href="namespaceplay__vlc.html">play_vlc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classasterisk_1_1Csession.html">Csession</a> (asterisk)&#160;&#160;&#160;</td></tr>
+<tr><td valign="top"><a class="el" href="classasterisk_1_1Cdevice.html">Cdevice</a> (asterisk)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classpl_1_1CiterMan.html">CiterMan</a> (<a class="el" href="namespacepl.html">pl</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classCnetModule.html">CnetModule</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classpong_1_1Cplayer.html">Cplayer</a> (pong)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classpl_1_1CsortedDir.html">CsortedDir</a> (<a class="el" href="namespacepl.html">pl</a>)&#160;&#160;&#160;</td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_C">C</a></div>
diff --git a/modules/docs/html/classpl_1_1Citer-members.html b/modules/docs/html/classpl_1_1Citer-members.html
index 18d3c67..543a55f 100644
--- a/modules/docs/html/classpl_1_1Citer-members.html
+++ b/modules/docs/html/classpl_1_1Citer-members.html
@@ -52,7 +52,7 @@
</div>
<div id="nav-path" class="navpath">
<ul>
- <li class="navelem"><b>pl</b> </li>
+ <li class="navelem"><a class="el" href="namespacepl.html">pl</a> </li>
<li class="navelem"><a class="el" href="classpl_1_1Citer.html">Citer</a> </li>
</ul>
</div>
diff --git a/modules/docs/html/classpl_1_1Citer.html b/modules/docs/html/classpl_1_1Citer.html
index 7b3f2e1..aedc160 100644
--- a/modules/docs/html/classpl_1_1Citer.html
+++ b/modules/docs/html/classpl_1_1Citer.html
@@ -52,7 +52,7 @@
</div>
<div id="nav-path" class="navpath">
<ul>
- <li class="navelem"><b>pl</b> </li>
+ <li class="navelem"><a class="el" href="namespacepl.html">pl</a> </li>
<li class="navelem"><a class="el" href="classpl_1_1Citer.html">Citer</a> </li>
</ul>
</div>
@@ -91,7 +91,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>send</b> (int dst)</t
void&#160;</td><td class="memItemRight" valign="bottom"><b>destroy</b> ()</td></tr>
</table>
<hr/>The documentation for this class was generated from the following file:<ul>
-<li>pl.module/<a class="el" href="pl_8module_2module_8cpp.html">module.cpp</a></li>
+<li>pl_dir.module/<a class="el" href="pl__dir_8module_2module_8cpp.html">module.cpp</a></li>
</ul>
</div><!-- contents -->
diff --git a/modules/docs/html/classpl_1_1CiterMan-members.html b/modules/docs/html/classpl_1_1CiterMan-members.html
index 2a43182..6e16d44 100644
--- a/modules/docs/html/classpl_1_1CiterMan-members.html
+++ b/modules/docs/html/classpl_1_1CiterMan-members.html
@@ -52,7 +52,7 @@
</div>
<div id="nav-path" class="navpath">
<ul>
- <li class="navelem"><b>pl</b> </li>
+ <li class="navelem"><a class="el" href="namespacepl.html">pl</a> </li>
<li class="navelem"><a class="el" href="classpl_1_1CiterMan.html">CiterMan</a> </li>
</ul>
</div>
diff --git a/modules/docs/html/classpl_1_1CiterMan.html b/modules/docs/html/classpl_1_1CiterMan.html
index d40d51b..c4dd184 100644
--- a/modules/docs/html/classpl_1_1CiterMan.html
+++ b/modules/docs/html/classpl_1_1CiterMan.html
@@ -52,7 +52,7 @@
</div>
<div id="nav-path" class="navpath">
<ul>
- <li class="navelem"><b>pl</b> </li>
+ <li class="navelem"><a class="el" href="namespacepl.html">pl</a> </li>
<li class="navelem"><a class="el" href="classpl_1_1CiterMan.html">CiterMan</a> </li>
</ul>
</div>
@@ -77,7 +77,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>create</b> (string id
void&#160;</td><td class="memItemRight" valign="bottom"><b>destroy</b> (string id)</td></tr>
</table>
<hr/>The documentation for this class was generated from the following file:<ul>
-<li>pl.module/<a class="el" href="pl_8module_2module_8cpp.html">module.cpp</a></li>
+<li>pl_dir.module/<a class="el" href="pl__dir_8module_2module_8cpp.html">module.cpp</a></li>
</ul>
</div><!-- contents -->
diff --git a/modules/docs/html/classpl_1_1Cpath-members.html b/modules/docs/html/classpl_1_1Cpath-members.html
index c8a898f..c42adcd 100644
--- a/modules/docs/html/classpl_1_1Cpath-members.html
+++ b/modules/docs/html/classpl_1_1Cpath-members.html
@@ -52,7 +52,7 @@
</div>
<div id="nav-path" class="navpath">
<ul>
- <li class="navelem"><b>pl</b> </li>
+ <li class="navelem"><a class="el" href="namespacepl.html">pl</a> </li>
<li class="navelem"><a class="el" href="classpl_1_1Cpath.html">Cpath</a> </li>
</ul>
</div>
diff --git a/modules/docs/html/classpl_1_1Cpath.html b/modules/docs/html/classpl_1_1Cpath.html
index af24044..8ab68a0 100644
--- a/modules/docs/html/classpl_1_1Cpath.html
+++ b/modules/docs/html/classpl_1_1Cpath.html
@@ -52,7 +52,7 @@
</div>
<div id="nav-path" class="navpath">
<ul>
- <li class="navelem"><b>pl</b> </li>
+ <li class="navelem"><a class="el" href="namespacepl.html">pl</a> </li>
<li class="navelem"><a class="el" href="classpl_1_1Cpath.html">Cpath</a> </li>
</ul>
</div>
@@ -81,7 +81,7 @@ std::string&#160;</td><td class="memItemRight" valign="bottom"><b>getMeta</b> (s
void&#160;</td><td class="memItemRight" valign="bottom"><b>setMeta</b> (std::string key, std::string value)</td></tr>
</table>
<hr/>The documentation for this class was generated from the following file:<ul>
-<li>pl.module/<a class="el" href="pl_8module_2module_8cpp.html">module.cpp</a></li>
+<li>pl_dir.module/<a class="el" href="pl__dir_8module_2module_8cpp.html">module.cpp</a></li>
</ul>
</div><!-- contents -->
diff --git a/modules/docs/html/classpl_1_1CsortedDir-members.html b/modules/docs/html/classpl_1_1CsortedDir-members.html
index d783caa..55414b5 100644
--- a/modules/docs/html/classpl_1_1CsortedDir-members.html
+++ b/modules/docs/html/classpl_1_1CsortedDir-members.html
@@ -52,7 +52,7 @@
</div>
<div id="nav-path" class="navpath">
<ul>
- <li class="navelem"><b>pl</b> </li>
+ <li class="navelem"><a class="el" href="namespacepl.html">pl</a> </li>
<li class="navelem"><a class="el" href="classpl_1_1CsortedDir.html">CsortedDir</a> </li>
</ul>
</div>
diff --git a/modules/docs/html/classpl_1_1CsortedDir.html b/modules/docs/html/classpl_1_1CsortedDir.html
index fe82c33..d58b8a5 100644
--- a/modules/docs/html/classpl_1_1CsortedDir.html
+++ b/modules/docs/html/classpl_1_1CsortedDir.html
@@ -52,7 +52,7 @@
</div>
<div id="nav-path" class="navpath">
<ul>
- <li class="navelem"><b>pl</b> </li>
+ <li class="navelem"><a class="el" href="namespacepl.html">pl</a> </li>
<li class="navelem"><a class="el" href="classpl_1_1CsortedDir.html">CsortedDir</a> </li>
</ul>
</div>
@@ -87,7 +87,7 @@ static bool&#160;</td><td class="memItemRight" valign="bottom"><b>compareFilenam
static bool&#160;</td><td class="memItemRight" valign="bottom"><b>compareDate</b> (<a class="el" href="classpl_1_1Cpath.html">Cpath</a> first, <a class="el" href="classpl_1_1Cpath.html">Cpath</a> second)</td></tr>
</table>
<hr/>The documentation for this class was generated from the following file:<ul>
-<li>pl.module/<a class="el" href="pl_8module_2module_8cpp.html">module.cpp</a></li>
+<li>pl_dir.module/<a class="el" href="pl__dir_8module_2module_8cpp.html">module.cpp</a></li>
</ul>
</div><!-- contents -->
diff --git a/modules/docs/html/classplay__vlc_1_1CPlayer-members.html b/modules/docs/html/classplay__vlc_1_1CPlayer-members.html
index 80a60a0..fc73f87 100644
--- a/modules/docs/html/classplay__vlc_1_1CPlayer-members.html
+++ b/modules/docs/html/classplay__vlc_1_1CPlayer-members.html
@@ -52,7 +52,7 @@
</div>
<div id="nav-path" class="navpath">
<ul>
- <li class="navelem"><b>play_vlc</b> </li>
+ <li class="navelem"><a class="el" href="namespaceplay__vlc.html">play_vlc</a> </li>
<li class="navelem"><a class="el" href="classplay__vlc_1_1CPlayer.html">CPlayer</a> </li>
</ul>
</div>
diff --git a/modules/docs/html/classplay__vlc_1_1CPlayer.html b/modules/docs/html/classplay__vlc_1_1CPlayer.html
index d54b7d9..558b0e7 100644
--- a/modules/docs/html/classplay__vlc_1_1CPlayer.html
+++ b/modules/docs/html/classplay__vlc_1_1CPlayer.html
@@ -52,7 +52,7 @@
</div>
<div id="nav-path" class="navpath">
<ul>
- <li class="navelem"><b>play_vlc</b> </li>
+ <li class="navelem"><a class="el" href="namespaceplay__vlc.html">play_vlc</a> </li>
<li class="navelem"><a class="el" href="classplay__vlc_1_1CPlayer.html">CPlayer</a> </li>
</ul>
</div>
@@ -138,7 +138,7 @@ string&#160;</td><td class="memItemRight" valign="bottom"><b>description</b></td
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
-<li>play_vlc.module/module.cpp</li>
+<li>play_vlc.module/<a class="el" href="play__vlc_8module_2module_8cpp.html">module.cpp</a></li>
</ul>
</div><!-- contents -->
diff --git a/modules/docs/html/files.html b/modules/docs/html/files.html
index 80af25b..aac2b2d 100644
--- a/modules/docs/html/files.html
+++ b/modules/docs/html/files.html
@@ -61,7 +61,8 @@
<tr><td class="indexkey">asterisk.module/<a class="el" href="asterisk_8module_2module_8cpp.html">module.cpp</a></td><td class="indexvalue">Asterisk Control Module </td></tr>
<tr><td class="indexkey">exec.module/<a class="el" href="exec_8module_2module_8cpp.html">module.cpp</a></td><td class="indexvalue">The execute module </td></tr>
<tr><td class="indexkey">paper.module/<a class="el" href="paper_8module_2module_8cpp.html">module.cpp</a></td><td class="indexvalue">Internet paper </td></tr>
- <tr><td class="indexkey">pl.module/<a class="el" href="pl_8module_2module_8cpp.html">module.cpp</a></td><td class="indexvalue">The play list module </td></tr>
+ <tr><td class="indexkey">pl_dir.module/<a class="el" href="pl__dir_8module_2module_8cpp.html">module.cpp</a></td><td class="indexvalue">The play list module </td></tr>
+ <tr><td class="indexkey">play_vlc.module/<a class="el" href="play__vlc_8module_2module_8cpp.html">module.cpp</a></td><td class="indexvalue">VLC player module </td></tr>
<tr><td class="indexkey">pong.module/<a class="el" href="pong_8module_2module_8cpp.html">module.cpp</a></td><td class="indexvalue">A pong game proof of concept </td></tr>
<tr><td class="indexkey">timer.module/<a class="el" href="timer_8module_2module_8cpp.html">module.cpp</a></td><td class="indexvalue">The timer module </td></tr>
<tr><td class="indexkey">twitter.module/<a class="el" href="twitter_8module_2module_8cpp.html">module.cpp</a></td><td class="indexvalue">The twitter module </td></tr>
diff --git a/modules/docs/html/namespacemembers.html b/modules/docs/html/namespacemembers.html
index 3b20865..4030bf0 100644
--- a/modules/docs/html/namespacemembers.html
+++ b/modules/docs/html/namespacemembers.html
@@ -56,11 +56,20 @@
<li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
</ul>
</div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="#index_s"><span>s</span></a></li>
+ </ul>
+ </div>
</div>
<div class="contents">
-<div class="textblock">Here is a list of all documented namespace members with links to the namespaces they belong to:</div><ul>
+<div class="textblock">Here is a list of all documented namespace members with links to the namespaces they belong to:</div>
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
<li>SYNAPSE_REGISTER()
: <a class="el" href="namespacesynapse.html#a5d8cde710c3f03a7e22da5ff6483e0c8">synapse</a>
+, <a class="el" href="namespaceplay__vlc.html#a49a63ddf628c67643894f9c73370ec41">play_vlc</a>
+, <a class="el" href="namespacepl.html#ab254d14cfe7e0ff668f442b3f0e8a93a">pl</a>
, <a class="el" href="namespacepaper.html#a72bdfbae14e0c5c8121fa304fc01ed92">paper</a>
, <a class="el" href="namespacesynapse.html#a5776780555f705177772b14833d9d942">synapse</a>
</li>
diff --git a/modules/docs/html/namespacemembers_func.html b/modules/docs/html/namespacemembers_func.html
index 05768ae..ecb6f2b 100644
--- a/modules/docs/html/namespacemembers_func.html
+++ b/modules/docs/html/namespacemembers_func.html
@@ -56,11 +56,20 @@
<li class="current"><a href="namespacemembers_func.html"><span>Functions</span></a></li>
</ul>
</div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="#index_s"><span>s</span></a></li>
+ </ul>
+ </div>
</div>
<div class="contents">
-&#160;<ul>
+&#160;
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
<li>SYNAPSE_REGISTER()
: <a class="el" href="namespacesynapse.html#a5d8cde710c3f03a7e22da5ff6483e0c8">synapse</a>
+, <a class="el" href="namespaceplay__vlc.html#a49a63ddf628c67643894f9c73370ec41">play_vlc</a>
+, <a class="el" href="namespacepl.html#ab254d14cfe7e0ff668f442b3f0e8a93a">pl</a>
, <a class="el" href="namespacepaper.html#a72bdfbae14e0c5c8121fa304fc01ed92">paper</a>
, <a class="el" href="namespacesynapse.html#a5776780555f705177772b14833d9d942">synapse</a>
</li>
diff --git a/modules/docs/html/namespacepl.html b/modules/docs/html/namespacepl.html
new file mode 100644
index 0000000..16e3376
--- /dev/null
+++ b/modules/docs/html/namespacepl.html
@@ -0,0 +1,393 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Synapsemoduledocumentation: pl Namespace Reference</title>
+
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">Synapsemoduledocumentation
+ &#160;<span id="projectnumber">1.0</span>
+ </div>
+
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<!-- Generated by Doxygen 1.7.6.1 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
+ <li><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">pl Namespace Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Playlist namespace.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpl_1_1Cpath.html">Cpath</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpl_1_1CsortedDir.html">CsortedDir</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpl_1_1Citer.html">Citer</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpl_1_1CiterMan.html">CiterMan</a></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3642467c1c424d75f3fed785a0b0bab2"></a><!-- doxytag: member="pl::SYNAPSE_REGISTER" ref="a3642467c1c424d75f3fed785a0b0bab2" args="(module_Init)" -->
+&#160;</td><td class="memItemRight" valign="bottom"><b>SYNAPSE_REGISTER</b> (module_Init)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a297d0a05611e230ba3277b3c54ffab7b"></a><!-- doxytag: member="pl::SYNAPSE_REGISTER" ref="a297d0a05611e230ba3277b3c54ffab7b" args="(module_SessionStart)" -->
+&#160;</td><td class="memItemRight" valign="bottom"><b>SYNAPSE_REGISTER</b> (module_SessionStart)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#a41d4c9a382b6f9874e9e2f8ba4f1bf7f">SYNAPSE_REGISTER</a> (pl_Create)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new iterator. <a href="#a41d4c9a382b6f9874e9e2f8ba4f1bf7f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#ac08587f70674958c0c62cf65d0a933a8">SYNAPSE_REGISTER</a> (pl_Destroy)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete specified iterator. <a href="#ac08587f70674958c0c62cf65d0a933a8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#a80d1265ebf1140dbc3ad510d3ca36d06">SYNAPSE_REGISTER</a> (pl_Mode)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Change selection/search criteria for files. <a href="#a80d1265ebf1140dbc3ad510d3ca36d06"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#ad0851dde62d6be69e214a988f29b66f1">SYNAPSE_REGISTER</a> (pl_Current)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get current directory and file. <a href="#ad0851dde62d6be69e214a988f29b66f1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#aee06b9a309c2bf4651bc15b13923c487">SYNAPSE_REGISTER</a> (pl_NextDir)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Select next directory entry in list. <a href="#aee06b9a309c2bf4651bc15b13923c487"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#ac439b345905f3f2431e5ae5f7a967fd0">SYNAPSE_REGISTER</a> (pl_PreviousDir)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Select previous entry directory in list. <a href="#ac439b345905f3f2431e5ae5f7a967fd0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#a5a0bb33074d26778a65e2a857f88de05">SYNAPSE_REGISTER</a> (pl_EnterDir)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enters selected directory. <a href="#a5a0bb33074d26778a65e2a857f88de05"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#ade9264bafa3a9f332af5e3289999990f">SYNAPSE_REGISTER</a> (pl_ExitDir)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Exits directory, selecting directory on higher up the hierarchy. <a href="#ade9264bafa3a9f332af5e3289999990f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#ab320dfcd31376339447633aa02c014c4">SYNAPSE_REGISTER</a> (pl_Next)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Next song. <a href="#ab320dfcd31376339447633aa02c014c4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#ab254d14cfe7e0ff668f442b3f0e8a93a">SYNAPSE_REGISTER</a> (pl_Previous)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Previous song. <a href="#ab254d14cfe7e0ff668f442b3f0e8a93a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad2020b7018ba776f9bd4810250f11480"></a><!-- doxytag: member="pl::SYNAPSE_REGISTER" ref="ad2020b7018ba776f9bd4810250f11480" args="(module_Shutdown)" -->
+&#160;</td><td class="memItemRight" valign="bottom"><b>SYNAPSE_REGISTER</b> (module_Shutdown)</td></tr>
+<tr><td colspan="2"><h2><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc4fb6cf3ddacbfd13e78602fc7fec1f"></a><!-- doxytag: member="pl::shutdown" ref="acc4fb6cf3ddacbfd13e78602fc7fec1f" args="" -->
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>shutdown</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a154b24a2d6bca0a321a3f9216c4d9032"></a><!-- doxytag: member="pl::defaultId" ref="a154b24a2d6bca0a321a3f9216c4d9032" args="" -->
+int&#160;</td><td class="memItemRight" valign="bottom"><b>defaultId</b> = -1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4bbb6887709ae8072d5405ed9c5ecc9a"></a><!-- doxytag: member="pl::iterMan" ref="a4bbb6887709ae8072d5405ed9c5ecc9a" args="" -->
+<a class="el" href="classpl_1_1CiterMan.html">CiterMan</a>&#160;</td><td class="memItemRight" valign="bottom"><b>iterMan</b></td></tr>
+</table>
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Playlist namespace. </p>
+</div><hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a41d4c9a382b6f9874e9e2f8ba4f1bf7f"></a><!-- doxytag: member="pl::SYNAPSE_REGISTER" ref="a41d4c9a382b6f9874e9e2f8ba4f1bf7f" args="(pl_Create)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pl::SYNAPSE_REGISTER </td>
+ <td>(</td>
+ <td class="paramtype">pl_Create&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Create a new iterator. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">id</td><td>Traverser id path Base path. Iterator can never 'escape' this directory.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>SECURITY WARNING: Its possible to traverse the whole filesystem for users that have permission to send pl_Create!</p>
+<dl class="user"><dt><b>Replies pl_Entry:</b></dt><dd></dd></dl>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">id</td><td>Traverser id </td></tr>
+ <tr><td class="paramname">path</td><td>Current path </td></tr>
+ <tr><td class="paramname">file</td><td>Current file, selected according to search criteria </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ac08587f70674958c0c62cf65d0a933a8"></a><!-- doxytag: member="pl::SYNAPSE_REGISTER" ref="ac08587f70674958c0c62cf65d0a933a8" args="(pl_Destroy)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pl::SYNAPSE_REGISTER </td>
+ <td>(</td>
+ <td class="paramtype">pl_Destroy&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Delete specified iterator. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">id</td><td>Traverser id </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a80d1265ebf1140dbc3ad510d3ca36d06"></a><!-- doxytag: member="pl::SYNAPSE_REGISTER" ref="a80d1265ebf1140dbc3ad510d3ca36d06" args="(pl_Mode)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pl::SYNAPSE_REGISTER </td>
+ <td>(</td>
+ <td class="paramtype">pl_Mode&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Change selection/search criteria for files. </p>
+<p>Initalise a new iterator </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">id</td><td>Traverser id </td></tr>
+ <tr><td class="paramname">recurse</td><td>Recurse level (-1 is infinite depth) </td></tr>
+ <tr><td class="paramname">fileOrder</td><td>Order in which to traverse files (date, random, name) </td></tr>
+ <tr><td class="paramname">dirOrder</td><td>Order in which to directorys files (date, name) </td></tr>
+ <tr><td class="paramname">search</td><td>Search parameters for metadata or filename (details later!)</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="user"><dt><b>Replies pl_Entry:</b></dt><dd></dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ad0851dde62d6be69e214a988f29b66f1"></a><!-- doxytag: member="pl::SYNAPSE_REGISTER" ref="ad0851dde62d6be69e214a988f29b66f1" args="(pl_Current)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pl::SYNAPSE_REGISTER </td>
+ <td>(</td>
+ <td class="paramtype">pl_Current&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Get current directory and file. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">id</td><td>Traverser id</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="user"><dt><b>Replies pl_Entry.</b></dt><dd></dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aee06b9a309c2bf4651bc15b13923c487"></a><!-- doxytag: member="pl::SYNAPSE_REGISTER" ref="aee06b9a309c2bf4651bc15b13923c487" args="(pl_NextDir)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pl::SYNAPSE_REGISTER </td>
+ <td>(</td>
+ <td class="paramtype">pl_NextDir&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Select next directory entry in list. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">id</td><td>Traverser id</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="user"><dt><b>Replies pl_Entry:</b></dt><dd></dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ac439b345905f3f2431e5ae5f7a967fd0"></a><!-- doxytag: member="pl::SYNAPSE_REGISTER" ref="ac439b345905f3f2431e5ae5f7a967fd0" args="(pl_PreviousDir)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pl::SYNAPSE_REGISTER </td>
+ <td>(</td>
+ <td class="paramtype">pl_PreviousDir&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Select previous entry directory in list. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">id</td><td>Traverser id</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="user"><dt><b>Replies pl_Entry:</b></dt><dd></dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a5a0bb33074d26778a65e2a857f88de05"></a><!-- doxytag: member="pl::SYNAPSE_REGISTER" ref="a5a0bb33074d26778a65e2a857f88de05" args="(pl_EnterDir)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pl::SYNAPSE_REGISTER </td>
+ <td>(</td>
+ <td class="paramtype">pl_EnterDir&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Enters selected directory. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">id</td><td>Traverser id</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="user"><dt><b>Replies pl_Entry:</b></dt><dd></dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ade9264bafa3a9f332af5e3289999990f"></a><!-- doxytag: member="pl::SYNAPSE_REGISTER" ref="ade9264bafa3a9f332af5e3289999990f" args="(pl_ExitDir)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pl::SYNAPSE_REGISTER </td>
+ <td>(</td>
+ <td class="paramtype">pl_ExitDir&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Exits directory, selecting directory on higher up the hierarchy. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">id</td><td>Traverser id</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="user"><dt><b>Replies pl_Entry:</b></dt><dd></dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ab320dfcd31376339447633aa02c014c4"></a><!-- doxytag: member="pl::SYNAPSE_REGISTER" ref="ab320dfcd31376339447633aa02c014c4" args="(pl_Next)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pl::SYNAPSE_REGISTER </td>
+ <td>(</td>
+ <td class="paramtype">pl_Next&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Next song. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">id</td><td>Traverser id</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="user"><dt><b>Replies pl_Entry:</b></dt><dd></dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ab254d14cfe7e0ff668f442b3f0e8a93a"></a><!-- doxytag: member="pl::SYNAPSE_REGISTER" ref="ab254d14cfe7e0ff668f442b3f0e8a93a" args="(pl_Previous)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pl::SYNAPSE_REGISTER </td>
+ <td>(</td>
+ <td class="paramtype">pl_Previous&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Previous song. </p>
+<dl class="params"><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">id</td><td>Traverser id</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="user"><dt><b>Replies pl_Entry:</b></dt><dd></dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+
+
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1</small></address>
+
+</body>
+</html>
diff --git a/modules/docs/html/namespaceplay__vlc.html b/modules/docs/html/namespaceplay__vlc.html
new file mode 100644
index 0000000..26b32ff
--- /dev/null
+++ b/modules/docs/html/namespaceplay__vlc.html
@@ -0,0 +1,226 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Synapsemoduledocumentation: play_vlc Namespace Reference</title>
+
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">Synapsemoduledocumentation
+ &#160;<span id="projectnumber">1.0</span>
+ </div>
+
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<!-- Generated by Doxygen 1.7.6.1 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
+ <li><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">play_vlc Namespace Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>VLC player namespace.
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classplay__vlc_1_1CPlayer.html">CPlayer</a></td></tr>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07594bde2663aff28b0f95298695b435"></a><!-- doxytag: member="play_vlc::CPlayerMap" ref="a07594bde2663aff28b0f95298695b435" args="" -->
+typedef map&lt; int, <a class="el" href="classplay__vlc_1_1CPlayer.html">CPlayer</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>CPlayerMap</b></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66e87f2e8b1d98748bb40019591bc817"></a><!-- doxytag: member="play_vlc::SYNAPSE_REGISTER" ref="a66e87f2e8b1d98748bb40019591bc817" args="(module_Init)" -->
+&#160;</td><td class="memItemRight" valign="bottom"><b>SYNAPSE_REGISTER</b> (module_Init)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0996889449ab1e4eaefca08c4f0cb2a5"></a><!-- doxytag: member="play_vlc::SYNAPSE_REGISTER" ref="a0996889449ab1e4eaefca08c4f0cb2a5" args="(module_Shutdown)" -->
+&#160;</td><td class="memItemRight" valign="bottom"><b>SYNAPSE_REGISTER</b> (module_Shutdown)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a781adf021ba224c2a2a6cca5b2ee090a"></a><!-- doxytag: member="play_vlc::SYNAPSE_REGISTER" ref="a781adf021ba224c2a2a6cca5b2ee090a" args="(module_SessionStart)" -->
+&#160;</td><td class="memItemRight" valign="bottom"><b>SYNAPSE_REGISTER</b> (module_SessionStart)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a85e2a1f79ec9295c04848d47d3b08b43"></a><!-- doxytag: member="play_vlc::SYNAPSE_REGISTER" ref="a85e2a1f79ec9295c04848d47d3b08b43" args="(module_SessionEnd)" -->
+&#160;</td><td class="memItemRight" valign="bottom"><b>SYNAPSE_REGISTER</b> (module_SessionEnd)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplay__vlc.html#a0ee16a84fbb1b8ec0afa9a8a3f446bb9">SYNAPSE_REGISTER</a> (play_GetPlayers)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a list of players Returns a play_Players event with a list of available player ids. <a href="#a0ee16a84fbb1b8ec0afa9a8a3f446bb9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplay__vlc.html#a92c196b48daa10c84da50c0aaefeda1e">SYNAPSE_REGISTER</a> (play_DelPlayer)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the player instance. <a href="#a92c196b48daa10c84da50c0aaefeda1e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplay__vlc.html#afb1964ede7792427166c5734af1a9e63">SYNAPSE_REGISTER</a> (play_NewPlayer)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the player instance. <a href="#afb1964ede7792427166c5734af1a9e63"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplay__vlc.html#a7cf66043964d0628f09b006490f01c15">SYNAPSE_REGISTER</a> (play_Open)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens and starts playing an url. <a href="#a7cf66043964d0628f09b006490f01c15"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplay__vlc.html#a49a63ddf628c67643894f9c73370ec41">SYNAPSE_REGISTER</a> (play_Stop)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops playing. <a href="#a49a63ddf628c67643894f9c73370ec41"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afe14b89af865a06366dd2b8185e29620"></a><!-- doxytag: member="play_vlc::players" ref="afe14b89af865a06366dd2b8185e29620" args="" -->
+CPlayerMap&#160;</td><td class="memItemRight" valign="bottom"><b>players</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a992e55c5e86cb2d6c29888f177595483"></a><!-- doxytag: member="play_vlc::defaultSession" ref="a992e55c5e86cb2d6c29888f177595483" args="" -->
+int&#160;</td><td class="memItemRight" valign="bottom"><b>defaultSession</b></td></tr>
+</table>
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>VLC player namespace. </p>
+</div><hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a0ee16a84fbb1b8ec0afa9a8a3f446bb9"></a><!-- doxytag: member="play_vlc::SYNAPSE_REGISTER" ref="a0ee16a84fbb1b8ec0afa9a8a3f446bb9" args="(play_GetPlayers)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">play_vlc::SYNAPSE_REGISTER </td>
+ <td>(</td>
+ <td class="paramtype">play_GetPlayers&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Get a list of players Returns a play_Players event with a list of available player ids. </p>
+
+</div>
+</div>
+<a class="anchor" id="a92c196b48daa10c84da50c0aaefeda1e"></a><!-- doxytag: member="play_vlc::SYNAPSE_REGISTER" ref="a92c196b48daa10c84da50c0aaefeda1e" args="(play_DelPlayer)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">play_vlc::SYNAPSE_REGISTER </td>
+ <td>(</td>
+ <td class="paramtype">play_DelPlayer&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Delete the player instance. </p>
+<p>(You cant delete the default player) </p>
+
+</div>
+</div>
+<a class="anchor" id="afb1964ede7792427166c5734af1a9e63"></a><!-- doxytag: member="play_vlc::SYNAPSE_REGISTER" ref="afb1964ede7792427166c5734af1a9e63" args="(play_NewPlayer)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">play_vlc::SYNAPSE_REGISTER </td>
+ <td>(</td>
+ <td class="paramtype">play_NewPlayer&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Delete the player instance. </p>
+<p>(You cant delete the default player) </p>
+
+</div>
+</div>
+<a class="anchor" id="a7cf66043964d0628f09b006490f01c15"></a><!-- doxytag: member="play_vlc::SYNAPSE_REGISTER" ref="a7cf66043964d0628f09b006490f01c15" args="(play_Open)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">play_vlc::SYNAPSE_REGISTER </td>
+ <td>(</td>
+ <td class="paramtype">play_Open&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Opens and starts playing an url. </p>
+<ul>
+<li><code>url</code> The url or local filename to open.</li>
+</ul>
+<dl class="user"><dt><b>Broadcasts: <em><code>play_InfoMeta</code>:</em> </b></dt><dd>Metadata for the current url. (can also be sended while playing, for streams for example)</dd></dl>
+<dl class="user"><dt><b>Broadcasts: <em><code>play_StateNone</code>:</em> </b></dt><dd>Player has no status.</dd></dl>
+<dl class="user"><dt><b>Broadcasts: <em><code>play_StateOpening</code>:</em> </b></dt><dd>Player is opening an url</dd></dl>
+<dl class="user"><dt><b>Broadcasts: <em><code>play_StateBuffering</code>:</em> </b></dt><dd>Player is buffering data</dd></dl>
+<dl class="user"><dt><b>Broadcasts: <em><code>play_StatePlaying</code>:</em> </b></dt><dd>Player is playing.</dd></dl>
+<dl class="user"><dt><b>Broadcasts: <em><code>play_StatePaused</code>:</em> </b></dt><dd>Player is paused</dd></dl>
+<dl class="user"><dt><b>Broadcasts: <em><code>play_StateStopped</code>:</em> </b></dt><dd>Player has stopped</dd></dl>
+<dl class="user"><dt><b>Broadcasts: <em><code>play_StateEnded</code>:</em> </b></dt><dd>Media has ended</dd></dl>
+<dl class="user"><dt><b>Broadcasts: <em><code>play_StateError</code>:</em> </b></dt><dd>An error has occured. TOOD: need to fix logging, to show what actually went wrong.</dd></dl>
+<dl class="user"><dt><b>Broadcasts: <em><code>play_Time</code>:</em> </b></dt><dd>Sended every second with time and position info. <ul>
+<li><code>length</code> total length of media in seconds. (0 for streams) </li>
+<li><code>time</code> current position of the media, in seconds. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a49a63ddf628c67643894f9c73370ec41"></a><!-- doxytag: member="play_vlc::SYNAPSE_REGISTER" ref="a49a63ddf628c67643894f9c73370ec41" args="(play_Stop)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">play_vlc::SYNAPSE_REGISTER </td>
+ <td>(</td>
+ <td class="paramtype">play_Stop&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Stops playing. </p>
+
+</div>
+</div>
+</div><!-- contents -->
+
+
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1</small></address>
+
+</body>
+</html>
diff --git a/modules/docs/html/namespaces.html b/modules/docs/html/namespaces.html
index a2530db..3012304 100644
--- a/modules/docs/html/namespaces.html
+++ b/modules/docs/html/namespaces.html
@@ -58,6 +58,8 @@
<div class="contents">
<div class="textblock">Here is a list of all documented namespaces with brief descriptions:</div><table>
<tr><td class="indexkey"><a class="el" href="namespacepaper.html">paper</a></td><td class="indexvalue">Paper namespace </td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespacepl.html">pl</a></td><td class="indexvalue">Playlist namespace </td></tr>
+ <tr><td class="indexkey"><a class="el" href="namespaceplay__vlc.html">play_vlc</a></td><td class="indexvalue">VLC player namespace </td></tr>
<tr><td class="indexkey"><a class="el" href="namespacesynapse.html">synapse</a></td><td class="indexvalue">The core module </td></tr>
</table>
</div><!-- contents -->
diff --git a/modules/docs/html/pl__dir_8module_2module_8cpp.html b/modules/docs/html/pl__dir_8module_2module_8cpp.html
new file mode 100644
index 0000000..2abbb17
--- /dev/null
+++ b/modules/docs/html/pl__dir_8module_2module_8cpp.html
@@ -0,0 +1,139 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Synapsemoduledocumentation: pl_dir.module/module.cpp File Reference</title>
+
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">Synapsemoduledocumentation
+ &#160;<span id="projectnumber">1.0</span>
+ </div>
+
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<!-- Generated by Doxygen 1.7.6.1 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#define-members">Defines</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">pl_dir.module/module.cpp File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The play list module.
+<a href="#details">More...</a></p>
+<div class="textblock"><code>#include &quot;synapse.h&quot;</code><br/>
+<code>#include &quot;cconfig.h&quot;</code><br/>
+<code>#include &lt;string.h&gt;</code><br/>
+<code>#include &lt;errno.h&gt;</code><br/>
+<code>#include &lt;map&gt;</code><br/>
+<code>#include &lt;boost/shared_ptr.hpp&gt;</code><br/>
+<code>#include &quot;exception/cexception.h&quot;</code><br/>
+<code>#include &quot;boost/filesystem.hpp&quot;</code><br/>
+</div><table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpl_1_1Cpath.html">pl::Cpath</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpl_1_1CsortedDir.html">pl::CsortedDir</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpl_1_1Citer.html">pl::Citer</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpl_1_1CiterMan.html">pl::CiterMan</a></td></tr>
+<tr><td colspan="2"><h2><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html">pl</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Playlist namespace. </p>
+<br/></td></tr>
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b03a7555e481d771c4ca8c611e331b0"></a><!-- doxytag: member="pl_dir.module/module.cpp::BOOST_FILESYSTEM_VERSION" ref="a7b03a7555e481d771c4ca8c611e331b0" args="" -->
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>BOOST_FILESYSTEM_VERSION</b>&#160;&#160;&#160;3</td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3642467c1c424d75f3fed785a0b0bab2"></a><!-- doxytag: member="pl_dir.module/module.cpp::SYNAPSE_REGISTER" ref="a3642467c1c424d75f3fed785a0b0bab2" args="(module_Init)" -->
+&#160;</td><td class="memItemRight" valign="bottom"><b>pl::SYNAPSE_REGISTER</b> (module_Init)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a297d0a05611e230ba3277b3c54ffab7b"></a><!-- doxytag: member="pl_dir.module/module.cpp::SYNAPSE_REGISTER" ref="a297d0a05611e230ba3277b3c54ffab7b" args="(module_SessionStart)" -->
+&#160;</td><td class="memItemRight" valign="bottom"><b>pl::SYNAPSE_REGISTER</b> (module_SessionStart)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#a41d4c9a382b6f9874e9e2f8ba4f1bf7f">pl::SYNAPSE_REGISTER</a> (pl_Create)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new iterator. <a href="#a41d4c9a382b6f9874e9e2f8ba4f1bf7f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#ac08587f70674958c0c62cf65d0a933a8">pl::SYNAPSE_REGISTER</a> (pl_Destroy)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete specified iterator. <a href="#ac08587f70674958c0c62cf65d0a933a8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#a80d1265ebf1140dbc3ad510d3ca36d06">pl::SYNAPSE_REGISTER</a> (pl_Mode)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Change selection/search criteria for files. <a href="#a80d1265ebf1140dbc3ad510d3ca36d06"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#ad0851dde62d6be69e214a988f29b66f1">pl::SYNAPSE_REGISTER</a> (pl_Current)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get current directory and file. <a href="#ad0851dde62d6be69e214a988f29b66f1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#aee06b9a309c2bf4651bc15b13923c487">pl::SYNAPSE_REGISTER</a> (pl_NextDir)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Select next directory entry in list. <a href="#aee06b9a309c2bf4651bc15b13923c487"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#ac439b345905f3f2431e5ae5f7a967fd0">pl::SYNAPSE_REGISTER</a> (pl_PreviousDir)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Select previous entry directory in list. <a href="#ac439b345905f3f2431e5ae5f7a967fd0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#a5a0bb33074d26778a65e2a857f88de05">pl::SYNAPSE_REGISTER</a> (pl_EnterDir)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enters selected directory. <a href="#a5a0bb33074d26778a65e2a857f88de05"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#ade9264bafa3a9f332af5e3289999990f">pl::SYNAPSE_REGISTER</a> (pl_ExitDir)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Exits directory, selecting directory on higher up the hierarchy. <a href="#ade9264bafa3a9f332af5e3289999990f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#ab320dfcd31376339447633aa02c014c4">pl::SYNAPSE_REGISTER</a> (pl_Next)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Next song. <a href="#ab320dfcd31376339447633aa02c014c4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepl.html#ab254d14cfe7e0ff668f442b3f0e8a93a">pl::SYNAPSE_REGISTER</a> (pl_Previous)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Previous song. <a href="#ab254d14cfe7e0ff668f442b3f0e8a93a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad2020b7018ba776f9bd4810250f11480"></a><!-- doxytag: member="pl_dir.module/module.cpp::SYNAPSE_REGISTER" ref="ad2020b7018ba776f9bd4810250f11480" args="(module_Shutdown)" -->
+&#160;</td><td class="memItemRight" valign="bottom"><b>pl::SYNAPSE_REGISTER</b> (module_Shutdown)</td></tr>
+<tr><td colspan="2"><h2><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc4fb6cf3ddacbfd13e78602fc7fec1f"></a><!-- doxytag: member="pl_dir.module/module.cpp::shutdown" ref="acc4fb6cf3ddacbfd13e78602fc7fec1f" args="" -->
+bool&#160;</td><td class="memItemRight" valign="bottom"><b>pl::shutdown</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a154b24a2d6bca0a321a3f9216c4d9032"></a><!-- doxytag: member="pl_dir.module/module.cpp::defaultId" ref="a154b24a2d6bca0a321a3f9216c4d9032" args="" -->
+int&#160;</td><td class="memItemRight" valign="bottom"><b>pl::defaultId</b> = -1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4bbb6887709ae8072d5405ed9c5ecc9a"></a><!-- doxytag: member="pl_dir.module/module.cpp::iterMan" ref="a4bbb6887709ae8072d5405ed9c5ecc9a" args="" -->
+CiterMan&#160;</td><td class="memItemRight" valign="bottom"><b>pl::iterMan</b></td></tr>
+</table>
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>The play list module. </p>
+<p>This module can dynamicly generate playlists from directory's. It also can cache per path metadata. </p>
+</div></div><!-- contents -->
+
+
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1</small></address>
+
+</body>
+</html>
diff --git a/modules/docs/html/play__vlc_8module_2module_8cpp.html b/modules/docs/html/play__vlc_8module_2module_8cpp.html
new file mode 100644
index 0000000..5d77964
--- /dev/null
+++ b/modules/docs/html/play__vlc_8module_2module_8cpp.html
@@ -0,0 +1,127 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Synapsemoduledocumentation: play_vlc.module/module.cpp File Reference</title>
+
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">Synapsemoduledocumentation
+ &#160;<span id="projectnumber">1.0</span>
+ </div>
+
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<!-- Generated by Doxygen 1.7.6.1 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#namespaces">Namespaces</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">play_vlc.module/module.cpp File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>VLC player module.
+<a href="#details">More...</a></p>
+<div class="textblock"><code>#include &quot;synapse.h&quot;</code><br/>
+<code>#include &quot;cconfig.h&quot;</code><br/>
+<code>#include &quot;clog.h&quot;</code><br/>
+<code>#include &lt;vlc/vlc.h&gt;</code><br/>
+<code>#include &lt;map&gt;</code><br/>
+<code>#include &lt;string&gt;</code><br/>
+<code>#include &quot;exception/cexception.h&quot;</code><br/>
+<code>#include &quot;boost/bind.hpp&quot;</code><br/>
+<code>#include &lt;functional&gt;</code><br/>
+</div><table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classplay__vlc_1_1CPlayer.html">play_vlc::CPlayer</a></td></tr>
+<tr><td colspan="2"><h2><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplay__vlc.html">play_vlc</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>VLC player namespace. </p>
+<br/></td></tr>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07594bde2663aff28b0f95298695b435"></a><!-- doxytag: member="play_vlc.module/module.cpp::CPlayerMap" ref="a07594bde2663aff28b0f95298695b435" args="" -->
+typedef map&lt; int, CPlayer &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>play_vlc::CPlayerMap</b></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66e87f2e8b1d98748bb40019591bc817"></a><!-- doxytag: member="play_vlc.module/module.cpp::SYNAPSE_REGISTER" ref="a66e87f2e8b1d98748bb40019591bc817" args="(module_Init)" -->
+&#160;</td><td class="memItemRight" valign="bottom"><b>play_vlc::SYNAPSE_REGISTER</b> (module_Init)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0996889449ab1e4eaefca08c4f0cb2a5"></a><!-- doxytag: member="play_vlc.module/module.cpp::SYNAPSE_REGISTER" ref="a0996889449ab1e4eaefca08c4f0cb2a5" args="(module_Shutdown)" -->
+&#160;</td><td class="memItemRight" valign="bottom"><b>play_vlc::SYNAPSE_REGISTER</b> (module_Shutdown)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a781adf021ba224c2a2a6cca5b2ee090a"></a><!-- doxytag: member="play_vlc.module/module.cpp::SYNAPSE_REGISTER" ref="a781adf021ba224c2a2a6cca5b2ee090a" args="(module_SessionStart)" -->
+&#160;</td><td class="memItemRight" valign="bottom"><b>play_vlc::SYNAPSE_REGISTER</b> (module_SessionStart)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a85e2a1f79ec9295c04848d47d3b08b43"></a><!-- doxytag: member="play_vlc.module/module.cpp::SYNAPSE_REGISTER" ref="a85e2a1f79ec9295c04848d47d3b08b43" args="(module_SessionEnd)" -->
+&#160;</td><td class="memItemRight" valign="bottom"><b>play_vlc::SYNAPSE_REGISTER</b> (module_SessionEnd)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplay__vlc.html#a0ee16a84fbb1b8ec0afa9a8a3f446bb9">play_vlc::SYNAPSE_REGISTER</a> (play_GetPlayers)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a list of players Returns a play_Players event with a list of available player ids. <a href="#a0ee16a84fbb1b8ec0afa9a8a3f446bb9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplay__vlc.html#a92c196b48daa10c84da50c0aaefeda1e">play_vlc::SYNAPSE_REGISTER</a> (play_DelPlayer)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the player instance. <a href="#a92c196b48daa10c84da50c0aaefeda1e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplay__vlc.html#afb1964ede7792427166c5734af1a9e63">play_vlc::SYNAPSE_REGISTER</a> (play_NewPlayer)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the player instance. <a href="#afb1964ede7792427166c5734af1a9e63"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplay__vlc.html#a7cf66043964d0628f09b006490f01c15">play_vlc::SYNAPSE_REGISTER</a> (play_Open)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens and starts playing an url. <a href="#a7cf66043964d0628f09b006490f01c15"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceplay__vlc.html#a49a63ddf628c67643894f9c73370ec41">play_vlc::SYNAPSE_REGISTER</a> (play_Stop)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops playing. <a href="#a49a63ddf628c67643894f9c73370ec41"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afe14b89af865a06366dd2b8185e29620"></a><!-- doxytag: member="play_vlc.module/module.cpp::players" ref="afe14b89af865a06366dd2b8185e29620" args="" -->
+CPlayerMap&#160;</td><td class="memItemRight" valign="bottom"><b>play_vlc::players</b></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a992e55c5e86cb2d6c29888f177595483"></a><!-- doxytag: member="play_vlc.module/module.cpp::defaultSession" ref="a992e55c5e86cb2d6c29888f177595483" args="" -->
+int&#160;</td><td class="memItemRight" valign="bottom"><b>play_vlc::defaultSession</b></td></tr>
+</table>
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>VLC player module. </p>
+<p>This module can play urls and local files. </p>
+</div></div><!-- contents -->
+
+
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1</small></address>
+
+</body>
+</html>
diff --git a/modules/mp.module/CMakeLists.txt b/modules/mp.module/CMakeLists.txt
new file mode 100644
index 0000000..bdc27da
--- /dev/null
+++ b/modules/mp.module/CMakeLists.txt
@@ -0,0 +1,28 @@
+#this is just a basic CMakeLists.txt, for more information see the cmake manpage
+
+cmake_minimum_required(VERSION 2.6)
+
+#add definitions, compiler switches, etc.
+ADD_DEFINITIONS()
+
+#Determine name of the .so module:
+#A module should always be in a modulename.module directory!.
+string(REGEX REPLACE ".*/([^/]*).module$" "\\1" module_name "${CMAKE_CURRENT_BINARY_DIR}")
+MESSAGE(STATUS "Module name of ${CMAKE_CURRENT_BINARY_DIR} is: '${module_name}'")
+
+#automaticly add all sourcefiles to current module
+file(GLOB sources *.cpp)
+ADD_LIBRARY(${module_name} MODULE ${sources})
+
+#need to link to some other libraries ? just add them here
+TARGET_LINK_LIBRARIES(${module_name})
+
+INCLUDE_DIRECTORIES(../..)
+
+#add an install target here
+#INSTALL_FILES(...)
+#INSTALL_PROGRAMS(...)
+#INSTALL_TARGET(...)
+
+
+
diff --git a/modules/mp.module/module.cpp b/modules/mp.module/module.cpp
new file mode 100644
index 0000000..db4c9de
--- /dev/null
+++ b/modules/mp.module/module.cpp
@@ -0,0 +1,89 @@
+/* Copyright 2008,2009,2010 Edwin Eefting (edwin@datux.nl)
+
+ This file is part of Synapse.
+
+ Synapse is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Synapse is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Synapse. If not, see <http://www.gnu.org/licenses/>. */
+
+
+#include "synapse.h"
+#include "cconfig.h"
+#include "clog.h"
+int counter;
+int counterSleep;
+
+SYNAPSE_REGISTER(module_Init)
+{
+ Cmsg out;
+
+ out.clear();
+ out.event="core_ChangeModule";
+ out["maxThreads"]=1;
+ out.send();
+
+ out.clear();
+ out.event="core_ChangeSession";
+ out["maxThreads"]=1;
+ out.send();
+
+ ///tell the rest of the world we are ready for duty
+ out.clear();
+ out.event="core_Ready";
+ out.send();
+
+
+ out.clear();
+
+ out.event="core_LoadModule";
+ out["name"]="play_vlc";
+ out.send();
+
+}
+
+
+SYNAPSE_REGISTER(play_vlc_Ready)
+{
+
+}
+
+SYNAPSE_REGISTER(play_vlc_Ready)
+{
+ playUrl="http://listen.di.fm/public3/chilloutdreams.pls";
+ Cmsg out;
+ out.dst=msg["session"];
+ out.event="play_NewPlayer";
+ out["description"]="second player instance";
+ out.send();
+}
+
+//a new player has emerged
+SYNAPSE_REGISTER(play_Player)
+{
+ Cmsg out;
+ out.dst=msg.src;
+ out.event="play_Open";
+ out["url"]=playUrl;
+ out.send();
+
+
+ playUrl="/home/psy/mp3/01. Experience (1992)/sadfds";
+
+}
+
+
+
+SYNAPSE_REGISTER(play_InfoMeta)
+{
+
+}
+
diff --git a/modules/pl.module/CMakeLists.txt b/modules/pl_dir.module/CMakeLists.txt
index 67121cb..67121cb 100644
--- a/modules/pl.module/CMakeLists.txt
+++ b/modules/pl_dir.module/CMakeLists.txt
diff --git a/modules/pl.module/module.cpp b/modules/pl_dir.module/module.cpp
index 09e115e..4b7ca14 100644
--- a/modules/pl.module/module.cpp
+++ b/modules/pl_dir.module/module.cpp
@@ -39,6 +39,9 @@ This module can dynamicly generate playlists from directory's. It also can cache
#include "boost/filesystem.hpp"
+/** Playlist namespace
+ *
+ */
namespace pl
{
using namespace std;
diff --git a/modules/play_vlc.module/module.cpp b/modules/play_vlc.module/module.cpp
index 1f794ad..6cbfce4 100644
--- a/modules/play_vlc.module/module.cpp
+++ b/modules/play_vlc.module/module.cpp
@@ -15,6 +15,12 @@
You should have received a copy of the GNU General Public License
along with Synapse. If not, see <http://www.gnu.org/licenses/>. */
+/** \file
+VLC player module
+
+This module can play urls and local files.
+
+*/
#include "synapse.h"
#include "cconfig.h"
@@ -28,6 +34,9 @@
#include "boost/bind.hpp"
#include <functional>
+/** VLC player namespace
+ *
+ */
namespace play_vlc
{
@@ -532,8 +541,42 @@ SYNAPSE_REGISTER(play_NewPlayer)
out.send();
}
-/** Open the specified url
- *
+/** Opens and starts playing an url
+ \P url The url or local filename to open.
+
+\BROADCAST play_InfoMeta:
+ Metadata for the current url. (can also be sended while playing, for streams for example)
+
+\BROADCAST play_StateNone:
+ Player has no status.
+
+\BROADCAST play_StateOpening:
+ Player is opening an url
+
+\BROADCAST play_StateBuffering:
+ Player is buffering data
+
+\BROADCAST play_StatePlaying:
+ Player is playing.
+
+\BROADCAST play_StatePaused:
+ Player is paused
+
+\BROADCAST play_StateStopped:
+ Player has stopped
+
+\BROADCAST play_StateEnded:
+ Media has ended
+
+\BROADCAST play_StateError:
+ An error has occured.
+ TOOD: need to fix logging, to show what actually went wrong.
+
+\BROADCAST play_Time:
+ Sended every second with time and position info.
+ \arg \c length total length of media in seconds. (0 for streams)
+ \arg \c time current position of the media, in seconds.
+
*/
SYNAPSE_REGISTER(play_Open)
{
@@ -544,6 +587,9 @@ SYNAPSE_REGISTER(play_Open)
}
+/** Stops playing
+
+*/
SYNAPSE_REGISTER(play_Stop)
{
players[msg.dst].stop();