gnomemm r2136 - in gstreamermm-plugins-good: . branches tags trunk trunk/build_shared trunk/docs trunk/docs/reference trunk/examples trunk/gstreamer-plugins-good trunk/gstreamer-plugins-good/gstreamermm-plugins-good trunk/gstreamer-plugins-good/gstreamermm-plugins-good/private trunk/gstreamer-plugins-good/src trunk/scripts trunk/tests trunk/tools trunk/tools/extra_defs_gen trunk/tools/m4



Author: jaalburqu
Date: Mon Mar 30 04:18:48 2009
New Revision: 2136
URL: http://svn.gnome.org/viewvc/gnomemm?rev=2136&view=rev

Log:
Initial check-in of gstreamermm-plugins-good.

Added:
   gstreamermm-plugins-good/
   gstreamermm-plugins-good/branches/
   gstreamermm-plugins-good/tags/
   gstreamermm-plugins-good/trunk/
   gstreamermm-plugins-good/trunk/AUTHORS
   gstreamermm-plugins-good/trunk/COPYING
   gstreamermm-plugins-good/trunk/COPYING.examples
   gstreamermm-plugins-good/trunk/COPYING.tools
   gstreamermm-plugins-good/trunk/ChangeLog
   gstreamermm-plugins-good/trunk/INSTALL
   gstreamermm-plugins-good/trunk/MAINTAINERS
   gstreamermm-plugins-good/trunk/Makefile.am
   gstreamermm-plugins-good/trunk/NEWS
   gstreamermm-plugins-good/trunk/README
   gstreamermm-plugins-good/trunk/autogen.sh   (contents, props changed)
   gstreamermm-plugins-good/trunk/build_shared/
   gstreamermm-plugins-good/trunk/build_shared/Makefile_build.am_fragment
   gstreamermm-plugins-good/trunk/build_shared/Makefile_build_gensrc.am_fragment
   gstreamermm-plugins-good/trunk/build_shared/Makefile_conditional.am_fragment
   gstreamermm-plugins-good/trunk/build_shared/Makefile_gensrc.am_fragment
   gstreamermm-plugins-good/trunk/config.h.in
   gstreamermm-plugins-good/trunk/configure.ac
   gstreamermm-plugins-good/trunk/docs/
   gstreamermm-plugins-good/trunk/docs/Makefile.am
   gstreamermm-plugins-good/trunk/docs/reference/
   gstreamermm-plugins-good/trunk/docs/reference/Doxyfile.in
   gstreamermm-plugins-good/trunk/docs/reference/Makefile.am
   gstreamermm-plugins-good/trunk/examples/
   gstreamermm-plugins-good/trunk/examples/Makefile.am
   gstreamermm-plugins-good/trunk/examples/Makefile.am_fragment
   gstreamermm-plugins-good/trunk/examples/README
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/Makefile.am
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/README
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good/
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good-0.10.pc.in
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good-config.h.in
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good.h
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good/Makefile.am
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good/init.cc
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good/init.h
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good/private/
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good/private/Makefile.am
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good/wrap_init.h
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/Makefile.am
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/Makefile_list_of_hg.am_fragment
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/generate-extra-defs.sh   (contents, props changed)
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst.defs
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst_docs.xml
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst_docs_override.xml
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst_enums.defs
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst_methods.defs
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst_others.defs
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst_signals.defs
   gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst_vfuncs.defs
   gstreamermm-plugins-good/trunk/scripts/
   gstreamermm-plugins-good/trunk/scripts/Makefile.am
   gstreamermm-plugins-good/trunk/scripts/README
   gstreamermm-plugins-good/trunk/scripts/c_std.m4
   gstreamermm-plugins-good/trunk/scripts/cxx.m4
   gstreamermm-plugins-good/trunk/scripts/cxx_std.m4
   gstreamermm-plugins-good/trunk/scripts/dk-warn.m4
   gstreamermm-plugins-good/trunk/scripts/docgen.m4
   gstreamermm-plugins-good/trunk/scripts/glibmm_check_perl.m4
   gstreamermm-plugins-good/trunk/scripts/macros.m4
   gstreamermm-plugins-good/trunk/scripts/reduced.m4
   gstreamermm-plugins-good/trunk/scripts/sun.m4
   gstreamermm-plugins-good/trunk/tests/
   gstreamermm-plugins-good/trunk/tests/Makefile.am
   gstreamermm-plugins-good/trunk/tools/
   gstreamermm-plugins-good/trunk/tools/Makefile.am
   gstreamermm-plugins-good/trunk/tools/Makefile_list_of_sources.am_fragment
   gstreamermm-plugins-good/trunk/tools/README
   gstreamermm-plugins-good/trunk/tools/TODO
   gstreamermm-plugins-good/trunk/tools/extra_defs_gen/
   gstreamermm-plugins-good/trunk/tools/extra_defs_gen/Makefile.am
   gstreamermm-plugins-good/trunk/tools/extra_defs_gen/generate_defs_gst.cc
   gstreamermm-plugins-good/trunk/tools/generate_wrap_init.pl.in
   gstreamermm-plugins-good/trunk/tools/m4/
   gstreamermm-plugins-good/trunk/tools/m4/Makefile.am
   gstreamermm-plugins-good/trunk/tools/m4/Makefile_list_of_sources.am_fragment
   gstreamermm-plugins-good/trunk/tools/m4/convert.m4
   gstreamermm-plugins-good/trunk/tools/m4/ctocpp.m4

Added: gstreamermm-plugins-good/trunk/AUTHORS
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/AUTHORS	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,7 @@
+Please use the mailing list (gtkmm-list gnome org) instead of emailing
+developers directly.  See the ChangeLog for up-to-date information.
+
+Josà Alburquerque <jaalburqu svn gnome org>
+Murray Cumming <murrayc murrayc com>
+
+Some former contributors:

Added: gstreamermm-plugins-good/trunk/COPYING
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/COPYING	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,515 @@
+
+                  GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations
+below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+^L
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it
+becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+^L
+                  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control
+compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+^L
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+^L
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+^L
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+^L
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply, and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License
+may add an explicit geographical distribution limitation excluding those
+countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+^L
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                            NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+^L
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms
+of the ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.
+It is safest to attach them to the start of each source file to most
+effectively convey the exclusion of warranty; and each file should
+have at least the "copyright" line and a pointer to where the full
+notice is found.
+
+
+    <one line to give the library's name and a brief idea of what it
+does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library 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
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
+
+Also add information on how to contact you by electronic and paper
+mail.
+
+You should also get your employer (if you work as a programmer) or
+your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James
+Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+

Added: gstreamermm-plugins-good/trunk/COPYING.examples
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/COPYING.examples	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,339 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program 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 2 of the License, or
+    (at your option) any later version.
+
+    This program 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 this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.

Added: gstreamermm-plugins-good/trunk/COPYING.tools
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/COPYING.tools	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,339 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program 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 2 of the License, or
+    (at your option) any later version.
+
+    This program 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 this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.

