2009-12-27 José Alburquerque Release 0.10.6. * NEWS: * configure.ac: Prepare for release 0.10.6. * gstreamer/src/index.ccg: Minor reformatting. 2009-12-23 José Alburquerque Make gobj() method definitions in API inline. * gstreamer/src/ringbuffer.ccg: * gstreamer/src/ringbuffer.hg (gobj): * gstreamer/src/element.hg (ElementInterfaced<>::gobj) (ElementInterfaced<>::gobj_copy): Define these short methods where they are declared in the header so that they are used inline (as is done generally in *mm projects). (ElementInterfaced<>): Make the class non-copyable like other refcounted classes. Also add the template class to the group of interfaces in the docs so that it is accessible there because it is related to the use of interfaces. 2009-12-22 José Alburquerque Mixer: Correct the list_tracks() methods docs. * gstreamer/src/mixer.hg (list_tracks): Correct the docs for the two methods because it is not properly generated by pygobject's docextract_to_xml.py. 2009-12-22 José Alburquerque TagList: Export a lookup function for tags and not the internal array. * gstreamer/src/taglist.ccg (_tag_strings): Make array of const char* static within the file so it cannot be accessed outside. * gstreamer/src/taglist.hg (gstreamermm_get_stock_tag): Defined this method to get internal tags instead of having to access the internal array. * gstreamer/src/tagsetter.ccg (add_tag): Modified methods to use look up function above instead of accessing the internal _tag_strings array. 2009-12-22 José Alburquerque RingBufferSpec: Use _MEMBER_[GET|SET] macros for accessing members. * gstreamer/src/ringbuffer.ccg: * gstreamer/src/ringbuffer.hg (RingBufferSpec): Use _MEMBER_[GET|SET] macros for setting and getting members where possible instead of handwriting the methods. This works because RingBufferSpec implements gobj() methods. * tools/m4/convert_gst.m4: Added GstBufferFormat and GstBufferFormatType enum conversions. 2009-12-22 José Alburquerque Pad: Make constructors handle errors as in GhostPad. * gstreamer/src/pad.ccg (Pad): Corrected casting in _CONSTRUCT macros and included error handling in constructors that might be dealing with null PadTemplates. Used Glib::unwrap() for templates that might be null. * gstreamer/src/ghostpad.ccg (GhostPad): Use Glib::unwrap() as above in constructors. * gstreamer/src/pad.hg (Pad): Added docs to constructors. (create): * gstreamer/src/ghostpad.hg (create): Added docs about exceptions that might be thrown because of calls to create() methods. * gstreamer/src/audioclock.ccg (AudioClock): Check for an empty "name" property in _CONSTRUCT macro. * gstreamer/src/iterator.hg (IteratorBase, IteratorBasic, Iterator): * gstreamer/src/ringbuffer.hg (RingBufferSpec): Use explicit in constructors with default arguments that might be interpreted as single parameter constructors. 2009-12-20 José Alburquerque Make exception handling code in classes accessible globally. * gstreamer/gstreamermm/filelist.am: * gstreamer/gstreamermm/handle_error.cc: * gstreamer/gstreamermm/handle_error.h (gstreamermm_handle_error): Added this new function to report errors in gstreamermm either by exception (if they are enabled) or to std::err (otherwise) so that it can be used globally throughout gstreamermm. * gstreamer/src/bin.ccg: * gstreamer/src/bin.hg: * gstreamer/src/element.ccg: * gstreamer/src/element.hg: * gstreamer/src/iterator.hg: * gstreamer/src/ghostpad.hg: * gstreamer/src/ghostpad.ccg: Modified to use the global error handling function above and not a member class defined one. (GhostPad): * gstreamer/src/pipeline.ccg (Pipeline): Use proper casting in _CONSTRUCT macros of these constructors. * gstreamer/src/ringbuffer.hg: * gstreamer/src/ringbuffer.ccg (RingBufferSpec): Use g_try_new() for underlying C object allocation in the constructors and use the error handling function above to report errors if any allocation errors occur. * gstreamer/src/format.ccg (get_format_details): * gstreamer/src/query.ccg (get_details): Use "if(!...) return false;" instead of g_return_val_if_fail(). * gstreamer/src/basesink.ccg: * gstreamer/src/parse.ccg: Removed unneeded parenthesis. 2009-12-18 José Alburquerque Plugin Generator: Generate convenience methods for action signals. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Added code to generate convenience methods for action signals. Factored out common strings that could be used in all the code and modified code accordingly. * gstreamer/src/bus.hg: Reformatting. 2009-12-16 José Alburquerque Use std::auto_ptr<> in classes that keep member slots. * gstreamer/src/audioclock.ccg: * gstreamer/src/audioclock.hg: * gstreamer/src/task.ccg: * gstreamer/src/task.hg: Use std::auto_ptr<> for classes that are constructed with slots and keep a copy of the slots so that they are automatically freed with the auto_ptr. If the C API had new functions with destroy notification this would not be necessary, but it doesn't seem complicated to compensate in C++. 2009-12-10 José Alburquerque Gst::RingBufferSpec: Avoid copying between it and its C counterpart. * gstreamer/src/ringbuffer.ccg: * gstreamer/src/ringbuffer.hg (RingBufferSpec): Re-implement as a class with an underlying GstRingBufferSpec* instead of a struct so that copying to and from the C object is not necessary in the implementation of virtual functions. Also, functions with GstRingBufferSpec* parameters can be wrapped with _WRAP_METHOD. (acquire): (parse_caps): Wrapped with _WRAP_METHOD. * gstreamer/src/audiofilter.ccg (setup_vfunc): * gstreamer/src/audiosink.ccg (prepare_vfunc): * gstreamer/src/audiosrc.ccg (prepare_vfunc): Modified usage of Gst::RingBufferSpec in virtual functions and their callbacks so that copying is now not done because it is no longer necessary. * tools/m4/convert_gst.m4: Added a conversion from Gst::RingBufferSpec& to GstRingBufferSpec*. 2009-12-09 José Alburquerque RingBuffer: Wrap virtual functions. * gstreamer/src/ringbuffer.ccg: * gstreamer/src/ringbuffer.hg: Wrapped virtual functions. (RingBufferSpec): Declare it as a struct and make the members public. Document the use of the members and justify why it was declared as a struct and not a class. (RingBufferSpec::silence_sample): Use a std::vector<> for the member type instead of int[32]. (RingBufferSpec::copy_fields_from): Renamed to copy_from(). (RingBufferSpec::copy_fields_to): Renamed to copy_to(). (RingBufferSpec::RingBufferSpec): Deleted "castitem" constructor. (RingBuffer::SlotFill): Use std::vector instead of a guint8* for the data parameter. (RingBuffer::commit): (RingBuffer::read): Use a Glib::ArrayHandle for the data parameter in these three methods instead of a guchar*. (RingBuffer::prepare_read): Use a std::vector for the readptr parameter instead of a guint8*&. (slot): Renamed member to m_slot and used a std::auto_ptr<> for automatic memory management. This made it unnecessary to use the bool member _slot_set and to have custom constructors and destructors. (_slot_set): Deleted. * gstreamer/src/gst_vfuncs.defs: Alphabetized and added GstRingBuffer's virtual method definitions. * gstreamer/src/audiofilter.ccg: * gstreamer/src/audiofilter.hg: Correct class docs. (setup_vfunc): * gstreamer/src/audiosink.ccg: * gstreamer/src/audiosink.hg: (prepare_vfunc): * gstreamer/src/audiosrc.ccg: * gstreamer/src/audiosrc.hg: (prepare_vfunc): Use a non-const RingBufferSpec in the virtual methods as it could be modified. Also correct the implementation of the methods (and their callbacks) to copy back and forth between the C struct and the C++ struct. 2009-12-09 José Alburquerque Make single argument constructors explicit. * gstreamer/src/format.hg: * gstreamer/src/index.hg: * gstreamer/src/pad.hg: * gstreamer/src/query.hg: * gstreamer/src/task.hg: * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Use 'explicit' for single argument constructors so that they are used explicitly and not by an implicit conversion. * gstreamer/src/element.hg: Also update the ElementInterfaced<> docs. 2009-12-07 José Alburquerque VideoSink: Wrap center_rect() method. * gstreamer/src/videosink.hg (center_rect): Wrap static method. (propery_show_preroll_frame): Wrap property. * gstreamer/src/cddabasesrc.ccg (probe_devices_vfunc): Use Glib::OWNERSHIP_NONE in virtual function when constructing the ArrayHandle<> so that the underlying data is not deleted with the resulting ArrayHandle. * gstreamer/src/childproxy.ccg: Typo. 2009-12-04 José Alburquerque CddaBaseSrc: Wrap virtual functions. * gstreamer/src/cddabasesrc.ccg: * gstreamer/src/cddabasesrc.hg: * gstreamer/src/gst_vfuncs.defs: Wrapped add_track() and virtual functions. Used std::string for device property. Corrected tag references in docs. 2009-12-03 José Alburquerque TaskPool: Wrap virtual functions. * gstreamer/src/taskpool.ccg: * gstreamer/src/taskpool.hg: * gstreamer/src/gst_vfuncs.defs: Wrapped Gst::TaskPool vfuncs. * examples/typefind/main.cc (main): Used #ifdefs for lines dealing with properties for when properties are disabled. 2009-12-02 José Alburquerque Message[Error|Warning|Info]: Fix the parse_debug() methods. * gstreamer/src/message.ccg (MessageError::parse_debug): (MessageWarning::parse_debug): (MessageInfo::parse_debug): Use a temporary GError* which the gst_message_parse_[warning|info|error]() methods require to get to the debug string. * gstreamer/src/mixer.ccg: * gstreamer/src/mixer.hg: Typos. 2009-12-01 José Alburquerque Element: Correct the release_request_pad() docs. * gstreamer/src/element.hg (release_request_pad): Remove the unreferencing instructions in the docs as that is done automatically with Glib::RefPtr<>. 2009-11-29 José Alburquerque MixerTrack: Add a has_flags() method to check for MixerTrackFlags * gstreamer/src/mixertrack.ccg: * gstreamer/src/mixertrack.hg (has_flags): Add boolean method to determine whether certain flags are present in the Gst::MixerTrack. 2009-11-29 José Alburquerque Add extra source files to Doxygen source processing * docs/Makefile.am: Add source files in gstreamer/gstreamermm/ listed in the list of extra files to be processed by Doxygen. 2009-11-25 José Alburquerque Use g_new() instead of new where C and C++ API might mix * gstreamer/src/mixer.ccg (get_volume): Use g_new() instead of new to allocate array of volumes to allow successful debugging with libcwd. * configure.ac: Typo. 2009-11-19 José Alburquerque Added a comment to a TODO. * gstreamer/src/bin.hg (do_latency): Explained that the signal is documented in the C API as publicly usable which implies that the signal can also be exposed (wrapped) in the C++ API. 2009-10-26 José Alburquerque TagList: Distinguish wrap method by name rather than by parameter. * gstreamer/src/message.ccg: * gstreamer/src/tagsetter.hg: * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: * tools/m4/class_boxedtype_extra.m4: * tools/m4/convert_gst.m4: Use Glib::wrap_taglist() for the TagList wrap() method instead of distinguishing it by parameters. 2009-10-23 José Alburquerque MiniObject: Make the constructors and destructor protected. * gstreamer/gstreamermm/miniobject.h: Make the constructors and destructor protected as is done in Glib::Object. 2009-10-22 José Alburquerque Make sure the MiniObject type is registered in the GType system. * gstreamer/gstreamermm/miniobject.cc: * gstreamer/gstreamermm/miniobject.h: * gstreamer/gstreamermm/private/miniobject_p.h: Added code to ensure that the MiniObject class can be successfully registered with the GType system. Made the class non-copyable as it should be with reference counted classes. Removed the copy() method which doesn't make sense for a reference counted class. Use gst_mini_object_copy() in gobj_copy(). Included a Value< Glib::RefPtr > template specialization to make sure that MiniObject can work with the Glib::ValueBase system. * tools/m4/class_gstminiobject.m4: Use gst_mini_object_copy() in gobj_copy() for MiniObject derived classes. * gstreamer/src/event.ccg: * gstreamer/src/event.hg: * gstreamer/src/message.ccg: * gstreamer/src/message.hg: * gstreamer/src/query.ccg: * gstreamer/src/query.hg: Remove the copy() method which doesn't make sense for reference counted classes. * gstreamer/src/structure.ccg: Remove the MiniObject conversion section in the _set_gstructure_field() gstreamermm/GStreamer translation function because it is not needed. * gstreamer/gstreamermm/wrap.h: Remove unneeded include. 2009-10-21 José Alburquerque Fix the taglist test to fix the distcheck. * tests/test-taglist.cc (main, taglist): Fix the boolean check of the validity of the taglist variable after construction. (main, rate): Initialize the rate variable to avoid warning. 2009-10-21 José Alburquerque Enable fatal warnings mode. * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): enable fatal warnings mode. * examples/media_player_gtkmm/main.cc (main): * examples/ogg_player/main.cc (main): * examples/ogg_player_gtkmm/main.cc (main): * tests/test-caps-structures.cc (main): * tests/test-caps.cc (main): * tests/test-create-bin.cc (main): * tests/test-create-bus.cc (main): * tests/test-create-element.cc (main): * tests/test-event-wrap.cc (main): * tests/test-ghost-pad.cc (main): * tests/test-init-check-noargs.cc (main): * tests/test-init-check.cc (main): * tests/test-init-noargs.cc (main): * tests/test-init.cc (main): * tests/test-interface.cc (main): * tests/test-iterator.cc (main): * tests/test-link-elements.cc (main): * tests/test-message-wrap.cc (main): * tests/test-miniobject-wrap.cc (main): * tests/test-pad.cc (main): * tests/test-pipeline-add-element.cc (main): * tests/test-plugin-gen.cc (main): * tests/test-plugin-signals.cc (main): (on_handoff): * tests/test-property-caps.cc (main): * tests/test-query-wrap.cc (main): * tests/test-structure.cc (main): * tests/test-taglist.cc (main): * tests/test-tagsetter.cc (main): Use char** instead of char*[] for argv and remove unused parameters. * gstreamer/gstreamermm/miniobject.cc: * gstreamer/gstreamermm/miniobject.h: * gstreamer/gstreamermm/private/miniobject_p.h: Don't derive from Glib::ObjectBase to avoid having to explicitly initialize it in the MiniObject copy constructor. * tools/m4/class_gstminiobject.m4 (wrap_new): return a Gst::MiniObject* instead of a Glib::ObjectBase* for Gst::MiniObject derived classes. * gstreamer/gstreamermm/wrap.cc (wrap_create_new_wrapper_for_interface): use Gst::quark_ instead of Glib::quark_. * gstreamer/src/taglist.ccg: * gstreamer/src/taglist.hg: Don't derive from Gst::Structure to avoid having two different gobject_ members. (operator bool): Added because it already had one from Gst::Structure which some of the tests use. 2009-10-16 José Alburquerque Use unwrap() instead of gobj() for Glib::RefPtr<> type classes. * gstreamer/src/basesink.ccg: * gstreamer/src/basesink.hg: * gstreamer/src/basesrc.hg: * gstreamer/src/basetransform.ccg: * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: * gstreamer/src/childproxy.ccg: * gstreamer/src/element.ccg: * gstreamer/src/interface.hg: * gstreamer/src/message.ccg: * gstreamer/src/mixer.ccg: * gstreamer/src/object.hg: * gstreamer/src/xml.ccg: * tools/m4/convert_gst.m4: Use unwrap() instead of dereferencing the RefPtr to call gobj() because unwrap() checks for null RefPtr's. 2009-10-16 José Alburquerque Examples and Tests: Return 1 on error instead of -1. * examples/media_player_gtkmm/main.cc: * examples/ogg_player_gtkmm/main.cc: * examples/typefind/main.cc: * tests/test-init-check-noargs.cc: * tests/test-init-check.cc: * tests/test-plugin-signals.cc: * tests/test-property-caps.cc: Use a return of 1 for errors instead of a -1. * gstreamer/src/xml.ccg: Typo. 2009-10-16 José Alburquerque Use C++ style casts instead of C casts. * gstreamer/src/audioclock.ccg: * gstreamer/src/basesink.ccg: * gstreamer/src/basesrc.ccg: * gstreamer/src/basetransform.ccg: * gstreamer/src/bus.ccg: * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: * gstreamer/src/clock.ccg: * gstreamer/src/element.ccg: * gstreamer/src/event.ccg: * gstreamer/src/format.ccg: * gstreamer/src/index.ccg: * gstreamer/src/message.ccg: * gstreamer/src/object.ccg: * gstreamer/src/query.ccg: * gstreamer/src/segment.ccg: * gstreamer/src/task.ccg: * gstreamer/src/xml.ccg: Correct casts to be C++ casts instead of C casts. 2009-10-14 José Alburquerque Use anonymous namespaces and extern "C" where appropriate. * gstreamer/src/audioclock.ccg: * gstreamer/src/bus.ccg: * gstreamer/src/clock.ccg: * gstreamer/src/element.ccg: * gstreamer/src/element.hg: * gstreamer/src/filter.ccg: * gstreamer/src/index.ccg: * gstreamer/src/pad.ccg: * gstreamer/src/plugin.ccg: * gstreamer/src/registry.ccg: * gstreamer/src/structure.ccg: * gstreamer/src/task.ccg: * gstreamer/src/taskpool.ccg: Use anonymous namespaces and extern "C" declarations of functions that could be called from C as Daniel's previous commits have exemplified. The other changes (like using existing C++ API, using characters instead of strings for single characters, etc.) are also clear. Though, as Daniel suggested, I might need to go on irc once in a while to get input from him on things I might not understand there when he's available. * gstreamer/src/ringbuffer.ccg: * gstreamer/src/taglist.ccg: * gstreamer/src/typefind.ccg: * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: whitespace. 2009-10-06 Daniel Elstner Replace ':' with $PATH_SEPARATOR for portability * configure.ac (GST_INSPECT): Substitute $PATH_SEPARATOR in place of the literal colon to separate search path components. 2009-10-06 Daniel Elstner Avoid compiler warning in ogg_player example * examples/ogg_player/main.cc: Place file-scope declarations into an anonymous namespace. (on_sink_pad_have_data): Remove unused parameter name to get rid of a compiler warning. (main): Return exit code 1 rather than -1 on failure. 2009-10-06 Daniel Elstner Harden TypeFind code and avoid compiler warning * gstreamer/src/typefind.ccg: Place file-scope declarations into an anonymous namespace. (TypeFind_Find_gstreamermm_callback): Remove unused parameter name to avoid a compiler warning. Use extern "C" calling convention. (TypeFind_Find_gstreamermm_callback_destroy): Use extern "C" calling convention. (TypeFind::register_slot): Use Glib::unwrap() instead of ->gobj() where appropriate, in order to allow for null RefPtr<> arguments. 2009-10-06 Daniel Elstner Comment on TagList code and avoid some warnings * tools/m4/class_boxedtype_extra.m4 (_END_CLASS_BOXEDTYPE_EXTRA): Remove dummy parameter name from the definition of Glib::wrap(). Comment on the dummy parameter looking fishy to me. * gstreamer/src/taglist.hg (TagList): Explain in a comment that the class is wrapped incorrectly and should be reworked at the next ABI break. * gstreamer/src/taglist.ccg: Place file-scope declarations into an anonymous namespace. (TagList_foreach_gstreamermm_callback): Remove unused parameter name to get rid of a compiler warning. Use extern "C" calling convention. (TagList::add_value): Call new gst_tag_list_add_value() function. (TagList::add): Replace C-style casts with appropriate C++ casts. 2009-10-06 Daniel Elstner Clean up RingBuffer code and avoid warning * gstreamer/src/ringbuffer.hg: Annotate API with a few TODO comments. * gstreamer/src/ringbuffer.ccg: Include STL header instead of . Place file-scope declarations in anonymous namespace. (RingBuffer_Fill_gstreamermm_callback): Remove unused parameter name to get rid of a compiler warning. Use extern "C" calling convention. (RingBuffer::copy_fields_from): Replace C-style casts with C++ casts. (copy_fields_to): Likewise. Unconditionally assign spec.caps field. (set_fill_slot): Comment on a couple of problems with the code. (parse_caps): Use Glib::unwrap() to handle a null RefPtr<>. 2009-10-06 Daniel Elstner Further streamline the C++ plugin generator code * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Add missing include statement for . Move all file-scope declarations and definitions into an anonymous namespace. Do not use conditional expressions if one of the branches is a no-op. Avoid C-style casts, in particular for non-POD types. Replace string literals of length one by character literals. Concatenate string literals at compile time where possible. (is_wrapped_base_class): Use std::binary_search(). (is_plugin): Disentangle. (get_method_name): Use std::replace(). (main): Call the glibmm wrapper functions Glib::thread_supported() and Glib::thread_init() instead of using the GLib C API directly. 2009-10-06 Daniel Elstner Unbreak build with silent rules enabled * gstreamer/src/Makefile.am: Remove a left-over shell statement just before the $(AM_V_GEN) substitution in the rule to build the plugin source files. 2009-10-06 Daniel Elstner Streamline configure check for gstreamer plugins * configure.ac (GSTREAMERMM_PLUGIN_DEFS): Un-indent, as this a shell variable and the extra whitespace in the substitution is a bit ugly. Simplify and canonicalize the check for the availability of all used gstreamer plugins in maintainer-mode. Remove the program checks for the head and cut utilities again. 2009-10-05 José Alburquerque PropertyProbe: Don't take copies of returned wrapped GValueArray. * gstreamer/src/propertyprobe.hg (get_values): Don't take copies of returned wrapped GValueArray because these are created on the fly by the class implementing the interface and are not structure members that would be deleted if a copy is not taken as would happen, for example, with Gst::Message::get_structure() which returns a wrapped structure member. 2009-10-01 José Alburquerque configure.ac: Remove check for patch as it is not needed anymore. * configure.ac (PATCH): Remove check for patch because another way was found to avoid the typedef of the C struct in the generated taglist.h source file. (GST_INSPECT): Also check for gst-inspect-0.10 (see bug #587306). 2009-09-30 José Alburquerque TagList: Corrected the constness of the internal tag strings array. * gstreamer/src/taglist.ccg: * gstreamer/src/taglist.hg (_tag_strings): Corrected constness, completing a TODO. I hope that's correct as my constness reasoning is a little rusty. Also added a comment as to why the array is 'extern' in scope. 2009-09-30 José Alburquerque Check for the existence of plug-ins in the configure stage. * configure.ac: * gstreamer/src/Makefile.am: * gstreamer/src/filelist.am: Move the check for the existence of plug-ins from the build stage to the configure stage as originally suggested in the clean up commit by Daniel. I had been completing that but could not check it in soon enough before the other commits. 2009-09-29 Daniel Elstner Move plugin definition map into src/filelist.am * configure.ac (GSTREAMERMM_PLUGIN_DEFS): Move map of plugin names to GObject type names into the gstreamer/src/filelist.am file. * gstreamer/src/filelist.am (plugin_type_map): New variable. * gstreamer/src/Makefile.am (target_plugin_def): Adjust. 2009-09-29 Daniel Elstner Exorcize evil code in C++ plugin generator * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Aided by the ghostbusters team, drive out some of the evil demons haunting this source code file. A few more rituals need to take place though in order to really cleanse this code from evil. 2009-09-29 Daniel Elstner Clean up and simplify build system customizations * configure.ac (PATCH): Properly quote the AS_IF() macro arguments. (GSTREAMERMM_MODULES): Use m4_foreach() to reduce repetition. (ENABLE_GUI_EXAMPLES): Define an Automake conditional for the purpose of excluding the GUI example programs from the build if gtkmm is not available. Remove the --enable-examples configure option, and always build the GUI examples if gtkmm is available at build time. (AC_CONFIG_FILES): Generate examples/Makefile unconditionally. Remove tools/generate_gst_wrap_init.pl from the list of output files. (GSTREAMERMM_WXXFLAGS): Remove -pedantic flag since it is too strict for the gstreamer header files. (GTHREAD_CFLAGS): Remove substitution variable for the thread-safety compiler flags, as gstreamer itself depends on gthread and therefore already includes the necessary flags in the pkg-config output. (MM_ARG_WITH_TAGFILE_DOC): Remove reference to giomm-2.4.tag, which does not exist. Add tag file references for cairomm and pangomm. Tentatively remove gtkmm-2.4.tag reference because gtkmm symbols are not actually used in the documentation. The mere presence of the gtkmm tags already confuses Doxygen, causing it to link to gtkmm for symbols in the Gst namespace. * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): As a temporary workaround, disable fatal warnings during distcheck. (SUBDIRS): Always recurse into tools/ and examples/. * examples/Makefile.am (noinst_PROGRAMS): Make the inclusion of the GUI examples depend on the ENABLE_GUI_EXAMPLES Automake conditional. (AM_CPPFLAGS): Expand $(GUI_EXAMPLES_CFLAGS) if the GUI examples are enabled, or $(GSTREAMERMM_CFLAGS) if not. (LDADD): Link with $(GSTREAMERMM_LIBS) by default, and override the global LDADD for the GUI programs to use $(GUI_EXAMPLES_LIBS). * gstreamer/gstreamermm/Makefile.am: Completely kill the build rules for patching the generated source code on the fly. The single source file this was applied to turns out to be fixable by other means. * gstreamer/src/Makefile.am: Significantly simplify the convoluted logic of the custom rules and expressions for generating the gmmproc input files for the gstreamer plugins. ($(binding_outputdir)/gst_wrap_init.cc): Build gst_wrap_init.cc from the src/ subdirectory like the other generated source files. * gstreamer/src/element.ccg (Gst::ElementInterfaced_WeakNotify_gstreamermm_callback): Remove unused parameter name to avoid a compiler warning. * gstreamer/src/filelist.am (files_hg): Combine variable assignments. * gstreamer/src/taglist.hg (Gst::TagList): Call the special gmmproc macro _CUSTOM_STRUCT_PROTOTYPE to suppress the output of a typedef for the C struct. This removes the need to patch the generated file. * gstreamer/gstreamermm/taglist.h.patch: Delete obsolete file. * tests/Makefile.am: Do not hard-code the libgstreamermm API version. (AM_CXXFLAGS): Build tests with $(GSTREAMERMM_WXXFLAGS), too. * tools/Makefile.am: Clean up and simplify. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Add missing struct initializers to avoid a compiler warning. * tools/generate_gst_wrap_init.pl: Rename the configure input file generate_gst_wrap_init.pl.in to generate_gst_wrap_init.pl. Remove the unnecessary she-bang line with the @PERL@ substitution, so that it is no longer necessary for this file to be generated. 2009-09-25 José Alburquerque Add Gst::StreamVolume interface. * tools/extra_defs_gen/generate_defs_gst.cc: Add GstStreamVolume type for signal and property defs generation. * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_enums.defs.patch: * gstreamer/src/gst_methods.defs: * gstreamer/src/gst_signals.defs: Regenerate defs and update corresponding patch files. * gstreamer/gstreamermm.h: * gstreamer/src/filelist.am: * gstreamer/src/streamvolume.ccg: * gstreamer/src/streamvolume.hg: Add Gst::StreamVolume interface. * tools/m4/convert_gst.m4: Add conversion of Gst::StreamVolumeFormat enum. * tools/m4/plugingen_gstreamermm.m4: Add a Gst::StreamVolume interface C/C++ conversion for plug-ins that inherit from the interface (needed during plug-in generation). * configure.ac: Increment minimum mm-common version requirement.