[gephex-devel] gephex--main--0.4--patch-1856

gephex at sonnenland.kexbox.org gephex at sonnenland.kexbox.org
Sat Mar 5 21:13:26 CET 2005


Archive: gephex at gephex.org--2004
New revision: gephex--main--0.4--patch-1856

--
Revision: gephex--main--0.4--patch-1856
Archive: gephex at gephex.org--2004
Creator: The Gephex Source Archive <gephex at gephex.org>
Date: Sat Mar  5 21:10:53 CET 2005
Standard-date: 2005-03-05 20:10:53 GMT
Modified-files: Makefile.am doc/Makefile.am
    doc/documentation.xml
    qtgui/src/gui/editor/grapheditor.cpp
New-patches: georg at gephex.org--2005-ibook/gephex--macport--0.4--patch-20
    georg at gephex.org--2005-ibook/gephex--macport--0.4--patch-21
    georg at gephex.org--2005-ibook/gephex--macport--0.4--patch-22
    georg at gephex.org--2005-ibook/gephex--macport--0.4--patch-23
    georg at gephex.org--2005-ibook/gephex--macport--0.4--patch-24
    gephex at gephex.org--2004/gephex--main--0.4--patch-1856
Summary: [MERGE-REQUEST] Updated documentation, Improved switching to property view in the grapheditor
Keywords: 

Patches applied:

 * georg at gephex.org--2005-ibook/gephex--macport--0.4--patch-20
   Sync wih main

 * georg at gephex.org--2005-ibook/gephex--macport--0.4--patch-21
   Sync with main

 * georg at gephex.org--2005-ibook/gephex--macport--0.4--patch-22
   Added README.macosx to dist

 * georg at gephex.org--2005-ibook/gephex--macport--0.4--patch-23
   Improved behaviour when left clicking on node widgets

 * georg at gephex.org--2005-ibook/gephex--macport--0.4--patch-24
   Updated documentation (new options, better layout for option description, some small stuff)

* added files

    {arch}/gephex/gephex--macport/gephex--macport--0.4/georg at gephex.org--2005-ibook/patch-log/patch-20
    {arch}/gephex/gephex--macport/gephex--macport--0.4/georg at gephex.org--2005-ibook/patch-log/patch-21
    {arch}/gephex/gephex--macport/gephex--macport--0.4/georg at gephex.org--2005-ibook/patch-log/patch-22
    {arch}/gephex/gephex--macport/gephex--macport--0.4/georg at gephex.org--2005-ibook/patch-log/patch-23
    {arch}/gephex/gephex--macport/gephex--macport--0.4/georg at gephex.org--2005-ibook/patch-log/patch-24
    {arch}/gephex/gephex--main/gephex--main--0.4/gephex at gephex.org--2004/patch-log/patch-1856

* modified files

--- orig/Makefile.am
+++ mod/Makefile.am
@@ -1,3 +1,3 @@
 AUTOMAKE_OPTIONS = 1.6
 SUBDIRS = contrib base build engine types util modules effectvmodules qtgui data examples doc
-EXTRA_DIST = BUGS NEWS README COPYING README.win32 config_h.win32
+EXTRA_DIST = BUGS NEWS README COPYING README.win32 README.macosx config_h.win32