Added: gstreamermm-plugins-good/trunk/INSTALL
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/INSTALL	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,236 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
+2006, 2007 Free Software Foundation, Inc.
+
+This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+
+Basic Installation
+==================
+
+Briefly, the shell commands `./configure; make; make install' should
+configure, build, and install this package.  The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+   It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring.  Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+   The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'.  You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
+
+The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.
+
+     Running `configure' might take a while.  While running, it prints
+     some messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Optionally, type `make check' to run any self-tests that come with
+     the package.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.
+
+  5. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+  6. Often, you can also type `make uninstall' to remove the installed
+     files again.
+
+Compilers and Options
+=====================
+
+Some systems require unusual options for compilation or linking that the
+`configure' script does not know about.  Run `./configure --help' for
+details on some of the pertinent environment variables.
+
+   You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here
+is an example:
+
+     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+   *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you can use GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+   With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory.  After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
+
+Installation Names
+==================
+
+By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc.  You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+There may be some features `configure' cannot figure out automatically,
+but needs to determine by the type of machine the package will run on.
+Usually, assuming the package is built to be run on the _same_
+architectures, `configure' can figure that out, but if it prints a
+message saying it cannot guess the machine type, give it the
+`--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+     CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+     OS KERNEL-OS
+
+   See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+   If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+   If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+If you want to set default values for `configure' scripts to share, you
+can create a site shell script called `config.site' that gives default
+values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+Variables not defined in a site shell script can be set in the
+environment passed to `configure'.  However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost.  In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'.  For example:
+
+     ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+an Autoconf bug.  Until the bug is fixed you can use this workaround:
+
+     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+`configure' Invocation
+======================
+
+`configure' recognizes the following options to control how it operates.
+
+`--help'
+`-h'
+     Print a summary of the options to `configure', and exit.
+
+`--version'
+`-V'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`--cache-file=FILE'
+     Enable the cache: use and save the results of the tests in FILE,
+     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     disable caching.
+
+`--config-cache'
+`-C'
+     Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.  To
+     suppress all normal output, redirect it to `/dev/null' (any error
+     messages will still be shown).
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`configure' also accepts some other, not widely useful, options.  Run
+`configure --help' for more details.

Added: gstreamermm-plugins-good/trunk/MAINTAINERS
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/MAINTAINERS	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,8 @@
+Please use the mailing list (gtkmm-list gnome org) instead of emailing
+developers directly.
+
+Josà Alburquerque
+E-mail: jaalburqu svn gnome org
+
+Murray Cumming
+E-mail: murrayc murrayc com

Added: gstreamermm-plugins-good/trunk/Makefile.am
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/Makefile.am	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,42 @@
+
+SUBDIRS=tools gstreamer-plugins-good @EXAMPLE_SUBDIR@ tests @DEMO_SUBDIR@ \
+	@DOCS_SUBDIR@
+
+DIST_SUBDIRS=$(SUBDIRS) scripts
+
+EXTRA_DIST= build_shared/Makefile_build.am_fragment \
+              build_shared/Makefile_build_gensrc.am_fragment \
+              build_shared/Makefile_gensrc.am_fragment \
+              build_shared/Makefile_conditional.am_fragment \
+              autogen.sh \
+	      COPYING.examples COPYING.tools
+
+
+all-local:
+	@echo "*** Everything completed ***"
+
+dist-hook:
+	@echo; echo; \
+	echo "**********************************************************"; \
+	echo "* IMPORTANT NOTICE:                                      *"; \
+	echo "*                                                        *"; \
+	echo "* Be sure you have done a complete build before running  *"; \
+	echo "* 'make dist' or 'make distcheck', because otherwise     *"; \
+	echo "* the tarball will _not_ contain the dependency rules    *"; \
+	echo "* generated by the compiler.                             *"; \
+	echo "**********************************************************"; \
+	echo; echo
+
+
+#include $(top_srcdir)/docs/Makefile_web.am_fragment
+
+doc-clean-recursive:
+	(cd docs && $(MAKE) $(AM_MAKEFLAGS) doc-clean)
+
+doc-clean: doc-clean-recursive
+
+doc-rebuild:
+	(cd docs && $(MAKE) $(AM_MAKEFLAGS) doc-rebuild)
+
+.PHONY: doc-clean doc-clean-recursive doc-rebuild
+

Added: gstreamermm-plugins-good/trunk/NEWS
==============================================================================

Added: gstreamermm-plugins-good/trunk/README
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/README	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,29 @@
+General Information
+===================
+
+gstreamermm-plugins-good provides C++ bindings for the GStreamer good plug-ins.
+It relies on gstreamermm for some of the base classes that the good plug-ins
+derive from, and it provides C++ bindings for the GStreamer good plugins.
+
+gstreamermm-plugins-good is developed over glibmm, libsigc++ and libxml++ and the functionalities they provide.  This means that, among other things, referencing and unreferencing of GObjects is handled automatically via glibmm's automatic
+pointer class, Glib:RefPtr<>, and libsigc++'s slots are used for callbacks and
+signals.  gstreamermm includes examples of how to use the API.
+
+gstreamermm-plugins-good requires gstreamermm along with the libraries that it requires and that the GStreamer good plug-ins be installed.
+
+svn:
+  svn.gnome.org/gnomemm/gstreamermm-plugins-good/trunk/
+  http://svn.gnome.org/viewvc/gnomemm/gstreamermm-plugins-good/trunk/
+  (It's in jhbuild)
+download:
+  http://ftp.gnome.org/pub/GNOME/sources/gstreamermm-plugins-good/
+submit bugs: 
+  http://bugzilla.gnome.org/enter_bug.cgi?product=gnomemm&component=gstreamermm-plugins-good
+view bugs:
+  http://bugzilla.gnome.org/buglist.cgi?query=component%3Agstreamermm-plugins-good+product%3Agnomemm+
+
+
+Installation
+============
+
+See the 'INSTALL' file.

Added: gstreamermm-plugins-good/trunk/autogen.sh
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/autogen.sh	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,59 @@
+#!/bin/sh
+MAKE=`which gnumake`
+if test ! -x "$MAKE" ; then MAKE=`which gmake` ; fi
+if test ! -x "$MAKE" ; then MAKE=`which make` ; fi
+HAVE_GNU_MAKE=`$MAKE --version|grep -c "Free Software Foundation"`
+
+if test "$HAVE_GNU_MAKE" != "1"; then 
+echo !!!! ERROR: You need GNU make to build from svn!; 
+echo !!!! $MAKE is not GNU make;
+exit 1; 
+fi
+
+echo Found GNU Make at $MAKE ... good.
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+PKG_NAME="gstreamermm-plugins-good"
+
+(test -f $srcdir/configure.ac \
+  && test -d $srcdir/gstreamer-plugins-good/src \
+  && test -d $srcdir/gstreamer-plugins-good/gstreamermm-plugins-good) || {
+    echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
+    echo " top-level $PKG_NAME directory"
+    exit 1
+}
+
+
+
+echo "Adding libtools."
+libtoolize --automake
+
+echo "Building macros."
+aclocal -I scripts $ACLOCAL_FLAGS
+
+#echo "Building config header."
+#autoheader
+
+echo "Building makefiles."
+automake   --add-missing
+
+echo "Building configure."
+autoconf
+
+rm -f config.cache
+
+if test -z "$AUTOGEN_SUBDIR_MODE"; then
+
+    echo "Running configure."
+    ./configure --enable-maintainer-mode "$@"
+    echo
+    echo 'run "make"'
+    echo
+else
+    echo
+    echo 'run "./configure ; make"'
+    echo
+fi
+

Added: gstreamermm-plugins-good/trunk/build_shared/Makefile_build.am_fragment
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/build_shared/Makefile_build.am_fragment	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,58 @@
+## Copyright (c) 2009
+## The gstreamermm development team.
+##
+## **** Common rules for inclusion in Makefile.am ****
+## Included by Makefile_build_gensrc.am_fragment
+##
+
+include $(srcdir)/../src/Makefile_list_of_hg.am_fragment
+
+# Support for DLL on mingw using libtool > 1.4
+# When creating DLLs on win32, we need to explicitly add a few extra
+# libraries at link time to resolve symbols (remember a dll is like an
+# executable).
+if PLATFORM_WIN32
+no_undefined = -no-undefined -Wl,--export-all-symbols
+win32_dlls_extra_libs = $(sublib_win32_dlls_libs)
+else
+no_undefined =
+win32_dlls_extra_libs =
+endif
+
+common_ldflags	= -version-info $(sublib_libversion) $(no_undefined)
+
+# All modules can include all other modules,
+# for instance, so that gdkmm can use headers in pangomm.
+all_includes	= -I$(top_builddir)/$(sublib_topdir) \
+		  -I$(top_srcdir)/$(sublib_topdir) \
+		  -I$(top_builddir)/gstreamer-plugins-good \
+		  -I$(top_srcdir)/gstreamer-plugins-good $(sublib_cflags)
+
+dist_sources	= $(files_all_built_cc) $(files_all_extra_cc) \
+		  $(files_all_built_h) $(files_all_extra_h) \
+		  $(files_all_plugin_built_cc) $(files_all_plugin_built_h)
+
+dist_patches 	= $(files_patched_h:.h=.h.patch)
+
+DISTFILES	= $(DIST_COMMON) $(dist_sources) $(dist_patches) $(TEXINFOS) \
+		  $(EXTRA_DIST)
+
+
+DEFS = @DEFS@ -DG_LOG_DOMAIN=\"$(sublib_name)\"
+DEFAULT_INCLUDES	=
+
+# DISABLE_DEPRECATED_CFLAGS is empty unless --enable-deprecated is specified to configure:
+INCLUDES = $(strip $(all_includes)) $(GSTREAMERMM_PLUGINS_GOOD_WARNING_FLAGS) \
+	   $(DISABLE_DEPRECATED_CFLAGS)
+
+EXTRA_HEADERS = $(files_all_plugin_built_h)
+
+sublib_includedir	= $(includedir)/$(sublib_libname)/$(sublib_name)
+sublib_include_HEADERS	= $(files_all_built_h) $(files_all_extra_h)
+
+EXTRA_sublib_includedir	= $(includedir)/$(sublib_libname)/$(sublib_name)
+EXTRA_sublib_include_HEADERS	= $(files_existing_plugin_built_h)
+
+maintainer-clean-local:
+	(cd $(srcdir) && rm -f $(files_all_built_cc) $(files_all_built_h) \
+		$(files_all_plugin_built_cc) $(files_all_plugin_built_h))

Added: gstreamermm-plugins-good/trunk/build_shared/Makefile_build_gensrc.am_fragment
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/build_shared/Makefile_build_gensrc.am_fragment	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,94 @@
+## Copyright (c) 2009
+## The gstreamermm development team.
+##
+## Included by src/Makefile_list_of_hg.am_fragment
+##
+## This Makefile.am helper transforms lists of source files that are
+## specific to a sublibrary (atkmm, pangomm, gdkmm or gtkmm) into more
+## generic lists. These lists of files are processed by the automake
+## rules contained in Makefile_build.am_fragment (sublib/sublibmm
+## directory) and Makefile_gensrc.am_fragment (sublib/src directory).
+## 
+## The input variables are:
+## 	* defined in sublib/src/Makefile_list_of_hg.am_fragment:
+##		files_posix_hg, files_win32_hg, files_general_hg,
+##		files_general_deprecated_hg.
+##	* defined sublib/sublibmm/Makefile.am:
+##		sublib_files_extra_posix_[cc|h],
+##		sublib_files_extra_win32_[cc|h],
+##		sublib_files_extra_general_[cc|h],
+##		sublib_files_extra_general_deprecated_[cc|h]
+##
+## The output variables are:
+##	files_all_hg: all .hg files (general, all platforms, deprecated)
+##	files_hg: general and platform-specific .hg files
+##	files_built_cc, files_built_h: generated source files that
+##		will be compiled on the target platform 
+##		+ corresponding headers.
+##	files_all_built_cc, files_all_built_h: all generated source
+##		files + corresponding headers.
+##	files_extra_cc, files_extra_h : general and platform-specific
+##		source files and corresponding headers
+##	files_all_extra_cc, files_all_extra_h: all extra source files
+##		and corresponding headers.
+##		 !!! deprecated files not included !!! 
+
+# Built files
+
+files_all_hg = \
+	$(files_posix_hg) \
+	$(files_win32_hg) \
+	$(files_general_hg) \
+	$(files_general_deprecated_hg)
+
+if OS_WIN32
+files_hg = $(files_general_hg) $(files_win32_hg) $(files_general_deprecated_hg)
+else
+files_hg = $(files_general_hg) $(files_posix_hg) $(files_general_deprecated_hg)
+endif
+
+files_built_cc = $(files_hg:.hg=.cc) wrap_init.cc
+files_built_h = $(files_hg:.hg=.h)
+
+files_patched_h = $(files_patched_hg:.hg=.h)
+
+files_all_built_cc = $(files_all_hg:.hg=.cc) wrap_init.cc
+files_all_built_h = $(files_all_hg:.hg=.h)
+
+files_all_plugin_built_cc = $(files_all_plugin_hg:.hg=.cc)
+files_all_plugin_built_h = $(files_all_plugin_hg:.hg=.h)
+files_existing_plugin_built_cc = $(files_existing_plugin_hg:.hg=.cc)
+files_existing_plugin_built_h = $(files_existing_plugin_hg:.hg=.h)
+files_existing_plugin_built_lo = $(files_existing_plugin_hg:.hg=.lo)
+
+# Extra files
+
+files_all_extra_cc = \
+	$(sublib_files_extra_posix_cc) \
+	$(sublib_files_extra_win32_cc) \
+	$(sublib_files_extra_general_cc) \
+	$(sublib_files_extra_general_deprecated_cc)
+
+files_all_extra_h = \
+	$(sublib_files_extra_posix_h) \
+	$(sublib_files_extra_win32_h) \
+	$(sublib_files_extra_general_h) \
+	$(sublib_files_extra_general_deprecated_h)
+files_all_extra_h += wrap_init.h
+
+if OS_WIN32
+files_extra_cc = \
+	$(sublib_files_extra_win32_cc) \
+	$(sublib_files_extra_general_cc)
+files_extra_h = \
+	$(sublib_files_extra_win32_h) \
+	$(sublib_files_extra_general_h)
+else
+files_extra_cc = \
+	$(sublib_files_extra_posix_cc) \
+	$(sublib_files_extra_general_cc)
+files_extra_h = \
+	$(sublib_files_extra_posix_h) \
+	$(sublib_files_extra_general_h)
+endif
+files_extra_h += wrap_init.h

Added: gstreamermm-plugins-good/trunk/build_shared/Makefile_conditional.am_fragment
==============================================================================

Added: gstreamermm-plugins-good/trunk/build_shared/Makefile_gensrc.am_fragment
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/build_shared/Makefile_gensrc.am_fragment	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,159 @@
+## Copyright (c) 2009
+## The gstreamermm development team.
+##
+## **** Common rules for inclusion in Makefile.am ****
+## Included from something/src/Makefile.am
+##
+## Used variable:	Example content:
+##
+## sublib_name		= gdkmm
+## sublib_namespace     = Gdk
+
+## files_defs		= gdk.defs gdk_pixbuf.defs
+
+tools_dir	= $(top_srcdir)/tools
+tools_dir_m4= $(top_srcdir)/tools/m4
+tools_dir_pm= $(top_srcdir)/tools/pm
+
+gensrc_destdir = $(srcdir)/../$(sublib_name)
+stamp_dir = $(srcdir)/.stamps
+stamp_plugin_dir = $(builddir)/.stamps
+destdir_stamp_dir = $(gensrc_destdir)/.stamps
+
+include $(tools_dir)/Makefile_list_of_sources.am_fragment
+tools_m4	= $(files_tools_m4:%.m4=$(tools_dir_m4)/%.m4)
+tools_plugin_m4	= $(files_tools_plugin_m4:%.m4=$(tools_dir_m4)/%.m4)
+# tools_pm	= $(files_tools_pm:%.pm=$(tools_dir_pm)/%.pm)
+
+include $(srcdir)/../src/Makefile_list_of_hg.am_fragment
+files_all_ccg	= $(files_all_hg:%.hg=%.ccg)
+files_all_plugin_ccg = $(files_all_plugin_hg:%.hg=%.ccg)
+files_h		= $(files_all_hg:%.hg=$(gensrc_destdir)/%.h)
+files_stamp	= $(files_all_hg:%.hg=$(stamp_dir)/stamp-%)
+files_stamp_plugin = $(cppnames_plugin_all:%=$(stamp_plugin_dir)/stamp-%-plugin)
+destdir_files_stamp = $(files_patched_hg:%.hg=$(destdir_stamp_dir)/stamp-%)
+
+#Installed gmmproc stuff, from glibmm:
+gmmproc_path = $(GMMPROC)
+gmmproc_dir = $(GMMPROC_DIR)
+
+# We use our own m4 and pm files as well as the ones installed by gtkmm:
+# Our override m4 include seems to need to be before the default one.
+gmmproc_args	= -I $(tools_dir_m4) -I $(GSTREAMERMM_M4_DIR) --defs $(srcdir)
+run_gmmproc	= $(gmmproc_path) $(gmmproc_args)
+
+# The normal Glib::wrap() table initialization:
+gen_wrap_init_in = $(tools_dir)/generate_wrap_init.pl.in
+gen_wrap_init_path = $(tools_dir)/generate_wrap_init.pl
+gen_wrap_init_args = --namespace=$(sublib_namespace) --parent_dir=$(sublib_parentdir)
+run_gen_wrap_init  = $(PERL_PATH) $(gen_wrap_init_path) $(gen_wrap_init_args)
+
+# The generate_plugin_gmmproc_file utility (from gstreamermm)
+generate_plugin_gmmproc_file_path = $(GENERATE_PLUGIN_GMMPROC_FILE)
+generate_plugin_gmmproc_file_args = --namespace=$(sublib_namespace) --main-defs=$(main_defs) --target=$(sublib_parentdir)
+run_generate_plugin_gmmproc_file = $(generate_plugin_gmmproc_file_path) $(generate_plugin_gmmproc_file_args)
+
+files_all_plugin_hg_with_path = $(patsubst %.hg,$(srcdir)/%.hg,\
+				$(files_all_plugin_hg))
+files_all_plugin_camel_hg_with_path = $(patsubst %,$(stamp_plugin_dir)/%.hg,\
+				      $(cppnames_plugin_all))
+
+
+EXTRA_DIST	= Makefile_list_of_hg.am_fragment $(files_defs) \
+		  $(files_all_hg) $(files_all_ccg) $(files_all_plugin_hg) \
+		  $(files_all_plugin_ccg)
+
+
+if MAINTAINER_MODE
+generate_plugin_dep = $(generate_plugin_gmmproc_file_path)
+endif
+
+# The source file from which the license header may be extracted and placed in
+# plug-in generated .hg and .ccg files (use a file that probably will not
+# change because it will be a plug-in generation dependency):
+license_header_source_file = $(gensrc_destdir)/init.h
+
+# This is to generate plugin .hg files.  The generated .hg file s piped through
+# m4 using the macros in tools/m4/ctocpp_base.m4 which then produces the final
+# .hg file.  Finally, the camel hg file is linked to the final .hg file to
+# signal the successful generation of the .hg file.
+$(files_all_plugin_camel_hg_with_path): $(generate_plugin_dep) \
+	$(tools_plugin_m4) $(files_defs) $(license_header_source_file)
+	$(eval cppname = $$(notdir $$(basename $$@)))
+	$(eval plugin_def = $$(filter %=$$(cppname),$$(defs_plugin_all)))
+	$(eval plugin_name = $$(subst =$$(cppname),,$$(plugin_def)))
+	$(eval hg_lowercase = \
+		$$(shell echo $$(cppname) | tr [:upper:] [:lower:]).hg)
+if MAINTAINER_MODE
+	if $(run_generate_plugin_gmmproc_file) --confirm-existence \
+		$(plugin_name); then true; else \
+		echo "The $(plugin_name) gstreamer plugin is not installed.  Aborting build. If you built gst-plugins-good from source code then you might need to install the appropriate -dev or --devel packages or enable experimental plugins before rebuilding gst-plugins-good."; \
+		false; \
+	fi
+endif
+	sed -n '1,/^$$/p' $(license_header_source_file) > \
+		$(srcdir)/$(hg_lowercase)
+	$(run_generate_plugin_gmmproc_file) --hg $(plugin_name) \
+		$(cppname) | $(M4) -I $(tools_dir_m4) \
+		-I $(GSTREAMERMM_M4_DIR) >> $(srcdir)/$(hg_lowercase)
+	ln -sf "$(realpath $(srcdir))/$(hg_lowercase)" "$(builddir)/$@"
+
+# This is to generate plugin .ccg files.  The .ccg file is generated and then
+# the camel ccg file is linked to the generated .ccg file to signal the
+# successful generation of the .hg file.
+$(files_all_plugin_camel_hg_with_path:.hg=.ccg): $(generate_plugin_dep) \
+	$(tools_plugin_m4) $(files_defs) $(license_header_source_file)
+	$(eval cppname = $$(notdir $$(basename $$@)))
+	$(eval plugin_def = $$(filter %=$$(cppname),$$(defs_plugin_all)))
+	$(eval plugin_name = $$(subst =$$(cppname),,$$(plugin_def)))
+	$(eval ccg_lowercase = \
+		$$(shell echo $$(cppname) | tr [:upper:] [:lower:]).ccg)
+	sed -n '1,/^$$/p' $(license_header_source_file) > \
+		$(srcdir)/$(ccg_lowercase)
+	$(run_generate_plugin_gmmproc_file) --ccg $(plugin_name) \
+		$(cppname) >> $(srcdir)/$(ccg_lowercase)
+	ln -sf "$(realpath $(srcdir))/$(ccg_lowercase)" "$(builddir)/$@"
+
+$(stamp_dir)/stamp-%: %.hg %.ccg $(tools_m4) $(files_defs)
+	$(run_gmmproc) $(notdir $*) $(srcdir) $(gensrc_destdir)
+	@echo 'timestamp' > $@
+
+# This is to run the generated plug-in .hg and .ccg files through gmmproc
+# (they're generated if necessary by the .../%.hg and .../%.ccg dependencies.
+$(stamp_plugin_dir)/stamp-%-plugin: $(stamp_plugin_dir)/%.hg \
+	$(stamp_plugin_dir)/%.ccg $(tools_m4) $(tools_plugin_m4) $(files_defs)
+	$(eval plugin_name_lowercase = \
+		$$(shell echo $$* | tr '[:upper:]' '[:lower:]'))
+	$(run_gmmproc) $(plugin_name_lowercase) $(srcdir) $(gensrc_destdir)
+	@echo 'timestamp' > $@
+
+# This is to patch generated .h files in $(gensrc_destdir).
+$(destdir_stamp_dir)/stamp-%: $(gensrc_destdir)/%.h
+	patch -Ns $(gensrc_destdir)/$*.h $(gensrc_destdir)/$*.h.patch || true
+	rm -f $(gensrc_destdir)/$*.h.rej
+	touch $@
+
+files_hg_with_path	= $(patsubst %.hg,$(srcdir)/%.hg,$(files_all_hg))
+
+$(gensrc_destdir)/wrap_init.cc: $(gen_wrap_init_in) $(files_hg_with_path) \
+	$(files_all_plugin_hg_with_path)
+	$(run_gen_wrap_init) $(files_all_hg:%.hg=$(srcdir)/%.hg) \
+	  $(files_all_plugin_hg:%.hg=$(srcdir)/%.hg) > $@
+
+# This is to create the plugin .stamps directory (if builddir is different than
+# srcdir)
+$(stamp_plugin_dir):
+	@(test -d $(stamp_plugin_dir) || mkdir $(stamp_plugin_dir))
+
+create-stamp-dir: $(stamp_plugin_dir)
+	@(test -d $(stamp_dir) || mkdir $(stamp_dir))
+	@(test -d $(destdir_stamp_dir) || mkdir $(destdir_stamp_dir))
+
+if MAINTAINER_MODE
+all-local: create-stamp-dir $(files_stamp) $(files_stamp_plugin) \
+	$(gensrc_destdir)/wrap_init.cc $(destdir_files_stamp)
+endif
+
+maintainer-clean-local:
+	rm -rf $(stamp_dir) $(stamp_plugin_dir) $(destdir_stamp_dir) \
+		$(files_all_plugin_hg) $(files_all_plugin_ccg)

Added: gstreamermm-plugins-good/trunk/config.h.in
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/config.h.in	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,7 @@
+#undef HAVE_FLOCKFILE
+#undef HAVE_FUNLOCKFILE
+
+#undef NEED_FLOCKFILE_PROTO
+#undef NEED_FUNLOCKFILE_PROTO
+#undef NEED_GETC_UNLOCKED_PROTO
+#undef HAVE_GETC_UNLOCKED

Added: gstreamermm-plugins-good/trunk/configure.ac
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/configure.ac	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,370 @@
+# Configure.in
+#
+#  This file tests for various compiler features needed to configure 
+#  the gtkmm package.  Original skeleton was provided by Stephan Kulow.
+#  All tests were written by Tero Pulkkinen, Mirko Streckenbach, and 
+#  Karl Nelson.
+#
+#  NOTE! IF YOU DO CHANGES HERE, CHECK IF YOU NEED TO MODIFY .m4 TOO!!!
+#
+#  Copyright 2001 Free Software Foundation
+#  Copyright 1999 gtkmm Development Team
+#  Copyright 1998 Stephan Kulow 
+#
+
+#We use pushdef here because we can't use shell variables before AC_INIT, but we want to use a variable with AC_INIT:
+pushdef([GSTREAMERMM_PLUGINS_GOOD_MAJOR_VERSION],     [0])
+pushdef([GSTREAMERMM_PLUGINS_GOOD_MINOR_VERSION],     [10])
+pushdef([GSTREAMERMM_PLUGINS_GOOD_MICRO_VERSION],     [1])
+pushdef([GSTREAMERMM_PLUGINS_GOOD_EXTRA_VERSION],     [])
+pushdef([GSTREAMERMM_PLUGINS_GOOD_VERSION], GSTREAMERMM_PLUGINS_GOOD_MAJOR_VERSION.GSTREAMERMM_PLUGINS_GOOD_MINOR_VERSION.GSTREAMERMM_PLUGINS_GOOD_MICRO_VERSION[]GSTREAMERMM_PLUGINS_GOOD_EXTRA_VERSION)
+AC_INIT([gstreamermm-plugins-good], GSTREAMERMM_PLUGINS_GOOD_VERSION, [gtkmm-list gnome org])
+AC_CONFIG_SRCDIR([gstreamer-plugins-good/gstreamermm-plugins-good-config.h.in])
+AC_PREREQ(2.59)
+
+#########################################################################
+#  Version and initialization
+#########################################################################
+[GSTREAMERMM_PLUGINS_GOOD_MAJOR_VERSION]=GSTREAMERMM_PLUGINS_GOOD_MAJOR_VERSION
+[GSTREAMERMM_PLUGINS_GOOD_MINOR_VERSION]=GSTREAMERMM_PLUGINS_GOOD_MINOR_VERSION
+[GSTREAMERMM_PLUGINS_GOOD_MICRO_VERSION]=GSTREAMERMM_PLUGINS_GOOD_MICRO_VERSION
+[GSTREAMERMM_PLUGINS_GOOD_EXTRA_VERSION]=GSTREAMERMM_PLUGINS_GOOD_EXTRA_VERSION
+[GSTREAMERMM_PLUGINS_GOOD_VERSION]=GSTREAMERMM_PLUGINS_GOOD_VERSION
+popdef([GSTREAMERMM_PLUGINS_GOOD_MAJOR_VERSION])
+popdef([GSTREAMERMM_PLUGINS_GOOD_MINOR_VERSION])
+popdef([GSTREAMERMM_PLUGINS_GOOD_MICRO_VERSION])
+popdef([GSTREAMERMM_PLUGINS_GOOD_EXTRA_VERSION])
+popdef([GSTREAMERMM_PLUGINS_GOOD_VERSION])
+GSTREAMERMM_PLUGINS_GOOD_RELEASE=$GSTREAMERMM_PLUGINS_GOOD_MAJOR_VERSION.$GSTREAMERMM_PLUGINS_GOOD_MINOR_VERSION
+AC_DEFINE_UNQUOTED(GSTREAMERMM_PLUGINS_GOOD_MAJOR_VERSION, $GSTREAMERMM_PLUGINS_GOOD_MAJOR_VERSION, [Major version of gstreamermm-plugins-good])
+AC_DEFINE_UNQUOTED(GSTREAMERMM_PLUGINS_GOOD_MINOR_VERSION, $GSTREAMERMM_PLUGINS_GOOD_MINOR_VERSION, [Minor version of gstreamermm-plugins-good])
+AC_DEFINE_UNQUOTED(GSTREAMERMM_PLUGINS_GOOD_MICRO_VERSION, $GSTREAMERMM_PLUGINS_GOOD_MICRO_VERSION, [Micro version of gstreamermm-plugins-good])
+AC_SUBST(GSTREAMERMM_PLUGINS_GOOD_MAJOR_VERSION)
+AC_SUBST(GSTREAMERMM_PLUGINS_GOOD_MINOR_VERSION)
+AC_SUBST(GSTREAMERMM_PLUGINS_GOOD_MICRO_VERSION)
+AC_SUBST(GSTREAMERMM_PLUGINS_GOOD_VERSION)
+AC_SUBST(GSTREAMERMM_PLUGINS_GOOD_RELEASE)
+
+#
+# +1 : ? : +1  == new interface that does not break old one
+# +1 : ? : 0   == new interface that breaks old one
+#  ? : ? : 0   == no new interfaces, but breaks apps
+#  ? :+1 : ?   == just some internal changes, nothing breaks but might work 
+#                 better
+# CURRENT : REVISION : AGE
+LIBGSTREAMERMM_PLUGINS_GOOD_SO_VERSION=2:1:0
+AC_SUBST(LIBGSTREAMERMM_PLUGINS_GOOD_SO_VERSION)
+
+AC_CONFIG_AUX_DIR(scripts)
+
+# Initialize automake stuff
+# tar-ustar asks it to use a sensible tar format that can handle long filenames.
+AM_INIT_AUTOMAKE([1.9 tar-ustar])
+
+dnl Specify a configuration file (no autoheader)
+AM_CONFIG_HEADER(config.h gstreamer-plugins-good/gstreamermm-plugins-good-config.h)
+AM_MAINTAINER_MODE
+AL_ACLOCAL_INCLUDE(scripts)
+
+
+#########################################################################
+#  Configure arguments 
+#########################################################################
+
+#########################################################################
+#  Environment Checks
+#########################################################################
+AC_PROG_CC
+AC_PROG_CPP
+AC_PROG_MAKE_SET
+AC_CANONICAL_BUILD
+AC_CANONICAL_HOST
+
+dnl Used for enabling the "-no-undefined" flag while generating DLLs
+dnl Copied from the official gtk+-2 configure.in
+AC_MSG_CHECKING([for some Win32 platform])
+case "$host" in
+  *-*-mingw*|*-*-cygwin*)
+    platform_win32=yes
+    ;;
+  *)
+    platform_win32=no
+    ;;
+esac
+AC_MSG_RESULT([$platform_win32])
+AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
+
+AC_MSG_CHECKING([for native Win32])
+case "$host" in
+  *-*-mingw*)
+    os_win32=yes
+    ;;
+  *)
+    os_win32=no
+    ;;
+esac
+AC_MSG_RESULT([$os_win32])
+AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
+
+AC_DISABLE_STATIC
+AC_LIBTOOL_WIN32_DLL
+AC_PROG_LIBTOOL
+
+AL_PROG_GNU_M4(AC_MSG_ERROR([dnl
+SUN m4 does not work for building gstreamermm-plugins-good. 
+Please install GNU m4.]))
+
+AL_PROG_GNU_MAKE(AC_MSG_ERROR([dnl
+SUN make does not work for building gstreamermm-plugins-good.
+Please install GNU make.]))
+
+
+#########################################################################
+#  Dependancy checks
+#########################################################################
+min_gstreamer_version=0.10.22
+min_gstreamermm_version=0.10.1
+
+PKG_CHECK_MODULES(GSTREAMERMM_PLUGINS_GOOD, \
+AC_SUBST(GSTREAMERMM_PLUGINS_GOOD_VERSION)
+        gstreamer-0.10 >= ${min_gstreamer_version} \
+        gstreamermm-0.10 >= ${min_gstreamermm_version} \
+        )
+AC_SUBST(GSTREAMERMM_PLUGINS_GOOD_CFLAGS)
+AC_SUBST(GSTREAMERMM_PLUGINS_GOOD_LIBS)
+
+# This macro is installed by glibmm
+# Doxygen needs the path to the installed perl.
+GLIBMM_CHECK_PERL([5.6.0])
+
+GLIBMM_LIBDIR=`pkg-config --variable=libdir glibmm-2.4`
+GMMPROC_DIR=$GLIBMM_LIBDIR/glibmm-2.4/proc
+AC_SUBST(GMMPROC_DIR)
+GMMPROC=$GMMPROC_DIR/gmmproc
+AC_SUBST(GMMPROC)
+
+GSTREAMERMM_LIBDIR=`pkg-config --variable=libdir gstreamermm-0.10`
+GENERATE_PLUGIN_GMMPROC_FILE_DIR=$GSTREAMERMM_LIBDIR/gstreamermm-0.10/gen
+GENERATE_PLUGIN_GMMPROC_FILE=$GENERATE_PLUGIN_GMMPROC_FILE_DIR/generate_plugin_gmmproc_file
+AC_SUBST(GENERATE_PLUGIN_GMMPROC_FILE)
+
+GSTREAMERMM_M4_DIR=$GSTREAMERMM_LIBDIR/gstreamermm-0.10/proc/m4
+AC_SUBST(GSTREAMERMM_M4_DIR)
+
+
+#########################################################################
+#  Plug-in processing
+#########################################################################
+
+# make sure grep and head are available:
+AC_PROG_GREP()
+AC_PATH_PROG([HEAD], [head])
+
+# make sure gst-inspect is available:
+AC_PATH_PROG([GST_INSPECT], [gst-inspect])
+if test x$GST_INSPECT = x ; then
+  AC_MSG_ERROR([gst-inspect is needed for plug-in processing. Please, install it.])
+fi
+AC_ARG_VAR([GST_INSPECT], [Variable to store gst-inspect executable])
+AC_SUBST(GST_INSPECT)
+
+# To add a plugin, add the plugin definition, in the form of
+# "plugin=CppClassName" (where "plugin" is the plugin name as recognized by
+# gst-inspect and "CppClassName" is the desired name of the C++ class),  to the
+# list of definitions below.  Also add the target .hg file name (which must be
+# the same as "CppClassName" all in lowercase with a .hg extension) to the
+# files_all_plugin_hg variable in the
+# gstreamer-plugins-good/src/Makefile_list_of_hg.am_fragment file.  Finally, be
+# sure to include an #undef in the form of "#undef
+# GSTREAMERMM_PLUGINS_GOOD_PLUGIN_name" in the
+# gstreamermm-plugins-good-config.h.in file (where "name" is the plugin name
+# all in caps).
+
+GSTREAMERMM_PLUGINS_GOOD_ALL_PLUGIN_DEFS="alphacolor=AlphaColor apedemux=ApeDemux"
+
+for plugin_def in $GSTREAMERMM_PLUGINS_GOOD_ALL_PLUGIN_DEFS; do
+  plugin_name=[`echo $plugin_def | cut -d'=' -f 1`]
+  cppname=[`echo $plugin_def | cut -d'=' -f 2`]
+  GSTREAMERMM_PLUGINS_GOOD_ALL_PLUGIN_CPPNAMES="$GSTREAMERMM_PLUGINS_GOOD_ALL_PLUGIN_CPPNAMES $cppname"
+  if test -z "`$GST_INSPECT $plugin_name | $HEAD -n 1 | $GREP "No such element"`"; then
+    plugin_define=["GSTREAMERMM_PLUGINS_GOOD_PLUGIN_`echo $plugin_name | tr [:lower:] [:upper:]`"]
+    AC_DEFINE_UNQUOTED($plugin_define)
+    GSTREAMERMM_PLUGINS_GOOD_EXISTING_PLUGIN_CPPNAMES="$GSTREAMERMM_PLUGINS_GOOD_EXISTING_PLUGIN_CPPNAMES $cppname"
+    GSTREAMERMM_PLUGINS_GOOD_EXISTING_PLUGIN_HG=["$GSTREAMERMM_PLUGINS_GOOD_EXISTING_PLUGIN_HG `echo $cppname | tr [:upper:] [:lower:]`.hg"]
+  fi
+done
+AC_SUBST(GSTREAMERMM_PLUGINS_GOOD_ALL_PLUGIN_DEFS)
+AC_SUBST(GSTREAMERMM_PLUGINS_GOOD_ALL_PLUGIN_CPPNAMES)
+AC_SUBST(GSTREAMERMM_PLUGINS_GOOD_EXISTING_PLUGIN_CPPNAMES)
+AC_SUBST(GSTREAMERMM_PLUGINS_GOOD_EXISTING_PLUGIN_HG)
+
+#########################################################################
+#  C++ checks
+#########################################################################
+AC_PROG_CXX
+
+# Check for the SUN Forte compiler, and define GLIBMM_COMPILER_SUN_FORTE in the header.
+#GLIBMM_PROG_CXX_SUN
+
+# Ensure MSVC-compatible struct packing convention is used when
+# compiling for Win32 with gcc.
+# What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
+# gcc2 uses "-fnative-struct".
+if test x"$os_win32" = xyes; then
+  if test x"$GCC" = xyes -a x"$GXX" = xyes; then
+    msnative_struct=''
+    AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
+    if test -z "$ac_cv_prog_CC"; then
+      our_gcc="$CC"
+    else
+      our_gcc="$ac_cv_prog_CC"
+    fi
+    case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
+      2.)
+	if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
+	  msnative_struct='-fnative-struct'
+	fi
+	;;
+      *)
+	if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
+	  msnative_struct='-mms-bitfields'
+	fi
+	;;
+    esac
+    if test x"$msnative_struct" = x ; then
+      AC_MSG_RESULT([no way])
+      AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
+    else
+      CXXFLAGS="$CXXFLAGS $msnative_struct"
+      AC_MSG_RESULT([${msnative_struct}])
+    fi
+  fi
+fi
+
+AC_LANG_CPLUSPLUS
+
+
+# Create a list of input directories for Doxygen.
+#GSTREAMERMM_PLUGINS_GOOD_DOXYGEN_INPUT_SUBDIRS([gst])
+
+# Evaluate the --enable-warnings=level option.
+#GSTREAMERMM_PLUGINS_GOOD_ARG_ENABLE_WARNINGS()
+DK_ARG_ENABLE_WARNINGS([GSTREAMERMM_PLUGINS_GOOD_WARNING_FLAGS],
+    [-Wall],
+    [-pedantic -Wall -Wextra])
+
+# Add an --enable-use-deprecations configure option:
+AC_ARG_ENABLE(deprecations,
+              [AC_HELP_STRING([--enable-use-deprecations],
+                              [warn about deprecated usages [default=no]])],,
+              [enable_deprecations=no])
+
+if test "x$enable_use_deprecations" = "xyes"; then
+   DISABLE_DEPRECATED_CFLAGS="\
+-DG_DISABLE_DEPRECATED \
+-DGDK_DISABLE_DEPRECATED \
+-DGTK_DISABLE_DEPRECATED \
+-DGDK_PIXBUF_DISABLE_DEPRECATED"
+   AC_SUBST(DISABLE_DEPRECATED_CFLAGS)
+fi
+
+# Add an --enable-deprecated-api option:
+AC_ARG_ENABLE(deprecated-api, [AC_HELP_STRING([--enable-deprecated-api],
+                                        [include (build) deprecated API in the libraries [default=yes]])],,
+                        [enable_deprecated_api=yes])
+if test "x$enable_deprecated_api" = "xyes"; then
+AC_MSG_WARN([Deprecated API will be built, for backwards-compatibility.])
+else
+  DISABLE_DEPRECATED_API_CFLAGS=""
+AC_SUBST(DISABLE_DEPRECATED_API_CFLAGS)
+AC_MSG_WARN([Deprecated API will not be built, breaking backwards-compatibility. Do not use this build for distribution packages.])
+fi
+
+AC_ARG_ENABLE(examples,
+  [AC_HELP_STRING([--enable-examples],
+    [enable compilation of example programs [default=yes]])],
+  [enable_examples=$enableval], [enable_examples=yes])
+
+if test "x$enable_examples" = "xyes"; then
+
+EXAMPLE_SUBDIR="examples"
+AC_CONFIG_FILES([
+    examples/Makefile
+    ])
+AC_SUBST(EXAMPLE_SUBDIR)
+else
+EXAMPLE_SUBDIR=""
+fi
+
+DEMO_SUBDIR=""
+AC_SUBST(DEMO_SUBDIR)
+
+AC_ARG_ENABLE(debug, [AC_HELP_STRING([--enable-debug],
+                                     [compile with debugging options [default=no]])],
+              enable_debug=$enableval,
+              [enable_debug=no])
+
+AC_MSG_NOTICE([got enable_debug=$enable_debug])
+if test x$GSVMM_DEVEL = xon ; then
+    enable_debug=yes
+fi
+
+if test x$enable_debug = xyes ; then
+    DEBUG_OPTIONS="-Wall -g -Werror -Wextra"
+    CXXFLAGS="$DEBUG_OPTIONS"
+    CFLAGS="$DEBUG_OPTIONS"
+fi
+
+AC_ARG_ENABLE(docs, [AC_HELP_STRING([--enable-docs],
+              [build the included docs [default=yes]])],,
+                      [enable_docs=yes])
+if test "x$enable_docs" = "xyes"; then
+AC_PATH_PROG(DOXYGEN, doxygen)
+    if test x$DOXYGEN = x ; then
+        AC_MSG_ERROR([could not find the doxygen program. Please, install it])
+    fi
+AC_SUBST(DOXYGEN)
+DOCS_SUBDIR="docs"
+  AC_CONFIG_FILES([
+    docs/Makefile
+      docs/reference/Makefile
+      docs/reference/Doxyfile
+  ])
+else
+DOCS_SUBDIR=""
+fi
+
+AC_SUBST(DOCS_SUBDIR)
+
+# Dummy conditional just to make automake-1.4 happy.
+# We need an always-false condition in docs/Makefile.am.
+AM_CONDITIONAL(GSTREAMERMM_PLUGINS_GOOD_FALSE,[false])
+
+# HACK:  Assign a dummy in order to prevent execution of autoheader by the
+# maintainer-mode rules.  That would fail since we aren't using autoheader.
+AUTOHEADER=':'
+
+
+AC_CONFIG_FILES([
+  Makefile
+
+  gstreamer-plugins-good/Makefile
+  gstreamer-plugins-good/gstreamermm-plugins-good-0.10.pc
+    gstreamer-plugins-good/src/Makefile
+    gstreamer-plugins-good/gstreamermm-plugins-good/Makefile
+      gstreamer-plugins-good/gstreamermm-plugins-good/private/Makefile
+
+  tools/Makefile
+    tools/generate_wrap_init.pl
+    tools/m4/Makefile
+    tools/extra_defs_gen/Makefile
+
+  tests/Makefile
+])
+
+AC_CONFIG_FILES([
+  scripts/Makefile
+])
+
+AC_OUTPUT()
+

Added: gstreamermm-plugins-good/trunk/docs/Makefile.am
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/docs/Makefile.am	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,16 @@
+## Copyright (c) 2009
+## The gstreamermm development team.
+
+SUBDIRS=reference
+
+doc-clean-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) doc-clean); \
+	done
+
+doc-clean: doc-clean-recursive
+
+doc-rebuild: doc-clean all
+
+.PHONY: doc-clean doc-clean-recursive doc-rebuild
+

Added: gstreamermm-plugins-good/trunk/docs/reference/Doxyfile.in
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/docs/reference/Doxyfile.in	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,1515 @@
+# Doxyfile 1.5.8
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file 
+# that follow. The default is UTF-8 which is also the encoding used for all 
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the 
+# iconv built into libc) for the transcoding. See 
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING      = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
+# by quotes) that should identify the project.
+
+PROJECT_NAME           = gstreamermm-plugins-good
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
+# This could be handy for archiving the generated documentation or 
+# if some version control system is used.
+
+PROJECT_NUMBER         = @GSTREAMERMM_PLUGINS_GOOD_VERSION@
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
+# base path where the generated documentation will be put. 
+# If a relative path is entered, it will be relative to the location 
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = 
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
+# 4096 sub-directories (in 2 levels) under the output directory of each output 
+# format and will distribute the generated files over these directories. 
+# Enabling this option can be useful when feeding doxygen a huge amount of 
+# source files, where putting all generated files in the same directory would 
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS         = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
+# documentation generated by doxygen is written. Doxygen will use this 
+# information to generate all constant output in the proper language. 
+# The default language is English, other supported languages are: 
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
+# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, 
+# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), 
+# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, 
+# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, 
+# Spanish, Swedish, and Ukrainian.
+
+OUTPUT_LANGUAGE        = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
+# include brief member descriptions after the members that are listed in 
+# the file and class documentation (similar to JavaDoc). 
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
+# the brief description of a member or function before the detailed description. 
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator 
+# that is used to form the text in various listings. Each string 
+# in this list, if found as the leading text of the brief description, will be 
+# stripped from the text and the result after processing the whole list, is 
+# used as the annotated text. Otherwise, the brief description is used as-is. 
+# If left blank, the following values are used ("$name" is automatically 
+# replaced with the name of the entity): "The $name class" "The $name widget" 
+# "The $name file" "is" "provides" "specifies" "contains" 
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF       = 
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
+# Doxygen will generate a detailed section even if there is only a brief 
+# description.
+
+ALWAYS_DETAILED_SEC    = YES
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
+# inherited members of a class in the documentation of that class as if those 
+# members were ordinary class members. Constructors, destructors and assignment 
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
+# path before files name in the file list and in the header files. If set 
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
+# can be used to strip a user-defined part of the path. Stripping is 
+# only done if one of the specified strings matches the left-hand part of 
+# the path. The tag can be used to show relative paths in the file list. 
+# If left blank the directory from which doxygen is run is used as the 
+# path to strip.
+
+STRIP_FROM_PATH        = 
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
+# the path mentioned in the documentation of a class, which tells 
+# the reader which header file to include in order to use a class. 
+# If left blank only the name of the header file containing the class 
+# definition is used. Otherwise one should specify the include paths that 
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH    = 
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
+# (but less readable) file names. This can be useful is your file systems 
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
+# will interpret the first line (until the first dot) of a JavaDoc-style 
+# comment as the brief description. If set to NO, the JavaDoc 
+# comments will behave just like regular Qt-style comments 
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF      = YES
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will 
+# interpret the first line (until the first dot) of a Qt-style 
+# comment as the brief description. If set to NO, the comments 
+# will behave just like regular Qt-style comments (thus requiring 
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF           = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
+# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
+# comments) as a brief description. This used to be the default behaviour. 
+# The new default is to treat a multi-line C++ comment block as a detailed 
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
+# member inherits the documentation from any documented member that it 
+# re-implements.
+
+INHERIT_DOCS           = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
+# a new page for each member. If set to NO, the documentation of a member will 
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES  = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 4
+
+# This tag can be used to specify a number of aliases that acts 
+# as commands in the documentation. An alias has the form "name=value". 
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
+# put the command \sideeffect (or @sideeffect) in the documentation, which 
+# will result in a user-defined paragraph with heading "Side Effects:". 
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                = 
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
+# sources only. Doxygen will then generate output that is more tailored for C. 
+# For instance, some of the names that are used will be different. The list 
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
+# sources only. Doxygen will then generate output that is more tailored for 
+# Java. For instance, namespaces will be presented as packages, qualified 
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran 
+# sources only. Doxygen will then generate output that is more tailored for 
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN   = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL 
+# sources. Doxygen will then generate output that is tailored for 
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL   = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it parses. 
+# With this tag you can assign which parser to use for a given extension. 
+# Doxygen has a built-in mapping, but you can override or extend it using this tag. 
+# The format is ext=language, where ext is a file extension, and language is one of 
+# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, 
+# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat 
+# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), 
+# use: inc=Fortran f=C
+
+EXTENSION_MAPPING      = 
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want 
+# to include (a tag file for) the STL sources as input, then you should 
+# set this tag to YES in order to let doxygen match functions declarations and 
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
+# func(std::string) {}). This also make the inheritance and collaboration 
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT    = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to 
+# enable parsing support.
+
+CPP_CLI_SUPPORT        = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. 
+# Doxygen will parse them like normal C++ but will assume all classes use public 
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT            = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter 
+# and setter methods for a property. Setting this option to YES (the default) 
+# will make doxygen to replace the get and set methods by a property in the 
+# documentation. This will only work if the methods are indeed getting or 
+# setting a simple type. If this is not the case, or you want to show the 
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT   = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
+# tag is set to YES, then doxygen will reuse the documentation of the first 
+# member in the group (if any) for the other members of the group. By default 
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
+# the same type (for instance a group of public functions) to be put as a 
+# subgroup of that type (e.g. under the Public Functions section). Set it to 
+# NO to prevent subgrouping. Alternatively, this can be done per class using 
+# the \nosubgrouping command.
+
+SUBGROUPING            = YES
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum 
+# is documented as struct, union, or enum with the name of the typedef. So 
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct 
+# with name TypeT. When disabled the typedef will appear as a member of a file, 
+# namespace, or class. And the struct will be named TypeS. This can typically 
+# be useful for C code in case the coding convention dictates that all compound 
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT   = NO
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to 
+# determine which symbols to keep in memory and which to flush to disk. 
+# When the cache is full, less often used symbols will be written to disk. 
+# For small to medium size projects (<1000 input files) the default value is 
+# probably good enough. For larger projects a too small cache size can cause 
+# doxygen to be busy swapping symbols to and from disk most of the time 
+# causing a significant performance penality. 
+# If the system has enough physical memory increasing the cache will improve the 
+# performance by keeping more symbols in memory. Note that the value works on 
+# a logarithmic scale so increasing the size by one will rougly double the 
+# memory usage. The cache size is given by this formula: 
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, 
+# corresponding to a cache size of 2^16 = 65536 symbols
+
+SYMBOL_CACHE_SIZE      = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
+# documentation are documented, even if no documentation was available. 
+# Private class members and static file members will be hidden unless 
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file 
+# will be included in the documentation.
+
+EXTRACT_STATIC         = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
+# defined locally in source files will be included in the documentation. 
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES  = YES
+
+# This flag is only useful for Objective-C code. When set to YES local 
+# methods, which are defined in the implementation section but not in 
+# the interface are included in the documentation. 
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS  = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be 
+# extracted and appear in the documentation as a namespace called 
+# 'anonymous_namespace{file}', where file will be replaced with the base 
+# name of the file that contains the anonymous namespace. By default 
+# anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES   = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
+# undocumented members of documented classes, files or namespaces. 
+# If set to NO (the default) these members will be included in the 
+# various overviews, but no documentation section is generated. 
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
+# undocumented classes that are normally visible in the class hierarchy. 
+# If set to NO (the default) these classes will be included in the various 
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
+# friend (class|struct|union) declarations. 
+# If set to NO (the default) these declarations will be included in the 
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
+# documentation blocks found inside the body of a function. 
+# If set to NO (the default) these blocks will be appended to the 
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS      = NO
+
+# The INTERNAL_DOCS tag determines if documentation 
+# that is typed after a \internal command is included. If the tag is set 
+# to NO (the default) then the documentation will be excluded. 
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
+# file names in lower-case letters. If set to YES upper-case letters are also 
+# allowed. This is useful if you have classes or files whose names only differ 
+# in case and if your file system supports case sensitive file names. Windows 
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES       = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
+# will show members with their full class and namespace scopes in the 
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
+# will put a list of the files that are included by a file in the documentation 
+# of that file.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
+# will sort the (detailed) documentation of file and class members 
+# alphabetically by member name. If set to NO the members will appear in 
+# declaration order.
+
+SORT_MEMBER_DOCS       = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
+# brief documentation of file, namespace and class members alphabetically 
+# by member name. If set to NO (the default) the members will appear in 
+# declaration order.
+
+SORT_BRIEF_DOCS        = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the 
+# hierarchy of group names into alphabetical order. If set to NO (the default) 
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES       = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
+# sorted by fully-qualified names, including namespaces. If set to 
+# NO (the default), the class list will be sorted only by class name, 
+# not including the namespace part. 
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. 
+# Note: This option applies only to the class list, not to the 
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME     = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or 
+# disable (NO) the todo list. This list is created by putting \todo 
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or 
+# disable (NO) the test list. This list is created by putting \test 
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or 
+# disable (NO) the bug list. This list is created by putting \bug 
+# commands in the documentation.
+
+GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
+# disable (NO) the deprecated list. This list is created by putting 
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional 
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       = 
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
+# the initial value of a variable or define consists of for it to appear in 
+# the documentation. If the initializer consists of more lines than specified 
+# here it will be hidden. Use a value of 0 to hide initializers completely. 
+# The appearance of the initializer of individual variables and defines in the 
+# documentation can be controlled using \showinitializer or \hideinitializer 
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
+# at the bottom of the documentation of classes and structs. If set to YES the 
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = YES
+
+# If the sources in your project are distributed over multiple directories 
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy 
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES       = NO
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page. 
+# This will remove the Files entry from the Quick Index and from the 
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES             = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the 
+# Namespaces page. 
+# This will remove the Namespaces entry from the Quick Index 
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES        = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
+# doxygen should invoke to get the current version for each file (typically from 
+# the version control system). Doxygen will invoke the program by executing (via 
+# popen()) the command <command> <input-file>, where <command> is the value of 
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
+# provided by doxygen. Whatever the program writes to standard output 
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER    = 
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by 
+# doxygen. The layout file controls the global structure of the generated output files 
+# in an output format independent way. The create the layout file that represents 
+# doxygen's defaults, run doxygen with the -l option. You can optionally specify a 
+# file name after the option, if omitted DoxygenLayout.xml will be used as the name 
+# of the layout file.
+
+LAYOUT_FILE            = 
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated 
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are 
+# generated by doxygen. Possible values are YES and NO. If left blank 
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
+# potential errors in the documentation, such as not documenting some 
+# parameters in a documented function, or documenting parameters that 
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR      = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for 
+# functions that are documented, but have no documentation for their parameters 
+# or return value. If set to NO (the default) doxygen will only warn about 
+# wrong or incomplete parameter documentation, but not about the absence of 
+# documentation.
+
+WARN_NO_PARAMDOC       = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that 
+# doxygen can produce. The string should contain the $file, $line, and $text 
+# tags, which will be replaced by the file and line number from which the 
+# warning originated and the warning text. Optionally the format may contain 
+# $version, which will be replaced by the version of the file (if it could 
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning 
+# and error messages should be written. If left blank the output is written 
+# to stderr.
+
+WARN_LOGFILE           = doxygen-warnings.txt
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain 
+# documented source files. You may enter file names like "myfile.cpp" or 
+# directories like "/usr/src/myproject". Separate the files or directories 
+# with spaces.
+
+INPUT                  = @top_builddir@/gstreamer-plugins-good/gstreamermm-plugins-good
+
+# This tag can be used to specify the character encoding of the source files 
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is 
+# also the default input encoding. Doxygen uses libiconv (or the iconv built 
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for 
+# the list of possible encodings.
+
+INPUT_ENCODING         = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the 
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank the following patterns are tested: 
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx 
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
+
+FILE_PATTERNS          = *.h
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
+# should be searched for input files as well. Possible values are YES and NO. 
+# If left blank NO is used.
+
+RECURSIVE              = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should 
+# excluded from the INPUT source files. This way you can easily exclude a 
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE                = 
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
+# directories that are symbolic links (a Unix filesystem feature) are excluded 
+# from the input.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the 
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
+# certain files from those directories. Note that the wildcards are matched 
+# against the file with absolute path, so to exclude all test directories 
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS       = 
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
+# (namespaces, classes, functions, etc.) that should be excluded from the 
+# output. The symbol name can be a fully qualified name, a word, or if the 
+# wildcard * is used, a substring. Examples: ANamespace, AClass, 
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS        = 
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or 
+# directories that contain example code fragments that are included (see 
+# the \include command).
+
+EXAMPLE_PATH           = @top_srcdir@/examples
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included.
+
+EXAMPLE_PATTERNS       = *.h \
+                         *.cc
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
+# searched for input files to be used with the \include or \dontinclude 
+# commands irrespective of the value of the RECURSIVE tag. 
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE      = YES
+
+# The IMAGE_PATH tag can be used to specify one or more files or 
+# directories that contain image that are included in the documentation (see 
+# the \image command).
+
+IMAGE_PATH             = 
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should 
+# invoke to filter for each input file. Doxygen will invoke the filter program 
+# by executing (via popen()) the command <filter> <input-file>, where <filter> 
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
+# input file. Doxygen will then use the output that the filter program writes 
+# to standard output. 
+# If FILTER_PATTERNS is specified, this tag will be 
+# ignored.
+
+INPUT_FILTER           = 
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
+# basis. 
+# Doxygen will compare the file name with each pattern and apply the 
+# filter if there is a match. 
+# The filters are a list of the form: 
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER 
+# is applied to all files.
+
+FILTER_PATTERNS        = 
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
+# INPUT_FILTER) will be used to filter the input files when producing source 
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
+# be generated. Documented entities will be cross-referenced with these sources. 
+# Note: To get rid of all source code in the generated output, make sure also 
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER         = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body 
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
+# doxygen to hide any special comment blocks from generated source code 
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES 
+# then for each documented function all documented 
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES 
+# then for each documented function all documented entities 
+# called/used by that function will be listed.
+
+REFERENCES_RELATION    = YES
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) 
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from 
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will 
+# link to the source code. 
+# Otherwise they will link to the documentation.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code 
+# will point to the HTML generated by the htags(1) tool instead of doxygen 
+# built-in source browser. The htags tool is part of GNU's global source 
+# tagging system (see http://www.gnu.org/software/global/global.html). You 
+# will need version 4.8.6 or higher.
+
+USE_HTAGS              = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
+# will generate a verbatim copy of the header file for each class for 
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
+# of all compounds will be generated. Enable this if the project 
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all 
+# classes will be put under the same header in the alphabetical index. 
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = @top_builddir@/docs/reference/html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard header.
+
+HTML_HEADER            = 
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard footer.
+
+HTML_FOOTER            = 
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
+# style sheet that is used by each HTML page. It can be used to 
+# fine-tune the look of the HTML output. If the tag is left blank doxygen 
+# will generate a default style sheet. Note that doxygen will try to copy 
+# the style sheet file to the HTML output directory, so don't put your own 
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET        = 
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
+# files or namespaces will be aligned in HTML using tables. If set to 
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML 
+# documentation will contain sections that can be hidden and shown after the 
+# page has loaded. For this to work a browser that supports 
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox 
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS  = NO
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files 
+# will be generated that can be used as input for Apple's Xcode 3 
+# integrated development environment, introduced with OSX 10.5 (Leopard). 
+# To create a documentation set, doxygen will generate a Makefile in the 
+# HTML output directory. Running make will produce the docset in that 
+# directory and running "make install" will install the docset in 
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find 
+# it at startup. 
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
+
+GENERATE_DOCSET        = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the 
+# feed. A documentation feed provides an umbrella under which multiple 
+# documentation sets from a single provider (such as a company or product suite) 
+# can be grouped.
+
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that 
+# should uniquely identify the documentation set bundle. This should be a 
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen 
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
+# will be generated that can be used as input for tools like the 
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) 
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
+# be used to specify the file name of the resulting .chm file. You 
+# can add a path in front of the file if the result should not be 
+# written to the html output directory.
+
+CHM_FILE               = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
+# be used to specify the location (absolute path including file name) of 
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION           = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
+# controls if a separate .chi index file is generated (YES) or that 
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING 
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file 
+# content.
+
+CHM_INDEX_ENCODING     = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
+# controls whether a binary table of contents is generated (YES) or a 
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members 
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER 
+# are set, an additional index file will be generated that can be used as input for 
+# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated 
+# HTML documentation.
+
+GENERATE_QHP           = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can 
+# be used to specify the file name of the resulting .qch file. 
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE               = 
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating 
+# Qt Help Project output. For more information please see 
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE          = 
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating 
+# Qt Help Project output. For more information please see 
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER     = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. 
+# For more information please see 
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME   = 
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see 
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters";>Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS  = 
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's 
+# filter section matches. 
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes";>Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS  = 
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can 
+# be used to specify the location of Qt's qhelpgenerator. 
+# If non-empty doxygen will try to run qhelpgenerator on the generated 
+# .qhp file.
+
+QHG_LOCATION           = 
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
+# top of each HTML page. The value NO (the default) enables the index and 
+# the value YES disables it.
+
+DISABLE_INDEX          = NO
+
+# This tag can be used to set the number of enum values (range [1..20]) 
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE   = 1
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index 
+# structure should be generated to display hierarchical information. 
+# If the tag value is set to FRAME, a side panel will be generated 
+# containing a tree-like index structure (just like the one that 
+# is generated for HTML Help). For this to work a browser that supports 
+# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, 
+# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are 
+# probably better off using the HTML help feature. Other possible values 
+# for this tag are: HIERARCHIES, which will generate the Groups, Directories, 
+# and Class Hierarchy pages using a tree view instead of an ordered list; 
+# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which 
+# disables this behavior completely. For backwards compatibility with previous 
+# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE 
+# respectively.
+
+GENERATE_TREEVIEW      = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
+# used to set the initial width (in pixels) of the frame in which the tree 
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+# Use this tag to change the font size of Latex formulas included 
+# as images in the HTML documentation. The default is 10. Note that 
+# when you change the font size after a successful doxygen run you need 
+# to manually remove any form_*.png images from the HTML output directory 
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE       = 10
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
+# generate Latex output.
+
+GENERATE_LATEX         = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
+# generate index for LaTeX. If left blank `makeindex' will be used as the 
+# default command name.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
+# LaTeX documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used 
+# by the printer. Possible values are: a4, a4wide, letter, legal and 
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         = 
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
+# the generated latex document. The header should contain everything until 
+# the first chapter. If it is left blank doxygen will generate a 
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           = 
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
+# contain links (just like the HTML output) instead of page references 
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
+# plain latex in the generated Makefile. Set this option to YES to get a 
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
+# command to the generated LaTeX files. This will instruct LaTeX to keep 
+# running if errors occur, instead of asking the user for help. 
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
+# include the index chapters (such as File Index, Compound Index, etc.) 
+# in the output.
+
+LATEX_HIDE_INDICES     = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
+# The RTF output is optimized for Word 97 and may not look very pretty with 
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
+# RTF documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
+# will contain hyperlink fields. The RTF file will 
+# contain links (just like the HTML output) instead of page references. 
+# This makes the output suitable for online browsing using WORD or other 
+# programs which support those fields. 
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's 
+# config file, i.e. a series of assignments. You only have to provide 
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    = 
+
+# Set optional variables used in the generation of an rtf document. 
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
+# generate man pages
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to 
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
+# then it will generate one additional man file for each entity 
+# documented in the real man page(s). These additional files 
+# only source the real man page, but without them the man command 
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will 
+# generate an XML file that captures the structure of 
+# the code including all documentation.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_SCHEMA             = 
+
+# The XML_DTD tag can be used to specify an XML DTD, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_DTD                = 
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
+# dump the program listings (including syntax highlighting 
+# and cross-referencing information) to the XML output. Note that 
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
+# generate an AutoGen Definitions (see autogen.sf.net) file 
+# that captures the structure of the code including all 
+# documentation. Note that this feature is still experimental 
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
+# generate a Perl module file that captures the structure of 
+# the code including all documentation. Note that this 
+# feature is still experimental and incomplete at the 
+# moment.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
+# nicely formatted so it can be parsed by a human reader. 
+# This is useful 
+# if you want to understand what is going on. 
+# On the other hand, if this 
+# tag is set to NO the size of the Perl module output will be much smaller 
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file 
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
+# This is useful so different doxyrules.make files included by the same 
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX = 
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
+# evaluate all C-preprocessor directives found in the sources and include 
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
+# names in the source code. If set to NO (the default) only conditional 
+# compilation will be performed. Macro expansion can be done in a controlled 
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
+# then the macro expansion is limited to the macros specified with the 
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that 
+# contain include files that are not input files but should be processed by 
+# the preprocessor.
+
+INCLUDE_PATH           = 
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
+# patterns (like *.h and *.hpp) to filter out the header-files in the 
+# directories. If left blank, the patterns specified with FILE_PATTERNS will 
+# be used.
+
+INCLUDE_FILE_PATTERNS  = 
+
+# The PREDEFINED tag can be used to specify one or more macro names that 
+# are defined before the preprocessor is started (similar to the -D option of 
+# gcc). The argument of the tag is a list of macros of the form: name 
+# or name=definition (no spaces). If the definition and the = are 
+# omitted =1 is assumed. To prevent a macro definition from being 
+# undefined via #undef or recursively expanded use the := operator 
+# instead of the = operator.
+
+PREDEFINED             = DOXYGEN_SHOULD_SKIP_THIS \
+                         GLIBMM_VFUNCS_ENABLED \
+                         GLIBMM_PROPERTIES_ENABLED \
+                         GLIBMM_EXCEPTIONS_ENABLED \
+                         GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
+# this tag can be used to specify a list of macro names that should be expanded. 
+# The macro definition that is found in the sources will be used. 
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED      = 
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
+# doxygen's preprocessor will remove all function-like macros that are alone 
+# on a line, have an all uppercase name, and do not end with a semicolon. Such 
+# function macros are typically used for boiler-plate code, and will confuse 
+# the parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references   
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles. 
+# Optionally an initial location of the external documentation 
+# can be added for each tagfile. The format of a tag file without 
+# this location is as follows: 
+#  
+# TAGFILES = file1 file2 ... 
+# Adding location for the tag files is done as follows: 
+#  
+# TAGFILES = file1=loc1 "file2 = loc2" ... 
+# where "loc1" and "loc2" can be relative or absolute paths or 
+# URLs. If a location is present for each tag, the installdox tool 
+# does not have to be run to correct the links. 
+# Note that each tag file must have a unique name 
+# (where the name does NOT include the path) 
+# If a tag file is not located in the directory in which doxygen 
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES               = 
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       = 
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
+# in the class index. If set to NO only the inherited external classes 
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
+# in the modules index. If set to NO, only the current project's groups will 
+# be listed.
+
+EXTERNAL_GROUPS        = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script 
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base 
+# or super classes. Setting the tag to NO turns the diagrams off. Note that 
+# this option is superseded by the HAVE_DOT option below. This is only a 
+# fallback. It is recommended to install and use dot, since it yields more 
+# powerful graphs.
+
+CLASS_DIAGRAMS         = YES
+
+# You can define message sequence charts within doxygen comments using the \msc 
+# command. Doxygen will then run the mscgen tool (see 
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the 
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where 
+# the mscgen tool resides. If left empty the tool is assumed to be found in the 
+# default search path.
+
+MSCGEN_PATH            = 
+
+# If set to YES, the inheritance and collaboration graphs will hide 
+# inheritance and usage relations if the target is undocumented 
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
+# available from the path. This tool is part of Graphviz, a graph visualization 
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = NO
+
+# By default doxygen will write a font called FreeSans.ttf to the output 
+# directory and reference it in all dot files that doxygen generates. This 
+# font does not include all possible unicode characters however, so when you need 
+# these (or just want a differently looking font) you can specify the font name 
+# using DOT_FONTNAME. You need need to make sure dot is able to find the font, 
+# which can be done by putting it in a standard location or by setting the 
+# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory 
+# containing the font.
+
+DOT_FONTNAME           = FreeSans
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. 
+# The default size is 10pt.
+
+DOT_FONTSIZE           = 10
+
+# By default doxygen will tell dot to use the output directory to look for the 
+# FreeSans.ttf font (which doxygen will put there itself). If you specify a 
+# different font using DOT_FONTNAME you can set the path where dot 
+# can find it using this tag.
+
+DOT_FONTPATH           = 
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect inheritance relations. Setting this tag to YES will force the 
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect implementation dependencies (inheritance, containment, and 
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS           = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
+# collaboration diagrams in a style similar to the OMG's Unified Modeling 
+# Language.
+
+UML_LOOK               = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the 
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS     = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
+# tags are set to YES then doxygen will generate a graph for each documented 
+# file showing the direct and indirect include dependencies of the file with 
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
+# documented header file showing the documented files that directly or 
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then 
+# doxygen will generate a call dependency graph for every global function 
+# or class method. Note that enabling this option will significantly increase 
+# the time of a run. So in most cases it will be better to enable call graphs 
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH             = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then 
+# doxygen will generate a caller dependency graph for every global function 
+# or class method. Note that enabling this option will significantly increase 
+# the time of a run. So in most cases it will be better to enable caller 
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH           = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES 
+# then doxygen will show the dependencies a directory has on other directories 
+# in a graphical way. The dependency relations are determined by the #include 
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH        = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
+# generated by dot. Possible values are png, jpg, or gif 
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT       = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be 
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH               = 
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that 
+# contain dot files that are included in the documentation (see the 
+# \dotfile command).
+
+DOTFILE_DIRS           = 
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of 
+# nodes that will be shown in the graph. If the number of nodes in a graph 
+# becomes larger than this value, doxygen will truncate the graph, which is 
+# visualized by representing a node as a red box. Note that doxygen if the 
+# number of direct children of the root node in a graph is already larger than 
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note 
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES    = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
+# graphs generated by dot. A depth value of 3 means that only nodes reachable 
+# from the root by following a path via at most 3 edges will be shown. Nodes 
+# that lay further from the root node will be omitted. Note that setting this 
+# option to 1 or 2 may greatly reduce the computation time needed for large 
+# code bases. Also note that the size of a graph can be further restricted by 
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH    = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
+# background. This is disabled by default, because dot on Windows does not 
+# seem to support this out of the box. Warning: Depending on the platform used, 
+# enabling this option may lead to badly anti-aliased labels on the edges of 
+# a graph (i.e. they become hard to read).
+
+DOT_TRANSPARENT        = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
+# files in one run (i.e. multiple -o and -T options on the command line). This 
+# makes dot run faster, but since only newer versions of dot (>1.8.10) 
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS      = NO
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
+# generate a legend page explaining the meaning of the various boxes and 
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
+# remove the intermediate dot files that are used to generate 
+# the various graphs.
+
+DOT_CLEANUP            = YES
+
+#---------------------------------------------------------------------------
+# Options related to the search engine
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be 
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE           = NO

Added: gstreamermm-plugins-good/trunk/docs/reference/Makefile.am
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/docs/reference/Makefile.am	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,60 @@
+doxygenprog= DOXYGEN@
+
+doxygen_configfile=Doxyfile
+doxygen_configfile_source=$(srcdir)/Doxyfile.in
+beautify_docs = @GMMPROC_DIR@/beautify_docs.pl
+
+EXTRA_DIST= Doxyfile.in html reference-index.txt
+
+docdir = $(datadir)/doc/gstreamermm-plugins-good-0.10/docs
+referencedir=$(docdir)/reference/html
+
+HTML_INDEX=html/index.html
+
+$(HTML_INDEX): $(doxygen_configfile_source) $(beautify_docs) \
+	$(top_srcdir)/gstreamer-plugins-good/gstreamermm-plugins-good/*.h
+	-rm -rf html
+	$(doxygenprog) $(doxygen_configfile)
+	$(PERL_PATH) $(beautify_docs) html && touch $@
+
+gstreamermm-plugins-good-reference-html.tar.gz: $(HTML_INDEX)
+	tar cf - html | gzip -c --best >$@
+
+gstreamermm-plugins-good-reference-html.tar.bz2: $(HTML_INDEX)
+	tar cf - html | bzip2 -c >$@
+
+doc-clean:
+	-rm -rf html
+	-rm -f doxygen-warnings.txt
+	-rm -f gstreamermm-plugins-good-reference-html.tar.gz \
+		gstreamermm-plugins-good-reference-html.tar.bz2
+
+install-reference: $(HTML_INDEX)
+	@$(NORMAL_INSTALL)
+	$(mkinstalldirs) $(DESTDIR)$(referencedir)
+	@dir='$(<D)'; for p in $$dir/*.html $$dir/*.css $$dir/*.png; do \
+	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+	  echo " $(INSTALL_DATA) $$p $(DESTDIR)$(referencedir)/$$f"; \
+	  $(INSTALL_DATA) $$p $(DESTDIR)$(referencedir)/$$f; \
+	done
+
+uninstall-reference: $(HTML_INDEX)
+	@$(NORMAL_UNINSTALL)
+	@dir='$(<D)'; for p in $$dir/*.html $$dir/*.css $$dir/*.png; do \
+	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+	  echo " rm -f $(DESTDIR)$(referencedir)/$$f"; \
+	  rm -f $(DESTDIR)$(referencedir)/$$f; \
+	done
+
+all-local: $(HTML_INDEX)
+
+install-data-local: install-reference
+
+uninstall-local: uninstall-reference
+
+maintainer-clean-local: doc-clean
+
+clean-local: doc-clean
+
+.PHONY: doc-clean install-reference uninstall-reference
+

Added: gstreamermm-plugins-good/trunk/examples/Makefile.am
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/examples/Makefile.am	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,5 @@
+example_dirs = 
+
+SUBDIRS = $(example_dirs)
+EXTRA_DIST = README Makefile.am_fragment
+

Added: gstreamermm-plugins-good/trunk/examples/Makefile.am_fragment
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/examples/Makefile.am_fragment	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,44 @@
+local_gstreamermm_plugins_good_lib = $(top_builddir)/gstreamer-plugins-good/gstreamermm-plugins-good/libgstreamermm-plugins-good-0.10.la
+
+LIBS  = $(local_gstreamermm_plugins_good_lib) $(GSTREAMERMM_PLUGINS_GOOD_LIBS)
+
+all_includes = -I$(top_builddir)/gstreamer-plugins-good \
+	       -I$(top_srcdir)/gstreamer-plugins-good \
+	       $(GSTREAMERMM_PLUGINS_GOOD_CFLAGS)
+
+DEFS = @DEFS@
+DEFAULT_INCLUDES =
+
+INCLUDES = -I. -I$(srcdir) $(strip $(all_includes))
+
+gstreamermm_plugins_good_docdir = $(datadir)/doc/gstreamermm-plugins-good-0.10
+
+install-example-src:
+	@$(NORMAL_INSTALL)
+	$(mkinstalldirs) $(DESTDIR)$(gstreamermm_plugins_good_docdir)/$(subdir)
+	for p in $(srcdir)/*.cc $(srcdir)/*.h; do \
+	  if test -f $$p; then \
+	    f="`echo $$p | sed -e 's|^.*/||'`"; \
+	    echo " $(INSTALL_DATA) $$p  \
+	    $(DESTDIR)$(gstreamermm_plugins_good_docdir)/$(subdir)/$$f"; \
+	    $(INSTALL_DATA) $$p  \
+	    $(DESTDIR)$(gstreamermm_plugins_good_docdir)/$(subdir)/$$f; \
+	  fi; \
+	done
+
+uninstall-example-src:
+	@$(NORMAL_UNINSTALL)
+	for p in $(srcdir)/*.cc $(srcdir)/*.h; do \
+	  if test -f $$p; then \
+	    f="`echo $$p | sed -e 's|^.*/||'`"; \
+	    echo " rm -f  \
+	    $(DESTDIR)$(gstreamermm_plugins_good_docdir)/$(subdir)/$$f"; \
+	    rm -f  $(DESTDIR)$(gstreamermm_plugins_good_docdir)/$(subdir)/$$f; \
+	  fi; \
+	done
+
+install-data-local: install-example-src
+
+uninstall-local: uninstall-example-src
+
+.PHONY: install-example-src uninstall-example-src

Added: gstreamermm-plugins-good/trunk/examples/README
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/examples/README	Mon Mar 30 04:18:48 2009
@@ -0,0 +1 @@
+This directory contains all the examples for gstreamermm-plugins-good.

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/Makefile.am
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/gstreamer-plugins-good/Makefile.am	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,14 @@
+SUBDIRS = src gstreamermm-plugins-good
+
+EXTRA_DIST = README gstreamermm-plugins-good-config.h.in \
+	     gstreamermm-plugins-good-0.10.pc.in gstreamermm-plugins-good.h
+
+gstreamermm_plugins_good_includedir = $(includedir)/gstreamermm-plugins-good-0.10
+gstreamermm_plugins_good_include_DATA = gstreamermm-plugins-good.h
+
+gstreamermm_plugins_good_configdir = $(libdir)/gstreamermm-plugins-good-0.10/include
+gstreamermm_plugins_good_config_DATA = gstreamermm-plugins-good-config.h
+
+pkgconfigdir          = $(libdir)/pkgconfig
+pkgconfig_DATA        = gstreamermm-plugins-good-0.10.pc
+

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/README
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/gstreamer-plugins-good/README	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,6 @@
+Base directory for gstreamermm-plugins-good. 
+
+Here is the layout
+
+  src - actual sources used to build
+  gstreamermm-plugins-good - built sources (do not edit)

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good-0.10.pc.in
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good-0.10.pc.in	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,11 @@
+prefix= prefix@
+exec_prefix= exec_prefix@
+libdir= libdir@
+includedir= includedir@
+
+Name: gstreamermm-plugins-good
+Description: C++ wrapper for GStreamer good plugins.
+Requires: gstreamer-0.10 gstreamermm-0.10
+Version: @VERSION@
+Libs: -L${libdir} -lgstreamermm-plugins-good-0.10
+Cflags: -I${includedir}/gstreamermm-plugins-good-0.10 -I${libdir}/gstreamermm-plugins-good-0.10/include

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good-config.h.in
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good-config.h.in	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,15 @@
+#ifndef _GSTREAMERMM_PLUGINS_GOOD_CONFIG_H
+#define _GSTREAMERMM_PLUGINS_GOOD_CONFIG_H 1
+
+#include "glibmmconfig.h"
+
+/* version numbers */
+#undef GSTREAMERMM_PLUGINS_GOOD_MAJOR_VERSION
+#undef GSTREAMERMM_PLUGINS_GOOD_MINOR_VERSION
+#undef GSTREAMERMM_PLUGINS_GOOD_MICRO_VERSION
+
+/* plug-in defines */
+#undef GSTREAMERMM_PLUGINS_GOOD_PLUGIN_ALPHACOLOR
+#undef GSTREAMERMM_PLUGINS_GOOD_PLUGIN_APEDEMUX
+
+#endif /* _GSTREAMERMM_PLUGINS_GOOD_CONFIG_H */

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good.h
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good.h	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,7 @@
+#ifndef _GSTREAMERMM_PLUGINS_GOOD_H_
+#define _GSTREAMERMM_PLUGINS_GOOD_H_
+
+#include <gstreamermm-plugins-good/init.h>
+#include <gstreamermm-plugins-good/wrap_init.h>
+
+#endif // _GSTREAMERMM_PLUGINS_GOOD_H

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good/Makefile.am
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good/Makefile.am	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,32 @@
+## Copyright (c) 2009
+## The gstreamermm development team.
+
+SUBDIRS                 = private
+
+sublib_name             = gstreamermm-plugins-good
+sublib_libname          = gstreamermm-plugins-good-0.10
+sublib_libversion       = $(LIBGSTREAMERMM_PLUGINS_GOOD_SO_VERSION)
+sublib_namespace        = Gst
+sublib_cflags           = $(GSTREAMERMM_PLUGINS_GOOD_CFLAGS)
+sublib_topdir           = gstreamer-plugins-good
+sublib_win32_dlls_libs	=
+
+sublib_files_extra_posix_cc = 
+sublib_files_extra_win32_cc =
+sublib_files_extra_general_cc = init.cc
+sublib_files_extra_general_deprecated_cc = 
+
+sublib_files_extra_posix_h = 
+sublib_files_extra_win32_h =
+sublib_files_extra_general_h = init.h
+sublib_files_extra_general_deprecated_h = 
+
+include $(top_srcdir)/build_shared/Makefile_build.am_fragment
+
+lib_LTLIBRARIES = libgstreamermm-plugins-good-0.10.la
+libgstreamermm_plugins_good_0_10_la_SOURCES = $(files_built_cc) $(files_extra_cc)
+EXTRA_libgstreamermm_plugins_good_0_10_la_SOURCES = $(files_all_plugin_built_cc)
+libgstreamermm_plugins_good_0_10_la_LDFLAGS = $(common_ldflags)
+libgstreamermm_plugins_good_0_10_la_LIBADD  = $(GSTREAMERMM_PLUGINS_GOOD_LIBS) \
+				 $(files_existing_plugin_built_lo)
+libgstreamermm_plugins_good_0_10_la_DEPENDENCIES = $(files_existing_plugin_built_lo)

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good/init.cc
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good/init.cc	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,51 @@
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gstreamermm-plugins-good/init.h>
+#include <gstreamermm-plugins-good/wrap_init.h>
+#include <gstreamermm/init.h>
+
+namespace Gst
+{
+
+static void initialize_wrap_system()
+{
+  static bool s_init = false;
+  if(!s_init)
+  {
+    //For Glib::wrap(), for Glib::Object-derived classes.
+    Gst::wrap_init(); 
+
+    s_init = true;
+  }
+}
+
+void init_plugins_good()
+{
+  static bool s_init = false;
+  if(!s_init)
+  {
+    Gst::init();
+    initialize_wrap_system();
+
+    s_init = true;
+  }
+}
+
+} // namespace Gst

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good/init.h
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good/init.h	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,36 @@
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#ifndef _GSTREAMERMM_PLUGINS_GOOD_INIT_H
+#define _GSTREAMERMM_PLUGINS_GOOD_INIT_H
+
+/** @defgroup GstPlugins gstreamermm-plugins-good Plugins
+ *  Wrapped GStreamer good plugins.
+ */
+
+namespace Gst
+{
+
+/** Initializes gstreamermm-plugins-good.
+ */
+void init_plugins_good();
+
+} // namespace Gst
+
+#endif //_GSTREAMERMM_PLUGINS_GOOD_INIT_H

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good/private/Makefile.am
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good/private/Makefile.am	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,27 @@
+## Copyright (c) 2009
+## The gstreamermm development team.
+
+include $(srcdir)/../../src/Makefile_list_of_hg.am_fragment
+
+files_built_p_h		= $(files_hg:.hg=_p.h)
+files_built_all_p_h	= $(files_all_hg:.hg=_p.h)
+files_all_plugin_p_h = $(files_all_plugin_hg:.hg=_p.h)
+files_existing_plugin_p_h = $(files_existing_plugin_hg:.hg=_p.h)
+files_extra_p_h		= 
+files_extra_all_p_h	= 
+
+dist_sources = $(files_built_all_p_h) $(files_extra_all_p_h) \
+	       $(files_all_plugin_p_h)
+
+DISTFILES = $(DIST_COMMON) $(dist_sources)
+
+EXTRA_HEADERS = $(files_all_plugin_p_h)
+
+private_includedir	= $(includedir)/gstreamermm-plugins-good-0.10/gstreamermm-plugins-good/private
+private_include_HEADERS	= $(files_built_p_h) $(files_extra_p_h)
+
+EXTRA_private_includedir = $(includedir)/gstreamermm-plugins-good-0.10/gstreamermm-plugins-good/private
+EXTRA_private_include_HEADERS = $(files_existing_plugin_p_h)
+
+maintainer-clean-local:
+	(cd $(srcdir) && rm -f $(files_built_p_h) $(files_all_plugin_p_h))

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good/wrap_init.h
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/gstreamer-plugins-good/gstreamermm-plugins-good/wrap_init.h	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,36 @@
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#ifndef _GSTREAMERMM_PLUGINS_GOOD_WRAP_INIT_H
+#define _GSTREAMERMM_PLUGINS_GOOD_WRAP_INIT_H
+
+// wrap_init.cc is generated by tools/generate_wrap_init.pl
+
+#include <gstreamermmconfig.h>
+
+namespace Gst
+{
+  /** Initializes the main gstreamermm-plugins-good wrapping system.  There's
+   * no need to use this function directly; instead use
+   * Gst::init_plugins_good().
+   */
+  void wrap_init();
+}
+
+#endif //_GSTREAMERMM_PLUGINS_GOOD_WRAP_INIT_H

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/Makefile.am
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/Makefile.am	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,11 @@
+## Copyright (c) 2009
+## The gstreamermm development team.
+
+sublib_name = gstreamermm-plugins-good
+sublib_namespace = Gst
+sublib_parentdir = gstreamermm-plugins-good
+files_defs = gst.defs gst_methods.defs gst_signals.defs gst_enums.defs gst_vfuncs.defs gst_others.defs gst_docs.xml gst_docs_override.xml
+
+main_defs = gst
+
+include $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/Makefile_list_of_hg.am_fragment
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/Makefile_list_of_hg.am_fragment	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,34 @@
+# This file is include by other Makefile.am files, using the new automake include feature.
+# The include happens in Makefile.am, not Makefile.in or Makefile,
+# so it's like copy-and-pasting this into each of those Makefile.am files.
+
+files_posix_hg =
+files_win32_hg =
+files_general_hg = 
+
+files_general_deprecated_hg =
+
+# To add a plugin, add the plugin definition, in the form of
+# "plugin=CppClassName" (where "plugin" is the plugin name as recognized by
+# gst-inspect and "CppClassName" is the desired name of the C++ class), to the
+# GSTREAMERMM_PLUGINS_GOOD_ALL_PLUGIN_DEFS variable of the configure.ac file.
+# Also add the target .hg file name (which must be the same as "CppClassName"
+# all in lowercase with a .hg extension) to the variable below.  Finally, be
+# sure to include an #undef in the form of "#undef
+# GSTREAMERMM_PLUGINS_GOOD_PLUGIN_name" in the
+# gstreamermm-plugins-good-config.h.in file (where "name" is the plugin name
+# all in caps).
+
+files_all_plugin_hg = alphacolor.hg apedemux.hg
+
+# The following variables are needed for the build process to know what class
+# name to use for the plug-ins and the list of the existing plug-ins in the
+# system so only those are included in the build:
+
+defs_plugin_all = $(GSTREAMERMM_PLUGINS_GOOD_ALL_PLUGIN_DEFS)
+cppnames_plugin_all = $(GSTREAMERMM_PLUGINS_GOOD_ALL_PLUGIN_CPPNAMES)
+files_existing_plugin_hg = $(GSTREAMERMM_PLUGINS_GOOD_EXISTING_PLUGIN_HG)
+
+files_patched_hg = 
+
+include $(top_srcdir)/build_shared/Makefile_build_gensrc.am_fragment

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/generate-extra-defs.sh
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/generate-extra-defs.sh	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# Note that script assumes it resides in the
+# gstreamermm-plugins-good/gstreamer-plugins-good/src directory.
+
+DIR=`dirname "$0"`
+
+"$DIR"/../../tools/extra_defs_gen/generate_defs_gst > "$DIR/gst_signals.defs"

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst.defs
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst.defs	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,6 @@
+(include gst_methods.defs)
+(include gst_signals.defs)
+(include gst_enums.defs)
+(include gst_vfuncs.defs)
+(include gst_others.defs)
+

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst_docs.xml
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst_docs.xml	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,2 @@
+<root>
+</root>

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst_docs_override.xml
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst_docs_override.xml	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,2 @@
+<root>
+</root>

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst_enums.defs
==============================================================================

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst_methods.defs
==============================================================================

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst_others.defs
==============================================================================

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst_signals.defs
==============================================================================

Added: gstreamermm-plugins-good/trunk/gstreamer-plugins-good/src/gst_vfuncs.defs
==============================================================================

Added: gstreamermm-plugins-good/trunk/scripts/Makefile.am
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/scripts/Makefile.am	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,8 @@
+# Install m4 macros needed by other *mm packages:
+m4dir = $(datadir)/aclocal
+m4_DATA = glibmm_check_perl.m4
+
+EXTRA_DIST = README config.sub missing config.guess install-sh \
+             ltmain.sh cxx.m4 cxx_std.m4 c_std.m4 docgen.m4 macros.m4 reduced.m4 \
+             $(m4_DATA)
+

Added: gstreamermm-plugins-good/trunk/scripts/README
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/scripts/README	Mon Mar 30 04:18:48 2009
@@ -0,0 +1 @@
+

Added: gstreamermm-plugins-good/trunk/scripts/c_std.m4
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/scripts/c_std.m4	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,43 @@
+cv_c_std_time_t_is_not_int32
+## GLIBMM_CXX_HAS_NAMESPACE_STD()
+##
+## Test whether libstdc++ declares namespace std.  For safety,
+## also check whether several randomly selected STL symbols
+## are available in namespace std.
+##
+## On success, #define GLIBMM_HAVE_NAMESPACE_STD to 1.
+##
+AC_DEFUN([GLIBMM_C_STD_TIME_T_IS_NOT_INT32],
+[
+  AC_CACHE_CHECK(
+    [whether time_t is not equivalent to gint32, meaning that it can be used for a method overload],
+    [gtkmm_cv_c_std_time_t_is_not_int32],
+  [
+    AC_TRY_COMPILE(
+    [
+      #include <time.h>
+    ],[
+      typedef signed int gint32;
+      class Test
+      {
+        void something(gint32 val)
+        {}
+
+        void something(time_t val)
+        {}
+      };
+    ],
+      [gtkmm_cv_c_std_time_t_is_not_int32="yes"],
+      [gtkmm_cv_c_std_time_t_is_not_int32="no"]
+    )
+  ])
+
+  if test "x${gtkmm_cv_c_std_time_t_is_not_int32}" = "xyes"; then
+  {
+    AC_DEFINE([GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32],[1], [Defined when time_t is not equivalent to gint32, meaning that it can be used for a method overload])
+  }
+  fi
+])
+
+
+

Added: gstreamermm-plugins-good/trunk/scripts/cxx.m4
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/scripts/cxx.m4	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,364 @@
+
+dnl
+dnl AC_CXX_NAMESPACES(ACTION_FOUND,ACTION_NOT_FOUND)
+dnl
+AC_DEFUN([AC_CXX_NAMESPACES],[
+AC_MSG_CHECKING(if C++ compiler supports namespaces)
+AC_TRY_COMPILE(
+[
+namespace Foo { struct A {}; }
+using namespace Foo;
+],[
+A a;
+(void)a;
+],[
+ ac_cxx_namespaces=yes
+ AC_MSG_RESULT([$ac_cxx_namespaces])
+ $1
+],[
+ ac_cxx_namespaces=no
+ AC_MSG_RESULT([$ac_cxx_namespaces])
+ $2
+])
+])
+
+dnl
+dnl AC_CXX_NAMESPACES(ACTION_FOUND,ACTION_NOT_FOUND)
+dnl
+AC_DEFUN([AC_CXX_BOOL],[
+AC_MSG_CHECKING(if C++ compiler supports bool)
+AC_TRY_COMPILE(
+[
+],[
+   bool b=true;
+   bool b1=false;
+   (void)b;
+   (void)b1;
+],[
+  ac_cxx_bool=yes
+  AC_MSG_RESULT([$ac_cxx_bool])
+  $1
+],[
+  ac_cxx_bool=no
+  AC_MSG_RESULT([$ac_cxx_bool])
+  $2
+])
+])
+
+dnl
+dnl AC_CXX_MUTABLE(ACTION_FOUND,ACTION_NOT_FOUND)
+dnl
+AC_DEFUN([AC_CXX_MUTABLE],[
+AC_MSG_CHECKING(if C++ compiler supports mutable)
+AC_TRY_COMPILE(
+[
+class k {   
+  mutable char *c;
+public:
+   void foo() const { c=0; }
+};
+],[
+],[
+  ac_cxx_mutable=yes
+  AC_MSG_RESULT([$ac_cxx_mutable])
+  $1
+],[
+  ac_cxx_mutable=no
+  AC_MSG_RESULT([$ac_cxx_mutable])
+  $2
+]) 
+])
+
+
+dnl
+dnl AC_CXX_CONST_CAST(ACTION_FOUND,ACTION_NOT_FOUND)
+dnl
+AC_DEFUN([AC_CXX_CONST_CAST],[
+AC_MSG_CHECKING([if C++ compiler supports const_cast<>])
+AC_TRY_COMPILE(
+[
+   class foo;
+],[
+   const foo *c=0;
+   foo *c1=const_cast<foo*>(c);
+   (void)c1;
+],[
+  ac_cxx_const_cast=yes
+  AC_MSG_RESULT([$ac_cxx_const_cast])
+],[
+  ac_cxx_const_cast=no
+  AC_MSG_RESULT([$ac_cxx_const_cast])
+])
+])
+
+
+dnl
+dnl GLIBMM_CXX_MEMBER_FUNCTIONS_MEMBER_TEMPLATES(ACTION_FOUND,ACTION_NOT_FOUND)
+dnl
+dnl Test whether the compiler allows member functions to refer to spezialized member function templates.
+dnl Some compilers have problems with this. gcc 2.95.3 aborts with an internal compiler error.
+dnl
+AC_DEFUN([GLIBMM_CXX_MEMBER_FUNCTIONS_MEMBER_TEMPLATES],[
+AC_MSG_CHECKING([if C++ compiler allows member functions to refer to member templates])
+AC_TRY_COMPILE(
+[
+  struct foo {
+    template <class C> inline
+    void doit();
+    void thebug();
+  };
+
+  template <class C> inline
+  void foo::doit() {
+  }
+
+  struct bar {
+    void neitherabug();
+  };
+
+  void notabug() {
+    void (foo::*func)();
+    func = &foo::doit<int>;
+    (void)func;
+  }
+
+  void bar::neitherabug() {
+    void (foo::*func)();
+    func = &foo::doit<int>;
+    (void)func;
+  }
+
+  void foo::thebug() {
+    void (foo::*func)();
+    func = &foo::doit<int>; //Compiler bugs usually show here.
+    (void)func;
+  }
+],[],[
+  glibmm_cxx_member_functions_member_templates=yes
+  AC_DEFINE([GLIBMM_MEMBER_FUNCTIONS_MEMBER_TEMPLATES],[1],[does the C++ compiler allow member functions to refer to member templates])
+  AC_MSG_RESULT([$glibmm_cxx_member_functions_member_templates])
+],[
+  glibmm_cxx_member_functions_member_templates=no
+  AC_DEFINE([GLIBMM_MEMBER_FUNCTIONS_MEMBER_TEMPLATES],[0])
+  AC_MSG_RESULT([$glibmm_cxx_member_functions_member_templates])
+])
+])
+
+## GLIBMM_CXX_CAN_DISAMBIGUATE_CONST_TEMPLATE_SPECIALIZATIONS()
+##
+## Check whether the compiler finds it ambiguous to have both
+## const and non-const template specializations,
+## The SUN Forte compiler has this problem, though we are
+## not 100% sure that it's a C++ standards violation.
+##
+AC_DEFUN([GLIBMM_CXX_CAN_DISAMBIGUATE_CONST_TEMPLATE_SPECIALIZATIONS],
+[
+  AC_REQUIRE([GLIBMM_CXX_HAS_NAMESPACE_STD])
+
+  AC_CACHE_CHECK(
+    [whether the compiler finds it ambiguous to have both const and non-const template specializations],
+    [glibmm_cv_cxx_can_disambiguate_const_template_specializations],
+  [
+    AC_TRY_COMPILE(
+    [
+      #include <iostream>
+
+      template <class T> class Foo {};
+
+      template <typename T> class Traits {
+      public:
+          const char* whoami() {
+              return "generic template";
+          }
+      };
+
+      template <typename T> class Traits<Foo<T> > {
+      public:
+          const char* whoami() {
+              return "partial specialization for Foo<T>";
+          }
+      };
+
+      template <typename T> class Traits<Foo<const T> > {
+      public:
+          const char* whoami() {
+              return "partial specialization for Foo<const T>";
+          }
+      };
+      
+    ],[
+          Traits<int> it;
+          Traits<Foo<int> > fit;
+          Traits<Foo<const int> > cfit;
+
+          std::cout << "Traits<int>             --> "
+                    << it.whoami() << std::endl;
+          std::cout << "Traits<Foo<int>>        --> "
+                    << fit.whoami() << std::endl;
+          std::cout << "Traits<Foo<const int >> --> "
+                    << cfit.whoami() << std::endl;
+    ],
+      [glibmm_cv_cxx_can_disambiguate_const_template_specializations="yes"],
+      [glibmm_cv_cxx_can_disambiguate_const_template_specializations="no"]
+    )
+  ])
+
+  if test "x${glibmm_cv_cxx_can_disambiguate_const_template_specializations}" = "xyes"; then
+  {
+    AC_DEFINE([GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS],[1], [Defined if the compiler does not find it ambiguous to have both const and non-const template specializations])
+  }
+  fi
+])
+
+
+
+## GLIBMM_CXX_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION()
+##
+## Check whether the compiler allows us to define a template that uses 
+## dynamic_cast<> with an object whose type is not defined, 
+## even if we do not use that template before we have defined the type.
+## This should probably not be allowed anyway.
+##
+AC_DEFUN([GLIBMM_CXX_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION],
+[
+  AC_CACHE_CHECK(
+    [whether the compiler allows us to define a template that uses dynamic_cast<> with an object whose type is not yet defined],
+    [glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition],
+  [
+    AC_TRY_COMPILE(
+    [
+      class SomeClass;
+
+      SomeClass* some_function();
+
+      template <class T>
+      class SomeTemplate
+      {
+        static bool do_something()
+        {
+          //This does not compile, with the MipsPro (IRIX) compiler
+          //even if we don't use this template at all.
+          //(We would use it later, after we have defined the type).
+          return dynamic_cast<T*>(some_function());
+        }
+      };
+      
+    ],[
+       
+    ],
+      [glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition="yes"],
+      [glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition="no"]
+    )
+  ])
+
+  if test "x${glibmm_cv_cxx_can_use_dynamic_cast_in_unused_template_without_definition}" = "xyes"; then
+  {
+    AC_DEFINE([GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION],[1], [Defined if the compiler allows us to define a template that uses dynamic_cast<> with an object whose type is not yet defined.])
+  }
+  fi
+])
+
+
+## GLIBMM_CXX_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS()
+##
+## Check whether the compiler allows us to use a non-extern "C" function, 
+## such as a static member function, to an extern "C" function pointer, 
+## such as a GTK+ callback.
+## This should not be allowed anyway.
+##
+AC_DEFUN([GLIBMM_CXX_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS],
+[
+  AC_CACHE_CHECK(
+    [whether the the compilerallows us to use a non-extern "C" function for an extern "C" function pointer.],
+    [glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks],
+  [
+    AC_TRY_COMPILE(
+    [
+      extern "C"
+      {
+        struct somestruct
+        {
+          void (*callback) (int);
+        };
+        
+      } // extern "C"
+      
+      void somefunction(int)
+      {
+      }
+      
+    ],[ 
+      somestruct something;
+      something.callback = &somefunction;
+    ],
+      [glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks="yes"],
+      [glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks="no"]
+    )
+  ])
+
+  if test "x${glibmm_cv_cxx_can_assign_non_extern_c_functions_to_extern_c_callbacks}" = "xyes"; then
+  {
+    AC_DEFINE([GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS],[1], [Defined if the compiler allows us to use a non-extern "C" function for an extern "C" function pointer.])
+  }
+  fi
+])
+
+## GLIBMM_CXX_CAN_USE_NAMESPACES_INSIDE_EXTERNC()
+##
+## Check whether the compiler puts extern "C" functions in the global namespace, 
+## even inside a namespace declaration. The AIX xlC compiler does this, and also 
+## gets confused if we declare the namespace again inside the extern "C" block.
+## This seems like a compiler bug, but not a serious one.
+##
+AC_DEFUN([GLIBMM_CXX_CAN_USE_NAMESPACES_INSIDE_EXTERNC],
+[
+  AC_CACHE_CHECK(
+    [whether the compiler uses namespace declarations inside extern "C" blocks.],
+    [glibmm_cv_cxx_can_use_namespaces_inside_externc],
+  [
+    AC_TRY_COMPILE(
+    [
+      namespace test
+      {
+      
+      extern "C"
+      {
+      
+      void do_something();
+      
+      } //extern C
+      
+      
+      class Something
+      {
+      protected:
+        int i;
+      
+        friend void do_something();
+      };
+      
+      void do_something()
+      {
+        Something something;
+        something.i = 1;
+      }
+      
+      } //namespace
+
+      
+    ],[ 
+     
+    ],
+      [glibmm_cv_cxx_can_use_namespaces_inside_externc="yes"],
+      [glibmm_cv_cxx_can_use_namespaces_inside_externc="no"]
+    )
+  ])
+
+  if test "x${glibmm_cv_cxx_can_use_namespaces_inside_externc}" = "xyes"; then
+  {
+    AC_DEFINE([GLIBMM_CAN_USE_NAMESPACES_INSIDE_EXTERNC],[1], [Defined if the compiler whether the compiler uses namespace declarations inside extern "C" blocks.])
+  }
+  fi
+])
+
+

Added: gstreamermm-plugins-good/trunk/scripts/cxx_std.m4
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/scripts/cxx_std.m4	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,195 @@
+cv_cxx_has_namespace_std
+## GLIBMM_CXX_HAS_NAMESPACE_STD()
+##
+## Test whether libstdc++ declares namespace std.  For safety,
+## also check whether several randomly selected STL symbols
+## are available in namespace std.
+##
+## On success, #define GLIBMM_HAVE_NAMESPACE_STD to 1.
+##
+AC_DEFUN([GLIBMM_CXX_HAS_NAMESPACE_STD],
+[
+  AC_CACHE_CHECK(
+    [whether C++ library symbols are declared in namespace std],
+    [gtkmm_cv_cxx_has_namespace_std],
+  [
+    AC_TRY_COMPILE(
+    [
+      #include <algorithm>
+      #include <iterator>
+      #include <iostream>
+      #include <string>
+    ],[
+      using std::min;
+      using std::find;
+      using std::copy;
+      using std::bidirectional_iterator_tag;
+      using std::string;
+      using std::istream;
+      using std::cout;
+    ],
+      [gtkmm_cv_cxx_has_namespace_std="yes"],
+      [gtkmm_cv_cxx_has_namespace_std="no"]
+    )
+  ])
+
+  if test "x${gtkmm_cv_cxx_has_namespace_std}" = "xyes"; then
+  {
+    AC_DEFINE([GLIBMM_HAVE_NAMESPACE_STD],[1], [Defined when the libstdc++ declares the std-namespace])
+  }
+  fi
+])
+
+
+## GLIBMM_CXX_HAS_STD_ITERATOR_TRAITS()
+##
+## Check for standard-conform std::iterator_traits<>, and
+## #define GLIBMM_HAVE_STD_ITERATOR_TRAITS on success.
+##
+AC_DEFUN([GLIBMM_CXX_HAS_STD_ITERATOR_TRAITS],
+[
+  AC_REQUIRE([GLIBMM_CXX_HAS_NAMESPACE_STD])
+
+  AC_CACHE_CHECK(
+    [whether the C++ library supports std::iterator_traits],
+    [gtkmm_cv_cxx_has_std_iterator_traits],
+  [
+    AC_TRY_COMPILE(
+    [
+      #include <iterator>
+      #ifdef GLIBMM_HAVE_NAMESPACE_STD
+      using namespace std;
+      #endif
+    ],[
+      typedef iterator_traits<char*>::value_type ValueType;
+    ],
+      [gtkmm_cv_cxx_has_std_iterator_traits="yes"],
+      [gtkmm_cv_cxx_has_std_iterator_traits="no"]
+    )
+  ])
+
+  if test "x${gtkmm_cv_cxx_has_std_iterator_traits}" = "xyes"; then
+  {
+    AC_DEFINE([GLIBMM_HAVE_STD_ITERATOR_TRAITS],[1], [Defined if std::iterator_traits<> is standard-conforming])
+  }
+  fi
+])
+
+
+## GLIBMM_CXX_HAS_SUN_REVERSE_ITERATOR()
+##
+## Check for Sun libCstd style std::reverse_iterator,
+## and #define GLIBMM_HAVE_SUN_REVERSE_ITERATOR if found.
+##
+AC_DEFUN([GLIBMM_CXX_HAS_SUN_REVERSE_ITERATOR],
+[
+  AC_REQUIRE([GLIBMM_CXX_HAS_NAMESPACE_STD])
+
+  AC_CACHE_CHECK(
+    [for non-standard Sun libCstd reverse_iterator],
+    [gtkmm_cv_cxx_has_sun_reverse_iterator],
+  [
+    AC_TRY_COMPILE(
+    [
+      #include <iterator>
+      #ifdef GLIBMM_HAVE_NAMESPACE_STD
+      using namespace std;
+      #endif
+    ],[
+      typedef reverse_iterator<char*,random_access_iterator_tag,char,char&,char*,int> ReverseIter;
+    ],
+      [gtkmm_cv_cxx_has_sun_reverse_iterator="yes"],
+      [gtkmm_cv_cxx_has_sun_reverse_iterator="no"]
+    )
+  ])
+
+  if test "x${gtkmm_cv_cxx_has_sun_reverse_iterator}" = "xyes"; then
+  {
+    AC_DEFINE([GLIBMM_HAVE_SUN_REVERSE_ITERATOR],[1], [Defined if std::reverse_iterator is in Sun libCstd style])
+  }
+  fi
+])
+
+
+## GLIBMM_CXX_HAS_TEMPLATE_SEQUENCE_CTORS()
+##
+## Check whether the STL containers have templated sequence ctors,
+## and #define GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS on success.
+##
+AC_DEFUN([GLIBMM_CXX_HAS_TEMPLATE_SEQUENCE_CTORS],
+[
+  AC_REQUIRE([GLIBMM_CXX_HAS_NAMESPACE_STD])
+
+  AC_CACHE_CHECK(
+    [whether STL containers have templated sequence constructors],
+    [gtkmm_cv_cxx_has_template_sequence_ctors],
+  [
+    AC_TRY_COMPILE(
+    [
+      #include <vector>
+      #include <deque>
+      #include <list>
+      #ifdef GLIBMM_HAVE_NAMESPACE_STD
+      using namespace std;
+      #endif
+    ],[
+      const int array[8] = { 0, };
+      vector<int>  test_vector (&array[0], &array[8]);
+      deque<short> test_deque  (test_vector.begin(), test_vector.end());
+      list<long>   test_list   (test_deque.begin(),  test_deque.end());
+      test_vector.assign(test_list.begin(), test_list.end());
+    ],
+      [gtkmm_cv_cxx_has_template_sequence_ctors="yes"],
+      [gtkmm_cv_cxx_has_template_sequence_ctors="no"]
+    )
+  ])
+
+  if test "x${gtkmm_cv_cxx_has_template_sequence_ctors}" = "xyes"; then
+  {
+    AC_DEFINE([GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS],[1], [Defined if the STL containers have templated sequence ctors])
+  }
+  fi
+])
+
+## GLIBMM_CXX_ALLOWS_STATIC_INLINE_NPOS()
+##
+## Check whether the a static member variable may be initialized inline to std::string::npos.
+## The MipsPro (IRIX) compiler does not like this.
+## and #define GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS on success.
+##
+AC_DEFUN([GLIBMM_CXX_ALLOWS_STATIC_INLINE_NPOS],
+[
+  AC_REQUIRE([GLIBMM_CXX_HAS_NAMESPACE_STD])
+
+  AC_CACHE_CHECK(
+    [whether the compiler allows a static member variable to be initialized inline to std::string::npos],
+    [gtkmm_cv_cxx_has_allows_static_inline_npos],
+  [
+    AC_TRY_COMPILE(
+    [
+      #include <string>
+      #include <iostream>
+      
+      class ustringtest
+      {
+        public:
+        //The MipsPro compiler (IRIX) says "The indicated constant value is not known",
+        //so we need to initalize the static member data elsewhere.
+        static const std::string::size_type ustringnpos = std::string::npos;
+      };
+    ],[
+      std::cout << "npos=" << ustringtest::ustringnpos << std::endl;
+    ],
+      [gtkmm_cv_cxx_has_allows_static_inline_npos="yes"],
+      [gtkmm_cv_cxx_has_allows_static_inline_npos="no"]
+    )
+  ])
+
+  if test "x${gtkmm_cv_cxx_has_allows_static_inline_npos}" = "xyes"; then
+  {
+    AC_DEFINE([GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS],[1], [Defined if a static member variable may be initialized inline to std::string::npos])
+  }
+  fi
+])
+
+

Added: gstreamermm-plugins-good/trunk/scripts/dk-warn.m4
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/scripts/dk-warn.m4	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,114 @@
+## Copyright (c) 2004-2007  Daniel Elstner  <daniel kitta gmail com>
+##
+## This file is part of danielk's Autostuff.
+##
+## danielk's Autostuff 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 2 of the License, or (at
+## your option) any later version.
+##
+## danielk's Autostuff 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 danielk's Autostuff; if not, write to the Free Software Foundation,
+## Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+#serial 20070116
+
+## DK_ARG_ENABLE_WARNINGS(variable, min-flags, max-flags, [deprecation-prefixes])
+##
+## Provide the --enable-warnings configure argument, set to "min" by default.
+## <min-flags> and <max-flags> should be space-separated lists of compiler
+## warning flags to use with --enable-warnings=min or --enable-warnings=max,
+## respectively.  Warning level "fatal" is the same as "max" but in addition
+## enables -Werror mode.
+##
+## If not empty, <deprecation-prefixes> should be a list of module prefixes
+## which is expanded to -D<module>_DISABLE_DEPRECATED flags if fatal warnings
+## are enabled, too.
+##
+AC_DEFUN([DK_ARG_ENABLE_WARNINGS],
+[dnl
+m4_if([$3],, [AC_FATAL([3 arguments expected])])[]dnl
+dnl
+AC_ARG_ENABLE([warnings], [AS_HELP_STRING(
+  [--enable-warnings=@<:@min|max|fatal|no@:>@],
+  [control compiler pickyness @<:@min@:>@])],
+  [dk_enable_warnings=$enableval],
+  [dk_enable_warnings=min])[]dnl
+
+dk_lang=
+case $ac_compile in
+  *'$CXXFLAGS '*)
+    dk_lang='C++'
+    dk_cc=$CXX
+    dk_conftest=conftest.${ac_ext-cc}
+    ;;
+  *'$CFLAGS '*)
+    dk_lang=C
+    dk_cc=$CC
+    dk_conftest=conftest.${ac_ext-c}
+    ;;
+esac
+
+AS_IF([test "x$dk_lang" != x],
+[
+  AC_MSG_CHECKING([which $dk_lang compiler warning flags to use])
+
+  case $dk_enable_warnings in
+    no)     dk_warning_flags=;;
+    max)    dk_warning_flags="$3";;
+    fatal)  dk_warning_flags="$3 -Werror";;
+    *)      dk_warning_flags="$2";;
+  esac
+
+  dk_deprecation_flags=
+m4_if([$4],,, [
+  AS_IF([test "x$dk_enable_warnings" = xfatal],
+  [
+    dk_deprecation_prefixes="$4"
+    for dk_prefix in $dk_deprecation_prefixes
+    do
+      dk_deprecation_flags="${dk_deprecation_flags}-D${dk_prefix}_DISABLE_DEPRECATED "
+    done
+  ])
+])[]dnl
+  dk_tested_flags=
+
+  AS_IF([test "x$dk_warning_flags" != x],
+  [
+    # Keep in mind that the dummy source must be devoid of any
+    # problems that might cause diagnostics.
+    AC_LANG_CONFTEST([AC_LANG_SOURCE(
+      [[int main(int argc, char** argv) { return (argv != 0) ? argc : 0; }]])])
+
+    for dk_flag in $dk_warning_flags
+    do
+      # Test whether the compiler accepts the flag.  GCC doesn't bail
+      # out when given an unsupported flag but prints a warning, so
+      # check the compiler output instead.
+      dk_cc_out=`$dk_cc $dk_tested_flags $dk_flag -c "$dk_conftest" 2>&1 || echo failed`
+      rm -f "conftest.${OBJEXT-o}"
+
+      AS_IF([test "x$dk_cc_out" = x],
+      [
+        AS_IF([test "x$dk_tested_flags" = x],
+              [dk_tested_flags=$dk_flag],
+              [dk_tested_flags="$dk_tested_flags $dk_flag"])
+      ], [
+        echo "$dk_cc_out" >&AS_MESSAGE_LOG_FD
+      ])
+    done
+
+    rm -f "$dk_conftest"
+  ])
+  dk_all_flags=$dk_deprecation_flags$dk_tested_flags
+  AC_SUBST([$1], [$dk_all_flags])
+
+  test "x$dk_all_flags" != x || dk_all_flags=none
+  AC_MSG_RESULT([$dk_all_flags])
+])
+])

Added: gstreamermm-plugins-good/trunk/scripts/docgen.m4
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/scripts/docgen.m4	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,75 @@
+
+## GTKMM_DOXYGEN_INPUT_SUBDIRS(subdirectory list)
+##
+AC_DEFUN([GTKMM_DOXYGEN_INPUT_SUBDIRS],
+[
+GTKMM_DOXYGEN_INPUT=
+gtkmm_srcdir=`cd "$srcdir" >/dev/null && pwd`
+
+gtkmm_list="$@"
+for gtkmm_sublib in $gtkmm_list
+do
+  GTKMM_DOXYGEN_INPUT="$GTKMM_DOXYGEN_INPUT ${gtkmm_srcdir}/${gtkmm_sublib}/${gtkmm_sublib}mm/"
+done
+
+AC_SUBST(GTKMM_DOXYGEN_INPUT)
+])
+
+
+## GTKMM_ARG_ENABLE_FULLDOCS()
+##
+## Check whether to build the full docs into the generated source.  If yes,
+## set GTKMMPROC_MERGECDOCS='--mergecdocs', which will be passed to gtkmmproc
+## (in build_shared/Makefile_gensrc.am_fragment).  This will be much slower.
+##
+AC_DEFUN([GTKMM_ARG_ENABLE_FULLDOCS],
+[
+AC_REQUIRE([GLIBMM_CHECK_PERL])
+
+AC_MSG_CHECKING([[whether to merge C reference docs into generated headers]])
+
+AC_ARG_ENABLE([fulldocs],
+    [  --enable-fulldocs       Generate fully-documented reference docs, takes
+                          longer to build.  [[default=enabled for CVS builds]]],
+    [gtkmm_enable_fulldocs=$enableval],
+    [gtkmm_enable_fulldocs=$USE_MAINTAINER_MODE])
+
+AC_MSG_RESULT([${gtkmm_enable_fulldocs}])
+
+GTKMMPROC_MERGECDOCS=
+
+if test "x$gtkmm_enable_fulldocs" = xyes; then
+{
+  GTKMMPROC_MERGECDOCS='--mergecdocs'
+
+  if test "x$USE_MAINTAINER_MODE" != xyes; then
+  {
+    AC_MSG_WARN([[
+*** --enable-fulldocs only works if --enable-maintainer-mode is also set.
+*** gtkmm source tarballs should be packaged with --enable-fulldocs, so
+*** usually you don't need this option unless you got gtkmm from CVS.
+]])
+  }
+  fi
+
+  AC_CACHE_CHECK(
+    [whether the XML::Parser module is available],
+    [gtkmm_cv_have_xml_parser],
+  [
+    gtkmm_cv_have_xml_parser=no
+    "$PERL_PATH" -e 'use strict; use XML::Parser; exit 0;' >&5 2>&5 && gtkmm_cv_have_xml_parser=yes
+  ])
+
+  if test "x$gtkmm_cv_have_xml_parser" = xno; then
+  {
+    AC_MSG_ERROR([[
+*** The Perl module XML::Parser is required to build $PACKAGE from CVS.
+]])
+  }
+  fi
+}
+fi
+
+AC_SUBST(GTKMMPROC_MERGECDOCS)
+])
+