--- orig/doc/Makefile.am
+++ mod/doc/Makefile.am
@@ -33,4 +33,4 @@
 all-local: documentation.html gephex.1 gephex-engine.1 gephex-gui.1
 
 documentation.html: $(srcdir)/documentation.xml  $(srcdir)/module-api*.xml  $(srcdir)/type-api*.xml $(srcdir)/images/*.png
-	if test "x$DBXSLDIR" = "x"; then touch documentation.html; else xsltproc --xinclude --param shade.verbatim 1 -o documentation.html ${DBXSLDIR}/html/docbook.xsl $(srcdir)/documentation.xml; fi
+	if test "x${DBXSLDIR}" = "x"; then touch documentation.html; else xsltproc --xinclude --param shade.verbatim 1 -o documentation.html ${DBXSLDIR}/html/docbook.xsl $(srcdir)/documentation.xml; fi


--- orig/doc/documentation.xml
+++ mod/doc/documentation.xml
@@ -109,19 +109,33 @@
 </para>
   </sect1>
 
-<sect1><title>Security Note</title>
-<para>With the default configuration the GePhex engine listens at the TCP port 6666. The GUI connects to this port to control the engine. There is no authentication necessary to connect to the engine.
-This could be a security hole if used in a hostile environment. Never start this software as root and don't use it in an network that is connected to the internet without protection (e.g. a firewall).</para></sect1>
+  <sect1><title>Security Note</title>
+    <para>
+      With the default configuration the GePhex engine listens at the
+      TCP port 6666. The GUI connects to this port to control the engine.
+      There is no authentication necessary to connect to the engine.
+      This could be a security hole if used in a hostile environment.
+      Never start this software as root and don't use it in an network
+      that is connected to the internet without protection (e.g. a firewall).
+    </para>
+  </sect1>
 
 
-  <sect1><title>GePhex's Components</title>
-<sect2><title>The Engine</title>
-<para>The engine can be started from the console with the <filename>gephex-engine</filename> command.
-The only environment variable that is used is DISPLAY for the output under X11.
-All options are set in the configuration file <filename>~/.gephex/gephex.conf</filename>. If no file exists a default configuration file is created.</para>
+<sect1><title>GePhex's Components</title>
+  <sect2><title>The Engine</title>
+    <para>
+      The engine can be started from the console with the
+      <filename>gephex-engine</filename> command.
+      The only environment variable that is used is
+      <varname>DISPLAY</varname> for the output under X11.
+
+      All options are set in the configuration file
+      <filename>~/.gephex/0.4/gephex.conf</filename>.
+      If this file does not exist, a default configuration file is created.
+    </para>
 
-<para>
-<screen>
+    <para>
+      <screen>
 common {
     media_path           = [/home/tmp/seidel/gphx/share/gephex]
 }
@@ -129,6 +143,7 @@
 engine {
     module_path          = [/home/tmp/seidel/gphx/lib/gephex/modules/]
     type_path            = [/home/tmp/seidel/gphx/lib/gephex/types/]
+    frei0r_path          = [/home/cip/seidel/.frei0r-1/lib/]
     graph_path           = [/home/cip/seidel/.gephex/graphs/]
     ipc_unix_node_prefix = [/tmp/gephex_socket_]
     ipc_type             = [inet]
@@ -138,18 +153,182 @@
 }
 ...
 </screen>
-<varname>media_path</varname> is used for both engine and gui. It is a
-semicolon separated list of directories, which contain media for GePhex
-(i.e. images, videos, fonts, ...).
-<varname>module_path</varname> is the absolute path to the directory with the effect plugins.
-The shared libraries for the types are stored in the <varname>type_path</varname>.
-The <varname>graph_path</varname> variable tells the engine the location of the user created graphs (semicolon separated list of directories).
-The user interface must connect to the engine with a ipc mechanism <varname>ipc_type</varname>.
-You can select between <literal>inet</literal> for a internet-protocol based communication, on Unix platforms <literal>unix</literal> for Unix domain sockets and <literal>namedpipe</literal> for named pipes on win32 systems.
-If engine and GUI run on the same host the usage of non ip based communication is preferred because it has less overhead.
-
-The parameters <literal>ipc_unix_node_prefix</literal> and <literal>ipc_port</literal> must equal to the ones for the gui.
 </para>
+
+<para>
+In the following, a <literal>path</literal> is a semicolon separated
+list of directories, which are searched by the engine in the given
+order.
+</para>
+
+<varname>media_path</varname> is used for both engine and gui. It tells
+the engine and the gui where media (i.e. images, videos, fonts, ...)
+is located.
+
+<table frame="none"><title>Options for gephex-engine</title>
+<tgroup cols="3">
+  <colspec align="left"/>
+  <colspec align="left"/>
+  <colspec align="right"/>
+  <colspec align="right"/>
+  <thead>
+    <row>
+      <entry>Option</entry>
+      <entry>Explanation</entry>
+      <entry>Type</entry>
+      <entry>Optional</entry>
+    </row>
+  </thead>
+  <tbody>
+    <row>
+      <entry><varname>module_path</varname></entry>
+      <entry>
+	tells the engine where to look for gephex effect modules
+      </entry>
+      <entry>string</entry>
+      <entry>no</entry>
+    </row>
+
+    <row>
+      <entry><varname>type_path</varname></entry>
+      <entry>
+	tells the engine where to look for gephex types
+      </entry>
+      <entry>string</entry>
+      <entry>no</entry>
+    </row>
+
+    <row>
+      <entry><varname>frei0r_path</varname></entry>
+      <entry>
+	tells the engine where to look for
+	<ulink url="http://www.piksel.org/Frei0r"> 
+	  <citetitle>frei0r</citetitle></ulink> effects
+      </entry>
+      <entry>string</entry>
+      <entry>yes</entry>
+    </row>
+
+    <row>
+      <entry><varname>graph_path</varname></entry>
+      <entry>
+	<para>
+	  tells the engine the location of the user created graphs.
+	  The first directory in this path is used to store new graphs.
+	</para>
+      </entry>
+      <entry>string</entry>
+      <entry>no</entry>
+    </row>
+
+    <row>
+      <entry><varname>ipc_type</varname></entry>
+      <entry>
+	<para>
+	  tells the engine how to connect to the user interface.
+	  You can select between <literal>inet</literal> for a
+	  internet-protocol based communication, on Unix platforms
+	  <literal>unix</literal> for Unix domain sockets and
+	  <literal>namedpipe</literal> for named pipes on win32 systems.
+	  If engine and GUI run on the same host the usage of non ip based
+	  communication is preferred because it has less overhead.
+	</para>
+      </entry>
+      <entry>string</entry>
+      <entry>no</entry>
+    </row>
+
+    <row>
+      <entry><varname>ipc_unix_node_prefix</varname></entry>
+      <entry>
+	specifies where the unix node (fifo) is created when using
+	<varname>ipc_type</varname> <literal>unix</literal>
+      </entry>
+      <entry>string</entry>
+      <entry>no</entry>
+    </row>
+
+    <row>
+      <entry><varname>ipc_port</varname></entry>
+      <entry>
+	specifies the port number when using
+	<varname>ipc_type</varname> <literal>inet</literal>
+      </entry>
+      <entry>int</entry>
+      <entry>no</entry>
+    </row>
+
+    <row>
+      <entry><varname>renderer_interval</varname></entry>
+      <entry>
+	tells the engine how often the current graph should be
+	updated. It expects the time between updates in milliseconds.
+	A value of 40 is equivalent to 25 updates per second.
+      </entry>
+      <entry>int</entry>
+      <entry>no</entry>
+    </row>
+
+    <row>
+      <entry><varname>net_interval</varname></entry>
+      <entry>
+	tells the engine how often to read commands from the user
+	interface.It expects the time between reads in milliseconds. 
+      </entry>
+      <entry>int</entry>
+      <entry>no</entry>
+    </row>
+
+    <row>
+      <entry><varname>headless</varname></entry>
+      <entry>
+	if set, the engine loads all available modules automatically
+      </entry>
+      <entry>bool</entry>
+      <entry>yes</entry>
+    </row>
+
+    <row>
+      <entry><varname>autostart</varname></entry>
+      <entry>
+	if set, the engine automatically starts the update loop
+      </entry>
+      <entry>bool</entry>
+      <entry>yes</entry>
+    </row>
+    
+    <row>
+      <entry><varname>render_graph_id</varname></entry>
+      <entry>
+	the id of the graph that should be loaded at the beginning
+      </entry>
+      <entry>string</entry>
+      <entry>yes</entry>
+    </row>
+
+    <row>
+      <entry><varname>render_snap_id</varname></entry>
+      <entry>
+	the id of the snapshot that should be loaded at the beginning
+      </entry>
+      <entry>string</entry>
+      <entry>yes</entry>
+    </row>
+
+    <row>
+      <entry><varname>ttl</varname></entry>
+      <entry>
+	time to live: if the value is not 0, the engine terminates
+	itself after <varname>ttl</varname> update cycles
+      </entry>
+      <entry>int</entry>
+      <entry>yes</entry>
+    </row>
+
+  </tbody>
+  </tgroup>
+</table>
+
 <para>
 All options that can be set in the config file can be overridden from the
 command line. For example
@@ -158,13 +337,43 @@
 </screen>
 overrides the value of the option <varname>ipc_port</varname>.
 </para>
+
+<para>
+  The <literal>--help</literal> option shows a list of available parameters
+  with a short help text.
+  <screen>
+    > gephex-engine --help
+                  welcome to...
+       ---             _           ---
+    ----              | |            ----
+  ----   __ _ ___ _ __| |  ___ _  __  ----
+ -----  / _' | - \ '_ \ |_/ - \ \/ /  -----
+------ | (_| | --/ |_) |  \ --/&gt;  &lt;   ------
+ -----  \__. | \_| .__/ |' |\_/ /\ \  -----
+  ----   ._' |\__/ |  |_||_|__//  \_| ----
+   ----  |__/    |_|                 ----
+      ---                          ---
+
+[version:    "0.4.3"]
+[build time: "Mar  5 2005 - 00:13:18"]
+Usage: /Users/georg/gphx//bin/gephex-engine-real [options]
+The allowed options are:
+  --media_path  List of directories that contain videos, images and fonts (separated by ';')
+...
+  </screen>
+</para>
+
 </sect2>
 
 <sect2><title>The GUI (graphical user interface)</title>
 <para>
 The gui can be started on the console with the <filename>gephex-gui</filename> command.
-At the moment there are no command-line options and environment variables that influence the behavior.
-All options are set in the configuration file <filename>~/.gephex/gephex.conf</filename>. If no file exists a default configuration file is created.</para>
+There are two environment variablse that influence the guis behaviour,
+see the note at the end of the section.
+All options are set in the configuration file
+<filename>~/.gephex/0.4/gephex.conf</filename>.
+If this file does not exist a default configuration file is created.
+</para>
 
 <para>
 <screen>
@@ -182,15 +391,81 @@
     engine_binary        = [/home/tmp/seidel/gphx/bin/gephex-engine]
 }
 </screen>
+</para>
+
+<para>
 <varname>media_path</varname> is used for both engine and gui. It is a
 semicolon separated list of directories, which contain media for GePhex
 (i.e. images, videos, fonts, ...).
-The user interface must connect to the engine with a ipc mechanism <varname>ipc_type</varname>.
-You can select between <literal>inet</literal> for a internet-protocol based communication, on Unix platforms <literal>unix</literal> for Unix domain sockets and <literal>namedpipe</literal> for named pipes on win32 systems.
-If engine and GUI run on the same host the usage of non ip based communication is preferred because it has less overhead.
-The parameters <literal>ipc_unix_node_prefix</literal>, <literal>ipc_namedpipe_servername</literal>, and <literal>ipc_port</literal> must equal to the ones in for the engine.
-<varname>engine_binary</varname> is the full path of the engine executable. It is used to spawn a engine process if necessary.
 </para>
+
+<table frame="none"><title>Options for gephex-gui</title>
+<tgroup cols="3">
+  <colspec align="left"/>
+  <colspec align="left"/>
+  <colspec align="right"/>
+  <colspec align="right"/>
+  <thead>
+    <row>
+      <entry>Option</entry>
+      <entry>Explanation</entry>
+      <entry>Type</entry>
+      <entry>Optional</entry>
+    </row>
+  </thead>
+  <tbody>
+
+    <row>
+      <entry><varname>ipc_type</varname></entry>
+      <entry>
+	<para>
+	  tells the engine how to connect to the user interface.
+	  You can select between <literal>inet</literal> for a
+	  internet-protocol based communication, on Unix platforms
+	  <literal>unix</literal> for Unix domain sockets and
+	  <literal>namedpipe</literal> for named pipes on win32 systems.
+	  If engine and GUI run on the same host the usage of non ip based
+	  communication is preferred because it has less overhead.
+	</para>
+      </entry>
+      <entry>string</entry>
+      <entry>no</entry>
+    </row>
+
+    <row>
+      <entry><varname>ipc_unix_node_prefix</varname></entry>
+      <entry>
+	specifies where the unix node (fifo) is created when using
+	<varname>ipc_type</varname> <literal>unix</literal>
+      </entry>
+      <entry>string</entry>
+      <entry>no</entry>
+    </row>
+
+    <row>
+      <entry><varname>ipc_port</varname></entry>
+      <entry>
+	specifies where the number when using
+	<varname>ipc_type</varname> <literal>inet</literal>
+      </entry>
+      <entry>int</entry>
+      <entry>no</entry>
+    </row>
+
+    <row>
+      <entry><varname>engine_binary</varname></entry>
+      <entry>
+	the full path of the engine executable.
+	It is used to spawn a engine process if necessary.
+      </entry>
+      <entry>string</entry>
+      <entry>no</entry>
+    </row>
+
+  </tbody>
+</tgroup>
+</table>
+
 <para>
 All options that can be set in the config file can be overridden from the
 command line. For example
@@ -199,6 +474,19 @@
 </screen>
 overrides the value of the option <varname>media_path</varname>.
 </para>
+
+<para>
+  The <literal>--help</literal> option shows a list of available parameters
+  with a short help text.
+  <screen>
+    > gephex-gui --help
+Usage: /Users/georg/gphx//bin/gephex-gui-real [options]
+The allowed options are:
+  --media_path  List of directories that contain videos, images and fonts (separated by ';')
+...
+  </screen>
+</para>
+
 </sect2>
 
 <sect2><title>The GePhex Script</title>
@@ -413,8 +701,8 @@
     At this point you can choose the location where the software should be
     installed. Some special options to include/exclude features can
     also be activated here.
-    E.g. if you have a recent x86 processor you could enable the faster MMX
-    implementation for some modules.
+    Normally it is not necessary to use any special parameters because
+    everything is checked automatically by the configure script.
   </para>
   <para>
     To see the available options you can use the
@@ -429,21 +717,38 @@
 ...
 Optional Features:
 ...
-  --enable-mmx            Turn on MMX support. Still runs on x86 that don't
-                          have MMX!
+  --enable-mmx            Turn on MMX support (still runs on x86 that don't
+                          have MMX) [default=yes]
   --enable-serialize-framebuffer
                           Serialize the framebuffer type (for previews in the
-                          gui).
+                          gui) [default=no]
 
  Optional Packages:
 ...
+
+  --with-SDL_IMAGE        Turn on SDL_IMAGE support (default=yes).
+  --with-SDL_TTF          Turn on SDL_TTF support (default=yes).
+  --with-AVIFILE          Turn on AVIFILE support (default=no).
+  --with-MPEG3            Turn on MPEG3 support (default=no).
+  --with-LIBPNG           Turn on LIBPNG support (default=no).
+  --with-AALIB            Turn on AALIB support (default=yes).
+  --with-ASOUNDLIB        Turn on ASOUNDLIB support (default=yes).
+  --with-V4L              Turn on V4L support (default=yes).
+  --with-OSS              Turn on OSS support (default=yes).
+  --with-LINUX_JOYSTICK   Turn on LINUX_JOYSTICK support (default=yes).
+  --with-FFMPEG           Turn on FFMPEG support (default=yes).
+
+Some influential environment variables:
+...
+  FRBINCACHE  The size of the cache of the image source module in MB
+...
     </screen>
   </para>
 
   <para>
     So let's do the actual configuration:
     <screen>
-bash at host:~/GePhex$ ./configure --enable-mmx --with-v4l --prefix=/usr
+bash at host:~/GePhex$ ./configure --prefix=/usr
 checking for a BSD-compatible install... /usr/bin/install -c
 checking whether build environment is sane... yes
 checking for gawk... gawk
@@ -473,7 +778,8 @@
   <para>
     The following command installs the software on your system.
     The two binaries for the user interface <filename>gephex-gui</filename>
-    and the rendering engine <filename>gephex-engine</filename> will be
+    and the rendering engine <filename>gephex-engine</filename> and
+    the gephex wrapper script <filename>gephex</filename> will be
     installed in the <filename>PREFIX/bin</filename> directory and the
     location of the plugins is in <filename>PREFIX/lib/gephex</filename>.
     <screen>


--- orig/qtgui/src/gui/editor/grapheditor.cpp
+++ mod/qtgui/src/gui/editor/grapheditor.cpp
@@ -485,10 +485,8 @@
       }
   }
 
-  void GraphEditor::nodeWidgetClicked(NodeWidget* n)
+  void GraphEditor::nodeWidgetClicked(NodeWidget* /*n*/)
   {
-    emit displayProperties(n->getProperties());
-    m_property_id = n->getID();
   }
 
   void GraphEditor::nodeWidgetMoved(NodeWidget* n, const QPoint& pos)
@@ -503,12 +501,17 @@
     try
       {
         m_controller->moveModule(n->getID(),Point(p.x(),p.y()));
-        //emit properties(n->getProperties());
       }
     catch (std::exception& err)
       {
 	m_log.error(err.what() );
       }
+
+    if (m_property_id != n->getID())
+      {
+	emit displayProperties(n->getProperties());
+	m_property_id = n->getID();
+      }
   }
 
   void GraphEditor::openPopup(InputPlugWidget* in)
@@ -578,10 +581,11 @@
 	}
 	break;
       case NODEWIDGET_PROPERTIES:
-	{
-	  emit displayProperties(currentNode->getProperties());
-          m_property_id = currentNode->getID();
-	}
+	if (m_property_id != currentNode->getID())
+	  {
+	    emit displayProperties(currentNode->getProperties());
+	    m_property_id = currentNode->getID();
+	  }
 	break;
       case NODEWIDGET_INTERNALS:
 	{



More information about the gephex-devel mailing list