Added: gstreamermm-plugins-good/trunk/scripts/glibmm_check_perl.m4
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/scripts/glibmm_check_perl.m4	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,54 @@
+dnl
+dnl Some macros needed for autoconf
+dnl
+
+
+## GLIBMM_CV_PERL_VERSION(version)
+##
+## Helper macro of GLIBMM_CHECK_PERL().  It generates a cache variable
+## name that includes the version number, in order to avoid clashes.
+##
+AC_DEFUN([GLIBMM_CV_PERL_VERSION],[glibmm_cv_perl_version_[]m4_translit([$1],[.${}],[____])])
+
+
+## GLIBMM_CHECK_PERL(version)
+##
+## Check for Perl >= version and set PERL_PATH.  If Perl is not found
+## and maintainer-mode is enabled, abort with an error message.  If not
+## in maintainer-mode, set PERL_PATH=perl on failure.
+##
+AC_DEFUN([GLIBMM_CHECK_PERL],
+[
+  glibmm_perl_result=no
+
+  AC_PATH_PROGS([PERL_PATH], [perl perl5], [not found])
+
+  if test "x$PERL_PATH" != "xnot found"; then
+  {
+    AC_CACHE_CHECK(
+      [whether Perl is new enough],
+      GLIBMM_CV_PERL_VERSION([$1]),
+    [
+      ]GLIBMM_CV_PERL_VERSION([$1])[=no
+      "$PERL_PATH" -e "require v$1; exit 0;" >/dev/null 2>&1 && ]GLIBMM_CV_PERL_VERSION([$1])[=yes
+    ])
+    test "x${GLIBMM_CV_PERL_VERSION([$1])}" = xyes && glibmm_perl_result=yes
+  }
+  else
+  {
+    # Make sure we have something sensible, even if it doesn't work.
+    PERL_PATH=perl
+  }
+  fi
+
+  if test "x$glibmm_perl_result" = xno && test "x$USE_MAINTAINER_MODE" = xyes; then
+  {
+    AC_MSG_ERROR([[
+*** Perl >= ]$1[ is required for building $PACKAGE in maintainer-mode.
+]])
+  }
+  fi
+
+  AC_SUBST([PERL_PATH])
+])
+

Added: gstreamermm-plugins-good/trunk/scripts/macros.m4
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/scripts/macros.m4	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,134 @@
+dnl
+dnl Some macros needed for autoconf
+dnl
+
+dnl AL_PROG_GNU_M4(ACTION_NOT_FOUND)
+dnl  Check for GNU m4.  (sun won't do.)
+dnl
+AC_DEFUN([AL_PROG_GNU_M4],[
+AC_CHECK_PROGS(M4, gm4 m4, m4)
+
+if test "$M4" = "m4"; then
+  AC_MSG_CHECKING(whether m4 is GNU m4)
+  if $M4 --version </dev/null 2>/dev/null | grep '^GNU [Mm]4 ' >/dev/null ; then
+    AC_MSG_RESULT(yes)
+  else
+    AC_MSG_RESULT(no)
+    if test "$host_vendor" = "sun"; then
+      $1
+    fi
+  fi
+fi
+])
+
+
+dnl AL_PROG_GNU_MAKE(ACTION_NOT_FOUND)
+dnl   Check for GNU make (no sun make)
+dnl
+AC_DEFUN([AL_PROG_GNU_MAKE],[
+dnl 
+dnl Check for GNU make (stolen from gtk+/configure.in)
+AC_MSG_CHECKING(whether make is GNU Make)
+if ${MAKE-make} --version 2>/dev/null | grep '^GNU Make ' >/dev/null ; then
+        AC_MSG_RESULT(yes)
+else
+        AC_MSG_RESULT(no)
+        if test "$host_vendor" = "sun" ; then
+           $1
+        fi
+fi
+])
+
+dnl AL_ACLOCAL_INCLUDE(macrodir)
+dnl   Add a directory to macro search (from gnome)
+AC_DEFUN([AL_ACLOCAL_INCLUDE],
+[
+  test "x$ACLOCAL_FLAGS" = "x" || ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
+  for dir in $1
+  do
+    ACLOCAL="$ACLOCAL -I $srcdir/$dir"
+  done
+])
+
+
+## GLIBMM_ARG_ENABLE_DEBUG_REFCOUNTING()
+##
+## Provide the --enable-debug-refcounting configure argument, disabled
+## by default.  If enabled, #define GTKMM_DEBUG_REFCOUNTING.
+##
+AC_DEFUN([GLIBMM_ARG_ENABLE_DEBUG_REFCOUNTING],
+[
+  AC_ARG_ENABLE([debug-refcounting],
+      [  --enable-debug-refcounting  Print a debug message on every ref/unref.
+                              [[default=disabled]]],
+      [glibmm_debug_refcounting="$enableval"],
+      [glibmm_debug_refcounting='no'])
+
+  if test "x$glibmm_debug_refcounting" = "xyes"; then
+  {
+    AC_DEFINE([GLIBMM_DEBUG_REFCOUNTING],[1], [Defined when the --enable-debug-refcounting configure argument was given])
+  }
+  fi
+])
+
+
+## GTKMM_ARG_ENABLE_WARNINGS()
+##
+## Provide the --enable-warnings configure argument, set to 'minimum'
+## by default.
+##
+AC_DEFUN([GTKMM_ARG_ENABLE_WARNINGS],
+[
+  AC_ARG_ENABLE([warnings],
+      [  --enable-warnings=[[none|minimum|maximum|hardcore]]
+                          Control compiler pickyness.  [[default=minimum]]],
+      [gtkmm_enable_warnings="$enableval"],
+      [gtkmm_enable_warnings='minimum'])
+
+  AC_MSG_CHECKING([for compiler warning flags to use])
+
+  gtkmm_warning_flags=''
+
+  case "$gtkmm_enable_warnings" in
+    minimum|yes) gtkmm_warning_flags='-Wall -Wno-long-long';;
+    maximum)     gtkmm_warning_flags='-pedantic -W -Wall -Wno-long-long';;
+    hardcore)    gtkmm_warning_flags='-pedantic -W -Wall -Wno-long-long -Werror';;
+  esac
+
+  gtkmm_use_flags=''
+
+  if test "x$gtkmm_warning_flags" != "x"
+  then
+    echo 'int foo() { return 0; }' > conftest.cc
+
+    for flag in $gtkmm_warning_flags
+    do
+      # Test whether the compiler accepts the flag.  GCC doesn't bail
+      # out when given an unsupported flag but prints a warning, so
+      # check the compiler output instead.
+      gtkmm_cxx_out="`$CXX $flag -c conftest.cc 2>&1`"
+      rm -f conftest.$OBJEXT
+      test "x${gtkmm_cxx_out}" = "x" && \
+        gtkmm_use_flags="${gtkmm_use_flags:+$gtkmm_use_flags }$flag"
+    done
+
+    rm -f conftest.cc
+    gtkmm_cxx_out=''
+  fi
+
+  if test "x$gtkmm_use_flags" != "x"
+  then
+    for flag in $gtkmm_use_flags
+    do
+      case " $CXXFLAGS " in
+        *" $flag "*) ;; # don't add flags twice
+        *)           CXXFLAGS="${CXXFLAGS:+$CXXFLAGS }$flag";;
+      esac
+    done
+  else
+    gtkmm_use_flags='none'
+  fi
+
+  AC_MSG_RESULT([$gtkmm_use_flags])
+])
+

Added: gstreamermm-plugins-good/trunk/scripts/reduced.m4
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/scripts/reduced.m4	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,106 @@
+## GLIBMM_ARG_ENABLE_API_PROPERTIES()
+##
+## Provide the --enable-api-properties configure argument, enabled
+## by default.
+##
+AC_DEFUN([GLIBMM_ARG_ENABLE_API_PROPERTIES],
+[
+  AC_ARG_ENABLE([api-properties],
+      [  --enable-api-properties  Build properties API.
+                              [[default=yes]]],
+      [glibmm_enable_api_properties="$enableval"],
+      [glibmm_enable_api_properties='yes'])
+
+  if test "x$glibmm_enable_api_properties" = "xyes"; then
+  {
+    AC_DEFINE([GLIBMM_PROPERTIES_ENABLED],[1], [Defined when the --enable-api-properties configure argument was given])
+  }
+  fi
+])
+
+## GLIBMM_ARG_ENABLE_API_VFUNCS()
+##
+## Provide the --enable-api-vfuncs configure argument, enabled
+## by default.
+##
+AC_DEFUN([GLIBMM_ARG_ENABLE_API_VFUNCS],
+[
+  AC_ARG_ENABLE([api-vfuncs],
+      [  --enable-api-vfuncs  Build vfuncs API.
+                              [[default=yes]]],
+      [glibmm_enable_api_vfuncs="$enableval"],
+      [glibmm_enable_api_vfuncs='yes'])
+
+  if test "x$glibmm_enable_api_vfuncs" = "xyes"; then
+  {
+    AC_DEFINE([GLIBMM_VFUNCS_ENABLED],[1], [Defined when the --enable-api-vfuncs configure argument was given])
+  }
+  fi
+])
+
+## GLIBMM_ARG_ENABLE_API_EXCEPTIONS()
+##
+## Provide the --enable-api-exceptions configure argument, enabled
+## by default.
+##
+AC_DEFUN([GLIBMM_ARG_ENABLE_API_EXCEPTIONS],
+[
+  AC_ARG_ENABLE([api-exceptions],
+      [  --enable-api-exceptions  Build exceptions API.
+                              [[default=yes]]],
+      [glibmm_enable_api_exceptions="$enableval"],
+      [glibmm_enable_api_exceptions='yes'])
+
+  if test "x$glibmm_enable_api_exceptions" = "xyes"; then
+  {
+    AC_DEFINE([GLIBMM_EXCEPTIONS_ENABLED],[1], [Defined when the --enable-api-exceptions configure argument was given])
+  }
+  fi
+])
+
+## GLIBMM_ARG_ENABLE_API_DEPRECATED()
+##
+## Provide the --enable-deprecated-api configure argument, enabled
+## by default.
+##
+AC_DEFUN([GLIBMM_ARG_ENABLE_API_DEPRECATED],
+[
+  AC_ARG_ENABLE(deprecated-api, 
+      [  --enable-deprecated-api  Include (build) deprecated API in the libraries.
+                              [[default=yes]]],
+      [glibmm_enable_api_deprecated="$enableval"],
+      [glibmm_enable_api_deprecated='yes'])
+
+  if test "x$glibmm_enable_api_deprecated" = "xyes"; then
+  {
+    AC_MSG_WARN([Deprecated API will be built, for backwards-compatibility.])
+  }
+  else
+  {
+    AC_MSG_WARN([Deprecated API will not be built, breaking backwards-compatibility. Do not use this build for distribution packages.])
+    DISABLE_DEPRECATED_API_CFLAGS="-DGLIBMM_DISABLE_DEPRECATED"
+    AC_SUBST(DISABLE_DEPRECATED_API_CFLAGS)
+  }
+  fi
+])
+
+
+## GLIBMM_ARG_ENABLE_API_DEFAULT_SIGNAL_HANDLERS()
+##
+## Provide the --enable-api-default-signal-handlers configure argument, enabled
+## by default.
+##
+AC_DEFUN([GLIBMM_ARG_ENABLE_API_DEFAULT_SIGNAL_HANDLERS],
+[
+  AC_ARG_ENABLE([api-default-signal-handlers],
+      [  --enable-api-default-signal-handlers  Build default signal handlers API.
+                              [[default=yes]]],
+      [glibmm_enable_api_default_signal_handlers="$enableval"],
+      [glibmm_enable_api_default_signal_handlers='yes'])
+
+  if test "x$glibmm_enable_api_default_signal_handlers" = "xyes"; then
+  {
+    AC_DEFINE([GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED],[1], [Defined when the --enable-api-default-signal-handlers configure argument was given])
+  }
+  fi
+])

Added: gstreamermm-plugins-good/trunk/scripts/sun.m4
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/scripts/sun.m4	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,15 @@
+AC_DEFUN([GLIBMM_PROG_CXX_SUN],
+  [AC_CACHE_CHECK(whether we are using SUN CC compiler, ac_cv_prog_sun_cxx,
+    [if AC_TRY_COMMAND(${CXX-g++} -V 2>&1) | egrep "Sun WorkShop" >/dev/null 2>&1; then
+      ac_cv_prog_sun_cxx=yes
+    else
+      ac_cv_prog_sun_cxx=no
+    fi]
+   )]
+
+   if test "x${ac_cv_prog_sun_cxx}" = "xyes"; then
+   {
+     AC_DEFINE([GLIBMM_COMPILER_SUN_FORTE],[1], [Defined when the SUN Forte C++ compiler is being used.])
+   }
+   fi
+)

Added: gstreamermm-plugins-good/trunk/tests/Makefile.am
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/tests/Makefile.am	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,11 @@
+INCLUDES = -I$(top_builddir)/gstreamer-plugins-good \
+	  -I$(top_srcdir)/gstreamer-plugins-good \
+	  @GSTREAMERMM_PLUGINS_GOOD_CFLAGS@
+
+LDADD=$(top_builddir)/gstreamer-plugins-good/gstreamermm-plugins-good/libgstreamermm-plugins-good-0.10.la
+
+#noinst_PROGRAMS = test-plugin-signals
+noinst_PROGRAMS = 
+
+#test_plugin_signals_SOURCES=test-plugin-signals.cc
+#test_plugin_signals_LDFLAGS= GSTREAMERMM_PLUGINS_GOOD_LIBS@

Added: gstreamermm-plugins-good/trunk/tools/Makefile.am
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/tools/Makefile.am	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,9 @@
+
+include $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment
+
+SUBDIRS = m4 extra_defs_gen
+
+EXTRA_DIST = Makefile_list_of_sources.am_fragment README TODO
+
+
+

Added: gstreamermm-plugins-good/trunk/tools/Makefile_list_of_sources.am_fragment
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/tools/Makefile_list_of_sources.am_fragment	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,4 @@
+include $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment
+
+files_tools_genwrap = generate_gst_wrap_init.pl
+files_tools_perl = $(files_tools_genwrap)

Added: gstreamermm-plugins-good/trunk/tools/README
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/tools/README	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,4 @@
+This directory contains the gtkmm preprocessor used for wrapping 
+gtk+ objects.
+
+See docs/internal/ for some gtkmmproc documentation.

Added: gstreamermm-plugins-good/trunk/tools/TODO
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/tools/TODO	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,12 @@
+* streams
+  - Please give more information. murrayc
+
+* Incorporate new GtkDefs parser.
+  What does this mean? murrayc.
+
+* Get gtkmmproc to run outside install directory.
+  What does this mean? It runs for gtkmm and it runs installed for libgnome*mm.
+
+
+
+

Added: gstreamermm-plugins-good/trunk/tools/extra_defs_gen/Makefile.am
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/tools/extra_defs_gen/Makefile.am	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,10 @@
+# Build the generate_properties_defs utility executable.
+# This is not used to build the rest of gtkmm.
+
+INCLUDES = $(GSTREAMERMM_PLUGINS_GOOD_CFLAGS)
+LIBS = $(GSTREAMERMM_PLUGINS_GOOD_LIBS) -lglibmm_generate_extra_defs-2.4 \
+       -lgstreamermm_get_plugin_defs-0.10
+
+noinst_PROGRAMS = generate_defs_gst
+
+generate_defs_gst_SOURCES = generate_defs_gst.cc

Added: gstreamermm-plugins-good/trunk/tools/extra_defs_gen/generate_defs_gst.cc
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/tools/extra_defs_gen/generate_defs_gst.cc	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,32 @@
+/* generate_defs_gst.cc
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * This library 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 2 of the License, or (at your option) any later version.
+ *
+ * This library 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 this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm_generate_extra_defs/generate_extra_defs.h>
+#include <gstreamermm_get_plugin_defs/get_plugin_defs.h>
+#include <gst/gst.h>
+
+int main (int argc, char *argv[])
+{
+  gst_init (&argc, &argv);
+
+  std::cout << get_plugin_defs("aasink")
+            << get_plugin_defs("alphacolor")
+            ;
+  return 0;
+}

Added: gstreamermm-plugins-good/trunk/tools/generate_wrap_init.pl.in
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/tools/generate_wrap_init.pl.in	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,469 @@
+#! @PERL_PATH@
+#
+# @configure_input@
+#
+
+use strict;
+
+my @namespace_whole = (); # list of strings.
+my $function_prefix = "";
+my $parent_dir = ""; # e.g. gtkmm
+my $path = "gtk--";
+my $debug = 0;
+my @filenames_headers = ();
+my %objects = ();
+my %exceptions = ();
+my %namespaces = (); # hashmap of lists of strings.
+my %basenames = ();
+my %win32_nowrap = ();
+my %deprecated = ();
+my %is_gstreamermm_plugin = ();
+
+# Loop through command line arguments, setting variables:
+while ($ARGV[0] =~ /^-/)
+{
+  if ($ARGV[0] =~ /--namespace=(\S+)/)
+  {
+    push(@namespace_whole, $1);
+
+    if($parent_dir eq "")
+      { $parent_dir = lc($1) . "mm"; }
+  }
+  elsif ($ARGV[0] =~ /--function_prefix=(\S+)/)
+  {
+    $function_prefix = "$1";
+  }
+  elsif ($ARGV[0] =~ /--parent_dir=(\S+)/)
+  {
+    $parent_dir = "$1";
+  }
+  elsif
+  (
+    $ARGV[0] =~ /--debug/) {$debug = 1;
+  }
+  elsif ($ARGV[0] =~ /--path=(\S+)/)
+  {
+    $path = "$1";
+  }
+  else
+  {
+    print "Error: unknown option $ARGV[0]\n";
+    exit;
+  }
+
+  shift @ARGV;
+}
+
+
+
+while ($ARGV[0])
+{
+  if ($debug) {warn "Processing file : $ARGV[0]\n";}
+
+  my $filename = $ARGV[0];
+  open FILE, $filename or die "Couldn't open file $ARGV[0] : $!\n";
+
+  # my $file = $ARGV[0];
+  # $file =~ s/.*\/([^\/]+)$/$1/;
+  # $file =~ s/\.hg//;
+  my @tmpnamespace = @namespace_whole;
+  my $cppname = "";
+  my $cname = "";
+  my $ccast = "";
+  while (<FILE>)
+  {
+    if (/CLASS_START\((\w+)\)/) #We need a new way to get the namespace.
+    {
+      print "generate_wrap_init: namespace found: $1\n";
+      push(@tmpnamespace, $1);
+    }
+    elsif (/_CLASS_GOBJECT\s*\(/) #TODO: There is duplication of code here.
+    {
+      my $line = $_;
+      while ($line !~ /\)/ && ($_ = <FILE>))
+      {
+        $line .= $_;
+      }
+
+      $line =~ s/^.*_CLASS_GOBJECT\s*\(//;
+      $line =~ s/\s+//g;
+      ($cppname, $cname, $ccast) = split(/,/, $line);
+
+      $objects{$cppname} = $cname;
+      @{$namespaces{$cppname}} = ( @tmpnamespace ); #both are lists of strings
+      $basenames{$cppname} = lc($ccast);
+    }
+    elsif (/_CLASS_GTKOBJECT\s*\(/)
+    {
+      my $line = $_;
+      while ($line !~ /\)/ && ($_ = <FILE>))
+      {
+        $line .= $_;
+      }
+
+      $line =~ s/^.*_CLASS_GTKOBJECT\s*\(//;
+      $line =~ s/\s+//g;
+      ($cppname, $cname, $ccast) = split(/,/, $line);
+
+      #TODO: Remove this hack eventually.
+      if( ($cname ne "GtkTree") && ($cname ne "GtkTreeItem") && ($cname ne "GtkText") )
+      {
+        $objects{$cppname} = $cname;
+        @{$namespaces{$cppname}} = ( @tmpnamespace ); #both are lists of strings
+        $basenames{$cppname} = lc($ccast);
+      }
+    }
+    elsif (/_WRAP_GERROR\s*\(/) #TODO: There is duplication of code here.
+    {
+      my $line = $_;
+      while ($line !~ /\)/ && ($_ = <FILE>))
+      {
+        $line .= $_;
+      }
+
+      $line =~ s/^.*_WRAP_GERROR\s*\(//;
+      $line =~ s/\s+//g;
+      $line =~ s/\)//;
+      ($cppname, $cname, $ccast) = split(/,/, $line);
+
+      $exceptions{$cppname} = $cname;
+      @{$namespaces{$cppname}} = ( @tmpnamespace ); #both are lists of strings
+      $basenames{$cppname} = lc($ccast);
+    }
+    elsif (/_GTKMMPROC_WIN32_NO_WRAP/)
+    {
+      $win32_nowrap{$cppname} = 1;
+    }
+    elsif (/_IS_DEPRECATED/)
+    {
+      $deprecated{$cppname} = 1;
+    }
+    elsif (/_IS_GSTREAMERMM_PLUGIN/)
+    {
+      $is_gstreamermm_plugin{$cppname} = 1;
+    }
+  }
+
+  # Store header filename so that we can #include it later:
+  my $filename_header = $filename;
+  $filename_header =~ s/.*\/([^\/]+)\.hg/$1.h/;
+  push(@filenames_headers, $filename_header);
+
+  shift @ARGV;
+  close(FILE);
+}
+
+# my $namespace_whole_lower = lc($namespace_whole);
+
+print << "EOF";
+
+#include <glib.h>
+
+// Disable the 'const' function attribute of the get_type() functions.
+// GCC would optimize them out because we don't use the return value.
+#undef  G_GNUC_CONST
+#define G_GNUC_CONST /* empty */
+
+#include <${parent_dir}/wrap_init.h>
+#include <glibmm/error.h>
+#include <glibmm/object.h>
+
+// #include the widget headers so that we can call the get_type() static methods:
+
+EOF
+
+foreach( @filenames_headers )
+{
+  print "#include \"" . $_ . "\"\n";
+}
+
+print "\n";
+
+# Here we have to be subtle. The gtkmm objects are easy, they all go
+# into the Gtk namespace. But in gnomemm, some go into the Gnome
+# namespace (most of them), and some into the Gtk one (because the
+# corresponding widget is Gtk-prefixed, e.g. GtkTed, GtkDial, etc...
+
+# First, the Gtk namespace
+
+print "extern \"C\"\n";
+print "{\n";
+print "\n//Declarations of the *_get_type() functions:\n\n";
+
+my $i = 0;
+foreach $i (sort keys %objects)
+{
+  if( $deprecated{$i} eq 1 )
+  {
+    # The uc(parent_dir) is a bit of a hack. One day it will get it wrong.
+    print "#ifndef " . uc($parent_dir) ."_DISABLE_DEPRECATED\n"
+  }
+
+  #On Win32, these classes are not compiled:
+  if( $win32_nowrap{$i} eq 1 )
+  {
+    print "#ifndef G_OS_WIN32\n"
+  }
+
+  # ifdefs are used for gstreamermm plug-ins in case they don't exist:
+  if( $is_gstreamermm_plugin{$i} eq 1 )
+  {
+    # The uc(parent_dir) is a bit of a hack. One day it will get it wrong.
+    my $upper_parent_dir = uc($parent_dir);
+    $upper_parent_dir =~ s/-/_/g;
+
+    print "#ifdef " . $upper_parent_dir . "_PLUGIN_" . uc($i) . "\n";
+  }
+  
+  print "GType $basenames{$i}_get_type(void);\n";
+
+  if( $win32_nowrap{$i} eq 1 )
+  {
+    print "#endif //G_OS_WIN32\n"
+  }
+
+  if( $deprecated{$i} eq 1 )
+  {
+    print "#endif // *_DISABLE_DEPRECATED\n"
+  }
+
+  if( $is_gstreamermm_plugin{$i} eq 1 )
+  {
+    my $upper_parent_dir = uc($parent_dir);
+    $upper_parent_dir =~ s/-/_/g;
+
+    print "#endif //" . $upper_parent_dir . "_PLUGIN_" . uc($i) . "\n";
+  }
+}
+
+print "\n//Declarations of the *_error_quark() functions:\n\n";
+
+my $i = 0;
+foreach $i (sort keys %exceptions)
+{
+  print "GQuark $basenames{$i}_quark(void);\n";
+}
+
+print "} // extern \"C\"\n";
+print "\n";
+
+print "\n//Declarations of the *_Class::wrap_new() methods, instead of including all the private headers:\n\n";
+
+my $i = 0;
+foreach $i (sort keys %objects)
+{
+  if( $deprecated{$i} eq 1 )
+  {
+    # The uc(parent_dir) is a bit of a hack. One day it will get it wrong.
+    print "#ifndef " . uc($parent_dir) ."_DISABLE_DEPRECATED\n"
+  }
+
+  #On Win32, these classes are not compiled:
+  if( $win32_nowrap{$i} eq 1 )
+  {
+    print "#ifndef G_OS_WIN32\n"
+  }
+
+  # ifdefs are used for gstreamermm plug-ins in case they don't exist:
+  if( $is_gstreamermm_plugin{$i} eq 1 )
+  {
+    # The uc(parent_dir) is a bit of a hack. One day it will get it wrong.
+    my $upper_parent_dir = uc($parent_dir);
+    $upper_parent_dir =~ s/-/_/g;
+
+    print "#ifdef " . $upper_parent_dir . "_PLUGIN_" . uc($i) . "\n";
+  }
+  
+  my $namespace_declarations = "";
+  my $namespace_close = "";
+  foreach ( @{$namespaces{$i}} )
+  {
+    $namespace_declarations .= "namespace $_ { ";
+    $namespace_close .= " }";
+  }
+
+  print "${namespace_declarations} class ${i}_Class { public: static Glib::ObjectBase* wrap_new(GObject*); }; ${namespace_close}\n";
+  
+  if( $win32_nowrap{$i} eq 1 )
+  {
+    print "#endif //G_OS_WIN32\n"
+  }
+
+  if( $deprecated{$i} eq 1 )
+  {
+    print "#endif // *_DISABLE_DEPRECATED\n"
+  }
+
+  if( $is_gstreamermm_plugin{$i} eq 1 )
+  {
+    my $upper_parent_dir = uc($parent_dir);
+    $upper_parent_dir =~ s/-/_/g;
+
+    print "#endif //" . $upper_parent_dir . "_PLUGIN_" . uc($i) . "\n";
+  }
+}
+
+# print "\n//Declarations of the *Error::throw_func() methods:\n\n";
+#
+# my $i = 0;
+# foreach $i (sort keys %exceptions)
+# {
+#   my $namespace_declarations = "";
+#   my $namespace_close = "";
+#   foreach ( @{$namespaces{$i}} )
+#   {
+#     $namespace_declarations .= "namespace $_ { ";
+#     $namespace_close .= " }";
+#   }
+#
+#   print "${namespace_declarations} class ${i} { public: static void throw_func(GError*); }; ${namespace_close}\n";
+# }
+
+my $namespace_whole_declarations = "";
+my $namespace_whole_close = "";
+foreach( @namespace_whole )
+{
+  $namespace_whole_declarations .= "namespace " . $_ ." { ";
+  $namespace_whole_close = "} //" . $_ . "\n" . $namespace_whole_close;
+}
+
+print "\n";
+print "$namespace_whole_declarations\n";
+print "\n";
+print "void " .$function_prefix . "wrap_init()\n{\n";
+
+
+# Generate namespace::wrap_init() body
+#
+
+print "  // Register Error domains:\n";
+
+foreach $i (sort keys %exceptions)
+{
+  my $namespace_prefix = "";
+  foreach( @{$namespaces{$i}} )
+  {
+    $namespace_prefix .= $_ ."::";
+  }
+
+  print "  Glib::Error::register_domain($basenames{$i}_quark(), &", "${namespace_prefix}${i}::throw_func);\n";
+}
+
+print "\n";
+print "// Map gtypes to gtkmm wrapper-creation functions:\n";
+
+foreach $i (sort keys %objects)
+{
+  if( $deprecated{$i} eq 1 )
+  {
+    # The uc(parent_dir) is a bit of a hack. One day it will get it wrong.
+    print "#ifndef " . uc($parent_dir) ."_DISABLE_DEPRECATED\n"
+  }
+
+  #On Win32, these classes are not compiled:
+  if( $win32_nowrap{$i} eq 1 )
+  {
+    print "#ifndef G_OS_WIN32\n"
+  }
+
+  # ifdefs are used for gstreamermm plug-ins in case they don't exist:
+  if( $is_gstreamermm_plugin{$i} eq 1 )
+  {
+    # The uc(parent_dir) is a bit of a hack. One day it will get it wrong.
+    my $upper_parent_dir = uc($parent_dir);
+    $upper_parent_dir =~ s/-/_/g;
+
+    print "#ifdef " . $upper_parent_dir . "_PLUGIN_" . uc($i) . "\n";
+  }
+  
+  my $namespace_prefix = "";
+  foreach( @{$namespaces{$i}} )
+  {
+    $namespace_prefix .= $_ ."::";
+  }
+
+  print "  Glib::wrap_register($basenames{$i}_get_type(), &", "${namespace_prefix}${i}_Class::wrap_new);\n";
+
+  if( $win32_nowrap{$i} eq 1 )
+  {
+    print "#endif //G_OS_WIN32\n"
+  }
+
+  if( $deprecated{$i} eq 1 )
+  {
+    print "#endif // *_DISABLE_DEPRECATED\n"
+  }
+
+  if( $is_gstreamermm_plugin{$i} eq 1 )
+  {
+    my $upper_parent_dir = uc($parent_dir);
+    $upper_parent_dir =~ s/-/_/g;
+
+    print "#endif //" . $upper_parent_dir . "_PLUGIN_" . uc($i) . "\n";
+  }
+}
+
+print "\n";
+print "  // Register the gtkmm gtypes:\n";
+
+foreach $i (sort keys %objects)
+{
+  if( $deprecated{$i} eq 1 )
+  {
+    # The uc(parent_dir) is a bit of a hack. One day it will get it wrong.
+    print "#ifndef " . uc($parent_dir) ."_DISABLE_DEPRECATED\n"
+  }
+
+  #On Win32, these classes are not compiled:
+  if( $win32_nowrap{$i} eq 1 )
+  {
+    print "#ifndef G_OS_WIN32\n"
+  }
+
+  # ifdefs are used for gstreamermm plug-ins in case they don't exist:
+  if( $is_gstreamermm_plugin{$i} eq 1 )
+  {
+    # The uc(parent_dir) is a bit of a hack. One day it will get it wrong.
+    my $upper_parent_dir = uc($parent_dir);
+    $upper_parent_dir =~ s/-/_/g;
+
+    print "#ifdef " . $upper_parent_dir . "_PLUGIN_" . uc($i) . "\n";
+  }
+  
+  my $namespace_prefix = "";
+  foreach( @{$namespaces{$i}} )
+  {
+    $namespace_prefix .= $_ ."::";
+  }
+
+  print "  ${namespace_prefix}${i}::get_type();\n";
+
+  if( $win32_nowrap{$i} eq 1 )
+  {
+    print "#endif //G_OS_WIN32\n"
+  }
+
+  if( $deprecated{$i} eq 1 )
+  {
+    print "#endif // *_DISABLE_DEPRECATED\n"
+  }
+
+  if( $is_gstreamermm_plugin{$i} eq 1 )
+  {
+    my $upper_parent_dir = uc($parent_dir);
+    $upper_parent_dir =~ s/-/_/g;
+
+    print "#endif //" . $upper_parent_dir . "_PLUGIN_" . uc($i) . "\n";
+  }
+}
+
+print << "EOF";
+
+} // wrap_init()
+
+$namespace_whole_close
+
+EOF
+
+exit 0;
+

Added: gstreamermm-plugins-good/trunk/tools/m4/Makefile.am
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/tools/m4/Makefile.am	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,9 @@
+
+include $(top_srcdir)/tools/m4/Makefile_list_of_sources.am_fragment
+
+EXTRA_DIST = Makefile_list_of_sources.am_fragment $(files_tools_m4) \
+	     $(files_tools_plugin_m4)
+
+# Install the .m4, files:
+tools_m4_includedir = $(libdir)/gstreamermm-0.10/proc/m4
+tools_m4_include_HEADERS = $(files_tools_m4) $(files_tools_plugin_m4)

Added: gstreamermm-plugins-good/trunk/tools/m4/Makefile_list_of_sources.am_fragment
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/tools/m4/Makefile_list_of_sources.am_fragment	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,4 @@
+files_tools_m4 = convert.m4
+
+files_tools_plugin_m4 = ctocpp.m4
+

Added: gstreamermm-plugins-good/trunk/tools/m4/convert.m4
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/tools/m4/convert.m4	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,4 @@
+include(shared.m4)
+include(convert_base.m4)
+include(convert_glib.m4)
+include(convert_gst.m4)

Added: gstreamermm-plugins-good/trunk/tools/m4/ctocpp.m4
==============================================================================
--- (empty file)
+++ gstreamermm-plugins-good/trunk/tools/m4/ctocpp.m4	Mon Mar 30 04:18:48 2009
@@ -0,0 +1,4 @@
+# Other gstreamermm libraries can provide their own ctocpp.m4 file for plug-in
+# generation, maybe also including the same files as this one.
+
+include(ctocpp_gstreamermm.m4)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]