0.10.11: 2012-09-19 José Alburquerque <jaalburquerque@gmail.com> Release 0.10.11. * NEWS: * configure.ac: 2012-09-19 José Alburquerque <jaalburquerque@gmail.com> Regenerate the XML docs file. * gstreamer/src/gst_docs.xml: Regenerate the docs file for updated method and signal docs. * gstreamer/src/bin.hg: * gstreamer/src/bus.hg: * gstreamer/src/childproxy.hg: * gstreamer/src/colorbalance.hg: * gstreamer/src/colorbalancechannel.hg: * gstreamer/src/discoverer.hg: * gstreamer/src/element.hg: * gstreamer/src/index.hg: * gstreamer/src/object.hg: * gstreamer/src/pad.hg: * gstreamer/src/padtemplate.hg: * gstreamer/src/registry.hg: * gstreamer/src/tuner.hg: * gstreamer/src/tunerchannel.hg: * gstreamer/src/urihandler.hg: Remove the handwritten signal docs from these files so that the automatically generated ones (in the above file) are used. * examples/media_player_gtkmm/player_window.cc: Remove erroneous line. 2012-09-19 José Alburquerque <jaalburquerque@gmail.com> Regenerate the enums and signal defs with 0.10.36 for a new release. * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_signals.defs: Regenerated. 2012-09-19 José Alburquerque <jaalburquerque@gmail.com> Init: Add the is_initialized() and the deinit() functions. * gstreamer/gstreamermm/init.{cc,h}: Wrap the GStreamer gst_is_initialized() and gst_deinit() functions. Bug #684148 (kangaba@yandex.ru). 2012-09-14 José Alburquerque <jaalburquerque@gmail.com> Plug-ins: Speed up initialization by avoiding their loading on startup. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc (generate_hg_file): Use the new _NO_WRAP_INIT_REGISTRATION macro to signal that the plug-ins should not be registered on startup by the wrap_init() function. Also use the new _CUSTOM_WRAP_FUNCTION in order to implement a custom Glib::wrap() function for plug-ins that ensures the registration of the wrap_new() function before calling Glib::wrap_auto() to wrap a C object. (generate_ccg_file): Modify the generation of the plug-in *_get_type() functions so that when an object of the plug-in type is first created, the plug-in's wrap_new() function is registered with the wrapping system using the type obtained when the plug-in is first loaded. Also generate a custom Glib::wrap() function that ensures the registration of the plug-in's wrap_new() function before calling Glib::wrap_auto(). This ensures that even if there is a C type of the plug-in, that even that object can be properly wrapped. Bug #684006. 2012-09-12 José Alburquerque <jaalburquerque@gmail.com> Event, Message, Query: Have create() methods return derived types. * gstreamer/src/event.{ccg,hg}: * gstreamer/src/message.{ccg,hg}: * gstreamer/src/query.{ccg,hg}: Modify the create() methods of all the Event, Message and Query derived classes so that the methods return a reference pointer to the derived type and not to the base type. Add protected templated inline wrap() methods to the base types (Event, Message and Query) which convert a derived type wrapped as a reference pointer to the base type to a reference pointer to the derived type using a reference pointer dynamic cast and use the methods in the derived classes create() methods for the conversions. * tests/test-event-wrap.cc: * tests/test-message-wrap.cc: * tests/test-query-wrap.cc: Modify the event, message and query wrapping tests to create an Event, Message and Query to ensure that the new create() methods work. Bug #683580 (kangaba@yandex.ru). 2012-09-11 José Alburquerque <jaalburquerque@gmail.com> MiniObject derived classes: Correct wrapper memory leak. * gstreamer/src/buffer.{ccg,hg}: * gstreamer/src/bufferlist.{ccg,hg}: * gstreamer/src/discovererinfo.{ccg,hg}: Add custom wrap_new() functions to the Gst::MiniObject derived classes in these files so that when the C objects are wrapped, a weak reference is added to the miniobject and the newly created wrapper can be destroyed in the specified callbacks. Also add the callbacks that destroy the wrappers on weak referencing notification. Use the _CUSTOM_WRAP_NEW macro in the class declarations to ensure that gmmproc knows that these classes have custom wrap_new() functions. * gstreamer/src/event.ccg: * gstreamer/src/message.ccg: * gstreamer/src/query.ccg: Modify the custom class wrap() methods to add weak reference notification on the newly given GstMiniObject. Add the callbacks which destroy the wrapper on weak reference notification. * gstreamer/gstreamermm/miniobject.cc (~MiniObject): Ensure that the destructor does not try to unreference an object that is being destroyed because of a weak reference (when the reference is already zero). Bug #608702 (Massimiliano). 2012-09-07 José Alburquerque <jaalburquerque@gmail.com> Query: Correct the docs usage example so that its lines compile. * gstreamer/src/query.hg: The example was not translated correctly from the C code thus lines from the example would not compile correctly. The error was discovered on the GStreamer mailing list. 2012-08-15 José Alburquerque <jaalburquerque@gmail.com> Examples: Fix the media player example for MinGW. * examples/media_player_gtkmm/main.cc: * examples/media_player_gtkmm/player_window.cc: * examples/media_player_gtkmm/player_window.h: Modify the code to not use the XImageSink plugin (which is is specific to the Linux Platform). Also include gdk/gdkwin32.h instead of gdk/gdkx.h when compiling for the Windows platform. 2012-07-30 José Alburquerque <jaalburquerque@gmail.com> Object: Add getter methods for the GMutex lock member. * gstreamer/src/object.hg: Use _MEMBER_GET_PTR() to provide getter methods for the GMutex lock member. * gstreamer/src/object.ccg: Adapt the callbacks to use the new Thread classes in Glib::Threads and not Glib::Thread which have been deprecated. * gstreamer/src/task.{ccg,hg}: Also use the new thread classes in these files where possible. 2012-07-30 José Alburquerque <jaalburquerque@gmail.com> ElementFactory: Add register_element() wrapping gst_element_register(). * gstreamer/src/elementfactory.hg: Add the register_element() static method. * gstreamer/src/plugin.hg (register_static): Correct the staticity of this method (it should be a static method). 2012-07-23 José Alburquerque <jaalburquerque@gmail.com> BaseAudioSink: Wrap new properties. * gstreamer/src/baseaudiosink.hg: Wrap the "alignment-threshold" and "discont-wait" new properties. 2012-07-23 José Alburquerque <jaalburquerque@gmail.com> Fix the build with the latest GStreamer git sources. * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_signals.defs: Regenerate these files so that the new plug-in enums, properties and signals are found when they are wrapped by the generator. * gstreamer/src/gst_enums.defs.patch: Update the gst_enums.defs patch file for easy regeneration. * examples/media_player_gtkmm/player_window.cc (on_button_forward): Cast the playbin to a Gst::Element to disambiguate the send_event() method. Gst::PlayBin2 derives from both Gst::Navigation and Gst::Element which both implement a send_event() method. 0.10.10.2: 2012-05-14 José Alburquerque <jaalburquerque@gmail.com> Release 0.10.10.2. * NEWS: * configure.ac: Prepare for a new release. 2012-05-14 José Alburquerque <jaalburquerque@gmail.com> Plugin Gen: Remove conflict with GStreamer *_get_type() function names. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc (generate_hg_file): Append a _GSTREAMERMM to the cast macro of the _CLASS_GOBJECT() macro so that gmmproc uses the custom *_get_type() function of the plug-in to get the base GType of the plug-in. (generate_ccg_file): Use *_gstremaermm_get_type() for the name of the custom *_get_type() functions of the plug-ins so that there is no conflict with the actual GStreamer *_get_type() functions for any reason. * gstreamer/src/Makefile.am: Remove unnecessary line. * gstreamer/src/mixer.hg: Remove unnecessary include. 0.10.10.1: 2012-02-19 José Alburquerque <jaalburquerque@gmail.com> Release 0.10.10.1. * NEWS: * configure.ac: 2012-02-19 José Alburquerque <jaalburquerque@gmail.com> Fix the distcheck. * tests/test-plugin-signals.cc: Add an include to fix the build. 2012-02-19 José Alburquerque <jaalburquerque@gmail.com> Allow the build to succeed for MinGW32. * configure.ac: Add logic to define the GSTREAMERMM_STATIC_LIB macro if the --enable-static option is passed to configure. * gstreamer/gstreamermmconfig.h.in: Add logic to decide how to build certain constants in Windows. * gstreamer/src/clock.ccg: * gstreamer/src/clock.hg: Correct the declaration and definition of the ClockTime constants so that it uses the above logic (namely the GSTREAMERMM_API macro) to decide how these constants should be linked when building in Windows. Also correct the use of 'static' in the declaration. * gstreamer/gstreamermm/wrap.h: Use the new GSTREAMERMM_API macro here also. Bug #669045 (Joao Paulo Pizani Flor). 2012-01-31 José Alburquerque <jaalburquerque@gmail.com> Regenerate signals and properties. * gstreamer/src/gst_signals.defs: Regenerate to get the new properties of plugins. * gstreamer/src/gst_signals.defs.patch: Update the patch file to include a fix for the "discovered" signal of GstDiscoverer. S 2012-01-16 José Alburquerque <jaalburquerque@gmail.com> Fix the build with the latest GStreamer sources and glibmm. * examples/hello_world/main.cc: * examples/media_player_gtkmm/player_window.cc: * examples/media_player_gtkmm/player_window.h: * examples/ogg_player/main.cc: * examples/ogg_player_gtkmm/player_window.cc: * examples/optiongroup/main.cc: * examples/typefind/main.cc: Add needed includes to the example sources so that they build with the latest glibmm. * gstreamer/gstreamermm/wrap.cc: * gstreamer/src/bus.hg: * gstreamer/src/cddabasesrc.hg: * gstreamer/src/element.hg: * gstreamer/src/elementfactory.hg: * gstreamer/src/format.hg: * gstreamer/src/index.hg: * gstreamer/src/mixer.hg: * gstreamer/src/object.hg: * gstreamer/src/pad.hg: * gstreamer/src/plugin.hg: * gstreamer/src/preset.hg: * gstreamer/src/propertyprobe.hg: * gstreamer/src/query.hg: * gstreamer/src/ringbuffer.hg: * gstreamer/src/structure.hg: * gstreamer/src/task.hg: * gstreamer/src/typefind.hg: * gstreamer/src/typefindfactory.hg: * gstreamer/src/urihandler.hg: Add needed includes to the sources so that they also build with the latest glibmm. * tools/m4/plugingen_gstreamermm.m4: Add a _TRANSLATION from GstFraction to Gst::Fraction so that the plugin generation process works with the latest GStreamer sources. 2011-11-02 José Alburquerque <jaalburqu@svn.gnome.org> Examples: Add a "Hello World" example. * examples/Makefile.am: * examples/hello_world/main.cc: Add a translation of the GStreamer helloworld example so that the GStreamer bindings page can be updated correctly (see the e-mail: http://lists.freedesktop.org/archives/gstreamer-devel/2011-October/033776.html) 2011-09-06 José Alburquerque <jaalburqu@svn.gnome.org> Preset: Add an include to fix the build with git sources. * gstreamer/src/preset.hg: 0.10.10: 2011-07-20 José Alburquerque <jaalburqu@svn.gnome.org> 0.10.10. * NEWS: * configure.ac: Prepare for a new release. 2011-07-20 José Alburquerque <jaalburqu@svn.gnome.org> gstreamermm.h: Include discovererinfo.h. * gstreamer/gstreamermm.h: 2011-07-18 José Alburquerque <jaalburqu@svn.gnome.org> Regenerate signal and property defs file. * gstreamer/src/gst_signals.defs: Regenerate to update the existing properties and signals of plugins. 2011-07-18 José Alburquerque <jaalburqu@svn.gnome.org> DiscovererInfo: Wrap methods and add related classes with methods. * gstreamer/src/discovererinfo.{ccg,hg} (DiscovererInfo): Wrap the methods. (Discoverer[Audio|Container|Stream|Video]Info): Add these new classes which are related to DiscovererInfo and wrap their methods. DiscovererStreamInfo is a base class for the others. * tools/m4/convert_gst.m4: Add necessary conversions. * gstreamer/src/taglist.hg: Move a local conversion to this file from the main convert file above. 2011-07-18 José Alburquerque <jaalburqu@svn.gnome.org> Examples: Port to gtkmm-3.0. * configure.ac: Require gtkmm-3.0 for examples. * examples/ogg_player_gtkmm/player_window.cc (on_button_open): Use FileFilter as a refcounted object (using Glib::RefPtr<>) because it is so in gtkmm-3.0. 2011-07-15 José Alburquerque <jaalburqu@svn.gnome.org> Discoverer: Complete a TODO. * gstreamer/src/discoverer.hg (discovered): Use a Glib::Error instead of a GError when wrapping this signal. * tools/m4/convert_gst.m4: Add a GError conversion. 2011-07-15 José Alburquerque <jaalburqu@svn.gnome.org> Discoverer: Wrap the methods, properties and signals. * tools/extra_defs_gen/generate_defs_gst.cc: Alphabetize the gst-plugins-base types and add the GST_TYPE_DISCOVERER GType to the extra defs generation utility. * gstreamer/src/gst_signals.defs: Regenerate with the utility to get the properties and signals of GstDiscoverer. * gstreamer/src/discoverer.{ccg,hg}: Wrap the constructor, the create method, the other methods, the properties and the signals. * tools/m4/convert_gst.m4: Add a GstDiscovererInfo conversion. 2011-07-15 José Alburquerque <jaalburqu@svn.gnome.org> Add Gst::DiscovererInfo skeleton. * gstreamer/src/discovererinfo.{ccg,hg}: * gstreamer/src/filelist.am: Add the sources and mention them in the build. The _STRUCT_NOT_HIDDEN macro was needed when defining the class because otherwise gmmproc generates a 'typedef struct _GstDiscovererInfoClass GstDiscovererInfoClass' which is not the same typedef used in the C sources. 2011-07-13 José Alburquerque <jaalburqu@svn.gnome.org> Discoverer: Use pkg-config to get the -lgstpbutils-0.10. * configure.ac (GSTREAMERMM_MODULES): Require the gstreamer-pbutils-0.10 package so that GSTREAMERMM_LIBS variable includes the -lgstpbutils-0.10 automatically. * examples/Makefile.am (LDDADD): Remove the extra (now unneeded) -lgstpbutils-0.10. * gstreamer/gstreamermm.pc.in (Libs): Remove it from here also because it is included automatically from the "Requires:" section. 2011-07-13 José Alburquerque <jaalburqu@svn.gnome.org> gstreamermm.h: Add forgotten includes from newly added API. * gstreamer/gstreamermm.h: 2011-07-12 José Alburquerque <jaalburqu@svn.gnome.org> Add Gst::Discoverer skeleton. * gstreamer/src/discoverer.{ccg,hg}: Add the source files including the Gst::Discoverer class definition though nothing is wrapped yet. * gstreamer/src/filelist.am: Mention the new source files in the build. * examples/Makefile.am (LDDADD): Add a -lgstpbutils-0.10 because it is needed when linking because it is not included in the gstreamer-plugins-base-0.10.pc file and has to be included so that the linker can find the GstDiscoverer related API. * gstreamer/gstreamermm.pc.in (Libs): Do the same so that users don't have to include the -lgstpbutils-0.10 themselves. 2011-07-12 José Alburquerque <jaalburqu@svn.gnome.org> Element: Add request_pad() method overloads. * gstreamer/src/element.hg (request_pad): Use the new gmmproc syntax for specifying optional arguments in the _WRAP_METHOD macro to provide method overloads not requiring the name or the caps. 2011-07-12 José Alburquerque <jaalburqu@svn.gnome.org> configure.ac: Require glibmm-2.28. * configure.ac: Require glibmm-2.28 because Gst::Mixer uses the Glib::[Array|List]Handler<> API which was added in that version. 2011-07-12 José Alburquerque <jaalburqu@svn.gnome.org> Caps: Correct a compile error. * gstreamer/src/caps.ccg (set_simple): Use this->gobj() instead of just gobj() because gcc 4.5.2 sees that as error for some reason. 2011-05-25 José Alburquerque <jaalburqu@svn.gnome.org> Element: Add request_pad() and a link_pads() overload. * gstreamer/src/pad.hg: Wrap the GstPadLinkCheck enum. * gstreamer/src/element.hg: Add regquest_pad() and link_pads() which wraps gst_element_link_pads_full(). * tools/m4/convert_gst.m4: Add necessary conversion. 2011-05-24 José Alburquerque <jaalburqu@svn.gnome.org> ElementFactory: Added filter(), get_elements() and is_of_type(). * gstreamer/src/elementfactory.{ccg,hg}: Wrapped the GstElementFactoryListType as an enum as in TagList. Added the missing new methods. * tools/m4/convert_gst.m4: Added a GstRank enum conversion. 2011-05-24 José Alburquerque <jaalburqu@svn.gnome.org> Value: Glib::Value<> specializations: Derive from ValueBase_Boxed. * gstreamer/src/value.hg: Make sure the Glib::Value<> specializations for the range classes derive from ValueBase_Boxed so that the classes can be used as properties. 2011-05-23 José Alburquerque <jaalburqu@svn.gnome.org> Structure: Remove the need of conversions when setting fields. * gstreamer/src/value.{ccg,hg}: Add Glib::Value<> specializations for the helper classes so that they can be properly translated by the Glib::ValueBase system when setting/getting the values to/from the C API. * gstreamer/src/structure.{ccg,hg} (_set_gstructure_field): Remove this method because translation is now done by the Glib::ValueBase system. (set_field): Rewritten so it doesn't use the above deleted method. * gstreamer/src/caps.ccg (set_simple): Also rewritten. 2011-05-22 José Alburquerque <jaalburqu@svn.gnome.org> ElementFactory: Add some new methods. * gstreamer/src/elementfactory.hg: Add can_[sink|src]_[all|any]_caps() get_documentation_uri(), and get_icon_name() methods. 2011-05-17 José Alburquerque <jaalburqu@svn.gnome.org> Caps: Add new methods. * gstreamer/src/caps.{ccg,hg}: Add the steal_structure() method and get_intersect() method accepting a Gst::CapsIntersectMode enum. Wrap the get_structure() method instead of handwriting it. * tests/test-caps-structures.cc: Adapt the test to use the new steal_structure() method. * tools/m4/convert_gst.m4: Added a GstCapsIntersect enum conversion. 2011-05-12 José Alburquerque <jaalburqu@svn.gnome.org> BaseAudioSink, BaseSink, XOverlay: Add new methods. * gstreamer/src/baseaudiosink.hg: Add get_drift_tolerance() and set_drift_tolerance(). * gstreamer/src/basesink.hg: Add set_last_buffer_enabled(), is_last_buffer_enabled(), get_throttle_time() and set_throttle_time(). * gstreamer/src/xoverlay.hg: Add got_window_handle() and set_window_handle(). 2011-05-12 José Alburquerque <jaalburqu@svn.gnome.org> Plugins: Add the funnel plug-in. * configure.ac: * gstreamer/src/filelist.am: Add the new funnel plug-in and mention it in the build. 2011-05-12 José Alburquerque <jaalburqu@svn.gnome.org> Regenerate the defs files. * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_methods.defs: Regenerate all the defs files (the extra defs file has not changed) as of GStreamer 0.10.33. 2011-05-12 José Alburquerque <jaalburqu@svn.gnome.org> Docs: Regenerate the docs and update the generation script. * gstreamer/src/generate-docs.sh: Update the script to use the new --no-since option of the doc generation tool. * gstreamer/src/gst_docs.xml: Regenerate to remove the "Since: ..." lines from the doc. 2011-05-08 José Alburquerque <jaalburqu@svn.gnome.org> XOverlay: Wrap the set_render_rectangle() method. * gstreamer/src/xoverlay.hg: 2011-05-08 José Alburquerque <jaalburqu@svn.gnome.org> Wrap new properties in classes as of GStreamer 0.10.32. * gstreamer/src/baseaudiosink.hg: * gstreamer/src/basesink.hg: * gstreamer/src/bin.hg: * gstreamer/src/ghostpad.hg: * gstreamer/src/object.hg: * gstreamer/src/padtemplate.hg: Wrap the properties. * gstreamer/src/gst_extra_objects.defs: Add GstStructure to the list of extra objects to avoid a gmmproc documentation parsing error. 2011-05-05 José Alburquerque <jaalburqu@svn.gnome.org> Clean up the build output. * gstreamer/src/filelist.am: * gstreamer/src/gst.defs: * gstreamer/src/gst_extra_objects.defs: Add this file and mention it in the build (as is done in glibmm) so that gmmproc does not complain about missing object definitions when parsing the documentation. This makes the gmmproc output a little cleaner. * gstreamer/src/gst_signals.defs: * gstreamer/src/gst_signals.defs.patch: Regenerated the extra defs file containing the signal and property defs (and its patch file) with the patch in bug #649519 applied to glibmm's extra defs generation utility to clean up the build. Hopefully the patch will be accepted so gmmproc's output is cleaner for this module. 2011-05-04 José Alburquerque <jaalburqu@svn.gnome.org> BaseSrc: Wrap the virtual functions. * gstreamer/src/basesrc.hg: Wrap the boolean virtual functions that were commented out. * tests/Makefile.am: * tests/test-base-src.cc: Added a small test to make sure that the newly wrapped virtual functions do not cause execution errors. The AlsaSrc element derives from BaseSrc and if there were problems with the virtual functions they would most likely show up while using that element. Carlo Wood should be thanked for providing a similar example on the list. This test was adapted from his sources. Thanks Carlo. 2011-04-28 José Alburquerque <jaalburqu@svn.gnome.org> Mixer: Use std::vector<> instead of Glib::[Array|List]Handle<>. * gstreamer/src/mixer.{ccg,hg}: Wrap the MessageMixerVolumeChanged::parse() method taking a track and an array of volumes output parameter. Use std::vector<> for the parameters and return of methods instead of Glib::ArrayHandle<> throughout for consistency. * gstreamer/gstreamermm.h: Corrected a couple of TODO's. 2011-04-28 José Alburquerque <jaalburqu@svn.gnome.org> AudioSink, AudioSrc: Wrap the virtual functions. * gstreamer/src/audiosink.hg: * gstreamer/src/audiosrc.hg: Wrap the virtual functions checking that it doesn't break the examples. The ogg_player_gtkmm uses the AlsaSink plug-in which derives from the AudioSink class and the example runs fine. The virtual functions of the AudioSrc class are wrapped just like the ones in the AudioSink class because they are parallel classes. 0.10.9.1: 2011-04-27 José Alburquerque <jaalburqu@svn.gnome.org> 0.10.9.1 * NEWS: * configure.ac: Make a new release with the ogg_player_gtkmm example running successfully. 2011-04-26 José Alburquerque <jaalburqu@svn.gnome.org> Fix the build with GStreamer 0.10.32. * configure.ac: * gstreamer/src/filelist.am: Remove the funnel plug-in because it is not included in GStreamer 0.10.32. Also increase the GStreamer version requirement to 0.10.32. * gstreamer/src/gst_enums.defs: Regenerate with the 0.10.32 sources to fix the build. 2011-04-26 José Alburquerque <jaalburqu@svn.gnome.org> BaseTransform: Revisit the virtual functions. * gstreamer/src/basetransform.ccg: * gstreamer/src/basetransform.hg: Review the wrapping of the virtual functions because the ogg_player_gtkmm example was failing to execute properly. * configure.ac: Tiny correction of the plug-in name extraction in the plug-in processing section. 2011-04-24 José Alburquerque <jaalburqu@svn.gnome.org> Use the latest mm-common. * configure.ac: Update the mm-common prerequisite to 0.9.5. 2011-04-18 José Alburquerque <jaalburqu@svn.gnome.org> Plugin Generator: Remove the C struct class definition for signals. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Remove code related to the class declaration of plugins for wrapping the signals since no default handlers are generated anymore which was done to avoid accidentally including a C++ keyword for a signal name in the class definition. 2011-04-18 José Alburquerque <jaalburqu@svn.gnome.org> configure.ac: Restore accidentally deleted comment text. * configure.ac: 2011-04-18 José Alburquerque <jaalburqu@svn.gnome.org> Plugins: Wrap new core plugins. * configure.ac: Modify the format of the plugin definitions to include the target .hg basename along with the plugin name because some plugins (like the new input-selector and output-selector plugins) use dashes in the plugin name while the target .hg filename generally does not. * gstreamer/src/filelist.am: Add the new funnel, inpput-selector, output-selector and valve core plugins. * gstreamer/src/Makefile.am: Adapt to the above change. * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_enums.defs.patch: Update the enum defs patch and regenerate the enum defs file for the enums of the new plugins. * tools/extra_defs_gen/generate_defs_gst.cc: * gstreamer/src/gst_signals.defs: Add the new plugins to the extra defs generation utility and regenerate the extra defs file for the properties and signals of the new plugins. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified so that there are no build errors if a signal name of a plugin happens to be a C++ keyword (such as the "switch" signal of the input-selector plugin). 2011-04-17 José Alburquerque <jaalburqu@svn.gnome.org> Plugin Generator: Use Glib::OptionContext instead of GOptionContext. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Use the available glibmm API for option parsing instead of the C API where possible. 2011-04-15 Murray Cumming <murrayc@murrayc.com> Require a newer gmmproc. * configure.ac: Require giomm 2.26.0, so we require a more recent gmmproc from glibmm, to fix an m4 bug with some property descriptions. This fixes bug #647799 (Sebastian Dröge) 0.10.9: 2011-04-14 Murray Cumming <murrayc@murrayc.com> Dist the documentation scripts. * configure.ac: Require the latest mm-common (when building from git) and call MM_CONFIG_DOCTOOL_DIR() so we include the mm-common scripts in the tarball. 2010-10-21 José Alburquerque <jaalburqu@svn.gnome.org> Fix the build with the latest GStreamer repositories. * gstreamer/src/gst_enums.defs.patch: Fixed the enums defs patch file with the latest GStreamer sources. * gstreamer/src/gst_enums.defs: Regenerated (specifically to get the theoraenc plugin's GstTheoraEncMultipassMode enum). * gstreamer/src/gst_signals.defs: Regenerated to get the new properties and signals of plugins. * gstreamer/src/bufferlist.hg (BufferList::n_groups): Wrote out the docs because, as the TODO comment says, the C function is not recognized by h2def.py and thus the docs is not generated. 2010-10-21 José Alburquerque <jaalburqu@svn.gnome.org> BaseTransform: Wrote out bool vfuncs to avoid execution errors. * gstreamer/src/basetransform.ccg: * gstreamer/src/basetransform.hg: Wrote out the boolean virtual functions ensuring that both the functions and their callbacks return true at the end by default. This is to make sure that if the C API expects a true result on successful execution of the callbacks it gets it even if it is a default return. This ensures proper application execution. I suspect that if any should return false by default, it may be easier to catch those than the ones that should return true by default. 2010-10-18 José Alburquerque <jaalburqu@svn.gnome.org> Update the README and the Doxygen main page documentation. * README: Updated to describe more precisely where the documentation can be found. * gstreamer/gstreamermm.h: Updated the Doxygen main page docs to explain that most of the core and base plug-ins have been wrapped (so it is not thought that more than a few are not wrapped). Re-worded the sentence about initializing the library. 2010-10-17 José Alburquerque <jaalburqu@svn.gnome.org> Tests: BufferListIterator: Make sure the GType system is initialized. * tests/test-buffer-list-iterator.cc: Initialize gstreamermm so that the test executes successfully. The code used for the last release was slightly different and the new code seemed more correct, however it was missing the initialization statement to make sure the GType system was also initialized. 0.10.8: 2010-10-15 José Alburquerque <jaalburqu@svn.gnome.org> Release 0.10.8. * NEWS: * configure.ac: Prepare for a new release. 2010-10-15 José Alburquerque <jaalburqu@svn.gnome.org> Audio[Sink,Src], BaseSrc, BaseTransform: Comment out bool vfuncs. * gstreamer/src/audiosink.hg: * gstreamer/src/audiosrc.hg: * gstreamer/src/basesrc.hg: * gstreamer/src/basetransform.hg: Comment out the wrapped boolean virtual functions because in fact they still do cause problems with the execution of applications. The ogg_player_gtkmm example, for example, does not run correctly with the virtual functions wrapped. These vfuncs will have to be handwritten (at least the ones that cause the problems) to make sure they return true by default. 2010-10-15 José Alburquerque <jaalburqu@svn.gnome.org> Tests: Add simple buffer list iterator test. * tests/Makefile.am: * tests/test-buffer-list-iterator.cc: Add a simple test just to confirm the successful creation/destruction of a BufferListIterator. 2010-10-15 José Alburquerque <jaalburqu@svn.gnome.org> BufferList: Wrap the iterate() method. * gstreamer/src/bufferlist.ccg: * gstreamer/src/bufferlist.hg: Wrap the BufferList::iterate() method. Also correct the logic of the foreach callback. * gstreamer/gstreamermm.h: Include the buffer list header file in the main includes. 2010-10-14 José Alburquerque <jaalburqu@svn.gnome.org> Regenerate the docs. * gstreamer/src/generate-docs.sh: Correct docs generation script. * gstreamer/src/gst_docs.xml: Regenerate. 2010-10-14 José Alburquerque <jaalburqu@svn.gnome.org> BufferList, BufferListIterator: Wrap most methods. * gstreamer/src/bufferlist.ccg: * gstreamer/src/bufferlist.hg: Wrap most BufferList and BufferListIterator methods. * gstreamer/src/gst_methodsdefs: Regenerate. * gstreamer/src/basesink.ccg: * gstreamer/src/basesink.hg: * gstreamer/src/gst_vfuncs.defs: Wrap the render_list_vfunc(). * tools/m4/convert_gst.m4: Add necessary conversions. 2010-10-14 José Alburquerque <jaalburqu@svn.gnome.org> Virtual functions: const corrections. * gstreamer/src/audiosink.hg: * gstreamer/src/audiosrc.hg: * gstreamer/src/cddabasesrc.hg: * gstreamer/src/preset.ccg: * gstreamer/src/preset.hg: Const corrections. * gstreamer/src/bin.hg: Typo. 2010-09-02 José Alburquerque <jaalburqu@svn.gnome.org> AudioSrc, BaseSrc: Wrap boolean virtual functions. * gstreamer/src/basesrc.hg: Uncomment boolean virtual functions that were previously wrapped. The ogg_player_gtkmm example, which uses a plug-in derived from this class (Gst::FileSrc), runs fine with the virtual functions uncommented. * gstreamer/src/audiosrc.hg: Uncomment the virtual functions here also, although it's not easy to test because no examples use the only plug-in derived from this class, Gst::AlsaSrc. 2010-08-31 José Alburquerque <jaalburqu@svn.gnome.org> AudioSink: Wrap boolean virtual functions. * gstreamer/src/audiosink.hg: Uncomment commented out boolean virtual functions which don't appear to be a problem with the execution of the examples that use plugins that inherit from this class (such as the Gst::AlsaSink plugin). 2010-08-24 José Alburquerque <jaalburqu@svn.gnome.org> Add initial implementation of BufferList and BufferListIterator. * gstreamer/src/bufferlist.ccg: * gstreamer/src/bufferlist.hg: * gstreamer/src/filelist.am: Add new source files and mention the .hg file so that they are built. 2010-08-10 José Alburquerque <jaalburqu@svn.gnome.org> BaseTransform: Wrap virtual functions. * gstreamer/src/basetransform.hg: Uncomment the virtual functions so that they are wrapped. Wrapped the new "accept_caps" virtual function. The boolean virtual functions here don't seem to cause problems if they don't return true as the BaseSink ones do. The ogg_player_gtkmm example works fine even if it uses the AudioConvert element which derives from BaseTransform. The media_player_gtkmm example, on the other hand, crashes if the BaseSink boolean virtual functions do not return true because it uses the XimageSink element which derives from BaseSink. * gstreamer/src/gst_vfuncs.defs: Added the BaseTransform "accept_caps" virtual function. 2010-08-06 José Alburquerque <jaalburqu@svn.gnome.org> BaseSink: Wrap remaining virtual functions. * gstreamer/src/basesink.ccg: * gstreamer/src/basesink.hg: Manually wrap the remaining boolean virtual functions making sure that they return true by default. The C API does not set default handlers for the virtual functions (in the init function) causing our virtual functions to return false by default which apparently is considered an error by the underlying API. 2010-08-06 José Alburquerque <jaalburqu@svn.gnome.org> Fix the build with GCC 4.5. * gstreamer/src/message.ccg (wrap): Store the message type as a GstMixerMessage type for testing in the second switch clause to avoid a compiler warning. 2010-08-06 José Alburquerque <jaalburqu@svn.gnome.org> Mixer: Use correct syntax for object construction. * gstreamer/src/mixer.ccg (get_volume): Use ArrayHandle<>() for constructing the list instead of Glib::ArrayHandle<>::ArrayHandle<>() which is incorrect. Fixes bug #626203 (Diego E. Flameeyes Pettenò) 2010-07-21 José Alburquerque <jaalburqu@svn.gnome.org> BaseSink: Wrap the "enable-last-buffer" property. * gstreamer/src/basesink.hg: Wrap the "enable-last-buffer" property which a lot of derived classes (including plugins) inherit. 2010-07-20 José Alburquerque <jaalburqu@svn.gnome.org> Fix the build with the 0.10.30 version of GStreamer. * configure.ac: Update the GStreamer version requirement to 0.10.30 which is the latest release. * gstreamer/src/gst_signals.defs: Regenerate extra defs to get the new properties for the decodebin2, playbin2, and uridecodebin plugins, added in the GStreamer 0.10.30 release. 2010-06-06 José Alburquerque <jaalburqu@svn.gnome.org> Remove the optional API #ifdefs. As in gtkmm, remove the #ifdefs related to optional API like exceptions, virtual functions, etc. because now the API is not optional. 0.10.7.3: 2010-05-30 José Alburquerque <jaalburqu@svn.gnome.org> 0.10.7.3. * configure.ac: New release that compiles with GCC 4.5. 2010-05-30 José Alburquerque <jaalburqu@svn.gnome.org> Iterator: Correct casts and code order. * gstreamer/src/iterator.hg: Use C++ style casts instead of C ones. (IteratorBase): Reorder method definitions so that constructors come before methods. Apparently they were defined as in the class declaration (where they are declared protected after the method declarations), but it might be better to define them first for readability. 2010-05-30 Daniel Elstner <danielk@openismus.com> Correct wrong syntax for object construction * tools/m4/convert_gst.m4 (GstIterator): Change conversions to use the correct C++ syntax for constructing objects; Iterator() instead of Iterator::Iterator(). The latter fails with GCC 4.5. Reported by Kacper Kowalik, GNOME bug #618565. * gstreamer/src/format.ccg (iterate_format_definitions): As above. 2010-05-25 José Alburquerque <jaalburqu@svn.gnome.org> Correct some typos. * gstreamer/src/event.hg: * gstreamer/src/message.hg: * gstreamer/src/query.hg: Remove unnecessary '*' in docs. * gstreamer/src/element.hg: Typo. 0.10.7.2: 2010-05-24 José Alburquerque <jaalburqu@svn.gnome.org> Release 0.10.7.2. * NEWS: * configure.ac: Make a new release with a better Doxygen main page (I really should double check things before releasing). 2010-05-24 José Alburquerque <jaalburqu@svn.gnome.org> Refine the Doxygen main page. * gstreamer/gstreamermm.h: - Include references to main classes that users might want to know about. - Make the features a list instead of a paragraph. - Include a paragraph about initializing the library and a reference to the GStreamer Application Development Manual. - Use caps for section names so that it looks nice in the web pages. Apparently, this makes Doxygen use the section title instead of the name. * docs/reference/Doxyfile.in: Use options from gtkmm for consistency. * README: Typos. 0.10.7.1: 2010-05-23 José Alburquerque <jaalburqu@svn.gnome.org> Release 0.10.7.1. * NEWS: * configure.ac: Make a new release that includes a main page for the Doxygen documentation. 2010-05-23 José Alburquerque <jaalburqu@svn.gnome.org> Add a main page to the Doxygen documentation. * docs/Makefile.am: * gstreamer/gstreamermm.h: Add a main page to the Doxygen docs as in other *mm modules. 2010-05-07 José Alburquerque <jaalburqu@svn.gnome.org> Media Player Example: Use the m_* prefix for member variables. * examples/media_player_gtkmm/player_window.cc: * examples/media_player_gtkmm/player_window.h (x_window_id): Rename to m_xwindow_id so that it uses the m_* prefix like the rest of the member variables do. 2010-05-06 José Alburquerque <jaalburqu@svn.gnome.org> NEWS: Correct the file format. * NEWS: Slightly correct the format of the entries so consistency is kept in the future. 0.10.7: 2010-04-12 José Alburquerque <jaalburqu@svn.gnome.org> Prepare for 0.10.7 release. * NEWS: * configure.ac: Update NEWS and version number. * gstreamer/gstreamermm.h: Add missing plug-in include. 2010-04-12 José Alburquerque <jaalburqu@svn.gnome.org> Pad: Cleaned up _IGNORE's. * gstreamer/src/pad.hg: Cleaned up _IGNORE's. * gstreamer/src/pad.ccg (Pad::set_blocked_async): Use gst_pad_set_blocked_async_full() to get destroy notification of slots. 2010-04-09 José Alburquerque <jaalburqu@svn.gnome.org> Wrap some new API included in recent GStreamer release. * gstreamer/src/basesrc.hg: Wrapped new_seamless_segment(). * gstreamer/src/caps.hg: Wrapped set_value() and can_intersect() methods. * gstreamer/src/event.ccg: * gstreamer/src/event.hg: Added new EventSinkMessage class. * gstreamer/src/registry.hg: Wrapped get_feature_list_cookie(). * gstreamer/src/structure.hg: Included _IGNORE()'s for functions that need not be wrapped. 2010-03-21 kitone <kitone@free.fr> MessageDuration: Correct variables named 'position' to 'duration'. * gstreamer/src/message.ccg: * gstreamer/src/message.hg: Rename occurrences of 'position' to 'duration' in Gst::MessageDuration. 2010-03-15 José Alburquerque <jaalburqu@svn.gnome.org> Regenerate defs files using new GStreamer release (0.10.28). * gstreamer/src/gst_docs.xml: Regenerated with docextract_to_xml.py. * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_enums.defs.patch: Regenerated defs file using glibmm's new enum generation tool and updated the patch file. * gstreamer/src/gst_methods.defs: * gstreamer/src/gst_methods.defs.patch: Regenerate with h2def.py and updated the patch file. 2010-03-15 José Alburquerque <jaalburqu@svn.gnome.org> AudioRate Plug-in: Regenerate extra defs to get properties. * tools/extra_defs_gen/generate_defs_gst.cc: * gstreamer/src/gst_signals.defs: Add audiorate plug-in to the extra defs generation tool and regenerate signals defs file to get the plug-in's properties. 2010-03-12 José Alburquerque <jaalburqu@svn.gnome.org> Bump gstreamer requirement to 0.10.28. * configure.ac: Bump gstreamer requirement to 0.10.28 because of new properties (for the TheoraEnc plug-in) and new plug-ins (queue2, subtitleoverlay and audiorate) that are included from those core and base releases. Fixes bug #612563 (David King) 2010-03-12 José Alburquerque <jaalburqu@svn.gnome.org> Add new audiorate base plug-in. * configure.ac: * gstreamer/src/filelist.am: Add new audiorate plug-in from new GStreamer release to complement the already added queue2 and subtitleoverlay core and base plug-ins respectively. 2010-03-12 José Alburquerque <jaalburqu@svn.gnome.org> TheoraEnc Plugin: Regenerate extra defs for needed properties. * gstreamer/src/gst_signals.defs: Regenerated this file to get the new properties included in the new GStreamer release. 2010-03-09 José Alburquerque <jaalburqu@svn.gnome.org> Event, Query: Wrap virtual functions. * gstreamer/src/event.ccg: * gstreamer/src/event.hg: * gstreamer/src/query.ccg: * gstreamer/src/query.hg: Wrap virtual functions MiniObject classes. Also use custom wrap_new() functions where the classes have a local wrap() method. * gstreamer/src/buffer.hg: Typo. 2010-03-09 José Alburquerque <jaalburqu@svn.gnome.org> Message: Revert changes for partial fix of bug #608702. * gstreamer/src/message.ccg: Revert the changes to partially fix bug #608702 because really a change in the C API is needed so that this bug can be fully fixed. The fix for leaks of mini objects must wait for bug #609473 to be addressed by the GStreamer developers. 2010-02-11 José Alburquerque <jaalburqu@svn.gnome.org> TaskPool: Use 'protected' for the wrapped default constructor. * gstreamer/src/taskpool.hg: Make sure the default constructor is protected and not accidentally private from the generation process. * gstreamer/src/message.ccg: Be a bit more verbose about why the extra reference is taken in the wrap_new() method. 2010-02-08 José Alburquerque <jaalburqu@svn.gnome.org> Message: Use a custom wrap_new() to generate correct Message class. * gstreamer/src/message.ccg: * gstreamer/src/message.hg: Used a custom wrap_new() method which uses the Gst::Message::wrap() method to generate the correct Message class wrapper. Wrapped the copy_vfunc() virtual function. 2010-02-07 José Alburquerque <jaalburqu@svn.gnome.org> Message: Modify create() method so that wrappers are not leaked. * gstreamer/src/message.ccg: * gstreamer/src/message.hg: Wrapped the finalize virtual function of GstMiniObject. Modified the create() method so that the C++ wrapper is stored in the structure of the message. Hooked into the GstMiniObject finalize virtual function so that wrappers can be deleted before final message destruction. * gstreamer/src/gst_vfuncs.defs: Defined GstMessage finalize vfunc. Partly fixes bug #608702 (Massimiliano). 2010-02-04 José Alburquerque <jaalburqu@svn.gnome.org> MiniObject: Lay the foundation for virtual methods in derived classes. * gstreamer/gstreamermm/miniobject.cc (class_init_function): Modified method to override the GstMiniObject virtual methods. (MiniObject): Added new constructor designed to be used to initialize the Glib::Class sort of as what is done with the ConstructParams Glib::Object constructor. (copy_vfunc_callback): (copy_vfunc): (finalize_vfunc_callback): (finalize_vfunc): Wrote out first attempt at the two GstMiniObject virtual functions. * gstreamer/gstreamermm/miniobject.h (MiniObject): Declared new constructor. (copy_vfunc): (finalize_vfunc): Declared virtual functions. * gstreamer/gstreamermm/private/miniobject_p.h (copy_vfunc_callback): (finalize_vfunc_callback): Declared virtual function callbacks. * tools/m4/class_gstminiobject.m4 (_MINI_CTOR_DEFAULT): Added default constructor wrapping macro for Gst::MiniObject derived classes. The default constructor will use the Glib::Class initializing parent constructor sort of as what happens with the ConstructParams Glib::Object constructor. (_PH_MINIOBJECTCLASS_DECLARATION): Added a section which includes the virtual function declarations. * gstreamer/src/element.hg (~ElementInterfaced): Code formatting. 2010-02-02 José Alburquerque <jaalburqu@svn.gnome.org> Correct constant declarations in header files. * gstreamer/src/basetransform.ccg: * gstreamer/src/basetransform.hg (BASE_TRANSFORM_SINK_NAME): Move constant into the BaseTransform class renaming it to SINK_NAME. (BASE_TRANSFORM_SRC_NAME): Ditto. * gstreamer/src/clock.hg: Declare the ClockTime constants as static and use GLIBMM_API for if the library is compiled in Windows. * gstreamer/src/event.hg: * gstreamer/src/interface.hg: * gstreamer/src/iterator.hg: * gstreamer/src/message.hg: * gstreamer/src/query.hg: * gstreamer/src/taglist.hg: * gstreamer/src/tagsetter.hg: Code formatting. * gstreamer/gstreamermm/gst_wrap_init.h: Typo. 2010-02-01 José Alburquerque <jaalburqu@svn.gnome.org> Remove initial class identification in Doxygen class docs. * gstreamer/src/audioclock.hg: * gstreamer/src/audiofilter.hg: * gstreamer/src/audiosink.hg: * gstreamer/src/audiosrc.hg: * gstreamer/src/baseaudiosink.hg: * gstreamer/src/baseaudiosrc.hg: * gstreamer/src/basesink.hg: * gstreamer/src/basesrc.hg: * gstreamer/src/basetransform.hg: * gstreamer/src/bin.hg: * gstreamer/src/buffer.hg: * gstreamer/src/bus.hg: * gstreamer/src/caps.hg: * gstreamer/src/cddabasesrc.hg: * gstreamer/src/childproxy.hg: * gstreamer/src/clock.hg: * gstreamer/src/colorbalance.hg: * gstreamer/src/colorbalancechannel.hg: * gstreamer/src/element.hg: * gstreamer/src/elementfactory.hg: * gstreamer/src/error.hg: * gstreamer/src/event.hg: * gstreamer/src/filter.hg: * gstreamer/src/format.hg: * gstreamer/src/ghostpad.hg: * gstreamer/src/index.hg: * gstreamer/src/indexfactory.hg: * gstreamer/src/interface.hg: * gstreamer/src/iterator.hg: * gstreamer/src/message.hg: * gstreamer/src/mixer.hg: * gstreamer/src/mixeroptions.hg: * gstreamer/src/mixertrack.hg: * gstreamer/src/navigation.hg: * gstreamer/src/object.hg: * gstreamer/src/pad.hg: * gstreamer/src/padtemplate.hg: * gstreamer/src/parse.hg: * gstreamer/src/pipeline.hg: * gstreamer/src/plugin.hg: * gstreamer/src/pluginfeature.hg: * gstreamer/src/preset.hg: * gstreamer/src/propertyprobe.hg: * gstreamer/src/pushsrc.hg: * gstreamer/src/query.hg: * gstreamer/src/registry.hg: * gstreamer/src/ringbuffer.hg: * gstreamer/src/segment.hg: * gstreamer/src/streamvolume.hg: * gstreamer/src/structure.hg: * gstreamer/src/systemclock.hg: * gstreamer/src/taglist.hg: * gstreamer/src/tagsetter.hg: * gstreamer/src/task.hg: * gstreamer/src/taskpool.hg: * gstreamer/src/tuner.hg: * gstreamer/src/tunerchannel.hg: * gstreamer/src/tunernorm.hg: * gstreamer/src/typefind.hg: * gstreamer/src/typefindfactory.hg: * gstreamer/src/urihandler.hg: * gstreamer/src/value.hg: * gstreamer/src/videoorientation.hg: * gstreamer/src/videosink.hg: * gstreamer/src/xml.hg: * gstreamer/src/xoverlay.hg: Remove initial class identification in Doxygen docs of classes and plug-ins because it looks redundant in the documentation. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Correct help information that is printed at the command line with the '-?' option. 2010-01-28 José Alburquerque <jaalburqu@svn.gnome.org> Include new core and base plug-ins (queue2 and subtitleoverlay). * configure.ac: * gstreamer/gstreamermm.h: * gstreamer/src/filelist.am: * tools/extra_defs_gen/generate_defs_gst.cc: Add new queue2 core plug-in and subtitleoverlay base plug-in. * gstreamer/src/gst_docs.xml: * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_methods.defs: * gstreamer/src/gst_signals.defs: Regenerate to include new method, enum, property and signal defs along with updated docs from the GStreamer-0.10.25.2 pre-release. * .gitignore: Update to exclude generated plug-in sources. 0.10.6: 2009-12-27 José Alburquerque <jaalburqu@svn.gnome.org> Release 0.10.6. * NEWS: * configure.ac: Prepare for release 0.10.6. * gstreamer/src/index.ccg: Minor reformatting. 2009-12-23 José Alburquerque <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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<guint8> instead of a guint8* for the data parameter. (RingBuffer::commit): (RingBuffer::read): Use a Glib::ArrayHandle<guchar> for the data parameter in these three methods instead of a guchar*. (RingBuffer::prepare_read): Use a std::vector<guint8> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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<Gst::MiniObject> > 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <daniel.kitta@gmail.com> 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 <danielk@openismus.com> 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 <danielk@openismus.com> 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 <danielk@openismus.com> 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 <danielk@openismus.com> Clean up RingBuffer code and avoid warning * gstreamer/src/ringbuffer.hg: Annotate API with a few TODO comments. * gstreamer/src/ringbuffer.ccg: Include STL <cstring> header instead of <string.h>. 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 <daniel.kitta@gmail.com> Further streamline the C++ plugin generator code * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Add missing include statement for <algorithm>. 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 <daniel.kitta@gmail.com> 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 <daniel.kitta@gmail.com> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <jaalburqu@svn.gnome.org> 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 <daniel.kitta@gmail.com> 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 <daniel.kitta@gmail.com> 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 <danielk@openismus.com> 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 <jaalburqu@svn.gnome.org> 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. 0.10.5.2: 2009-09-21 José Alburquerque <jaalburqu@svn.gnome.org> 0.10.5.2 - Devhelp. * NEWS: * configure.ac: Prepare for a new release. 2009-09-21 José Alburquerque <jaalburqu@svn.gnome.org> Support Automake silent rules. * autogen.sh: Pass the --verbose option to autoreconf. * configure.ac: * gstreamer/gstreamermm/Makefile.am: * gstreamer/src/Makefile.am: Support Automake silent rules. Also check for m4 and sed for plug-in processing, and patch in maintainer mode for patching generated .hg files like taglist.hg. 2009-09-21 José Alburquerque <jaalburqu@svn.gnome.org> * NEWS: * autogen.sh: * configure.ac: * gstreamer/gstreamermm/Makefile.am: * gstreamer/src/Makefile.am: 0.10.5.1: 2009-09-14 José Alburquerque <jaalburqu@svn.gnome.org> 0.10.5.1 - Use new mm-common build system. * NEWS: * configure.ac: Prepare for a new release (now using the new mm-common build system). * tests/Makefile.am: Include run of tests on a 'make check'. 2009-09-11 José Alburquerque <jaalburqu@svn.gnome.org> Build tests with make check only. * tests/Makefile.am (PROGRAMS): Use check_PROGRAMS so that tests are built with make check. * examples/media_player_gtkmm/Makefile.am: Remove missed file. * gstreamer/gstreamermm/Makefile.am: Remove the .orig file left over after patching generated .hg files. 2009-09-10 José Alburquerque <jaalburqu@svn.gnome.org> Use docs for documentation directory as in glibmm and gtkmm. * doc/Makefile.am: * doc/reference/.gitignore: * doc/reference/Doxyfile.in: Rename these to: * docs/Makefile.am: * docs/reference/.gitignore: * docs/reference/Doxyfile.in: * Makefile.am: * configure.ac: * gstreamer/gstreamermm-uninstalled.pc.in: Rename uses of doc to docs. 2009-09-09 José Alburquerque <jaalburqu@svn.gnome.org> Use non-recursive automake for examples. * configure.ac: * examples/Makefile.am: Modify so that non-recursive automake is used for examples (adapted from glibmm). * examples/Makefile.am_fragment: * examples/element_link/Makefile.am: * examples/ogg_player/Makefile.am: * examples/optiongroup/Makefile.am: * examples/typefind/Makefile.am: Delete these. * tests/Makefile.am: Beautify. 2009-09-09 José Alburquerque <jaalburqu@svn.gnome.org> Add the tests and examples directory to the build. * Makefile.am (SUBDIRS): Add test and examples directories. * configure.ac: Add an example section to add a dependency on gtkmm-2.4 if the examples are built. * gstreamer/gstreamermm/filelist.am: Beautify. 2009-09-09 José Alburquerque <jaalburqu@svn.gnome.org> Add the plug-ins to the build. * Makefile.am: Include tools directory in maintainer mode (typo). * configure.ac: Include plug-in definitions and giomm-2.4 dependency. * gstreamer/gstreamermm/Makefile.am: Patch generated .hg files only in maintainer mode. Also distribute the patch files. * gstreamer/src/Makefile.am: Include rules for generating plug-in .hg and .ccg files. Remove the generated .hg and .ccg files on maintainer cleans. * gstreamer/src/filelist.am: Sort the list of regular and plug-ins .hg file names. 2009-09-09 José Alburquerque <jaalburqu@svn.gnome.org> Include the tools directory even when not in maintainer mode. * Makefile.am: Include the tools directory even when not in maintainer mode because some things there need to be installed for other possible gstreamermm modules even when building from tarballs. 2009-09-08 José Alburquerque <jaalburqu@svn.gnome.org> First move to the new mm-build system. Plug-ins, tests, and examples are yet to be included. The license headers might be reviewed, but otherwise everything seems to be fine so far except for the distcheck. * INSTALL: * build_shared/Makefile_build.am_fragment: * build_shared/Makefile_build_gensrc.am_fragment: * build_shared/Makefile_gensrc.am_fragment: * config.h.in: * docs/Makefile.am: * docs/reference/Doxyfile.in: * docs/reference/Makefile.am: * docs/reference/beautify_docs.pl.in: * gstreamer/Makefile.am: * gstreamer/gstreamermm-0.10.pc.in: * gstreamer/src/Makefile_list_of_hg.am_fragment: * scripts/Makefile.am: * scripts/README: * scripts/c_std.m4: * scripts/cxx.m4: * scripts/cxx_std.m4: * scripts/dk-warn.m4: * scripts/docgen.m4: * scripts/glibmm_check_perl.m4: * scripts/macros.m4: * scripts/reduced.m4: * scripts/sun.m4: * tools/Makefile_list_of_sources.am_fragment: * tools/README: * tools/TODO: * tools/m4/Makefile.am: * tools/m4/Makefile_list_of_sources.am_fragment: Removed these. * build/.gitignore: * doc/Makefile.am: * doc/reference/.gitignore: * doc/reference/Doxyfile.in: * gstreamer/.gitignore: * gstreamer/gstreamermm-uninstalled.pc.in: * gstreamer/gstreamermm.pc.in: * gstreamer/gstreamermm/filelist.am: * gstreamer/gstreamermm/private/.gitignore: * gstreamer/src/filelist.am: * tools/m4/filelist.am: Added these. * .gitignore: * Makefile.am: * autogen.sh: * configure.ac: * gstreamer/gstreamermm/Makefile.am: * gstreamer/gstreamermm/private/Makefile.am: * gstreamer/gstreamermmconfig.h.in: * gstreamer/src/Makefile.am: * tools/Makefile.am: * tools/extra_defs_gen/Makefile.am: * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: * tools/generate_gst_wrap_init.pl.in: * tools/m4/class_boxedtype_extra.m4: * tools/m4/class_gstminiobject.m4: * tools/m4/convert.m4: * tools/m4/convert_gst.m4: * tools/m4/plugingen.m4: * tools/m4/plugingen_base.m4: * tools/m4/plugingen_gstreamermm.m4: * tools/m4/shared.m4: Modified these. 0.10.5: 2009-09-02 José Alburquerque <jaalburqu@svn.gnome.org> 0.10.5 - Ship a local beautify docs script. * docs/reference/Makefile.am: * docs/reference/beautify_docs.pl.in: Include a local beautify docs script to fix the build with the latest glibmm version. * NEWS: * configure.ac: Prepare for a new release. 0.10.4: 2009-08-19 José Alburquerque <jaalburqu@svn.gnome.org> 0.10.4 release. * NEWS: * README: * configure.ac: Prepare for a new release because of critical bug #590923, just fixed. 2009-08-19 José Alburquerque <jaalburqu@svn.gnome.org> Correct the Gst::BufferFlags definition. * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_enums.defs.patch: Correct the Gst::BufferFlag in the defs file and repair the patch that automatically fixes the definition. * tests/test-plugin-signals.cc: Use the BufferFlag enum in a test. Fixes Bug #590923. 0.10.3: 2009-08-19 José Alburquerque <jaalburqu@svn.gnome.org> 0.10.3 release. * NEWS: * configure.ac: prepare for 0.10.3 release. 2009-08-19 José Alburquerque <jaalburqu@svn.gnome.org> TagSetter: Add Glib::ustring tag overrides. * gstreamer/src/tagsetter.ccg: * gstreamer/src/tagsetter.hg: Added add_tag() methods that work with Glib::ustring tags for custom tags not in the Gst::Tag enum. 2009-08-18 José Alburquerque <jaalburqu@svn.gnome.org> Add Gst::MessageStep{Start,Done}. * gstreamer/src/message.ccg: * gstreamer/src/message.hg: Add Gst::MessageStepStart and Gst::MessageStepDone. * tools/m4/plugingen_base.m4: Use gulong instead 'unsigned long' in plug-in generation. 2009-08-14 José Alburquerque <jaalburqu@svn.gnome.org> MessageTag: Wrapped new 0.10.24 methods. * gstreamer/src/message.ccg: * gstreamer/src/message.hg: Wrapped full create() method, void parse() method and parse_pad() methods. 2009-08-12 José Alburquerque <jaalburqu@svn.gnome.org> Gst::Event Classes: Overload the parse methods. * gstreamer/src/event.ccg: * gstreamer/src/event.hg: Overload the parse methods in the Gst::Event classes. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Duplicate the warning not to modify plug-in generated gmmproc files that's already in the .hg plug-in files also to the .ccg files. 2009-08-11 José Alburquerque <jaalburqu@svn.gnome.org> Added Gst::EventStep. * gstreamer/src/event.ccg: * gstreamer/src/event.hg: Wrapped Gst::EventStep. It will be necessary to overload the parse() methods of the event classes as in Gst::Message and Gst::Query. 2009-08-09 José Alburquerque <jaalburqu@svn.gnome.org> Media Player Example: Typos in source. * examples/media_player_gtkmm/player_window.cc: Typos. 2009-08-09 José Alburquerque <jaalburqu@svn.gnome.org> Media Player Example: Get and save XID when video area is realized. * examples/media_player_gtkmm/player_window.cc: * examples/media_player_gtkmm/player_window.h: Get the video area X Window ID and save it when it is realized for more stability. 2009-08-06 José Alburquerque <jaalburqu@svn.gnome.org> Task: Use anonymous namespace around internal structure definition. * gstreamer/src/task.ccg: Surround internal structure definition used only in the implementation of set_thread_slots() in an anonymous namespace. * gstreamer/src/task.hg: Doc typos. 2009-08-05 José Alburquerque <jaalburqu@svn.gnome.org> Task: Docs typo. * gstreamer/src/task.hg: Typos. 2009-08-05 José Alburquerque <jaalburqu@svn.gnome.org> Task: Wrapped new 0.10.24 functions. * gstreamer/src/task.ccg: * gstreamer/src/task.hg: Re-ordered method declarations as in the C API. Added new 0.10.24 methods. * tools/m4/convert_gst.m4: Added GstTaskPool and GThreadPriority conversions. 2009-08-04 José Alburquerque <jaalburqu@svn.gnome.org> General API: Use actual slot instead of a copy where possible. * gstreamer/src/filter.ccg: * gstreamer/src/registry.ccg: * gstreamer/src/structure.ccg: * gstreamer/src/taglist.ccg: Used actual slot instead of copies where possible. * gstreamer/src/ringbuffer.ccg: * gstreamer/src/typefind.ccg: Typos. 2009-08-04 Murray Cumming <murrayc@murrayc.com> Structure: Remove some uses of GQuark from the API. * gstreamer/src/structure.[hg|ccg]: foreach(), map_in_place(): Use a ustring instead of a nasty internal GQuark in the slot parameters. 2009-08-03 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/taglist.hg: Added a comment to a TODO. 2009-08-03 José Alburquerque <jaalburqu@svn.gnome.org> Wrapped some unwrapped new functions in the C API. * gstreamer/src/element.hg: * gstreamer/src/plugin.ccg: * gstreamer/src/plugin.hg: * gstreamer/src/segment.hg: Wrapped new functions in the C API for these. Also removed the 'convert' prefix in the Gst::Segment::convert_to*() methods as in the C API. * gstreamer/src/mixer.hg: * gstreamer/src/structure.hg: * gstreamer/src/taglist.hg: Updated _IGNORE's for methods that need not be wrapped. 2009-08-04 Murray Cumming <murrayc@murrayc.com> TagList: Added ustring-based overloads, instead of requiring Tag enum. * gstreamer/src/taglist.[hg|ccg]: add/remove/get(ValueBase&): rename to add/remove/get_value(ValueBase&), to avoid recursive calls from the templated methods of the same names. Added method overloads that take ustring instead of Tag, to deal with unanticipated tags, and generic tag-handling code such as the foreach() slot. 2009-08-03 Murray Cumming <murrayc@murrayc.com> typefind example: Output more information. * examples/typefind/main.cc: on_typefind_have_type(): Output more than just the mime type (name). Added commented-out id3demux element which should result in such extra information when using an mp3 file, but it fails to link. 2009-08-03 Murray Cumming <murrayc@murrayc.com> generate_plugin_gmmproc_file: Minor improvements. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Output a warning to stdcerr if the element type is not recognized, to help people just playing with this on the command line. Add a note to the .hg that the file is generated by this tool, to help people who might try to edit the generated file. 2009-08-02 José Alburquerque <jaalburqu@svn.gnome.org> Added TODO in typefind.hg. * gstreamer/src/typefind.hg: Added TODO. 2009-08-02 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/gst_docs_override.xml: Corrected Gst::TypeFindFactory::call_slot() docs. 2009-08-02 José Alburquerque <jaalburqu@svn.gnome.org> Repaired docs for Gst::Typefind methods peek() and suggest(). * gstreamer/src/gst_docs_override.xml: Repaired docs for Gst::Typefind methods peek() and suggest(). * tests/test-plugin-gen.cc: Used (void*)0 for sentinel to correct warning. 2009-08-02 José Alburquerque <jaalburqu@svn.gnome.org> Re-added Gst::TypeFind and Gst::TypeFindFactory. * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/typefind.ccg: * gstreamer/src/typefind.hg: * gstreamer/src/typefindfactory.ccg: * gstreamer/src/typefindfactory.hg: Re-added Gst::TypeFind and Gst::TypeFindFactory now that new example clarifies their usefulness. 2009-08-02 Murray Cumming <murrayc@murrayc.com> Added typefind example. * configure.ac: * examples/typefind/Makefile.am: * examples/typefind/main.cc: Added example of the use of the typefind element, to detect the mime-type of a media file. 2009-07-31 Murray Cumming <murrayc@murrayc.com> Tiny comment additions. * README: Remove the commas from the list of debian modules to make it easier to just paste them into an apt-get install line. * gstreamer/src/element.hg: Added comments about why we don't wrap the get/set_name/parent() macros. 2009-07-31 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/taskpool.ccg: * gstreamer/src/taskpool.hg: Added Gst::TaskPool. * gstreamer/gstreamermm.h: Added missing includes. * gstreamer/src/plugin.ccg: * gstreamer/src/taglist.ccg: Slot usage corrections. 2009-07-30 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bin.ccg: * gstreamer/src/bin.hg: Added Gst::Bin::add_ghost_pad() to add a ghost pad to bin from an element's static pad. 2009-07-30 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/ghostpad.ccg: * gstreamer/src/ghostpad.hg: Modify Gst::GhostPad constructors to not require a name for the pads. * tests/test-ghost-pad.cc: Exemplify usage in test. 2009-07-29 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm.h: * gstreamer/src/colorbalance.hg: * gstreamer/src/message.ccg: * gstreamer/src/message.hg: * gstreamer/src/mixer.hg: * gstreamer/src/plugin.ccg: * gstreamer/src/plugin.hg: * gstreamer/src/propertyprobe.hg: Completed some TODO's. 2009-07-29 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/gst_docs.xml: * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_signals.defs: * gstreamer/src/gst_methods.defs: * gstreamer/src/gst_methods.defs.patch: Regenerated defs and docs, and corrected patches. 2009-07-29 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/plugin.hg: * gstreamer/src/tagsetter.hg: * gstreamer/src/task.hg: Typos. 2009-07-29 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: * gstreamer/src/Makefile_list_of_hg.am_fragment: Removed appsink and appsrc plug-ins because they seem to be causing initialization problems when gstreamermm tries to load the plug-ins to get their types. 2009-07-23 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/baseaudiosrc.hg: * gstreamer/src/basesink.hg: * gstreamer/src/basesrc.hg: * gstreamer/src/basetransform.hg: * gstreamer/src/colorbalance.hg: * gstreamer/src/mixer.hg: * gstreamer/src/navigation.ccg: * gstreamer/src/navigation.hg: * gstreamer/src/registry.hg: * tools/m4/convert_gst.m4: Wrapped some unwrapped methods in API. 2009-07-22 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/plugin.hg: * tools/m4/convert_gst.m4: Added Gst::Plugin::add_dependency() methods. 2009-07-16 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/message.ccg: * gstreamer/src/message.hg: Added Gst::MessageStructureChange and Gst::MessageRequestState. 2009-07-14 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/message.ccg: * gstreamer/src/message.hg: Commented out Gst::MessageStreamStatus until GStreamer 0.10.24 is released. 2009-07-10 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/message.ccg: * gstreamer/src/message.hg: Added Gst::MessageStreamStatus. 2009-07-02 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: Require glibmm-2.21.1 because of dependency on new API in that version. 2009-06-30 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: * gstreamer/src/Makefile_list_of_hg.am_fragment: Added last few base plug-ins tcpserversink, theoraparse and uridecodebin. 2009-06-30 David King <davidk@openismus.com> * configure.ac: Don't check for gst-inspect as it is not needed, since the presence of plugins is checked at runtime and not configure-time. Bug #587306. 2009-06-30 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/enums.hg: Typo. 2009-06-30 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: * gstreamer/src/Makefile_list_of_hg.am_fragment: Added multifdsink plug-in. * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_enums.defs.patch: Fixed patch to include handwritten enum for multifdsink plugin. * tools/m4/plugingen_base.m4: Added and Modified macros to enable the plug-in generator to generate enum code for plug-in enums used in signals. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified plug-in generator to generate enum code for enum specific plug-ins. * gstreamer/src/enums.hg: Corrected comments about plug-in specific enums used in signals not being able to be generated. 2009-06-29 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: * gstreamer/src/Makefile_list_of_hg.am_fragment: Re-order .hg files and plug-in list in true alphabetical order (instead of ..src ...sink order). Keep plug-in order as core plug-ins first and then base plug-ins. 2009-06-28 José Alburquerque <jaalburqu@svn.gnome.org> * tools/m4/plugingen_base.m4: * tools/m4/plugingen_gstreamermm.m4: Move wrapped enum macros from _base.m4 to more logical file _gstreamermm.m4. 2009-06-28 José Alburquerque <jaalburqu@svn.gnome.org> * tools/m4/cotcpp.m4: * tools/m4/ctocpp_base.m4: * tools/m4/ctocpp_gstreamermm.m4: Renamed these files to: * tools/m4/plugingen.m4: * tools/m4/plugingen_base.m4: * tools/m4/plugingen_gstreamermm.m4: These files. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: * tools/m4/Makefile_list_of_sources.am_fragment: Changed to use new names. 2009-06-28 José Alburquerque <jaalburqu@svn.gnome.org> * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: * tools/m4/ctocpp_base.m4: * build_shared/Makefile_gensrc.am_fragment: Moved wrapped enum sensing code out of plug-in generator to m4 files so that other gstreamermm modules can define their own wrapped enums. This makes the plug-in generation slightly slower but the benefit of letting other modules define which enums are already wrapped is gained. 2009-06-25 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: * gstreamer/src/Makefile_list_of_hg.am_fragment: Added decodebin2 plug-in. * gstreamer/src/enums.ccg: * gstreamer/src/enums.hg: Added enum AutoplugSelectResult used in decodebin2's signal "autoplug-select". It is hard to auto-generate enums used in signals because it's hard to know whether they are local to the plug-in or not. * tools/m4/ctocpp_gstreamermm.m4: Added translations for enum GstAutoplugSelectResult, GValueArray* and GstElementFactory. Corrected GstTagList* translation. * tools/m4/convert_gst.m4: Added enum GstAutoplugSelectResult, GstElementFactory* and GValueArray* conversions. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Added enum GstAutoplugSelectResult to wrapped enums. Use Glib::ustring returns instead of output variables. Minor code reformatting/correction. 2009-06-24 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/propertyprobe.hg: Wrap GstPropertyProbe interface using newly wrapped Glib::ValueArray. * gstreamer/gstreamermm/value_base_type_traits.h: Remove unneeded type traits for Glib::ValueBase (experimentally used in Gst::PropertyProbe). * gstreamer/src/gst_vfuncs.defs: Added GstPropertyProbe vfuncs. * gstreamer/src/gst_signals.defs.patch: Modified patch to correct parameter of GstPropertyProbe's "probe-needed" signal. * gstreamer/src/gst_signals.defs: Regenerated. 2009-06-18 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/event.ccg: * gstreamer/src/query.ccg: Use copies of the underlying objects of Gst::Structure when C API wants ownership of them. 2009-06-18 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: * gstreamer/src/Makefile_list_of_hg.am_fragment: Added appsrc and appsink plug-ins. * tools/m4/ctocpp_gstreamermm.m4: Added a translation needed for the plug-in generation. * tools/extra_defs_gen/get_plugin_defs.cc: * tools/extra_defs_gen/get_plugin_defs.h: * tools/extra_defs_gen/generate_defs_gst.cc: Modified defs generation utilities to supply a custom is_a_pointer() function to glibmm's defs generation utility so GstMiniObject derived types are identified correctly as pointer types. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Corrected alphabetical order of wrapped enums. * gstreamer/src/generate-docs.sh: * gstreamer/src/generate-enums.sh: * gstreamer/src/generate-extra-defs.sh: * gstreamer/src/generate-methods.sh: Updated generation scripts to include directories for appsrc and appsink plug-ins. Also modified them to use /bin/bash instead of /bin/sh because expanding arguments with '{..}' is recently not working right with /bin/sh. * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_enums.defs.patch: * gstreamer/src/gst_signals.defs: * gstreamer/src/gst_signals.defs.patch: Regenerated enums and signals and corrected their patch files now that GstMiniObject types are correctly identified as pointer types. 2009-06-09 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/structure.ccg: Use reinterpret_cast<> to cast a GValue to a Glib::ValueBase (I didn't know this would work until I noticed a conversion in glibmm which converts a GValue to a Glib::ValueBase this way. :-) ) 2009-06-05 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm/value_base_type_traits.h: * gstreamer/src/propertyprobe.hg: Defined a template specialization of glibmm's Glib::Container_Helpers::TypeTraits<> so that Glib::ArrayHandle<> can be used to wrap a GlibValueArray. Wrapped Gst::ProperyProbe::get_values() which returns a Glib::ArrayHandle<Glib::ValueBase>. * configure.ac: * gstreamer/src/Makefile_list_of_hg.am_fragment: Added playbin plug-in. * gstreamer/src/mixer.hg: GstMixer signals are not available to gen_defs_gst tool and have been deprecated so marked the TODO to wrap them complete. 2009-05-29 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/taglist.ccg: * gstreamer/src/taglist.hg: * gstreamer/src/tagsetter.ccg: Renamed internal array of tags, tagStrings, to _tag_strings. Also removed unneeded array size in declarations. 2009-05-28 José Alburquerque <jaalburqu@svn.gnome.org> * tools/m4/ctocpp_gstreamermm.m4: Add a C to C++ type translation for the GstPreset interface. 2009-05-28 José Alburquerque <jaalburqu@svn.gnome.org> * tools/m4/ctocpp_base.m4: * tools/m4/ctocpp_gstreamermm.m4: * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Use "translate" instead of "convert" in the C to C++ type translation macros used for plug-in generation to avoid confusion between the C to C++ translation macros and the standard glibmm conversion macros. 0.10.2: 2009-05-27 José Alburquerque <jaalburqu@svn.gnome.org> * NEWS: * README: * configure.ac: Increased version number and dependencies for release. * tests/test-structure.cc: Fixed error in if condition. 2009-05-25 José Alburquerque <jaalburqu@svn.gnome.org> * examples/ogg_player/main.cc: * examples/ogg_player_gtkmm/main.cc: * gstreamer/src/iterator.hg: A few other fixes to enable compiling without exceptions. * build_shared/Makefile_gensrc.am_fragment: Removed unused variable def. 2009-05-25 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: * gstreamer/src/Makefile_list_of_hg.am_fragment: * build_shared/Makefile_gensrc.am_fragment: Modify the build of plug-ins to just use a stamp file when running the .{hg,ccg} files through gmmproc as is done with regular *.{hg,ccg} files. 2009-05-25 José Alburquerque <jaalburqu@svn.gnome.org> * build_shared/Makefile_gensrc.am_fragment: Fix the build so that multi-job makes (option -j) are supported. 2009-05-24 José Alburquerque <jaalburqu@svn.gnome.org> * examples/optiongroup/main.cc: * gstreamer/src/bin.ccg: * gstreamer/src/bin.hg: * gstreamer/src/element.ccg: * gstreamer/src/ghostpad.ccg: * tests/test-caps.cc: * tests/test-iterator.cc: * tests/test-plugin-signals.cc: Minor typos and formatting. Minor code adjustments (for consistency). 2009-05-20 Johannes Schmid <jschmid@openismus.com> * examples/element_link/element_link.cc: * examples/media_player_gtkmm/main.cc: * examples/media_player_gtkmm/player_window.cc: * examples/optiongroup/main.cc: Fixed examples to build with disabled exceptions and disabled properties * gstreamer/src/bin.ccg: * gstreamer/src/bin.hg: * gstreamer/src/element.ccg: * gstreamer/src/element.hg: * gstreamer/src/ghostpad.ccg: * gstreamer/src/ghostpad.hg: Report runtime exceptions to stderr if exceptions are disabled * tests/test-caps.cc: * tests/test-init-check-noargs.cc: * tests/test-plugin-signals.cc: Fixed test-cases to build with disabled exceptions and properties * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Fixed build with disabled exceptions 2009-05-20 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/taglist.ccg: * gstreamer/src/taglist.hg: * gstreamer/src/tagsetter.ccg: * gstreamer/src/tagsetter.hg: Modified Gst::TagList and Gst::TagSetter to use an enum for the tags instead of a Glib::ustring as Daniel suggested in the following e-mail: http://mail.gnome.org/archives/gtkmm-list/2009-May/msg00164.html I hope it is something along the lines of what he meant. Of course, others can correct things if needed. * tests/test-taglist.cc: * tests/test-tagsetter.cc: Modified tests according to the changes above. 2009-05-20 José Alburquerque <jaalburqu@svn.gnome.org> * examples/optiongroup/main.cc: Included the fix of coding style from 'function ()' to 'function()' which had not been done in the previous general coding style fix. 2009-05-20 José Alburquerque <jaalburqu@svn.gnome.org> * examples/media_player_gtkmm/main.cc: * examples/media_player_gtkmm/player_window.cc: * examples/ogg_player/main.cc: * examples/optiongroup/main.cc: * gstreamer/gstreamermm/wrap.cc: * tests/test-caps-structures.cc: * tests/test-caps.cc: * tests/test-ghost-pad.cc: * tests/test-init-check-noargs.cc: * tests/test-init-check.cc: * tests/test-init-noargs.cc: * tests/test-init.cc: * tests/test-interface.cc: * tests/test-iterator.cc: * tests/test-pad.cc: * tests/test-pipeline-add-element.cc: * tests/test-plugin-gen.cc: * tests/test-plugin-signals.cc: * tests/test-property-caps.cc: * tests/test-structure.cc: * tests/test-taglist.cc: * tests/test-tagsetter.cc: * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: * tools/extra_defs_gen/get_plugin_defs.cc: Corrected coding style so that there are no spaces between control statements and the opening parenthesis. It had been pointed out by a few of Murray's previous commits, but I had not taken the time to correct them all. 2009-05-19 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/audioclock.ccg: * gstreamer/src/audioclock.hg: * gstreamer/src/ringbuffer.ccg: * gstreamer/src/ringbuffer.hg: * gstreamer/src/task.ccg: * gstreamer/src/task.hg: Repaired classes with a slot member to signal per instance if a slot has been set or not. 2009-05-19 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm/init.h: * gstreamer/src/audioclock.ccg: * gstreamer/src/bin.ccg: * gstreamer/src/element.ccg: * gstreamer/src/element.hg: * gstreamer/src/elementfactory.hg: * gstreamer/src/event.ccg: * gstreamer/src/format.ccg: * gstreamer/src/ghostpad.ccg: * gstreamer/src/interface.hg: * gstreamer/src/iterator.hg: * gstreamer/src/message.ccg: * gstreamer/src/mixer.ccg: * gstreamer/src/pad.ccg: * gstreamer/src/query.ccg: * gstreamer/src/query.hg: * gstreamer/src/ringbuffer.ccg: * gstreamer/src/structure.ccg: * gstreamer/src/taglist.ccg: * gstreamer/src/taglist.hg: * gstreamer/src/task.ccg: Don't use space before control statement brackets, for e.g. 'if(...)' and not 'if (...)'. 2009-05-18 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/audiosink.hg: * gstreamer/src/audiosrc.hg: * gstreamer/src/basesink.hg: * gstreamer/src/basesrc.hg: * gstreamer/src/basetransform.hg: Commented out wrapped boolean vfuncs because some cause incorrect functionality when their callbacks return false with the last 'return RType()' line. Aparently the C API expects a return of true to mark completion in these cases. Added TODO's to make sure they can be implemented correctly later. 2009-05-18 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/gst_methods.defs: * gstreamer/src/gst_methods.defs.patch: Fixed gst_method.defs patch to include gst_message_get_seqnum() which is not automatically defined for some reason. Regenerated methods defs. * gstreamer/src/gst_docs.xml: Regenerated for for next release. * gstreamer/src/element.hg: Add some _IGNOREs. * .gitignore: Added *.swp pattern (for vim), ringbuffer.{h,cc} and taglist.h.orig. 2009-05-18 José Alburquerque <jaalburqu@svn.gnome.org> * build_shared/Makefile_gensrc.am_fragment: * configure.ac: * tools/generate_wrap_init.pl.in: Removed local copy of generate_wrap_init.pl. * tools/generate_gst_wrap_init.pl.in: Removed execute permissions. 2009-05-17 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/baseaudiosink.hg: * gstreamer/src/baseaudiosrc.hg: * gstreamer/src/basesink.hg: * gstreamer/src/basesrc.hg: * gstreamer/src/basetransform.hg: Used _MEMBER_GET_GOBJECT when working with GObject members. I don't know how I didn't notice Murray's entry on 2008-02-05 explaining this. 2009-05-15 José Alburquerque <jaalburqu@svn.gnome.org> * examples/media_player_gtkmm/main.cc: * examples/ogg_player_gtkmm/main.cc: * gstreamer/gstreamermm.h: Include the plug-in header files for the user (if there are too many includes, the paradigm can be changed to individual includes again). * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Fix the plug-in docs so that an #include is not required and the dangers of using a non-existing plug-in are understood. * gstreamer/src/gst_signals.defs: Regenerated to remove warnings from build. * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_enums.defs.patch: Regenerated and fixed the patch. 2009-05-14 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: Remove the need to check if a plug-in exists because they can all be built whether they exist or not on the build system. * build_shared/Makefile_build.am_fragment: * build_shared/Makefile_build_gensrc.am_fragment: * gstreamer/gstreamermm/Makefile.am: * gstreamer/gstreamermm/private/Makefile.am: * gstreamer/src/Makefile_list_of_hg.am_fragment: Modify the build system to not differentiate between all the wrapped plug-ins and the existing plug-ins on the build system when building and installing. 2009-05-14 Murray Cumming <murrayc@murrayc-x61> Remove GSTREAMERMM_PLUGIN_* defines. * configure.ac: Do not AC_DEFINE_UNQUOTED() GSTREAMERMM_PLUGIN_ preprocessor macros. Plugin presence should be checked at runtime only. * gstreamer/gstreamermmconfig.h.in: Remove the GSTREAMERMM_PLUGIN_* undefs because these are no longer used. * tools/generate_wrap_init.pl.in: Remove code that adds GSTREAMERMM_PLUGIN_* ifdefs. We want to provide C++ API for all base gstreamer plugins always, but fail gracefully at runtime when trying to instantiate or use that API. 2009-05-14 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: * gstreamer/src/Makefile_list_of_hg.am_fragment: Include all plug-ins in build even if they don't exist on the build system so that there are no errors generated by examples that may use them. 2009-05-12 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/mixer.ccg: * gstreamer/src/mixer.hg: Added Gst::Mixer message classes that can be used when parsing messages received on the bus. Wrapped get_message_type(). * gstreamer/src/message.ccg: Modified Gst::wrap() (for GstMessage) so that it wraps GstMessages to mixer message classes if appropriate. * tools/m4/convert_gst.m4: Added a conversion from GstMixerMessageType. 2009-05-12 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/basetransform.hg: Marked TODO's completed. 2009-05-12 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/ringbuffer.ccg: Included the caps field when copying to/from GstRingBufferSpec. * gstreamer/src/ringbuffer.hg: Added _IGNORE's. 2009-05-12 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/audiofilter.ccg: * gstreamer/src/audiofilter.hg: * gstreamer/src/audiosink.ccg: * gstreamer/src/audiosink.hg: * gstreamer/src/audiosrc.ccg: * gstreamer/src/audiosrc.hg: * gstreamer/src/ringbuffer.ccg: * gstreamer/src/ringbuffer.hg: const corrections of Gst::RingBufferSpec usages. Also corrected logical use so that copying from a GstRingBufferSpec is done only after API that in fact modifies the GstRingBufferSpec. 2009-05-11 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/audiosink.ccg: * gstreamer/src/audiosink.hg: * gstreamer/src/audiosrc.ccg: * gstreamer/src/audiosrc.hg: * gstreamer/src/gst_vfuncs.defs: Wrapped Gst::AudioSink and Gst::AudioSrc vfuncs. * gstreamer/src/index.hg: Modified TODO. 2009-05-10 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/baseaudiosrc.ccg: * gstreamer/src/baseaudiosrc.hg: * gstreamer/src/gst_vfuncs.defs: Wrapped Gst::BaseAudioSrc vfuncs. * gstreamer/src/bus.hg: Typo. 2009-05-10 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/element.ccg: * gstreamer/src/element.hg: Completed some TODO's. Corrected param names in methods to match the generated Doxygen docs. Renamed link_filtered() to simply link() (overloaded name). * tests/test-caps.cc: Corrected use of Gst::Element::link_filtered() which is now just Gst::Element::link(). 2009-05-10 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/baseaudiosink.hg: * gstreamer/src/gst_vfuncs.defs: * tools/m4/convert_gst.m4: Wrapped Gst::BaseAudioSink vfuncs. 2009-05-10 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/childproxy.ccg: * gstreamer/src/childproxy.hg: Wrapped lookup(). * gstreamer/src/object.hg: Added TODO about GParamSpec. * gstreamer/src/baseaudiosink.ccg: * gstreamer/src/baseaudiosink.hg: Wrapped create_ring_buffer(). * tools/m4/convert_gst.m4: Added GstRingBuffer conversion. 2009-05-05 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/ringbuffer.ccg: * gstreamer/src/ringbuffer.hg: Removed accidentally included Gst::RingBufferSpec::gobj_copy() method. Added a Gst::RingBufferSpec castitem constructor. Added Gst::RingBufferSpec::copy_fields_{to,from} methods and made them public; Removed the Gst::RingBufferSpec::set_fields() method (because it is implemented in the copy_fields_from method. * gstreamer/src/audiofilter.ccg: * gstreamer/src/audiofilter.hg: * gstreamer/src/gst_vfuncs.defs: Wrapped Gst::AudioFilter vfuncs. * gstreamer/src/tagsetter.ccg: Marked TODO's completed because the gst_tag_setter_add_{tags,tag_values} functions have been corrected. 2009-05-05 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/object.hg: Wrapped deep_notify signal. * gstreamer/src/gst_signals.defs.patch: Modified so that when patch is applied to signal defs file, GstObject's deep notify signal has correct parameter (the GParamSpec one in particular). * gstreamer/src/gst_signals.defs: Regenerated. * gstreamer/src/mixer.hg: Added TODO. * tools/m4/convert_gst.m4: Removed un-needed () around $3 occurrences in conversions. 2009-05-05 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/ringbuffer.ccg: * gstreamer/src/ringbuffer.hg: * tools/m4/convert_gst.m4: Added Gst::RingBuffer base class. * gstreamer/src/element.hg: * gstreamer/src/plugin.hg: Typos. 2009-05-01 José Alburquerque <jaalburqu@svn.gnome.org> * README: Also changed svn links to git links for future releases. 2009-05-01 Murray Cumming <murrayc@murrayc-x61> * README: Mention what debian/Ubuntu packages to install when building gst-plugins-base, because it is not obvious and I keep forgetting. 2009-04-30 José Alburquerque <jaalburqu@svn.gnome.org> Wrapped Gst::BaseTransform vfuncs. * gstreamer/src/basetransform.ccg: * gstreamer/src/basetransform.hg: * gstreamer/src/gst_vfuncs.defs: * tools/m4/convert_gst.m4: Wrapped Gst::BaseTransform vfuncs. 2009-04-30 José Alburquerque <jaalburqu@svn.gnome.org> Wrapped Gst::BaseSink base class vfuncs. * gstreamer/src/basesink.ccg: * gstreamer/src/basesink.hg: Wrapped Gst::BaseSink base class vfuncs. 2009-04-30 José Alburquerque <jaalburqu@svn.gnome.org> Wrapped Gst::VideoOrientation interface vfuncs. * gstreamer/src/videoorientation.ccg: * gstreamer/src/videoorientation.hg: * gstreamer/src/gst_vfuncs.defs: Wrapped vfuncs. Handwrote methods with bool& parameters. * tools/m4/convert_gst.m4: Removed erroneous bool& to gboolean* conversion. * gstreamer/src/basesink.ccg: * gstreamer/src/basesink.hg: * gstreamer/src/basesrc.ccg: * gstreamer/src/basesrc.hg: * gstreamer/src/segment.ccg: * gstreamer/src/segment.hg: Handwrote methods with boo& parameters. 2009-04-30 José Alburquerque <jaalburqu@svn.gnome.org> Wrapped Gst::Tuner interface vfuncs. * gstreamer/src/tuner.ccg: * gstreamer/src/tuner.hg: * tools/m4/convert_gst.m4: * gstreamer/src/gst_vfuncs.defs: Wrapped Gst::Tuner interface vfuncs. * gstreamer/src/audiosrc.ccg: * gstreamer/src/cddabasesrc.ccg: * gstreamer/src/filter.ccg: * gstreamer/src/segment.ccg: Removed leading spaces before #include directives. 2009-04-29 José Alburquerque <jaalburqu@svn.gnome.org> Re-ordered preset.hg vfunc declarations. * gstreamer/src/preset.hg: Re-ordered vfunc declarations according to the GstPreset Interface C structure declarations. 2009-04-16 José Alburquerque <jaalburqu@svn.gnome.org> * tools/m4/convert_gst.m4: Use ()->gobj() instead of Glib::unwrap() in conversions (for consistency). * build_shared/Makefile_gensrc.am_fragment: Repaired the plug-in generation dependencies so that the .hg and .ccg generation rules do not depend on the regular m4 files (like convert.m4) because only the rule that runs generated .hg and .ccg files through gmmproc should have this dependency. Also fixed the dependencies of the rule that runs plug-in .hg and .ccg files through gmmproc so that it does not depend on the plug-in m4 files (like ctocpp.m4) because the rules that generate plug-in .hg and .ccg already have this dependency. 2009-04-15 José Alburquerque <jaalburqu@svn.gnome.org> * tools/m4/convert_gst.m4: * gstreamer/src/index.hg: Placed property above signals and moved signal specific conversion to .hg file. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Added lines in signal generation to include m4 conversion macros for signal return types, in particular unwrapping macros for boxed types which should use gobj_copy() so that if the wrapper disappears, the unwrapped gobj_copy() is still valid. 2009-04-13 José Alburquerque <jaalburqu@svn.gnome.org> * tools/extra_defs_gen/Makefile.am: * tools/extra_defs_gen/gst_type_is_a_pointer.cc: * tools/extra_defs_gen/gst_type_is_a_pointer.h: Removed these .h and .cc files because they contain only one function. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Defined the function here where it is used. 2009-04-13 José Alburquerque <jaalburqu@svn.gnome.org> * tools/m4/convert_gst.m4: Reviewed conversions to make sure that only conversions to the C type (gobj() conversions) and conversions to types that are returned exist so that conversions to "const Glib::RefPtr<>&" are required in the .hg file (safer for signals and vfuncs). * gstreamer/src/event.hg: * gstreamer/src/index.hg: * gstreamer/src/index.ccg: * gstreamer/src/message.hg: * gstreamer/src/query.hg: * gstreamer/src/tagsetter.hg: Placed boxed type conversions specific to certain methods in the .hg files and removed them from the convert file. Ensured that copies are made so that originals are not destroyed where appropriate. * tools/m4/ctocpp_base.m4: Modified the _CCONVERT() macro so that the conversion types it accepts are: type, param and return. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Added lines in signal generation to insert "#m4 _CONVERSION()" for parameters of type GstTagList because GstTagList has a different Glib::wrap() to distinguish it from GstStructure's Glib::wrap() (GstTagList is a GstStructure which makes the two different Glib::wrap() methods necessary). * gstreamer/src/basesrc.ccg: * gstreamer/src/preset.ccg: Typos. 2009-04-13 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bin.hg: * gstreamer/src/element.hg: * gstreamer/src/elementfactory.hg: * gstreamer/src/pad.hg: * gstreamer/src/urihandler.hg: Revisited list ownership in API. * gstreamer/src/index.hg: Revisited #m4 conversions that wrap() ensuring that wrap takes a copy in API. * gstreamer/src/colorbalance.hg: w/s. 2009-04-12 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/basesrc.ccg: * gstreamer/src/basesrc.hg: Wrapped all of Gst::BaseSrc vfuncs. Handwrote some. In particular, create_vfunc() was difficult because of the (un-constant) Glib::RefPtr<Gst::Buffer> which should be empty initially but should have the created buffer after the vfunc is called. 2009-04-12 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/gst_vfuncs.defs: * gstreamer/src/urihandler.hg: Wrapped URIHandler's vfuncs. Four vfuncs don't appear to be wrappable because they don't include a GstURIHandler parameter in the C Interface declarations. I left them as a TODO to be taken care of when the rest of the API's vfuncs are wrapped (we can come back to this a little later). * gstreamer/src/navigation.hg: Included docs (from C API docs) for send_event_vfunc(). 2009-04-10 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/mixer.ccg: * gstreamer/src/mixer.hg: * gstreamer/src/gst_vfuncs.defs: Wrapped Gst::Mixer vfuncs. * gstreamer/src/navigation.ccg: * gstreamer/src/navigation.hg: Wrapped Gst::Navigation vfuncs. * gstreamer/gstreamermm/miniobject.h: Removed erroneous TODO (was thinking of signals and dealing with vfuncs). 2009-04-09 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm/miniobject.h: Added TODO. 2009-04-02 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: Corrected comment on adding plug-ins by explaining that the list is separated by spaces so if other gstreamermm modules copy the plug-in handling sections, the comment will make it easier to start the list from scratch. 2009-03-31 José Alburquerque <jaalburqu@svn.gnome.org> * docs/reference/Makefile.am: * docs/reference/reference-index.txt: Removed unused reference-index.txt file. * tools/extra_defs_gen/Makefile.am: Specified the generate_plugin_gmmproc_file utility source file specifically for the distcheck (for a future release). 2009-03-30 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm.h: Don't include wrap_init.h with all includes because users will not likely need to use wrap_init(). 2009-03-30 José Alburquerque <jaalburqu@svn.gnome.org> * tools/extra_defs_gen/generate_defs_gst.cc: use <> instead of "" in #include directive. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Include code in plug-in generator which ensures that when a gstreamermm base class type is encountered, it always uses the Gst namespace and the gstreamermm directory for the base class in case other gstreamermm modules that use the generator use another namespace other than Gst. 2009-03-27 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: * tools/extra_defs_gen/Makefile.am: Modified build files so that the generate_plugins_gmmproc_file plug-in generating utility is installed along with a get_plugin_defs library so that other (future) gstreamermm modules can also generate plug-ins (a lot is adapted from glibmm). * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified help info to be more general and not specific to gstreamermm module. * tools/m4/ctocpp.m4: Modified to just include ctocpp_gstreamermm.m4 so that other gstreamermm modules can have their own ctocpp.m4 in which ctocpp_gstreamermm.m4 can also be included (like what happens with convert.m4). * tools/m4/Makefile_list_of_sources.am_fragment: * tools/m4/ctocpp_gstreamermm.m4: Added C to C++ gstreamermm specific translation file which can be included by other gstreamermm modules' ctocpp.m4 file. * tools/m4/Makefile.am: Made sure that the additional ctocpp*.m4 files, which are used for plug-in generation, are installed along with the other .m4 files so that gstreamermm modules that generate plug-ins can also use the macros for generating plug-ins. 2009-03-24 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bin.ccg: Corrected comments on what happens when add() or remove() fail to add/remove elements. * gstreamer/src/bin.hg: Added @throws directive to remove() docs so users know that remove() throws an exception on failure. * gstreamer/src/element.ccg: * gstreamer/src/element.hg: Added a null element check in link(). Removed duplicate include. * gstreamer/src/ghostpad.ccg: * gstreamer/src/ghostpad.hg: Modified constructors to throw exceptions if construction fails. Added docs to constructors so that users know that constructors throw exceptions. Corrected some docs. * tests/test-ghost-pad.cc: Modified test so that it runs successfully; uncommenting commented sections exemplifies how exceptions are thrown on construction failure. * gstreamer/src/filter.ccg: Corrected returned ListHandle<> ownership type. * gstreamer/src/colorbalance.ccg: * gstreamer/src/format.ccg: * gstreamer/src/preset.ccg: Spacing. 2009-03-24 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/object.ccg: * gstreamer/src/object.hg: Handwrote save_vfunc() and restore_vfunc() vfuncs to use xmlpp::Node in return and parameters. * AUTHORS: * MAINTAINERS: Corrected AUTHORS and MAINTAINERS information. It can always be updated later if necessary. 2009-03-23 José Alburquerque <jaalburqu@svn.gnome.org> * build_shared/Makefile_gensrc.am_fragment: Used quotes in link (ln) commands of plug-in .hg and .ccg make rules so that the build will not crash with directory names with spaces. 2009-03-23 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm/Makefile.am: * gstreamer/gstreamermm/private/Makefile.am: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/gst_vfuncs.defs: * gstreamer/src/object.ccg: * gstreamer/src/object.hg: Wrapped Gst::Object's methods, signals and vfuncs with gmmproc. * gstreamer/src/xml.hg: Used xmlNodePtr instead of xmlNode* in object_loaded() signal parameter. * gstreamer/src/gst_signals.defs.patch: * gstreamer/src/gst_signals.defs: Corrected signal defs patch and regenerated the signal defs. * tools/m4/convert_gst.m4: Added Gst::Object conversion. * gstreamer/gstreamermm/object.cc: * gstreamer/gstreamermm/object.h: * gstreamer/gstreamermm/private/object_p.h: Removed these because gmmproc now generates them. * gstreamer/src/bin.ccg: Modified remove() to throw exceptions if element is null or removal failed (like add() does). * gstreamer/src/element.hg: Typo. 2009-03-20 Murray Cumming <murrayc@murrayc.com> * build_shared/Makefile_gensrc.am_fragment: When a gstreamer plugin is not available, give the user a hint about how to fix it. 2009-03-18 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: * gstreamer/gstreamermmconfig.h.in: * gstreamer/src/Makefile_list_of_hg.am_fragment: Added TCPClientSrc, TCPClientSink, TCPServerSrc plug-ins. * gstreamer/src/enums.ccg: * gstreamer/src/enums.hg: Wrapped GstTCPProtocol enum here because the tcp plug-ins (above) share the enum and if it is not wrapped, it would be wrapped in all three of the plug-in .hg files. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified get_cast_macro() to insert '_' in correct places. Added GstTCPProtocol to list of wrapped enums. * tools/m4/ctocpp.m4: Added C to C++ translation of GstTCPProtocol enum. * tools/extra_defs_gen/generate_defs_gst.cc: Added tcp{client,server}{src,sink} plug-ins to defs generation. * gstreamer/src/gst_signals.defs: Regenerated to include properties and signals of tcp plug-ins. * gstreamer/src/urihandler.hg: Wrapped GstURIType because enhancement #575870 is implemented. 2009-03-16 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/element.ccg: Added comment in set_clock_vfunc_callback() about why it returns true when base class does not have a set_clock() vfunc. * gstreamer/src/error.ccg: Placed functions in Gst namespace. * gstreamer/src/event.ccg: * gstreamer/src/message.ccg: * gstreamer/src/query.ccg: Formatting; Initialized variables on declaration. * gstreamer/src/indexfactory.ccg: * gstreamer/src/indexfactory.hg: Removed custom destructor because GstIndexFactory (which is a GObject) is destroyed when its last reference is lost (ie. Glib::RefPtr<>'s don't reference the Gst::IndexFactory). * gstreamer/src/preset.ccg: Corrected logic error in get_meta() and initialized variable on declaration. * gstreamer/src/mixer.ccg: whitespace. 2009-03-13 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm/init.cc: * gstreamer/gstreamermm/object.cc: * gstreamer/gstreamermm/object.h: * gstreamer/gstreamermm/wrap.h: * tests/test-event-wrap.cc: * tests/test-init-check.cc: * tests/test-init.cc: * tests/test-message-wrap.cc: * tests/test-miniobject-wrap.cc: * tests/test-plugin-gen.cc: * tests/test-query-wrap.cc: Last NULL corrections. I'm glad to have read the usage of NULL in the "Bjarne Stroustrup's C++ Style and Technique FAQ". I'll probably have to continue understanding the use of null/nullptr(?) in time. I'll probably also have to go over some of the contents in the FAQ for other things when I develop. 2009-03-12 José Alburquerque <jaalburqu@svn.gnome.org> * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Added --confirm-existence option to confirm if a plug-in exists (to stop build if necessary). Corrected use of NULL. * build_shared/Makefile_gensrc.am_fragment: Modify build process to stop build in maintainer mode if a plug-in does not exist during generation (Bug #574844). 2009-03-12 Murray Cumming <murrayc@murrayc.com> * gstreamer/src/structure.ccg: * gstreamer/src/taglist.ccg: * gstreamer/src/tagsetter.ccg: Use (void*)0 instead of NULL, because NULL should not be used in C++. http://www.research.att.com/~bs/bs_faq2.html#null Also added TODOs because the C docs for some of the functions do not mention termintating NULLs, so they need to be investigated and the C documentation should be improved if necessary. 2009-03-12 José Alburquerque <jaalburqu@svn.gnome.org> * examples/ogg_player/main.cc: Modified example to use Gst::FileSrc "indirectly" by creating it with Gst::ElementFactory::create_element() to exemplify how a plug-in can be used "generically" and not by using its class wrapper so that users can see how to use plug-ins that are not wrapped. 2009-03-11 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/structure.ccg: Accidentally had used 0 instead of NULL which generates a missing sentinel warning. 2009-03-11 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/basesink.ccg: * gstreamer/src/bin.ccg: * gstreamer/src/bin.hg: * gstreamer/src/buffer.hg: * gstreamer/src/bus.ccg: * gstreamer/src/caps.ccg: * gstreamer/src/clock.ccg: * gstreamer/src/element.ccg: * gstreamer/src/element.hg: * gstreamer/src/elementfactory.ccg: * gstreamer/src/elementfactory.hg: * gstreamer/src/format.ccg: * gstreamer/src/format.hg: * gstreamer/src/iterator.hg: * gstreamer/src/message.ccg: * gstreamer/src/pad.ccg: * gstreamer/src/pad.hg: * gstreamer/src/parse.hg: * gstreamer/src/pipeline.ccg: * gstreamer/src/query.ccg: * gstreamer/src/structure.ccg: Corrected use of NULL in source files where missing sentinel warning is not generated. 2009-03-11 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/preset.ccg: * gstreamer/src/preset.hg: * gstreamer/src/gst_vfuncs.defs: Added Preset vfuncs. Added Preset to GstInterfaces Doxygen group. Used _WRAP_METHOD_DOCS_ONLY instead of handwriting method docs. 2009-03-11 Murray Cumming <murrayc@murrayc.com> * gstreamer/src/bin.hg: Added a TODO about create_watch(). * gstreamer/src/bus.hg: Added recalculate_latency() and the do_latency signal. * gstreamer/src/event.hg: Added get/set_seqnum(). * gstreamer/src/message.hg: Added get/set_seqnum(). 2009-03-10 Murray Cumming <murrayc@murrayc.com> * gstreamer/src/bin.ccg: Add(): Throw an exception if the element is null, instead of crashing by dereferencing it. Maybe remove() should do the same. Constructor: Use 0 instead of NULL, because that is best in C++. 2009-03-09 David King <davidk@openismus.com> * gstreamer/src/message.ccg: Fix use of GstState references. Don't use NULL. Cast to State correctly. Initialise GstState to GST_STATE_NULL. * tools/m4/convert_gst.m4: Fix conversion from GstState* to State&. 2009-03-09 David King <davidk@openismus.com> * build_shared/Makefile_build.am_fragment: * configure.ac: * scripts/dk-warn.m4: Add compiler warning flags. 2009-03-05 José Alburquerque <jaalburqu@svn.gnome.org> * build_shared/Makefile_build.am_fragment: * configure.ac: Removed some remaining references to gstreamerbase branch. 2009-03-04 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/interface.hg: Const correction. * gstreamer/src/colorbalance.ccg: * gstreamer/src/colorbalance.hg: Wrapped final Gst::ColorBalance vfunc list_channels_vfunc(). 2009-03-04 Murray Cumming <murrayc@murrayc.com> * gstreamer/src/index.hg: Added an explanation next to the TODO. 2009-03-03 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/format.ccg: * gstreamer/src/format.hg: Use const GstFormatDefinition* in cast constructor of Gst::FormatDefinition. * gstreamer/src/query.ccg: * gstreamer/src/query.hg: Use const GstQueryDefinition* in cast constructor of Gst::FormatQueryDefinition. * gstreamer/src/index.ccg: * gstreamer/src/index.hg: Cleaned up code (placing signal callbacks out of Gst namespace, Removing unused Gst::IndexGroup, and placing slot typdefs at top of Gst::Index member definitions). Corrected Gst::IndexAssociation class definition and Index::add_association() method. Hand-wrote Index::get_assoc_entry() so that default parameters are used. * tools/m4/convert_gst.m4: Removed unused conversion. 2009-03-03 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/index.ccg: * gstreamer/src/index.hg: * gstreamer/src/gst_vfuncs.defs: Wrapped GstIndex vfuncs (except for one strange one that has a "user_data" parameter -- see the TODO in the .hg file). * tools/m4/convert_gst.m4: Fixed Gst::IndexEntry conversion. 2009-03-02 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/typefind.hg: * gstreamer/src/typefindfactory.hg: Remove typefind until it is clear how it might be used in C++. Added comment in docs saying that it is not possible to write typefinds yet because the C API uses members in the C struct sort of like virtual methods which is odd. * gstreamer/src/clock.hg: * gstreamer/src/gst_vfuncs.defs: Added wait_vfunc() to wrap all of Gst::Clock's vfuncs. * gstreamer/src/element.ccg: * gstreamer/src/element.hg: Added set_clock_vfunc() and get_query_types_vfunc() to wrap all of Gst::Element's vfuncs. * gstreamer/src/mixer.hg: Indentation. * build_shared/Makefile_build_gensrc.am_fragment: * gstreamer/gstreamermm/Makefile.am: Move gst_wrap_init.{h,cc} with wrap_init.{h,cc} in build process. 2009-03-01 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/typefindfactory.ccg: * gstreamer/src/typefindfactory.hg: * tools/m4/convert_gst.m4: Wrapped GstTypeFindFactory. 2009-02-27 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/typefind.ccg: * gstreamer/src/typefind.hg: Wrapped GstTypeFind. * NEWS: Added entry for 0.10.1. 2009-02-24 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/generate-docs.sh: Removed inexistent directory from docs generation script. * gstreamer/src/gst_docs.xml: * gstreamer/src/gst_methods.defs: * gstreamer/src/gst_signals.defs: * gstreamer/src/gst_enums.defs: Regenerated defs files. * gstreamer/src/gst_enums.defs.patch: Repaired enums defs patch. * gstreamer/src/task.hg: Typo. * gstreamer/src/ghostpad.hg: added an _IGNORE() for gst_ghost_pad_construct() function (for constructing new ghost pads). 0.10.1: 0.10.0: 2009-02-18 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/gst_vfuncs.defs: * gstreamer/src/interface.hg: * gstreamer/src/xoverlay.hg: Added vfuncs to fix media player example which was not embedding the video window because these vfuncs were missing. 2009-02-18 José Alburquerque <jaalburqu@svn.gnome.org> * examples/media_player_gtkmm/main.cc: Removed incorrect comment. 2009-02-16 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bus.ccg: * gstreamer/src/clock.ccg: * gstreamer/src/filter.ccg: * gstreamer/src/index.ccg: * gstreamer/src/iterator.hg: * gstreamer/src/mixer.ccg: * gstreamer/src/pad.ccg: * gstreamer/src/registry.ccg: * gstreamer/src/structure.ccg: * tests/test-structure.cc: * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Fixed warnings that come from using the -Wall flag when compiling. 2009-02-10 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: * build_shared/Makefile_gensrc.am_fragment: Use the C++ class name from the plug-in definitions list in configure.ac to derive the names of the .hg and .ccg files of the plug-in source files. * gstreamer/src/Makefile_list_of_hg.am_fragment: Renamed the C++ class of the 'typefind' plug-in to TypeFindElement (like the underlying C type) because the GStreamer core[1] has a GstTypeFind[2]. [1] http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/ [2] http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTypeFind.html 2009-02-10 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: * gstreamer/src/Makefile_list_of_hg.am_fragment: Modified plug-in list so that, instead of the C++ class name, each item in the list is a definition of the form "plugin_name=CppClassName" which makes it possible to use whatever C++ class name is desired for a "plugin_name" that should still be recognized by gst-inspect. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified so that both a plug-in name that can be recognized by gst-inspect and a desired C++ class name can be specified for that wrapped plug-in. Removed (now unused) option --suggest-hg. Corrected help message. Fixed whitespace in generated .hg and .ccg files. * build_shared/Makefile_gensrc.am_fragment: Corrected build process to use new plug-in definitions list in configure.ac to get the plug-in name and the C++ class name and to pass both a plug-in name and the corresponding C++ class name to the plug-in generator. 0.9.9: 2009-02-01 José Alburquerque <jaalburqu@svn.gnome.org> * README: Rewrote slightly so that the first section (General Information) might be used for release e-mails if that is appropriate. 2009-01-30 José Alburquerque <jaalburqu@svn.gnome.org> * examples/element_link/element_link.cc: * examples/media_player_gtkmm/main.cc: * examples/media_player_gtkmm/player_window.cc: * examples/media_player_gtkmm/player_window.h: * examples/ogg_player/main.cc: * examples/ogg_player_gtkmm/main.cc: * examples/ogg_player_gtkmm/player_window.cc: * examples/ogg_player_gtkmm/player_window.h: * examples/optiongroup/main.cc: * tools/extra_defs_gen/generate_defs_gst.cc: * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: * tools/extra_defs_gen/get_plugin_defs.cc: * tools/extra_defs_gen/get_plugin_defs.h: * tools/extra_defs_gen/gst_type_is_a_pointer.cc: * tools/extra_defs_gen/gst_type_is_a_pointer.h: License corrections. 2009-01-30 José Alburquerque <jaalburqu@svn.gnome.org> * Makefile.am: Disted COPYING.examples. 2009-01-30 José Alburquerque <jaalburqu@svn.gnome.org> * COPYING.examples: Added to avoid license disparities as reported in bug #545892. 2009-01-30 José Alburquerque <jaalburqu@svn.gnome.org> * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Optimized generated *_get_type() methods of plug-in enums so that they type is gotten once, kept and then returned each time when the functions are called. * configure.ac: Updated minimum requirements of gstreamermm dependencies. 2009-01-29 José Alburquerque <jaalburqu@svn.gnome.org> * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified so that plug-in enum generated *_get_type() functions are static to the *.cc file (only callable within the generated .cc file) to fix Gst::init() related warnings when gst_dp_init() tries to call the GStreamer gst_dp_version_get_type() to initialize its GstDPVersion enum and winds up calling the generated one in gdppay.cc. 2009-01-28 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/propertyprobe.ccg: * gstreamer/src/propertyprobe.hg: * gstreamer/src/videoorientation.ccg: * gstreamer/src/videoorientation.hg: Added the last two interfaces, PropertyProbe and VideoOrientation, from the gst-plugins-base module. PropertyProbe, however, has methods that are difficult to wrap because some return GValueArray* and GParamSpec* and require GParamSpec* parameters. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Included commented code to have plug-ins extend the interfaces they implement. Made sure that the extra code generation is included only if the parent type has not already extended the interface. * tools/m4/ctocpp.m4: Added C to C++ conversions for interfaces that some plug-ins implement. * gstreamer/src/bin.hg: * gstreamer/src/element.hg: * gstreamer/src/pipeline.hg: Added these classes to Doxygen GstBaseClasses group. * gstreamer/src/childproxy.hg: * gstreamer/src/interface.hg: * gstreamer/src/tagsetter.hg: * gstreamer/src/urihandler.hg: Added these interfaces to Doxygen GstInterfaces group. * examples/ogg_player_gtkmm/player_window.cc: Modified so that the audio URI is set on 'm_source_element' instead of the filename (now that Gst::FileSrc properly extends Gst::URIHandler). * tests/Makefile.am: Marked TODO completed. 2009-01-27 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/colorbalancechannel.hg: * gstreamer/src/mixeroptions.hg: * gstreamer/src/mixertrack.hg: Added these to the GstInterface group because they are used with interfaces. * gstreamer/src/value.ccg: * gstreamer/src/value.hg: Added GValue& constructors for GStreamer internal type helper classes. Placed the classes in a Doxygen group. * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/tuner.ccg: * gstreamer/src/tuner.hg: * gstreamer/src/tunerchannel.ccg: * gstreamer/src/tunerchannel.hg: * gstreamer/src/tunernorm.ccg: * gstreamer/src/tunernorm.hg: * tools/m4/convert_gst.m4: Added Gst::Tuner, Gst::TunerChannel and Gst::TunerNorm. Added necessary conversions. * tests/test-caps.cc: * tests/test-taglist.cc: Use quotes when printing strings only in tests. * tests/test-structure.cc: Add clarification that values printed are values obtained from the Gst::Structure. 2009-01-26 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/preset.hg: Typo. 2009-01-24 José Alburquerque <jaalburqu@svn.gnome.org> * build_shared/Makefile_gensrc.am_fragment: Add license header to plug-in .hg and .ccg files. 2009-01-23 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/preset.ccg: * gstreamer/src/preset.hg: Added GstPreset. 2009-01-23 José Alburquerque <jaalburqu@svn.gnome.org> Forgot to remove (unused) modelines mostly from *.ccg files in 2009-01-22 commit. 2009-01-23 José Alburquerque <jaalburqu@svn.gnome.org> * Makefile.am: Dist the COPYING.tools file (the COPYING file is already included by automake). 2009-01-23 José Alburquerque <jaalburqu@svn.gnome.org> * COPYING.tools: Added for licensing disparities as in bug #550789. * tools/extra_defs_gen/generate_defs_gst.cc: Typo. 2009-01-22 José Alburquerque <jaalburqu@svn.gnome.org> Fixed license disparities in source files by running script submitted by Deng Xiyue[1]. iterator.hg and filter.hg suffered some damage, but after repairing them, all is okay. At the same time, removed (unused) modelines and changed character 'â' in class doc headers to '-' to avoid bug #568072. [1] http://mail.gnome.org/archives/gtkmm-list/2009-January/msg00055.html 2009-01-21 José Alburquerque <jaalburqu@svn.gnome.org> const corrections in [p-z]*.{hg,ccg} source files: * gstreamer/src/query.ccg: * gstreamer/src/query.hg: * gstreamer/src/registry.ccg: * gstreamer/src/registry.hg: * gstreamer/src/segment.hg: * gstreamer/src/taglist.ccg: * gstreamer/src/taglist.hg: * gstreamer/src/tagsetter.hg: Wrapped reset_tags(). Corrected get_tag_merge_mode() method name. * gstreamer/src/task.ccg: * gstreamer/src/task.hg: * gstreamer/src/urihandler.hg: Added TODO. * gstreamer/src/value.ccg: * gstreamer/src/value.hg: Renamed Fourcc::get_ccs() to Fourcc::set_ccs() because it is in fact a "setting" method. Removed unneeded explicit in Fraction constructor. * gstreamer/src/xml.ccg: Re-ordered method definitions according to the order in the .hg file. * gstreamer/src/xml.hg: Added TODO. * gstreamer/src/xoverlay.hg: Added TODO. * tools/m4/convert_gst.m4: Const correction of Gst::TagList conversion. 2009-01-20 José Alburquerque <jaalburqu@svn.gnome.org> * tools/m4/convert_gst.m4: * gstreamer/src/bin.hg: * gstreamer/src/clock.hg: * gstreamer/src/element.hg: * gstreamer/src/index.hg: Moved signal and vfunc specific conversions into individual *.hg files instead of in central convert file. 2009-01-20 José Alburquerque <jaalburqu@svn.gnome.org> const corrections in [j-p]*.{hg,ccg} source files: * gstreamer/src/message.ccg: * gstreamer/src/message.hg: * gstreamer/src/mixer.ccg: * gstreamer/src/mixer.hg: * gstreamer/src/mixeroptions.hg: * tools/m4/convert_gst.m4: * gstreamer/src/pad.ccg: * gstreamer/src/pad.hg: Added iterate_internal_links*() methods. * gstreamer/src/plugin.hg: * gstreamer/src/pluginfeature.hg: Unwrapped (removed) gst_plugin*_list_free() methods because Glib::ListHandle<> already takes care of freeing lists (the lists are used in Gst::Registry). * gstreamer/src/registry.hg: w/s. 2009-01-19 José Alburquerque <jaalburqu@svn.gnome.org> const correction in [a-i]*.{hg,ccg} source files: * gstreamer/src/audioclock.ccg: * gstreamer/src/audioclock.hg: * gstreamer/src/baseaudiosink.hg: * gstreamer/src/baseaudiosrc.hg: * gstreamer/src/basesrc.hg: * gstreamer/src/basetransform.hg: * gstreamer/src/bin.hg: * gstreamer/src/buffer.hg: * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: * gstreamer/src/childproxy.ccg: * gstreamer/src/childproxy.hg: * gstreamer/src/clock.hg: * gstreamer/src/colorbalance.hg: * gstreamer/src/element.ccg: * gstreamer/src/element.hg: * gstreamer/src/elementfactory.hg: * gstreamer/src/event.ccg: * gstreamer/src/event.hg: * gstreamer/src/index.hg: * tools/m4/convert_gst.m4: * gstreamer/src/basesink.ccg: * gstreamer/src/basesink.hg: Added wait_clock() and wait_eos() overloads. * gstreamer/src/caps.hg: Renamed make_writable() to create_writable(). * gstreamer/src/element.ccg: * gstreamer/src/element.hg: Wrapped create_compatible_pad() and get_compatible_pad_template() (instead of handwriting them). * gstreamer/src/bus.hg: * gstreamer/src/error.hg: * tests/test-plugin-signals.cc: Used sink instead of source for signal testing. * gstreamer/src/indexfactory.hg: whitespace. 2009-01-12 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/ghostpad.ccg: Corrected template constructors' warnings. Reformatted code to fit in 80 char width editor. 2009-01-12 José Alburquerque <jaalburqu@svn.gnome.org> * tests/test-ghost-pad.cc: Uncommented warning lines to show that ghost pad constructors warn on construction failure (parallel C code produces same results). 2009-01-12 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/ghostpad.ccg: * gstreamer/src/ghostpad.hg: Re-added ghostpad.hg (Bug #539108 has been resolved). * tests/Makefile.am: Re-added ghost pad test. Fixes Bug #539063 (Marcus Brinkmann). 2009-01-09 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/basesrc.hg: Correction of Gst::Segment usages. 2009-01-08 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/mixer.ccg: * gstreamer/src/mixer.hg: * gstreamer/src/gst_vfuncs.defs: Added vfuncs. Handwrote the get_volume_vfunc() one (adapted from gtkmm) because the C++ version returns the array (Glib::ArrayHandle<int>) instead of requiring a pointer in which to store the result. 2009-01-07 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: * gstreamer/gstreamermm-0.10.pc.in: * tools/extra_defs_gen/generate_defs_gst.cc: * gstreamer/src/gst_signals.defs: Forgot to add one dependency and type to extra defs gen. utility. Added dependency and type and regenerated. * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/navigation.ccg: * gstreamer/src/navigation.hg: Added Gst::Navigation interface. Wrapped its vfuncs. * gstreamer/src/basesink.hg: * gstreamer/src/basesrc.hg: * gstreamer/src/basetransform.hg: Corrected vfunc m4 conversions to take referecences. * gstreamer/src/colorbalance.hg: * gstreamer/src/gst_vfuncs.defs: Wrapped vfuncs. * gstreamer/src/baseaudiosink.hg: * gstreamer/src/cddabasesrc.hg: * gstreamer/src/mixer.ccg: * gstreamer/src/mixer.hg: * gstreamer/src/mixertrack.hg: * tools/m4/convert_gst.m4: Completed some TODO's. 2009-01-06 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: * gstreamer/gstreamermm-0.10.pc.in: Added all possible GStreamer dependencies to gstreamermm. * tools/extra_defs_gen/generate_defs_gst.cc: * gstreamer/src/gst_signals.defs: Added all possible GStreamer types to extra defs gen. utility and regenerated signals defs (all is included so no need to add things bit by bit and regenerate). * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/mixer.ccg: * gstreamer/src/mixer.hg: * gstreamer/src/mixeroptions.ccg: * gstreamer/src/mixeroptions.hg: * gstreamer/src/mixertrack.ccg: * gstreamer/src/mixertrack.hg: * tools/m4/convert_gst.m4: Added Gst::Mixer interface and related classes. * gstreamer/gstreamermm/object.h: * gstreamer/src/baseaudiosrc.hg: * gstreamer/src/basetransform.hg: * gstreamer/src/cddabasesrc.hg: * gstreamer/src/colorbalance.hg: * gstreamer/src/colorbalancechannel.ccg: * gstreamer/src/colorbalancechannel.hg: * examples/ogg_player_gtkmm/player_window.cc: Completed some TODO's, filed bugs about non-public enums in GStreamer and fixed some typos/whitespace. 2009-01-05 José Alburquerque <jaalburqu@svn.gnome.org> * tests/test-plugin-signals.cc: Modified test so that Gst::FakeSrc is used instead of Gst::FileSrc. 2009-01-05 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: * gstreamer/src/Makefile_list_of_hg.am_fragment: Added GDPDepay and GDPPay plug-ins. * gstreamer/gstreamermm/object.cc: * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Added floating reference aversion to ConstructParam Gst::Object constructor and removed it from plug-in constructors. Also removed code in plug-in generator to ensure that certain base classes are interpreted as belonging to the Gst namespace because the gstreamerbase branch has been merged into gstreamer and there's no possibility of these base classes being interpreted as belonging to the GstBase namespace or existing in the gstreamerbasemm directory anymore. 2009-01-05 José Alburquerque <jaalburqu@svn.gnome.org> * Makefile.am: * configure.ac: * docs/reference/Makefile.am: * examples/Makefile.am: * examples/Makefile.am_fragment: * examples/media_player_gtkmm/main.cc: * examples/media_player_gtkmm/player_window.cc: * examples/media_player_gtkmm/player_window.h: * examples/ogg_player_gtkmm/main.cc: * gstreamer/gstreamermm-0.10.pc.in: * gstreamer/gstreamermm.h: * gstreamer/gstreamermm/init.h: * gstreamer/gstreamermmconfig.h.in: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/audioclock.ccg: * gstreamer/src/audioclock.hg: * gstreamer/src/audiofilter.ccg: * gstreamer/src/audiofilter.hg: * gstreamer/src/audiosink.ccg: * gstreamer/src/audiosink.hg: * gstreamer/src/audiosrc.ccg: * gstreamer/src/audiosrc.hg: * gstreamer/src/baseaudiosink.ccg: * gstreamer/src/baseaudiosink.hg: * gstreamer/src/baseaudiosrc.ccg: * gstreamer/src/baseaudiosrc.hg: * gstreamer/src/cddabasesrc.ccg: * gstreamer/src/cddabasesrc.hg: * gstreamer/src/colorbalance.ccg: * gstreamer/src/colorbalance.hg: * gstreamer/src/colorbalancechannel.ccg: * gstreamer/src/colorbalancechannel.hg: * gstreamer/src/element.hg: * gstreamer/src/generate-docs.sh: * gstreamer/src/generate-enums.sh: * gstreamer/src/generate-extra-defs.sh: * gstreamer/src/generate-methods.sh: * gstreamer/src/gst_docs.xml: * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_enums.defs.patch: * gstreamer/src/gst_methods.defs: * gstreamer/src/gst_methods.defs.patch: * gstreamer/src/gst_signals.defs: * gstreamer/src/gst_signals.defs.patch: * gstreamer/src/videosink.ccg: * gstreamer/src/videosink.hg: * gstreamer/src/xoverlay.ccg: * gstreamer/src/xoverlay.hg: * gstreamerbase/Makefile.am: * gstreamerbase/README: * gstreamerbase/gstreamerbasemm-0.10.pc.in: * gstreamerbase/gstreamerbasemm.h: * gstreamerbase/gstreamerbasemm/Makefile.am: * gstreamerbase/gstreamerbasemm/gst_wrap_init.h: * gstreamerbase/gstreamerbasemm/init.cc: * gstreamerbase/gstreamerbasemm/init.h: * gstreamerbase/gstreamerbasemm/private/Makefile.am: * gstreamerbase/gstreamerbasemm/wrap_init.h: * gstreamerbase/gstreamerbasemmconfig.h.in: * gstreamerbase/src/Makefile.am: * gstreamerbase/src/Makefile_list_of_hg.am_fragment: * gstreamerbase/src/audioclock.ccg: * gstreamerbase/src/audioclock.hg: * gstreamerbase/src/audiofilter.ccg: * gstreamerbase/src/audiofilter.hg: * gstreamerbase/src/audiosink.ccg: * gstreamerbase/src/audiosink.hg: * gstreamerbase/src/audiosrc.ccg: * gstreamerbase/src/audiosrc.hg: * gstreamerbase/src/baseaudiosink.ccg: * gstreamerbase/src/baseaudiosink.hg: * gstreamerbase/src/baseaudiosrc.ccg: * gstreamerbase/src/baseaudiosrc.hg: * gstreamerbase/src/cddabasesrc.ccg: * gstreamerbase/src/cddabasesrc.hg: * gstreamerbase/src/colorbalance.ccg: * gstreamerbase/src/colorbalance.hg: * gstreamerbase/src/colorbalancechannel.ccg: * gstreamerbase/src/colorbalancechannel.hg: * gstreamerbase/src/generate-docs.sh: * gstreamerbase/src/generate-enums.sh: * gstreamerbase/src/generate-extra-defs.sh: * gstreamerbase/src/generate-methods.sh: * gstreamerbase/src/gstbase.defs: * gstreamerbase/src/gstbase_docs.xml: * gstreamerbase/src/gstbase_docs_override.xml: * gstreamerbase/src/gstbase_enums.defs: * gstreamerbase/src/gstbase_enums.defs.patch: * gstreamerbase/src/gstbase_methods.defs: * gstreamerbase/src/gstbase_signals.defs: * gstreamerbase/src/gstbase_signals.defs.patch: * gstreamerbase/src/videosink.ccg: * gstreamerbase/src/videosink.hg: * gstreamerbase/src/xoverlay.ccg: * gstreamerbase/src/xoverlay.hg: * tests/Makefile.am: * tests/test-init-check-noargs.cc: * tests/test-init-check.cc: * tests/test-init-noargs.cc: * tests/test-init.cc: * tests/test-interface.cc: * tools/extra_defs_gen/Makefile.am: * tools/extra_defs_gen/generate_defs_gst.cc: * tools/extra_defs_gen/generate_defs_gstbase.cc: * tools/m4/Makefile_list_of_sources.am_fragment: * tools/m4/convert.m4: * tools/m4/convert_gst.m4: * tools/m4/convert_gstbase.m4: Merged gstreamerbase into gstreamer, i.e. the GstBase namespace into the Gst namespace. 2009-01-05 Sebastian Dröge <sebastian.droege@collabora.co.uk> * gstreamerbase/gstreamerbasemm/Makefile.am: Link gstreamerbasemm to gstreamermm as it uses symbols from it. Fixes bug #560600 again. 2009-01-03 José Alburquerque <jaalburqu@svn.gnome.org> * examples/ogg_player_gtkmm/main.cc: Modified example to use plug-ins. I'm wondering if it wouldn't be easier if all classes and plug-ins would be in the Gst namespace. It seems that just because there's a packaging separation between core and base in GStreamer, it doesn't have to "seep" into the logic of namespaces, etc. I may have to ask on the list or get a better opinion from others with more experience. 2009-01-03 José Alburquerque <jaalburqu@svn.gnome.org> * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Changed so that plug-in constructors avert the GstObject floating reference. Setting properties of bins to a plug-in with a floating reference (as is done in the media player example) causes warnings when the plug-in's RefPtr goes out of scope because the referencing is not right because of the floating reference. 2009-01-02 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: Modified so that C preprocessor symbols are defined for each existing plug-in from two lists (the core list and the base list) of all possible plug-ins. * gstreamer/gstreamermmconfig.h.in: * gstreamerbase/gstreamerbasemmconfig.h.in: Modified so that if plug-ins exist, a C preprocessor symbol for the plug-in is defined in the two configuration files. * gstreamer/gstreamermm/wrap_init.h: * gstreamerbase/gstreamerbasemm/wrap_init.h: Modified to include the configuration files so that wrap_init()s know if plug-ins exist. * tools/generate_wrap_init.pl.in: Added local copy so that #ifdefs are included in wrap_init() methods. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: * tools/m4/Makefile_list_of_sources.am_fragment: * tools/m4/convert.m4: * tools/m4/shared.m4: Modified plug-in generation tool to include a "marking" m4 macro (_IS_GSTREAMERMM_PLUGIN) so that wrap_init generation tool knows and can include proper #ifdefs for each plug-in. Defined the macro in the shared.m4 file so that it is simply removed from the .hg when generating the .h file (much like what happens with the optional windows wrapping macro in gtkmm). * build_shared/Makefile_gensrc.am_fragment: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamerbase/src/Makefile_list_of_hg.am_fragment: Modified so that all plug-ins are always generated, but only in maintainer mode and so the local copy of generate_wrap_init.pl is used to generate wrap_init() functions. * build_shared/Makefile_build_gensrc.am_fragment: * build_shared/Makefile_build.am_fragment: * gstreamer/gstreamermm/Makefile.am: * gstreamer/gstreamermm/private/Makefile.am: * gstreamerbase/gstreamerbasemm/Makefile.am: * gstreamerbase/gstreamerbasemm/private/Makefile.am: Modified build files so that only the plug-ins that exist are built, installed and included in the shared object libraries, but so that all plug-in files are distributed in the tarballs whether the plug-ins exist or not. * docs/reference/Makefile.am: Modified to make sure that the distcheck is successful. Added tarball building targets. * gstreamerbase/src/colorbalance.hg: Commented unused enum for now to fix the build with most recent changes to GStreamer sources in cvs. * gstreamer/src/Makefile.am: * gstreamerbase/src/Makefile.am: Whitespace. 2009-01-01 José Alburquerque <jaalburqu@svn.gnome.org> * AUTHORS: Aparently with checkin confusion names were not ordered in alphabetical order by last name. 2008-12-22 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/element.hg: * gstreamerbase/src/audioclock.hg: Moved gstreamerbasemm specific Doxygen group definitions to a gstreamerbasemm class. Added a group for gstreamerbasemm interfaces. * gstreamerbase/src/colorbalance.hg: * gstreamerbase/src/xoverlay.hg: Added existing interfaces to defined Doxyen interface group. * tools/m4/ctocpp.m4: * tools/m4/ctocpp_base.m4: Modified C to C++ translation macros to allow translations from the C to the C++ type. Three types of translation are now possible: 1) type, 2) parameter and 3) return. The type translation is needed so that the classes of the plug-ins that implement interfaces can be extended with the C to C++ type translation. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified the plug-in generation tool to include code to extend classes that implement interfaces with the C++ type of the interface. Also modified the tool to include an _IMPLEMENTS_INTERFACE macro call for each interface the plug-in implements. The code is commented for now because the rest of the gstreamerbasemm interfaces have to be wrapped before the build is successful with the code uncommented. 0.9.8: 2008-12-22 José Alburquerque <jaalburqu@svn.gnome.org> * README: Added mailing list comment. * gstreamer/src/taglist.hg: Added _IGNOREs. * gstreamer/src/generate-methods.sh: * gstreamerbase/src/generate-methods.sh: * gstreamerbase/src/gstbase_methods.defs: Don't include plug-in directories for method generation and regenerate gstbase_methods.defs so that plug-in methods are not included in defs file. * gstreamer/src/element.hg: * gstreamer/src/index.ccg: Typos. 2008-12-19 José Alburquerque <jaalburqu@svn.gnome.org> * README: Added comment about how to report bugs. 2008-12-19 José Alburquerque <jaalburqu@svn.gnome.org> * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Added warning to plug-in Doxygen blocks (class docs) that using the underlying C *type* of the wrapped plug-in is not guaranteed to be API stable across releases. 2008-12-17 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamerbase/src/Makefile_list_of_hg.am_fragment: * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: * build_shared/Makefile_gensrc.am_fragment: Modified plug-in generation so that the required parameter of the generation tool (the plug-in name) is passed using camel casing so that this can be used as the C++ class name. This ensures that the C++ class name remains constant even if the plug-in's underlying C type changes (no more worries about ABI issues in this sense). Modified build process so that the C++ class names are specified along with the .hg file. * gstreamerbase/gstreamerbasemm/Makefile.am: Removed unneeded libgstreamermm-0.10.la build dependency of the gstreamerbasemm library. 2008-12-16 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamerbase/src/Makefile_list_of_hg.am_fragment: * gstreamerbase/src/cddabasesrc.ccg: * gstreamerbase/src/cddabasesrc.hg: Added cdparanoiasrc giosink giosrc giostreamsink giostreamsrc xvimagesink plug-ins. They did not exist in jhbuild environment because gst-plugins-base module must be be built with '--enable-experimental' and certain dependencies did not exist on my system (for cdparanoiasrc and xvimagesink plug-ins). Also added base class CddaBaseSrc from which cdparanoiasrc plug-in derives. * tools/m4/ctocpp.m4: Added C to C++ translations for gio types. * gstreamerbase/gstreamerbasemm.h: Added base classes to includes. * configure.ac: * gstreamerbase/gstreamerbasemm-0.10.pc.in: Added giomm-2.4 and gstreamer-cdda.0.10 (for CddaBaseSrc base class) dependencies to gstreamerbase branch. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Added code to determine if parent type of plug-in is wrapped or will be generated as a plug-in; If the parent type is not public, a parent class that is public is used as the plug-ins parent type. * gstreamerbase/src/gstbase_enums.defs: * gstreamerbase/src/gstbase_enums.defs.patch: * gstreamerbase/src/gstbase_signals.defs: * gstreamerbase/src/gstbase_signals.defs.patch: Went back two weeks to a gst-plugins-base version that uses GstAudioresample instead of GstSpeexResample as the type of the audioresample plug-in and regenerated these files in case a release of gstreamermm is made before a new release of GStreamer modules because the change from GstAudioresample to GstSpeexResample was made just two weeks ago and is not reflected in current releases of GStreamer modules. When a new GStreamer release is made with the change they can be regenerated then. Changing type names like this in GStreamer plug-ins (I hope it is not a common practice) makes me worry about ABI issues (if we should worry about such things in gstreamermm) because the plug-in class type names are taken from the GStreamer types and if they change this would make it appear that a class has been removed and a new one added in gstreamermm or gstreamerbasemm when plug-ins are generated. 2008-12-16 José Alburquerque <jaalburqu@svn.gnome.org> * build_shared/Makefile_build_gensrc.am_fragment: * gstreamer/gstreamermm/Makefile.am: * gstreamerbase/gstreamerbasemm/Makefile.am: Removed wrap_init.cc from distribution because it depends on plug-in generation and should be generated in build system. * build_shared/Makefile_gensrc.am_fragment: Used variable $(files_plugin_stamp) instead of complex $(foreach ...) expression in CLEANFILES and in BUILT_SOURCES. Modified plugin .hg generation to pipe the output of generate_plugin_gmmproc_file to m4 instead of using $(eval ...) to define variables for temporary files. Modified build process to generate plug-in .hg and .ccg files and then run through gmmproc. Added wrap_init.cc to BUILT_SOURCES because it is now not distributed. * tools/m4/Makefile.am: Added ctocpp*.m4 to distribution. 2008-12-15 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamerbase/src/audiofilter.hg: * gstreamerbase/src/videosink.hg: Added base classes to gstreamerbasemm base classes Doxygen group. * gstreamer/src/element.hg: Re-ordered Doxygen groups so that base classes come before plug-ins. * gstreamerbase/src/Makefile_list_of_hg.am_fragment: Typo. 2008-12-14 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamerbase/src/Makefile_list_of_hg.am_fragment: Removed gdpdeplay and gdppay plug-ins because they cause strange warnings when their wrap_new() methods are registered in GstBase::wrap_init(): * Makefile.am: Build examples before tests. Discovered that the media player example only works outside of jhbuild now. The error when attempting to play a media file in jhbuild environment: Error: Missing element 'input-selector' - check your GStreamer installation. 2008-12-14 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamerbase/src/Makefile_list_of_hg.am_fragment: Removed some plug-ins that were not generated in jhbuild. Will re-add them after making sure they are generated. * examples/media_player_gtkmm/main.cc: * examples/media_player_gtkmm/player_window.cc: * examples/media_player_gtkmm/player_window.h: Modified example to use GstBase::PlayBin2 and GstBase::XImageSink plug-ins. They work, but some warnings that have to be looked into are generated (I hope they're not too bad :-) 2008-12-14 José Alburquerque <jaalburqu@svn.gnome.org> * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Added comment about when *Class delcaration is included in .ccg file. 2008-12-14 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamerbase/src/Makefile_list_of_hg.am_fragment: * gstreamerbase/src/audiofilter.ccg: * gstreamerbase/src/audiofilter.hg: * gstreamerbase/src/videosink.ccg: * gstreamerbase/src/videosink.hg: Added GstBase::AudioFilter and GstBase::VideoSink base classes (from which some plug-ins derive) and a list of most of the gst-plugins-base plug-ins to be generated (the rest are TODO's to be done bit by bit). * configure.ac: * gstreamerbase/gstreamerbasemm-0.10.pc.in: Added gstreamer-video-0.10 to list of package dependencies of gstreamerbasemm and to the gstreamerbasemm pk-config file (needed for GstBase::VideoSink). * gstreamerbase/src/audiosink.hg: * gstreamerbase/src/audiosrc.hg: Added GStreamer includes so plug-ins that include the .h files have access to the *Class structures. * tools/extra_defs_gen/generate_defs_gstbase.cc: * gstreamerbase/src/gstbase_signals.defs: Rewrote genereate_defs_gstbase tool to include GstPlayBaseBin (base class of GstPlayBin) so its properties can be wrapped. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Renamed global includeRoot to more appropriate parentInclude (the include of the parent class); Rewrote get_cast_macro() to use a similar algorithm for inserting the underscore ('_') in the given type name as gmmproc does more or less (just a guess, but the generate *_get_type() functions of the plug-in specific enums in the *.ccg files have names that gmmproc is happy with). Made *Class definition in *.ccg files optional based on whether there are wrapped signals in plugin. Modified so that the plug-in name can also be a type name (e.g. GstPipeline, etc.) and so that when the --suggest-hg option is used the other options like --namespace, and --target are not needed. * tools/m4/convert_gst.m4: Fixed GstBuffer conversion to work with gstreamerbase branch. * tools/m4/ctocpp_base.m4: Added gdouble C to C++ translation. * tools/m4/ctocpp.m4: Added GstElement and GstTagList C to C++ translation (for plug-in generation). 2008-12-11 José Alburquerque <jaalburqu@svn.gnome.org> * tools/m4/convert_gst.m4: * gstreamer/src/basesink.hg: * gstreamer/src/basesrc.hg: * gstreamer/src/basetransform.hg: * gstreamer/src/bin.ccg: * gstreamer/src/bin.hg: * gstreamer/src/buffer.ccg: * gstreamer/src/buffer.hg: * gstreamer/src/bus.hg: * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: * gstreamer/src/childproxy.ccg: * gstreamer/src/childproxy.hg: * gstreamer/src/clock.hg: * gstreamer/src/element.ccg: * gstreamer/src/element.hg: * gstreamer/src/elementfactory.ccg: * gstreamer/src/elementfactory.hg: * gstreamer/src/event.ccg: * gstreamer/src/event.hg: * gstreamer/src/ghostpad.ccg: * gstreamer/src/ghostpad.hg: * gstreamer/src/index.hg: * gstreamer/src/indexfactory.hg: * gstreamer/src/interface.hg: * gstreamer/src/message.ccg: * gstreamer/src/message.hg: * gstreamer/src/pad.ccg: * gstreamer/src/pad.hg: * gstreamer/src/padtemplate.hg: * gstreamer/src/parse.ccg: * gstreamer/src/parse.hg: * gstreamer/src/pipeline.hg: * gstreamer/src/plugin.hg: * gstreamer/src/pluginfeature.hg: * gstreamer/src/query.ccg: * gstreamer/src/query.hg: * gstreamer/src/registry.ccg: * gstreamer/src/registry.hg: * gstreamer/src/systemclock.hg: * gstreamer/src/taglist.hg: * gstreamer/src/tagsetter.hg: * gstreamer/src/urihandler.hg: * gstreamer/src/xml.ccg: * gstreamer/src/xml.hg: Specified namespace wherever necessary so that the conversions in convert_gst.m4 can also be used with classes in gstreamerbase branch. * tools/m4/convert_gstbase.m4: Typo. * tools/extra_defs_gen/generate_defs_gstbase.cc: Modified to include some base classes that plug-ins derive from and all gst-plugins-base plug-ins. * gstreamerbase/src/generate-enums.sh: * gstreamerbase/src/generate-extra-defs.sh: * gstreamerbase/src/generate-methods.sh: Modified defs generation scripts to include plug-in directories and to patch when necessary. * gstreamerbase/src/gstbase_enums.defs: * gstreamerbase/src/gstbase_enums.defs.patch: * gstreamerbase/src/gstbase_methods.defs: * gstreamerbase/src/gstbase_signals.defs: * gstreamerbase/src/gstbase_signals.defs.patch: Regenerated and create patches to use where types are not quite correct. * gstreamerbase/src/Makefile_list_of_hg.am_fragment: * gstreamerbase/src/audiosink.ccg: * gstreamerbase/src/audiosink.hg: * gstreamerbase/src/audiosrc.ccg: * gstreamerbase/src/audiosrc.hg: * gstreamerbase/src/baseaudiosink.ccg: * gstreamerbase/src/baseaudiosink.hg: * gstreamerbase/src/baseaudiosrc.ccg: * gstreamerbase/src/baseaudiosrc.hg: Added these base classes on which some plug-ins depend (derive from). Also made a Doxygen group for them in element.hg. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified to not include an m4 conversion from a Glib::RefPtr<> to the underlying object in the generated plugin .hg file because the conversions in the convert_*.m4 files can be used just as well. Also modified to generate a _WRAP_ENUM for flags specific to the plug-in. 2008-12-11 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bus.ccg: * gstreamer/src/clock.ccg: * gstreamer/src/filter.ccg: * gstreamer/src/index.ccg: * gstreamer/src/pad.ccg: * gstreamer/src/registry.ccg: * gstreamer/src/structure.ccg: * gstreamer/src/taglist.ccg: * gstreamer/src/task.ccg: * gstreamerbase/src/audioclock.ccg: Some corrections to callbacks. 2008-12-10 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/basesink.hg: * gstreamer/src/basesrc.hg: * gstreamer/src/basetransform.hg: * gstreamer/src/element.hg: * gstreamer/src/pushsrc.hg: Added a Doxygen group for base classes in gstreamermm from which plug-ins derive. 2008-12-10 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/basesink.hg: * gstreamer/src/basesrc.hg: * gstreamer/src/basetransform.hg: Temporarily "un-wrap" the vfuncs that return bool because they cause errors when using plug-ins that derive from these classes (see related bug #530416 and comments in element.hg about the bug). * tests/Makefile.am: * tests/test-plugin-signals.cc: Added a test for generated plug-in signals. They work as long as the bool vfuncs are not wrapped or the patch in bug #530416 (or something similar) is accepted. 2008-12-08 José Alburquerque <jaalburqu@svn.gnome.org> * build_shared/Makefile_build.am_fragment: Added generated plug-in header files to list of files to be installed but not distributed. * gstreamer/src/parse.ccg: * gstreamer/src/parse.hg: Renamed get_bin() to create_bin() (A bin is created). * gstreamer/gstreamermm/miniobject.cc: * gstreamer/gstreamermm/miniobject.h: Reverted changes to "unshadow" Glib::ObjectBase::gobject_ for now because there's much more to this than just changing the field name (usages of the member variable must also be changed). 2008-12-08 José Alburquerque <jaalburqu@svn.gnome.org> * tools/m4/Makefile_list_of_sources.am_fragment: * tools/m4/convert.m4: * tools/m4/ctocpp_base.m4: * tools/m4/ctocpp.m4: * build_shared/Makefile_gensrc.am_fragment: * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified plug-in generation tool to generate preliminary .hg file (when generating the .hg file) which would then be run through m4 with macros in ctocpp_base.m4 and ctocpp.m4. Modified the build process to generate the preliminary .hg file with the tool and then run the file through m4 before running gmmproc on the final .hg file. Modified the tool to generate signals. Signals are wrapped; testing should be done though. * gstreamer/src/gst_signals.defs: * gstreamer/src/gst_signals.defs.patch: Added `*' to GstBuffer pointer type in definitions (it is GstMiniObject and the extra defs utility does not know -- see bug #562810). Modified patch to do this. * gstreamerbase/src/Makefile_list_of_hg.am_fragment: * gstreamerbase/src/gstbase_signals.defs: * tools/extra_defs_gen/generate_defs_gstbase.cc: Added plug-in `decodebin' to list of plug-ins to be generated for gstreamerbasemm to test plug-in generation that uses API from gstreamermm (properties and signals are wrapped). * gstreamer/src/basesink.ccg: * gstreamer/src/basesink.hg: * gstreamer/src/basesrc.ccg: * gstreamer/src/basesrc.hg: * gstreamer/src/pushsrc.ccg: * gstreamer/src/pushsrc.hg: Moved includes from .ccg to .hg files because plug-ins relying on these base classes need Gst*Class definitions from GStreamer header files. 2008-12-03 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/generate-docs.sh: * gstreamer/src/generate-enums.sh: * gstreamer/src/generate-methods.sh: * gstreamerbase/src/generate-docs.sh: * gstreamerbase/src/generate-enums.sh: * gstreamerbase/src/generate-methods.sh: Modified defs generation scripts to use include files in the jhbuild sources and not in the install directory. * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_enums.defs.patch: * gstreamerbase/src/gstbase_enums.defs: * gstreamerbase/src/gstbase_methods.defs: Regenerated defs files and patch files using scripts. * gstreamer/src/element.hg: Added Doxygen groups for core and base plugins. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified to generate code to wrap plug-in enums. Included code to determine if an enum a plugin property uses is defined in the API or is plugin specific. Modified to include plugins in correct Doxygen group. Added check that the --namespace, --main-defs and --target options are used. * gstreamer/src/Makefile_list_of_hg.am_fragment: * tools/m4/ctocpp.m4: * tools/m4/ctocpp_base.m4: Added all the core plugins so that they are automatically generated. For now, all properties are generated. * gstreamer/gstreamermm/miniobject.cc: * gstreamer/gstreamermm/miniobject.h: Used _gobject instead of gobject_ as protected member so the Glib::ObjectBase member is not shadowed. 2008-11-30 José Alburquerque <jaalburqu@svn.gnome.org> * examples/ogg_player_gtkmm/main.cc: * examples/ogg_player_gtkmm/player_window.cc: * examples/ogg_player_gtkmm/player_window.h: Modify example to use Gst::FileSrc for source element. * gstreamerbase/gstreamerbasemm.h: Correct typo. 2008-11-30 José Alburquerque <jaalburqu@svn.gnome.org> * tools/m4/ctocpp_base.m4: Renamed macro to define translation from C to C++ type from _CPPTYPE to _CCONVERSION. Likewise, renamed the include generation macro from _CTOCPP_INCLUDE to _CCONVERSION_INCLUDE and the macro that does the translating from _CTOCPP to _CCONVERT. Used the actual C type to define translations instead of the param spec types. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified to get the actual C type name instead of the param spec name; also to determine if a GType is a pointer. Also modified so that the return type C++ translation is used for the generated property type (by adding a second parameter, `true', to the generated _CCONVERT macro call). * tools/extra_defs_gen/Makefile.am: * tools/extra_defs_gen/gst_type_is_a_pointer.cc: * tools/extra_defs_gen/gst_type_is_a_pointer.h: Included to determine if a GType is a pointer. * tools/extra_defs_gen/generate_defs_gst.cc: Modified to generate extra defs for all core plug-ins. * gstreamer/src/gst_signals.defs: Regenerated so that the core plug-in extra defs (signals and properties) are included. * gstreamer/src/Makefile_list_of_hg.am_fragment: Added `capsfilter' plug-in to list of plug-ins to be generated. * tools/m4/Makefile_list_of_sources.am_fragment: * tools/m4/convert.m4: * tools/m4/ctocpp.m4: Added a file independent of ctopp_base.m4 to include additional C to C++ translations (the basic ones will go in ctocpp_base.m4). 2008-11-30 José Alburquerque <jaalburqu@svn.gnome.org> * build_shared/Makefile_build_gensrc.am_fragment: * build_shared/Makefile_gensrc.am_fragment: Add patches to .h files to dist. * tools/extra_defs_gen/Makefile.am: Added get_plugin_defs.{h,cc} to dist. 2008-11-30 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/Makefile_list_of_hg.am_fragment: * build_shared/Makefile_gensrc.am_fragment: * gstreamer/gstreamermm/Makefile.am: Modified build process so that taglist.hg can be included in list of .hg files to generate, but also to patch the generated .h file to remove the "typedef _GstTagList ..." section because the C API defines GstTagList as a GstStructure (so there's a conflict). * gstreamer/gstreamermm/taglist.h.patch: Added this patch so build process can use it to patch taglist.h. * gstreamer/gstreamermm/private/taglist_p.h: * gstreamer/gstreamermm/taglist.cc: * gstreamer/gstreamermm/taglist.h: Removed these because now they are generated. 2008-11-29 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bin.ccg: Modified add() to take extra reference of element if it is still floating. This is necessary because bins like to destroy the elements themselves so we can't let the Glib::RefPtr<> to the element do this (see comments in add method). * tests/test-create-bin.cc: Added lines to test removal and re-addition of element to a bin. * tests/test-interface.cc: Modified to use a Glib::RefPtr<> to hold the copy of the element gobject so it is properly destroyed when Glib::RefPtr<> goes out of scope. 2008-11-28 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/element.hg: Commented out set_clock() vfunc wrap because of problems with generated plug-ins that rely on the underlying GstElement base class to always have a set_clock() vfunc implementation (see comments in .hg file). * examples/ogg_player/main.cc: Use Gst::FileSrc and its property to ensure that (generated) plug-in wrapper works correctly. May be a good idea to not require additional includes for plug-ins (just include them in gstreamermm.h (or gstreamerbasemm.h). 2008-11-26 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/ghostpad.ccg: Restored because changes were committed accidentally (rev. 1808). * tools/m4/Makefile_list_of_sources.am_fragment: Added ctocpp_base.m4 to list of m4 tool files. * tools/m4/ctocpp_base.m4: Added macro docs. Added _CTOCPP_INCLUDE() macro to generate a C++ include directive, if necessary, from a ctype. Removed commented example usages because docs explain how to use macros. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified to use _CTOCPP_INCLUDE() macro so that C++ type declarations are included if necessary. 2008-11-25 José Alburquerque <jaalburqu@svn.gnome.org> * build_shared/Makefile_gensrc.am_fragment: Use BUILT_SOURCES only when not in maintainer mode (e.g. when running a distcheck) because it is only needed when tarball is distributed and plug-ins need to be generated on build machine. * tools/m4/convert.m4: * tools/m4/ctocpp_base.m4: Added _CPPTYPE() and _CTOCPP() macros for defining ways to translate from a C type to a C++ type (both when used as a parameter and as a return type) and then translating from a C type to a C++ type. If successful, the macros will include ways of automatically including the correct header file if the include header file is specified in the translation specification. * tools/extra_defs_gen/Makefile.am: * tools/extra_defs_gen/get_plugin_defs.cc: * tools/extra_defs_gen/get_plugin_defs.h: * gstreamer/src/generate-extra-defs.sh: Renamed generate_extra_defs to generate_defs_gst (to complement generate_defs_gstbase). Factored out get_plugin_defs() so that generate_defs_gstbase can also generate plug-in defs for gstreamerbase branch. * tools/extra_defs_gen/generate_defs_gst.cc: Added `filesrc' to the list of plug-ins to generate defs for. * tools/extra_defs_gen/generate_defs_gstbase.cc: Added `audioconvert' and `oggmux' to the list of plug-ins to generate defs for. * gstreamer/src/gst_signals.defs: * gstreamerbase/src/gstbase_signals.defs: Regenerated to include additional plug-in defs. * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified plug-in generation tool to wrap plug-in properties using the _CTOCPP marco described above (property iteration was adapted from glibmm's extra defs generation utility). Made the GType of the plug-in global for easy access. * gstreamer/src/Makefile_list_of_hg.am_fragment: * tests/test-plugin-gen.cc: * gstreamerbase/src/Makefile_list_of_hg.am_fragment: Used Gst::FileSrc instead of Gst::FakeSrc in the gstreamer branch and GstBase::OggDemux instead of GstBase::AudioConvert in the gstreamerbase branch to test plug-in generation because property generation does not quite work with the `fakesrc' and `audioconvert' plug-ins just yet because special care must be used in dealing with enums and boxed types. 2008-11-23 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm/Makefile.am: * gstreamer/gstreamermm/private/Makefile.am: * gstreamerbase/gstreamerbasemm/Makefile.am: * gstreamerbase/gstreamerbasemm/private/Makefile.am: Removed generated plug-in sources from distribution because they should be generated on the build system. * docs/reference/Makefile.am: Modified so that the html/ directory is not distributed because docs may differ depending on the plug-ins available on the build system. Made docs clean on `make clean' (for distcheck). * build_shared/Makefile_gensrc.am_fragment: Modified plug-in generation to use a stamp directory (like the regular .hg files do) so that the build system is aware of changes to them and knows how to regenerate them if necessary. Modified the BUILT_SOURCES to build the stamp of the plug-ins which uses the plug-ins .hg and .ccg rules to generate the .hg and .ccg files and then creates a stamp after running gmmproc on the files. Added the plug-in stamps to CLEANFILES so that they are cleaned with `make clean'. Removed unused `sublib_srcdir' variable and unneeded (?) Makefile dependencies. Used $(srcdir) and $(builddir) where necessary (for distcheck). Added `stamp_plugin_dir' dependency to plug-in stamp generation because in the distcheck, a stamp directory is not created by `all-local'. The distcheck now works to make it easier for future releases, but write permission is necessary in the source directory because the plug-in .hg and .ccg files must be generated there and gmmproc must also generate the private headers, the .cc and the .h files in the source directory structure so that wrap_init(), which includes stuff from the plug-in header files, is built successfully. * gstreamer/gstreamermm.h: Moved init includes to top (to keep logical order of includes). 2008-11-20 José Alburquerque <jaalburqu@svn.gnome.org> * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified plug-in generation tool to prepend namespaces to parent types and use correct include roots in cases where parent types are from gstreamermm. Added --sugest-hg option that outputs what the name of the .hg file should if the plug-in exists (nothing otherwise) while building gstreamermm. Modified it to output a comment warning in the .hg file if a plug-in is not available. * build_shared/Makefile_build_gensrc.am_fragment: * build_shared/Makefile_gensrc.am_fragment: * gstreamer/gstreamermm/Makefile.am: * gstreamer/gstreamermm/private/Makefile.am: * gstreamerbase/gstreamerbasemm/Makefile.am: * gstreamerbase/gstreamerbasemm/private/Makefile.am: Modified build process so that all plug-ins are generated and compiled, but only included in wrap_init() if they exist during the build. * gstreamer/src/Makefile_list_of_hg.am_fragment: Added dvbsrc plug-in[1] from gst-plugins-ugly to list of plug-ins to build (which will not exist in jhbuild environment) to test compilation of a plug-in that is not available. Also added fakesink from the core plugins[2]. * gstreamerbase/src/Makefile_list_of_hg.am_fragment: Added audioconvert plug-in[3] from gst-plugins-base to list of plug-ins to build for gstreamerbasemm. These plug-in additions are just tests to ensure build process works. [1] http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-dvbsrc.html [2] http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-fakesink.html [3] http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-audioconvert.html 2008-11-19 José Alburquerque <jaalburqu@svn.gnome.org> * examples/media_player_gtkmm/main.cc: Modify example to use GstBase::init() instead of Gst::init() to show that GstBase::init() can be used instead of Gst::init() in some cases. I'm not sure how awkward it will be for developers, but I think it's workable enough so that both distributors and developers feel good about gstreamermm (see yesterday's ChangeLog entries and bug references for context). 2008-11-18 José Alburquerque <jaalburqu@svn.gnome.org> * INSTALL: Removed warning about certain unsupported linking flags which now are supported. 2008-11-18 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm-0.10.pc.in: * gstreamer/gstreamermm/init.cc: * gstreamer/gstreamermm/init.h: Removed gstreamermm dependency on gstreamerbasemm by not using GstBase::wrap_init() in gstreamermm initialization. Modified init() and init_check() methods so that they only call gst_init() or gst_init_check() only once regardless of how many times the methods are used. * gstreamerbase/gstreamerbasemm/init.cc: * gstreamerbase/gstreamerbasemm/init.h: Added init() and init_check() methods. Modified docs to explain that GstBase::init() and GstBase::init_check() methods can be used to initialize gstreamermm. * gstreamerbase/gstreamerbasemm/wrap_init.h: * gstreamerbase/gstreamerbasemm/gst_wrap_init.h: Modified docs to suggest to use GstBase::init() or GstBase::init_check() methods instead of GstBase::wrap_init() or GstBase::gst_wrap_init(). * tests/test-init-check.cc: * tests/test-init.cc: Modified two tests to ensure that GstBase::init() and GstBase::init_check() initialize both gstreamermm and gstreamerbasemm. Fixes Bug #560601 and Bug #556570 2008-11-18 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/task.ccg: * gstreamer/src/task.hg: Used _WRAP_CREATE() to generate create() method. * gstreamerbase/src/audioclock.ccg: * gstreamerbase/src/audioclock.hg: Modified both Gst::Task and GstBase::AudioClock to keep track if a slot was created so that if one has not been created (because an object was wrapped and not created) the delete statement is is not called in the destructor. 2008-11-17 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: * gstreamer/gstreamermm-0.10.pc.in: Restore gstreamermm dependency on gstreamer-base-0.10 because it is in fact needed to build elements like Gst::BaseSrc, Gst::BaseSink and Gst::BaseTransform. 2008-11-15 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm-0.10.pc.in: Also remove gstreamer-base-0.10 from dependency of gstreamermm in pkg-config file (as in last commit). 2008-11-15 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: Remove gstreamer-base-0.10 as dependency of gstreamermm. 2008-11-13 José Alburquerque <jaalburqu@svn.gnome.org> * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Corrected includes. * tools/extra_defs_gen/generate_defs_gst.cc: Added code to generate extra defs for plug-ins. Added `fakesrc' to list of generated types as test. * gstreamer/src/gst_signals.defs: Regenerated extra defs (now includes `fakesrc' plug-in properties/signals). * tests/test-plugin-gen.cc: Modified test to access created plug-in gobjcect and get a known property. * tools/extra_defs_gen/Makefile.am: * gstreamerbase/gstreamerbasemm/Makefile.am: Typos. 2008-11-13 Sebastian Dröge <sebastian.droege@collabora.co.uk> * gstreamerbase/gstreamerbasemm/Makefile.am: Link gstreamerbasemm to gstreamermm as it uses symbols from it. Fixes bug #560600. 2008-11-12 José Alburquerque <jaalburqu@svn.gnome.org> * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified so that gen. plugin has create() methods. * tests/test-plugin-gen.cc: Modified test to use Gst::FakeSrc::create() instead of casting. 2008-11-12 José Alburquerque <jaalburqu@svn.gnome.org> * tools/extra_defs_gen/Makefile.am: * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: * tools/extra_defs_gen/generate_plugin_hg_file.cc: Renamed generate_plugin_hg_file.cc to generate_plugin_gmmproc_file.cc. Modified it to generate both .hg and .ccg files. Made it generate basic stuff (class declaration, simple class docs and a *_get_type() function which is needed for compilation). * build_shared/Makefile_gensrc.am_fragment: Also made build process use plugin generation tool to generate plugin .ccg file. * gstreamer/src/Makefile.am: * gstreamerbase/src/Makefile.am: Removed .defs extension in declaration of `main_defs =' variable (used to pass the main def that the plugin gen. tool should use). * gstreamer/src/Makefile_list_of_hg.am_fragment: Added `fakesrc.hg' to `files_plugin_hg =' list to test plugin generation. * tests/Makefile.am: * tests/test-plugin-gen.cc: Added minimal test. 2008-11-11 José Alburquerque <jaalburqu@svn.gnome.org> * tools/extra_defs_gen/Makefile.am: * tools/extra_defs_gen/generate_plugin_hg_file.cc: Added first cut at source generation tool that generates *.hg files from a given plug-in name (same syntax as in gst-inspect) so that additional GStreamer plug-ins like GstFileSrc (see TODO in ogg player example) can have corresponding C++ classes. * tools/extra_defs_gen/generate_defs_gst.cc: * tools/extra_defs_gen/generate_defs_gstbase.cc: Removed unused includes. * build_shared/Makefile_build.am_fragment: * build_shared/Makefile_build_gensrc.am_fragment: * build_shared/Makefile_gensrc.am_fragment: * gstreamer/src/Makefile.am: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamerbase/src/Makefile.am: * gstreamerbase/src/Makefile_list_of_hg.am_fragment: Modified build process to be sensitive to generating source code for additional GStreamer plug-ins that are not public. All that is need is to include the *.hg name (e.g. filesrc.hg) in the `files_plugin_hg =' variable definition of the Makefile_list_of_hg.am_fragment in the branch `src' directory. 2008-11-07 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: * tests/test-caps.cc: Added a set_simple() for C strings (const char*) and modified test to ensure it works. * gstreamer/src/tagsetter.ccg: * gstreamer/src/tagsetter.hg: * tests/test-tagsetter.cc: Added add_tag() for C strings (const char*) and modified test to ensure it works. 2008-11-06 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm/Makefile.am: * gstreamer/gstreamermm/structurevalue.cc: * gstreamer/gstreamermm/structurevalue.h: * gstreamer/src/caps.hg: * gstreamer/src/tagsetter.hg: Remove unneeded Gst::StructureValue classes (used before for setting and getting generic types in methods such as Gst::Caps::set_simple(), Gst::TagList::add() and Gst::TagList::add_tag()). * gstreamer/src/taglist.ccg: * gstreamer/src/taglist.hg: * gstreamer/gstreamermm/taglist.cc: * gstreamer/gstreamermm/taglist.h: Renamed get_tag_size() to size(). Added a non-index get() method for Glib::ValueBase. Replaced the overridden get() methods with index and non-index generic data type get() methods. * tests/test-taglist.cc: Added sections for adding and getting a Glib::Date. Used the index get() method for retrieving the bit rate to ensure that the index get() generic data type method works. 2008-11-05 José Alburquerque <jaalburqu@svn.gnome.org> * tools/m4/convert_gst.m4: Forgot to commit (commented in last entry). 2008-11-05 José Alburquerque <jaalburqu@svn.gnome.org> * tools/m4/convert_gst.m4: * gstreamer/gstreamermm/taglist.cc: Corrected Gst::TagList conversions to take a copy of the GstTagList (as is done for Gst::Structure which Gst::TagList derives from). * tests/test-taglist.cc: * tests/test-tagsetter.cc: Added if-else clauses when getting tags to report errors if any. * gstreamer/gstreamermm/object.cc: Used G_LIKELY in floating reference aversion test as suggested in Bug #559209 (RichardF). 2008-11-05 José Alburquerque <jaalburqu@svn.gnome.org> * INSTALL: Added standard install instructions with specific comment about unsupported linking flags (adapted from patch). Bug #556570 (Deng Xiyue) 2008-11-04 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm/object.cc: Fix the floating reference aversion code so that it checks that the GstObject is floating before referencing it and then sinking it. 2008-11-04 Murray Cumming <murrayc@murrayc.com> * gstreamer/src/element.hg: get_factory(): Use refreturn. refresult is not a valid _WRAP_METHOD() parameter. 2008-10-27 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm/taglist.h: * gstreamer/src/taglist.hg: * tests/test-taglist.cc: Moved GstTagList constants to new Gst::Tag namespace. * gstreamer/src/Makefile_list_of_hg.am_fragment: Marked TODO completed. 2008-10-21 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamerbase/gstreamerbasemm/init.h: * gstreamerbase/gstreamerbasemm/wrap_init.h: * gstreamerbase/gstreamerbasemm/gst_wrap_init.h: Repaired initialization function docs of gstreamerbasemm specifying what needs to be used for initialization and what does not. 2008-10-16 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/Makefile.am: * gstreamerbase/src/Makefile.am: Added docs xml files to list of def files so that it is included in release tarballs (not included before). * gstreamer/src/gsterror.defs: Removed unused def file (definitions are already found in gst_enums.defs and gst_methods.defs. 2008-10-15 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/gst_signals.defs.patch: Fixed signal defs patch to not add "new-uri" signal of GstURIHandler interface (already generated by extra defs utility). 2008-10-15 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/gst_signals.defs: Removed extra "new-uri" signal of GstURIHandler definition (added when the signal patch was applied) because the extra defs generation utility which now generates signals for interfaces already generated it. 2008-10-14 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamerbase/src/colorbalance.hg: Added extra ref to GstColorBalance signal conversion. * gstreamer/src/plugin.hg: Removed paragraph that was also removed in C API. 2008-10-14 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/generate-docs.sh: * gstreamer/src/generate-enums.sh: * gstreamer/src/generate-extra-defs.sh: * gstreamer/src/generate-methods.sh: * gstreamerbase/src/generate-docs.sh: * gstreamerbase/src/generate-enums.sh: * gstreamerbase/src/generate-extra-defs.sh: * gstreamerbase/src/generate-methods.sh: Error proofed generation scripts from directory names with spaces (as best possible) and have them automatically apply patches on generated files where appropriate. * gstreamer/src/gst_docs.xml: * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_methods.defs: * gstreamer/src/gst_signals.defs: * gstreamerbase/src/gstbase_docs.xml: * gstreamerbase/src/gstbase_enums.defs: * gstreamerbase/src/gstbase_methods.defs: * gstreamerbase/src/gstbase_signals.defs: Regenerated defs and docs. * gstreamerbase/src/colorbalance.hg: Wrapped "value-changed" signal. * gstreamer/src/index.hg: Used int instead of gint. 2008-10-12 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/xml.hg: Added signal docs. * gstreamer/src/bin.hg: * gstreamer/src/childproxy.hg: * gstreamer/src/clock.hg: * gstreamer/src/element.hg: Corrected typos in virtual method docs. 2008-10-12 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bin.ccg: * gstreamer/src/bin.hg: * gstreamer/src/pipeline.ccg: * gstreamer/src/pipeline.hg: Added create() methods for Gst::Bin and Gst::Pipeline that don't require a name param. * tests/test-create-bin.cc: Modified test to use new create() methods. * gstreamer/src/indexfactory.hg: Renamed make() methods to create_index(). * gstreamer/src/xml.hg: Added create() docs. 2008-10-12 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/pad.ccg: * gstreamer/src/pad.hg: Added create() methods without requiring a name param. Added method docs (a couple are still missing); Added signal docs. * tests/Makefile.am: * tests/test-ghost-pad.cc: * tests/test-pad.cc: Rewrote test-pad to test Gst::Pad::create() methods and copied old contents to test-ghost-pad.cc (for future ghost pad test). 2008-10-12 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/event.ccg: * gstreamer/src/event.hg: Added Gst::Enums::get_flags(EventType). * gstreamer/src/element.hg: * gstreamer/src/format.hg: * gstreamer/src/message.hg: * gstreamer/src/query.hg: Fixed parameter name typos in Gst::Enum methods. * gstreamer/src/index.ccg: * gstreamer/src/index.hg: * gstreamer/src/gst_others.defs: Handwrote is_readable() and is_writable() and removed definitions in *.defs file. Added method docs. 0.9.7: 2008-10-09 Murray Cumming <murrayc@murrayc.com> * gstreamer/gstreamermm/miniobject.cc: * gstreamer/gstreamermm/miniobject.h: Rename flag_set() to set_flag() and renamaed flag_unset() to unset_flag() to be consistent with other *mm libraries. * gstreamer/gstreamermm/object.cc: * gstreamer/gstreamermm/object.h: Rename save/restore_*thyself() to save/restore() because thyself is redundant and not modern English. * gstreamer/src/xml.hg: Class documentation: mention (not-yet implemented) vfuncs to override instead of non-virtual methods. 2008-10-08 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: Renamed save_thyself() and load_thyself() to save() and load() because *_thyself() is redundant. 2008-10-07 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/pad.ccg: Added "direction" property to list of Gst::Pad::Pad() construction properties. * gstreamer/src/plugin.hg: Made TODO more specific. 2008-10-06 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/event.ccg: * gstreamer/src/event.hg: Reordered class declarations according to the C API docs. * gstreamer/src/message.ccg: Slightly re-wrote Gst::Message::wrap() to use Gst::MessageCustom where appropriate. 2008-09-18 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bin.hg: * gstreamer/src/buffer.hg: * gstreamer/src/bus.hg: * gstreamer/src/caps.hg: * gstreamer/src/childproxy.hg: * gstreamer/src/element.hg: * gstreamer/src/elementfactory.hg: * gstreamer/src/filter.hg: * gstreamer/src/ghostpad.hg: * gstreamer/src/indexfactory.hg: * gstreamer/src/interface.hg: * gstreamer/src/pad.hg: * gstreamer/src/padtemplate.hg: * gstreamer/src/plugin.hg: * gstreamer/src/pluginfeature.hg: * gstreamer/src/registry.hg: * gstreamer/src/segment.hg: * gstreamer/src/taglist.hg: * gstreamer/src/tagsetter.hg: * gstreamer/src/task.hg: * gstreamer/src/urihandler.hg: * gstreamer/src/xml.hg: Reorganized all _IGNOREs so it is clear what has not been wrapped and: * gstreamer/src/event.ccg: * gstreamer/src/event.hg: * gstreamer/src/query.ccg: * gstreamer/src/query.hg: Wrapped get_structure() methods instead of handwriting them and: * gstreamer/src/message.ccg: * gstreamer/src/message.hg: Renamed get* methods in MessageBuffering to parse*. * gstreamer/gstreamermm/taglist.cc: * gstreamer/gstreamermm/taglist.h: * tools/m4/class_boxedtype_extra.m4: Modified custom CLASS_BOXEDTYPE class macro for GstTagList to use a dummy int instead of a bool and "regenerated" *.h and *.cc files by adding taglist.hg to gstreamer/src/Makefile_list_of_hg.am_fragment and then removing it so that wrapping get_structure() methods above would not be ambiguous (GstTagList is in fact a GstStructure see bug #518934). * tools/m4/convert_gst.m4: Included conversion for GstStructure and remove unused GstStructure and GstTagList ones. * gstreamer/src/structure.ccg: * gstreamer/src/structure.hg: Added fixate* methods. * gstreamer/src/clock.hg: * gstreamer/src/gst_docs_override.xml: Fixed wait() method docs and added overridden wait() method docs. * gstreamer/src/iterator.hg: Changed gpointer uses to void*. 2008-09-17 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/iterator.hg: Renamed boolean `destroy' in iterator classes to `take_ownership' (may be more intuitive and is how it is done in other *mm libraries). 2008-09-17 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: Made Glib::Value< Glib::RefPtr<Gst::Caps> > template specialization derive from Glib::ValueBase_Boxed instead of Value_Boxed<Gst::Caps>. Moved the specialization set() method implementation to .hg file. Also added get() method (for getting properties) and custom value_type() definition (all in .hg file as in glibmm/value.h). * tests/test-property-caps.cc: Modified caps property test to get property before and after setting the property. 2008-09-16 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: Added template specialization Glib::Value< Glib::RefPtr<Gst::Caps> > so that Glib::ObjectBase::set_property() doesn't fail when setting the "caps" property of certain GStreamer elements such as `multifilesrc' (from gst-plugins-good); also added Gst::Caps::get_type() without which the specialization could not compile. * tests/Makefile.am: * tests/test-property-caps.cc: Added "caps" property setting test for compile verification. Should fix bug #552305. 2008-09-14 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm-0.10.pc.in: Add gstreamerbasemm-0.10 to libs to fix compilation of files (otherwise missing reference to GstBase::wrap_init() is reported). 2008-09-10 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm/miniobject.cc: * gstreamer/gstreamermm/miniobject.h: Added get_flags(), flag_is_set() flag_set() and flag_unset(). Uncommented copy(). Included comments in docs about how copying works with Gst::MiniObjects. * gstreamer/src/buffer.ccg: * gstreamer/src/buffer.hg: * gstreamer/src/gst_others.defs: Removed *flag() methods (which are already defined in Gst::MiniObject). Handwrote and renamed make_writable() to create_writable() as in Gst::MiniObject. * gstreamer/src/message.ccg: * gstreamer/src/message.hg: * gstreamer/src/query.ccg: * gstreamer/src/query.hg: * gstreamer/src/event.ccg: * gstreamer/src/event.hg: Added copy() and create_writable() methods. * gstreamer/src/bin.hg: Renamed find_unconnected_pad() to find_unlinked_pad() and used gst_bin_find_unlinked_pad() instead of gst_bin_find_unconnected_pad() which is deprecated. * gstreamer/gstreamermm/object.h: * gstreamer/src/element.hg: * gstreamer/src/interface.hg: * gstreamer/src/pad.hg: * gstreamer/src/xml.hg: Typos and some _IGNOREs. 2008-09-09 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/xml.ccg: * gstreamer/src/xml.hg: Added class docs. Made Gst::write_xml() and Gst::write_xml_file() static methods of Gst::XML renaming them to write() and write_to_stream() (similar to C API); also made Gst::make_element() a static member of Gst::XML. Used libxml++ API where possible; used Glib::ustring instead of std::string where possible. * tools/m4/convert_gst.m4: Added Glib::ustring& and xmlpp::Document* conversions. * gstreamer/gstreamermm/object.cc: * gstreamer/gstreamermm/object.h: Added class and method docs. Added save_thyself() and restore_thyself() (saving and restoring to/from XML using libxml++). * configure.ac: Added libxml++-2.6 as build dependency for gstreamerbasemm (which is needed to build gstreamerbasemm classes derived from Gst::Object). * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: Renamed save() and load() to save_thyself() and load_thyself() respectively (as in C API). 2008-09-05 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/query.ccg: * gstreamer/src/query.hg: Fixed up Query class docs. Added Gst::QueryApplication. Added parse() (overloaded) methods. Added class and method docs. Modified Gst::QueryFormats::set() to use Glib::ArrayHandle<>. Added Gst::QueryBuffering. * examples/media_player_gtkmm/player_window.cc: * examples/ogg_player/main.cc: * examples/ogg_player_gtkmm/player_window.cc: Modified examples to use new Gst::Query classes parse() methods. * gstreamer/src/gst_docs_override.xml: Corrected Gst::Query::iterate_definitions() return type in docs. * gstreamer/src/bus.hg: Typo in docs. 2008-08-29 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/format.ccg: * gstreamer/src/format.hg: Added register_format(), formats_contain() and iterate_format_definitions(). Renamed get_details(Format f, ...) to get_format_details(). Made FormatDefinition a _CLASS_GENERIC to make it usable with Gst::IteratorBasic<> for return of iterate_format_definitions(). * gstreamer/src/query.ccg: * gstreamer/src/query.hg: Added Gst;:Query class doc. Renamed query_types_constains() to query_types_contain(). Added Gst::Query::iterate_definitions(). Made QueryTypeDefinition a _CLASS_GENERIC so that it can be used with Gst::IteratorBasic<> for return of Gst::Query::iterate_definitions(). * tools/m4/convert_gst.m4: Added conversion from GstIterator* to Gst::IteratorBasic<const QueryTypeDefinition>. * gstreamer/src/iterator.hg: Added Gst::IteratorBasic<>::operator->(). Used CppType() constructor in the Gst::IteratorBasic<>::operator*() return instead of Glib::wrap() which makes it usable with classes that don't have a Glib::wrap() method (like FormatDefinition and QueryTypeDefinition). * tests/test-iterator.cc: Modified to test iterate_format_definitions() and Gst::Query::iterate_definitions(). * gstreamer/src/caps.ccg: Clarified TODO. 2008-08-25 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/element.hg: Removed get_pad() (was a TODO). * examples/media_player_gtkmm/player_window.cc: * examples/ogg_player/main.cc: * examples/ogg_player_gtkmm/main.cc: Changed examples to not use Gst::Element::get_pad() which is removed. * gstreamer/src/bus.hg: Made TODO more specific (for future completion). 2008-08-19 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bin.ccg: * gstreamer/src/bin.hg: Forward declared Gst::Iterator<> in hg file. * gstreamer/src/element.ccg: * gstreamer/src/element.hg: * tools/m4/convert_gst.m4: Wrapped iterate*_pads() methods. 2008-08-11 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bin.hg: Wrapped iterate*() methods. Removed children_cookie() because I'm not sure what it would be used for yet. Corrected docs. 2008-08-11 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/iterator.ccg: * gstreamer/src/iterator.hg: Removed ConcurrentUpdateException and used std::runtime_error with description for iterator concurrent update. Renamed is_last() to is_end() (logic was flawed on what Gst::ITERATOR_DONE means -- one past last element, not *on* last element). Added Gst::IteratorBasic (for non reference counted objects) and made Gst::Iterator derive from it. Added (questionable?) operator->() to Gst::Iterator. * tests/test-iterator.cc: Rewrote test. 2008-08-08 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/iterator.ccg: * gstreamer/src/iterator.hg: First cut at implementing Gst::Iterator. * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: Re-added Gst::Iterator after first cut at implementing it. * gstreamer/src/bin.hg: * tools/m4/convert_gst.m4: Wrapped iterate_elements() (makes use of Gst::Iterator). * tests/Makefile.am: * tests/test-iterator.cc: Added Gst::Iterator test. Still need to test further and refine Iterator class implementations where possible. * gstreamerbase/gstreamerbasemm.h: Added audioclock.h. * gstreamerbase/src/audioclock.ccg: * gstreamer/src/element.hg: Typos. 2008-08-07 Murray Cumming <murrayc@murrayc.com> * gstreamer/src/buffer.hg: Do not wrap gst_buffer_join() because it is just a C convenience function doing nasty unreffing. gst_buffer_merge() does the same thing without the unrefs. As discovered in bug #533856. 2008-08-01 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamerbase/src/audioclock.ccg: * gstreamerbase/src/Makefile_list_of_hg.am_fragment: Added audioclock.hg to list of *.hg files and modified GstBase::AudioClock cosntructor to include few lines in gst_audio_clock_new() since bug #545782 seems like a bit more trouble than including the lines. * gstreamer/src/generate-docs.sh: * gstreamer/src/generate-enums.sh: * gstreamer/src/generate-extra-defs.sh: * gstreamer/src/generate-methods.sh: * gstreamerbase/src/generate-docs.sh: * gstreamerbase/src/generate-enums.sh: * gstreamerbase/src/generate-extra-defs.sh: * gstreamerbase/src/generate-methods.sh: Modified these scripts to provide error messages. 2008-07-31 José Alburquerque <jaalburqu@svn.gnome.org> * Makefile.am: * configure.ac: * gstreamer/gstreamermm/Makefile.am: * gstreamerbase/gstreamerbasemm-0.10.pc.in: * tests/Makefile.am: Added gstreamer-audio-0.10 to gstreamerbasemm dependencies. Removed libgstreamerbasemm-0.10.la from gstreamermm library list and include it for tests. Build gstreamer branch before gstreamerbase branch. * gstreamer/src/task.hg: Hid private slot variable from docs. * gstreamer/src/plugin.ccg: * gstreamer/src/plugin.hg: Added code to be able to register static plugins as Eric Jonas asked about in "Gstreamer with C++" thread on gtkmm-list on 7/21/2008. This code is dependent on the acceptance of bug #545787. * gstreamerbase/src/Makefile_list_of_hg.am_fragment: * gstreamerbase/src/audioclock.ccg: * gstreamerbase/src/audioclock.hg: Added GstBase::AudioClock. Bug #545782 needs to be resolved before it can be completely included. 2008-07-30 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/generate-docs.sh: * gstreamer/src/generate-enums.sh: * gstreamer/src/generate-extra-defs.sh: * gstreamer/src/generate-methods.sh: * gstreamerbase/src/generate-docs.sh: * gstreamerbase/src/generate-enums.sh: * gstreamerbase/src/generate-extra-defs.sh: * gstreamerbase/src/generate-methods.sh: Added these scripts in gstreamer and gstreamerbase branches to make generation of *.def files easier. 2008-07-30 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/element.ccg: * gstreamer/src/element.hg: Renamed get_compatible_pad() to create_compatible_pad() because it actually creates a pad if one does not exist. * gstreamer/src/gst_docs.xml: Regenerated gstreamer branch docs. * gstreamer/src/bus.hg: * gstreamer/src/clock.hg: * gstreamer/src/filter.hg: * gstreamer/src/index.hg: * gstreamer/src/pad.hg: * gstreamer/src/plugin.hg: * gstreamer/src/pluginfeature.hg: * gstreamer/src/structure.hg: * gstreamer/src/taglist.hg: * gstreamer/src/task.hg: Beautified slot docs a bit. 2008-07-28 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/message.ccg: * gstreamer/src/message.hg: - Reordered class declarations according to the C API docs. - Added class and method docs. - Rewrote parse() method of classes so that there is a void one named parse() which parses all the relevant message members, another also named parse() which returns the most prominent member of the message and others parse methods named parse_*() for the less prominent ones. This organization and naming of parse() methods can change to be more intuitive if there is a better way, in particular the parse() methods which return the prominent members may be better named parse_*() also. - Added Gst::MessageBuffering::{set/get}_stats*() methods based on new in GStreamer 0.10.20. * gstreamer/src/query.hg: Wrapped enum BufferingMode. * examples/media_player_gtkmm/player_window.cc: * examples/ogg_player/main.cc: * examples/ogg_player_gtkmm/player_window.cc: Fixed examples to use new Gst::MessageError::parse() methods correctly. 2008-07-27 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/gst_enums.defs.patch: * gstreamer/src/gst_methods.defs.patch: * gstreamer/src/gst_signals.defs.patch: Added these patch files to be applied after corresponding def is generated (as in gtkmm). * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_methods.defs: * gstreamer/src/gst_signals.defs: Applied patches to keep build sane. 2008-07-27 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_methods.defs: * gstreamer/src/gst_signals.defs: Commit these unmodified regenerated files to create patches that fix them appropriately. 2008-07-27 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/index.ccg: Ensure that slot from set_resolver() is deleted by using gst_index_set_resolver_full(). This fixes bug #515373. * configure.ac: * gstreamer/gstreamermm-0.10.pc.in: Added libxml++-2.6 library dependency. Updated min. required GStreamer version to 0.10.20 (I think we're using API found in newer versions). * gstreamer/gstreamermm/miniobject.cc: * gstreamer/gstreamermm/miniobject.h: Added is_writable(), make_writable() method docs. Found that make_writable() returns a GstMiniObject* so return Glib::RefPtr<MiniObject> from make_writable() and renamed to create_writable(). * gstreamer/src/bin.hg: Added get_children_cookie() (It has to do with GstIterator but will have to become clearer when Gst::Iterator is written). * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: * tools/m4/convert_gst.m4: Rewrote save() and load() to use libxml++. * gstreamer/src/pad.hg: Added _IGNORE's * gstreamer/src/bus.hg: Typo. 0.9.6: 2008-07-22 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/pushsrc.ccg: * gstreamer/src/pushsrc.hg: Added Gst::PushSrc class. * gstreamer/src/basesink.ccg: * gstreamer/src/basesrc.ccg: * gstreamer/src/basetransform.ccg: Removed unused includes. 2008-07-21 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm.h: Moved basesrc.h to bottom and included basesink.h and basetransform.h. * gstreamer/src/Makefile_list_of_hg.am_fragment: Added basetransform.hg and temporarily removed iterator.hg until we have properly implemented it. * gstreamer/src/basetransform.ccg: * gstreamer/src/basetransform.hg: New Gst::BaseTransform class. * gstreamer/src/gst_vfuncs.defs: Included vfuncs for GstBaseTransform. * tools/extra_defs_gen/generate_defs_gst.cc: Added comments. 2008-07-20 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/basesink.hg: Hid two method wraps that don't compile with GStreamer 0.10.20 (include later -- probably next GStreamer release ?). * gstreamer/src/segment.hg: Added gst_segment_copy to ignores. 2008-07-20 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/basesink.ccg: * gstreamer/src/basesink.hg: Added Gst::BaseSink with methods, properties and vfuncs (included class docs). Left buffer_alloc_vfunc() as a TODO (can't figure out how to convert GstBuffer** to C++ type). * gstreamer/src/basesrc.hg: Corrected docs. * gstreamer/src/gst_docs.xml: * gstreamer/src/gst_methods.defs: * gstreamer/src/gst_signals.defs: * tools/extra_defs_gen/generate_defs_gst.cc: Added GST_TYPE_{BASE_SINK, BASE_TRANSFORM, PUSH_SRC, ADAPTER, COLLECT_PADS, DATA_QUEUE} GTypes and regenerated defs to include new API since last regeneration. * gstreamer/src/gst_vfuncs.defs: Added GstBaseSink vfuncs. * tools/m4/convert_gst.m4: Added ClockTimeDiff <==> GstClockTimeDiff conversions. 2008-07-20 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/basesrc.ccg: * gstreamer/src/basesrc.hg: * gstreamer/src/gst_vfuncs.defs: Wrapped up GstBaseSrc by wrapping vfuncs and including class docs. create_vfunc() is left as a TODO (a bit complicated for me at the moment). 2008-07-16 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/element.ccg: * gstreamer/src/element.hg: * gstreamer/src/event.ccg: * gstreamer/src/event.hg: * gstreamer/src/format.ccg: * gstreamer/src/format.hg: * gstreamer/src/message.ccg: * gstreamer/src/message.hg: * gstreamer/src/query.ccg: * gstreamer/src/query.hg: * tests/test-event-wrap.cc: * tests/test-message-wrap.cc: * tests/test-query-wrap.cc: Put get_name() and get_quark() functions in a namespace to avoid conflicts. 2008-06-30 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm/init.cc: * gstreamer/gstreamermm/init.h: Added Gst::init() and Gst::init_check() with no arguments to fix bug #539059. * tests/Makefile.am: * tests/test-init-check-noargs.cc: * tests/test-init-check.cc: * tests/test-init-noargs.cc: * tests/test-init.cc: Added init tests to test Gst::init() and Gst::init_check() methods (arguments and no argument versions). * gstreamerbase/gstreamerbasemm/init.h: Made it clear in the GstBase::init() function docs that Gst::init() functions already initialize gstreamerbasemm (no need to call GstBase::init() directly). 2008-06-28 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/pad.ccg: * gstreamer/src/pad.hg: Handwrote Pad constructor to supply correct construction properties with _CONSTRUCT. * gstreamer/src/ghostpad.ccg: * gstreamer/src/ghostpad.hg: Handwrote constructors to supply correct construction properties with _CONSTRUCT. Made constructors produce warnings if construction of ghost pad is unsuccessful (this relies on patch in bug #539108). * tests/test-pad.cc: Modified test slightly to test all pad, padtemplate, and ghostpad constructors. * tests/test-ghost-pad.cc: Removed superfluous test. * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: Exclude ghostpad.hg from build until patch in bug #539108 is fixed (and patch is accepted). * tests/Makefile.am: Also exclude pad test. * configure.ac: Use gtkmm-list in AC_INIT([gstreamermm], ...) line. 2008-06-24 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bin.ccg: Had to re-add the extra referencing code when adding Gst::Bin's to a Gst::Bin. I thought that this referencing problem was caused by bug #539805 but that report was rejected so the extra reference is necessary to avoid error when child bin is destroyed before parent bin is. * gstreamer/src/padtemplate.ccg: * gstreamer/src/padtemplate.hg: Used _WRAP_CTOR to wrap constructor with construction properties "name-template", "direction", "presence" and "caps". According to bug #539772 it looks like the GStreamer developers will be making gst_pad_template_new() work with these construction properties. Creating Gst::PadTemplates will still provide missing construction properties warnings, but when GStreamer patch is applied warnings will be gone and Gst::PadTemplate creation will work correctly. * tests/test-pad.cc: Modified test to use Gst::PadTemplate::get_template_name() instead of Gst::PadTemplate::get_name() and print pad directions (to ensure pad was created correctly). * tests/test-create-bus.cc: * tests/test-create-element.cc: * tests/test-ghost-pad.cc: * tests/test-interface.cc: * tests/test-link-elements.cc: * tests/test-pipeline-add-element.cc: Added missing main() return statements and corrected w/s. * gstreamer/src/basesrc.ccg: Removed unused namespace definition. 2008-06-23 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: * gstreamer/gstreamermm-0.10.pc.in: Added gstreamer-base-0.10 as dependency (to be able to wrap the Gstreamer Library elements -- http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/). * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/basesrc.ccg: * gstreamer/src/basesrc.hg: Added Gst::BaseSrc (still need to add rest of class docs). Added segment.hg (bug #518932 is in tarball release). * gstreamer/src/pad.ccg: Used *add_probe_full() methods to add data probes (bug #526814 is in tarball release). * gstreamer/src/gst_signals.defs: * tools/extra_defs_gen/generate_defs_gst.cc: Regenerated signals and properties with GstBasSrc included. * gstreamer/src/bin.hg: Typo. * tests/Makefile.am: Removed superflous lines at end. 2008-06-23 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm/init.cc: Added comment about Gst::wrap_init() in Gst::init_check(); * gstreamer/src/bin.ccg: Removed extra referencing code in Gst::Bin::add() because warning by running tests/gst-test-bin (which is not issued with extra ref. code) is caused by GStreamer putting private code in gst_bin_new() instead of putting it in a class _init() function. Filed bug #539805 about this. * gstreamer/src/padtemplate.ccg: * gstreamer/src/padtemplate.hg: Used custom constructor with _CONSTRUCT for Gst::PadTemplate because gst_pad_template_new() has different construction parameters than those of the call to g_object_new(). It also has extra code that should probably be in a class _init() method. Filed bug #539772 about this. * tests/test-pad.cc: Began writing general pad test. 2008-06-19 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm/init.cc: Modified init_check() to initialize wrapping system in same manner as init() does. * gstreamer/src/ghostpad.hg: * gstreamer/src/pad.hg: Modified constructors that have a PadDirection to use the name "direction" which is the right name of the construction property (see bug #539055, filed in last commit). Once the other constructor's construction properties are well known the construction properties warning should be fixed. * tests/Makefile.am: * tests/test-ghost-pad.cc: * tests/test-init-check.cc: Added tests for Gst::GhostPad and init_check(). Found that there are errors when running ghost pad test related to destruction (unreferencing). If the pad is given an extra reference, the errors disappear so it will probably be necessary to debug referencing in (some) Gst::*Pad* constructors. 2008-06-19 José Alburquerque <jaalburqu@svn.gnome.org> * tests/Makefile.am: * tests/test-pad.cc: Added simple pad test to confirm warning reported in bug #539063 which in fact does produce the warning. Filed gstreamer bug #539055 explaining that some of their GObject instances are not initialized with the construction properties. 2008-06-18 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/caps.hg: Renamed some methods, but if there are more appropriate names for these, they should be renamed. * gstreamer/src/format.ccg: * gstreamer/src/format.hg: Removed register_format() because this seems to extend gstreamer and this might be best in gstreamer API for now. Also removed format_contains_format() because it doesn't seem very useful right now. 2008-06-12 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/tagsetter.hg: Added _IGNORE() directive for functions that don't have to be wrapped or have been handwritten. 2008-06-12 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamerbase/gstreamerbasemm.h: * gstreamerbase/src/colorbalance.ccg: * gstreamerbase/src/colorbalance.hg: * gstreamerbase/src/colorbalancechannel.ccg: * gstreamerbase/src/colorbalancechannel.hg: * gstreamerbase/src/Makefile_list_of_hg.am_fragment: Added ColorBalance and ColorBalanceChannel. * tools/extra_defs_gen/Makefile.am: * tools/extra_defs_gen/generate_defs_gstbase.cc: * gstreamerbase/src/gstbase_signals.defs: Fixed extra defs generation tool compilation for gstreamerbasemm; included GST_TYPE_COLOR_BALANCE, GST_TYPE_COLOR_BALANCE_CHANNEL and GST_TYPE_X_OVERLAY, and regenerated signal defs. * tools/m4/Makefile_list_of_sources.am_fragment: * tools/m4/convert.m4: * tools/m4/convert_gstbase.m4: Added conversion m4 file for gstreamerbasemm. * tools/m4/convert_gst.m4: Moved _CONV_ENUMs to top and removed unused _CONV_GST_ENUM macro. * gstreamerbase/gstreamerbasemm/gst_wrap_init.h: * gstreamerbase/gstreamerbasemm/init.h: * gstreamerbase/gstreamerbasemm/wrap_init.h: Added docs. * gstreamer/src/pipeline.hg: Removed duplicate PINCLUDE's (already in *.ccg file). 2008-06-11 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/taglist.ccg: * gstreamer/src/taglist.hg: * gstreamer/gstreamermm/taglist.cc: * gstreamer/gstreamermm/taglist.h: Used Gst::TAG_MERGE_PREPEND as default TagMergeMode in add/insert/merge methods. * gstreamer/src/structure.ccg: Used Glib::Date GDate constructor in get_field(..., Glib::Date&) method. * gstreamer/src/tagsetter.ccg: * gstreamer/src/tagsetter.hg: * tools/m4/convert_gst.m4: Added add_tag(), get_tag_list(), set_tag_merge_mode(), and get_tag_merge_mode() methods (Wrapped GstTagSetter). * tests/Makefile.am: * tests/test-tagsetter.cc: Added a Gst::TagSetter test. * gstreamer/src/element.hg: Whitespace. 2008-06-04 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/taglist.ccg: * gstreamer/src/taglist.hg: Wrapped various GST_TAG_* names; Expounded the class docs; Added add/get methods to insert and get tag values into TagLists; Wrapped remove_tag() and get_tag_size(). * tools/m4/Makefile_list_of_sources.am_fragment: * tools/m4/class_boxedtype_extra.m4: * tools/m4/convert.m4: * tools/m4/convert_gst.m4: Had to add CLASS_BOXEDTYPE_EXTRA because Gst::TagList::wrap(GstTagList*,bool) ambiguates Gst::Structure::wrap() since a GstTagList is a GstStructure. * gstreamer/gstreamermm/taglist.cc: * gstreamer/gstreamermm/taglist.h: Regenerated these files by temporarily adding taglist.hg to gstreamer/src/Makefile_list_of_hg.am_fragment, removing the extern "C" section in taglist.h and proceeding with build process; taglist.hg cannot be left in Makefile_list_of_hg.am_fragment because a compile error results when gmmproc generates taglist.h from taglist.hg (see report #518934). * tests/Makefile.am: * tests/test-taglist.cc: Added test to verify Gst::TagList functionality. * gstreamer/src/structure.ccg: * gstreamer/src/structure.hg: Made remove_field() void (not return this structure). * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: Typos 2008-06-02 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/structure.ccg: * gstreamer/src/structure.hg: Added {get,set}_field() methods for Gst::{Int,Double}Range types. Modified set_field() methods to use gst_structure_set() to set the given values. * tests/test-caps-structures.cc: Modified test to use regular types instead of Glib::Value<>. 2008-05-30 José Alburquerque <jaalburqu@svn.gnome.org> * examples/media_player_gtkmm/player_window.cc: Used regular types instead of Glib::Value<> when setting/getting structure fields. * examples/ogg_player_gtkmm/player_window.cc: Used newly wrapped Gst::SECOND (instead of GST_SECOND). 2008-05-29 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: Added set_simple() method which in conjunction with newly added Gst::StructureValue<> allows setting of fields w/o the need to use Glib::ValueBase (as Gtk::TreeRow does). * gstreamer/gstreamermm/Makefile.am: * gstreamer/gstreamermm/structurevalue.cc: * gstreamer/gstreamermm/structurevalue.h: Added to allow setting of simple Gst::Caps fields w/o need to use Glib::Value<>. * tests/test-caps.cc: Modified to test Gst::Caps::set_simple() with regular C++ types. * gstreamer/src/elementfactory.hg: Did not rename find() to create() because in theory ElementFactories "pre-exist" so find() seems to make more sense. gst_element_factory_create() creates elements from a specified factory. 2008-05-28 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/gst_docs.xml: * gstreamerbase/src/gstbase_docs.xml: Filed GStreamer minor doc bug #535285 to fix Gst::ElementFactory::get_uri_type() GST_URI_UNKNOWN reference which was quickly fixed so regenerated docs. * gstreamer/src/tagsetter.hg: Added default value for merge_tags() mode parameter. 2008-05-27 José Alburquerque <jaalburqu@svn.gnome.org> * examples/media_player_gtkmm/player_window.cc: * examples/media_player_gtkmm/player_window.h: Use Gst::Bus::signal_sync_message() to receive synchronous messages instead of setting a sync handler on the Bus. * gstreamer/src/elementfactory.hg: Added C++ code example on using Gst::ElementFactory; Corrected class docs. * gstreamer/src/error.hg: Removed unnecessary TODO. * gstreamer/src/event.ccg: * gstreamer/src/event.hg: Modified Gst::EventTag::parse() to return a Gst::TagList instead of setting a passed reference. * gstreamerbase/src/xoverlay.hg: Added C++ code example on using GstBase::XOverlay. 2008-05-25 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bin.hg: Added get_children() and get_num_children(). * gstreamer/src/clock.hg: Wrapped {MILLI,MICRO,NANO}_SECOND. * gstreamer/src/structure.hg: * gstreamer/src/query.hg: Added method docs and _IGNORE for handwritten methods. 2008-05-22 José Alburquerque <jaalburqu@svn.gnome.org> * examples/ogg_player_gtkmm/player_window.cc: * gstreamer/src/clock.hg: Wrapped GST_SECOND * gstreamer/src/childproxy.hg: * gstreamer/src/registry.hg: * gstreamer/src/xml.hg: Put _WRAP_SIGNAL specific conversions in *.hg files * gstreamer/src/element.hg: * gstreamer/src/elementfactory.hg: * gstreamer/src/event.ccg: * gstreamer/src/filter.ccg: * gstreamer/src/format.hg: * gstreamer/src/pad.hg: * gstreamer/src/plugin.hg: * gstreamer/src/pluginfeature.hg: * gstreamer/src/query.hg: * gstreamer/src/urihandler.hg: * tools/m4/convert_gst.m4: Moved method specific conversions to *.hg files 2008-05-21 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/error.ccg: * gstreamer/src/error.hg: Added set_field() methods documentation; Added set_field(..., const char*); Made enum {get,set}_field() methods use int instead of ValueBase; Revisted method docs. * gstreamer/src/structure.ccg: * gstreamer/src/structure.hg: Wrapped get_*_error_quark() methods. * tests/test-structure.cc: Added lines to test setting/getting enums. * examples/media_player_gtkmm/player_window.h: * gstreamer/gstreamermm/init.h: * gstreamer/gstreamermm/version.h: * gstreamer/src/bin.hg: * gstreamer/src/buffer.hg: * gstreamer/src/bus.hg: * gstreamer/src/caps.hg: * gstreamer/src/childproxy.hg: * gstreamer/src/clock.hg: * gstreamer/src/element.hg: * gstreamer/src/event.hg: * gstreamer/src/filter.hg: * gstreamer/src/format.hg: * gstreamer/src/ghostpad.hg: * gstreamer/src/pad.hg: * gstreamer/src/padtemplate.hg: * gstreamer/src/parse.hg: * gstreamer/src/pipeline.hg: * gstreamer/src/registry.hg: * gstreamer/src/taglist.hg: * gstreamer/src/task.hg: * gstreamer/src/xml.hg: * tools/m4/class_gstminiobject.m4: Corrected method docs @param, @returns and @result directives to start with uppercase and end with period. 2008-05-21 Murray Cumming <murrayc@murrayc.com> * gstreamer/src/structure.ccg: * gstreamer/src/structure.hg: Added several set_field() method overloads, so people don't have to use Glib::Value for common types. Renamed get_*() to get_field(), and made them take actual types instead of Glib::ValueBase. Some TODOs show parts of this still left to do. Do not return *this from set_field(). It did reduce the code, but it is not a natural syntax for simply setting data. * gstreamer/src/value.ccg: * gstreamer/src/value.hg: Fourcc, Fraction, IntRange, DoubleRange, FractionRange: Made single-parameter constructors explicit (apart from copy constructors) and added operator= (because we should always have one where we have a copy constructor). * tests/test-caps.cc: * tests/test-structure.cc: Adapted to the changed API. 2008-05-21 José Alburquerque <jaalburqu@svn.gnome.org> * examples/media_player_gtkmm/player_window.h: Added comment on video_sink constructor parameter * gstreamer/gstreamermm/init.h: * gstreamer/gstreamermm/version.h: * gstreamer/gstreamermm/wrap.cc: * gstreamer/src/bin.hg: * gstreamer/src/element.hg: * gstreamer/src/filter.hg: * gstreamer/src/message.ccg: * gstreamer/src/pad.ccg: * gstreamer/src/pad.hg: * gstreamer/src/registry.hg: * gstreamer/src/structure.hg: Changed TRUE/FALSE to true/false; Capitalized first letter of @param descriptions 2008-05-19 José Alburquerque <jaalburqu@svn.gnome.org> * examples/ogg_player/main.cc: Added comment on weird Glib::RefPtr<Gst::QueryPosition> cast * examples/ogg_player_gtkmm/main.cc: Caught std::runtime_error when adding elements to pipeline * gstreamer/src/pad.ccg: * gstreamer/src/pad.hg: Made get_pad_template_caps() const * gstreamer/src/xml.hg: Added parse_memory() docs * gstreamer/gstreamermm/miniobject.cc: * gstreamer/src/format.ccg: Fixed typos * gstreamer/src/event.hg: * gstreamer/src/message.hg: * gstreamer/src/query.hg: Added TODO's 2008-05-19 Murray Cumming <murrayc@murrayc.com> * gstreamer/src/bin.hg: * gstreamer/src/buffer.hg: * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: * gstreamer/src/childproxy.ccg: * gstreamer/src/childproxy.hg: * gstreamer/src/element.ccg: * gstreamer/src/element.hg: * tools/m4/convert_gst.m4: Some minor API cleanups. 2008-05-18 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/caps.hg: Removed references to Gst::Structure ownership * gstreamer/src/element.hg: * gstreamer/src/gst_enums.defs: Added TODO about making it possible for StateChange to be wrapped * gstreamer/src/elementfactory.hg: * gstreamer/src/gst_docs_override.xml: Wrapped create_named_element(); Overrode gst_element_factory_make docs so that mention of NULL name parameter is not included 2008-05-18 Murray Cumming <murrayc@murrayc.com> * gstreamer/src/taglist.ccg: * gstreamer/src/taglist.hg: As with Structure, use _CLASS_BOXEDTYPE() instead of the custom _CLASS_BOXEDTYPE_NCOPY_EXTRA() macro, so we can just use this by copying it instead of having strange ownership rules. Uncommented and corrected the foreach() implementation. * gstreamer/src/tagsetter.hg: Wrapped merge_tags(). * gstreamer/src/element.hg: * gstreamer/src/event.ccg: * gstreamer/src/event.hg: * gstreamer/src/message.ccg: * gstreamer/src/message.hg: Adapt to this change. * tools/m4/: Removed the unused .m4 files. 2008-05-17 Murray Cumming <murrayc@murrayc.com> * gstreamer/src/structure.ccg: * gstreamer/src/structure.hg: Use _CLASS_BOXEDTYPE() instead of the custom _CLASS_BOXEDTYPE_NCOPY() macro, so we can just use this by copying it instead of having strange ownership rules. Add operator bool() to check for invalid instances. * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: create(), append_structure(), merge_structure(): Take a const Structure& instead of taking ownership. get_structure(): Return by value. Remove set_simple_valist() because it does not seem useful. * gstreamer/src/event.ccg: * gstreamer/src/event.hg: get_structure(): * gstreamer/src/message.ccg: * gstreamer/src/message.hg: get_structure(): * gstreamer/src/query.ccg: * gstreamer/src/query.hg: get_structure(): Return by copy. * examples/element_link/element_link.cc: * examples/media_player_gtkmm/player_window.cc: * examples/ogg_player/main.cc: * examples/ogg_player_gtkmm/main.cc: * examples/ogg_player_gtkmm/player_window.cc: * tests/test-caps-structures.cc (main): * tests/test-event-wrap.cc (main): * tests/test-message-wrap.cc (main): * tests/test-query-wrap.cc (main): Adapted to the changed API. 2008-05-17 Murray Cumming <murrayc@murrayc.com> * gstreamer/src/bin.ccg: * gstreamer/src/bin.hg: Make add() throw an exception, needed for chaining. The examples already try/catch this, assuming that it did already throw. * gstreamer/src/element.ccg: * gstreamer/src/element.hg: Document that link() throws an exception. Include <stdexcept> so applications can catch runtime_error. * examples/element_link/element_link.cc? * examples/media_player_gtkmm/player_window.c: * examples/ogg_player/main.cc: * examples/ogg_player_gtkmm/player_window.cc: try/catch when using link(), because it throws an exception. 2008-05-17 Murray Cumming <murrayc@murrayc.com> * gstreamer/src/message.ccg: * gstreamer/src/message.hg: Implement MessageInfo::parse() and add a method overload without the debug parameter. 2008-05-17 Murray Cumming <murrayc@murrayc.com> * examples/media_player_gtkmm/main.cc: * examples/media_player_gtkmm/player_window.cc: * examples/media_player_gtkmm/player_window.h: * examples/ogg_player/main.cc: * examples/ogg_player_gtkmm/player_window.cc: * examples/ogg_player_gtkmm/player_window.h: More cleaning up of examples. 2008-05-17 Murray Cumming <murrayc@murrayc.com> * examples/: Renamed files to be consistent with other *mm examples. 2008-05-16 Murray Cumming <murrayc@murrayc.com> * configure.ac: * examples/Makefile.am: * examples/init/Makefile.am: * examples/init/init.cc: Remove this example, because it does not seem useful. All the other examples show how to initialize gstreamermm already. * examples/element_link/element_link.cc: * examples/media_player_gtkmm/PlayerWindow.cc: * examples/media_player_gtkmm/PlayerWindow.h: * examples/media_player_gtkmm/main.cc: * examples/ogg_player/main.cc: * examples/ogg_player_gtkmm/PlayerWindow.cc: * examples/ogg_player_gtkmm/PlayerWindow.h: * examples/ogg_player_gtkmm/main.cc: Change the syntax/formatting to be consistent with other *mm examples. 2008-05-16 Murray Cumming <murrayc@murrayc.com> * gstreamer/src/elementfactory.ccg: * gstreamer/src/elementfactory.hg: Rename create() to create_element() and add an override that takes no name, because that can be NULL in the C API. * examples/element_link/element_link.cc: * examples/media_player_gtkmm/PlayerWindow.cc: * examples/media_player_gtkmm/PlayerWindow.h: * examples/media_player_gtkmm/main.cc: * examples/ogg_player/main.cc: * examples/ogg_player_gtkmm/PlayerWindow.cc: * examples/ogg_player_gtkmm/PlayerWindow.h: * examples/ogg_player_gtkmm/main.cc: * tests/test-caps.cc: * tests/test-create-bin.cc: * tests/test-create-element.cc: * tests/test-interface.cc: * tests/test-link-elements.cc: * tests/test-pipeline-add-element.cc: Adapt to the API change, and remove unused create_elemnt() name parameters. Also change (void) to () in method declarations, for consistency with other *mm examples. 2008-05-14 Murray Cumming <murrayc@murrayc.com> * examples/ogg_player/main.cc (main): * gstreamer/src/bin.hg: * gstreamer/src/buffer.hg: * gstreamer/src/bus.hg: * gstreamer/src/caps.hg: * gstreamer/src/childproxy.hg: * gstreamer/src/clock.ccg: * gstreamer/src/clock.hg: * gstreamer/src/element.hg: * gstreamer/src/elementfactory.hg: * gstreamer/src/event.hg: * gstreamer/src/format.hg: * gstreamer/src/ghostpad.hg: * gstreamer/src/pad.hg: * gstreamer/src/structure.hg: * tools/m4/convert_gst.m4: Minor const corrections and some TODOs. 0.9.5: 2008-05-07 Murray Cumming <murrayc@murrayc.com> * gstreamer/gstreamermm/private/Makefile.am: Added taglist_p.h to fix the distcheck. * tests/Makefile.am: Added include paths for gstreamerbasemm to fix the distcheck. 2008-05-07 Murray Cumming <murrayc@murrayc.com> * gstreamer/src/pad.ccg: add_data_probe(), add_buffer_probe(), add_event_probe(): Comment out the use of the new *_full() functions, choosing to use the existing functions, with the leak, so gstreamermm builds with gstreamer tarballs. We can bring this code back later. * gstreamer/src/Makefile_list_of_hg.am_fragment: Likewise, remove segment.hg from the build, until bug #518932 is in a tarball. 2008-04-30 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/Makefile_list_of_hg.am_fragment: Added segment.hg which means that when gstreamermm will compile with GStreamer CVS only until bug fix #518932 is reflected in GStreamer release * gstreamer/src/element.ccg: * gstreamer/src/element.hg: Added Element::found_tags() and Element::found_tags_for_pad() * tools/m4/convert_gst.m4: Added TagList conversion needed for two method wrapping above * gstreamer/src/pad.ccg: Used gst_pad_add_*_probe_full() methods for adding probes which means that gstreamermm will compile only with GStreamer CVS until bug fix #526814 is reflected in release 2008-04-30 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm/Makefile.am: Added taglist.{h,c} to extra files that should be compiled because both are generated by adding taglist.hg to list of files in Makefile_list_of_hg.am_fragment, editing the *.h file and then removing the *.hg from list of files in Makefile_list_of_hg.am_fragment (see comments on this in ChangeLog) * gstreamer/gstreamermm/private/taglist_p.h: Added this file for same reasons as above (otherwise build process would generate this file automatically) * gstreamer/src/buffer.hg: Removed completed TODO's * gstreamer/src/element.hg: Changed GQuark to const Glib::QueryQuark& * gstreamer/src/event.ccg: * gstreamer/src/event.hg: Added EventTag::create() and EventTag::parse(); Used forward declarations of Gst::Structure and Gst::TagList instead of including *.h files in header file * gstreamer/src/message.ccg: * gstreamer/src/message.hg: Added MessageTag class with create() and parse() methods; Used forward declarations instead of including *.h files in header file 2008-04-29 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/element.hg: Added TODO about not wrapping the get_query_types() vfunc yet because the generated code assumes that Glib::ArrayHandle<> has a default constructor 2008-04-29 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/parse.hg: Wrapped GstParseError as a GError and not an enum; Added @throw to methods that throw Glib::Errors 2008-04-29 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm/gst_wrap_init.h: * gstreamer/gstreamermm/wrap_init.h: * gstreamer/gstreamermm/version.h: Added gst_wrap_init(), wrap_init(), and version() method docs * gstreamer/gstreamermm/init.cc: * gstreamer/gstreamermm/init.h: * examples/optiongroup/optiongroup.cc: Renamed init_get_option_group() to get_option_group(); Added init(), init_check() and get_option_group() method docs; Modified init_check() to throw Glib::Error if GLIBMM_EXCEPTIONS_ENABLED * gstreamer/src/event.hg: Added get_name() and get_quark() function docs * gstreamer/src/plugin.hg: * gstreamer/src/gst_docs_override.xml: Wrapped PluginError as a GError (and not an Enum); Modified load_file() method docs (and added @throw directive to docs) * gstreamer/src/pluginfeature.hg: Removed unused blank line 2008-04-28 José Alburquerque <jaalburqu@svn.gnome.org> * tools/m4/convert_gst.m4: Added additional Glib::ArrayHandle<Gst::QueryType> conversion needed for Gst::Element "get_query_types" vfunc (when it is wrapped) 2008-04-27 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/error.hg: Added intro line to class docs of GError classes * gstreamer/src/event.hg: Corrected typo * gstreamer/src/pad.hg: * gstreamer/src/query.hg: * gstreamer/src/element.hg: Used ArrayHandle<> for methods that return an array of QueryType (ie QueryType*) * gstreamer/src/gst_vfuncs.defs: Corrected return type of GstElement vfunc from `GstQueryType*' to `const GstQueryType*' * tools/m4/convert_gst.m4: Added GstQueryType array (to/from Glib::ArrayHandle<>) conversions 2008-04-27 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/Makefile_list_of_hg.am_fragment: Removed segment.hg and: * gstreamer/src/pad.ccg: Used the gst_pad_add_*_probe() methods instead of the "full" methods to allow compilation using distribution GStreamer (and not CVS). Will re-add segment.hg and use probe "full" methods when GStreamer releases version that include bug fixes #526814 and #518932 2008-04-25 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/event.hg: -Added reference to create() methods in Event classes docs which more fully explain each event type (docs for each create() method comes from C API) - Reordered parameter order in EventNewSegment::parse() method docs to reflect actual method parameter order 2008-04-24 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bin.hg: Made list of Gst::MessageTypes and Gst::QueryTypes in class docs appear as an actual list (in html) * gstreamer/src/clock.hg: Added docs for functions not member of classes * gstreamer/src/error.hg: Added class docs for GErrors * gstreamer/src/event.ccg: * gstreamer/src/event.hg: Added docs for Event classes and handwritten class methods; Removed EventCustom because extending GstEvents would probably be best done in C API for now * gstreamer/src/format.ccg: * gstreamer/src/format.hg: Added docs for FormatDefinition structure; Added function docs for Gst::Format functions 2008-04-22 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/element.hg: Added method docs for Gst::Element handwritten methods; Added class docs and example usage for Gst::ElementInterfaced class 2008-04-17 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/filter.hg: Qualified class name in first line of class 2008-04-17 José Alburquerque <jaalburqu@svn.gnome.org> Fully qualified Gst classes in doc blocks of following (and all *.hg files in this commit): * gstreamer/src/registry.hg: * gstreamer/src/segment.hg: * gstreamer/src/systemclock.hg: * gstreamer/src/tagsetter.hg: * gstreamer/src/task.hg: * gstreamer/src/urihandler.hg: * gstreamer/src/value.hg: * gstreamer/src/structure.hg: Added docs for handwritten method foreach() * tools/m4/class_boxedtype_ncopy.m4: Modified to generate docs for set_destroy() generated wrapper method * gstreamer/src/taglist.hg: Added docs for handwritten method foreach() * gstreamer/gstreamermm/taglist.h: Regenerated through build process by adding (and then removing) taglist.hg to Makefile_list_of_hg.am_fragment and removing top extern "C" {...} section * tools/m4/class_boxedtype_ncopy_extra.m4: Modified to generate docs for set_destroy() generated wrapper method 2008-04-17 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/gst_enums.defs: Added PadTemplateFlags to list of handwritten enums 2008-04-17 José Alburquerque <jaalburqu@svn.gnome.org> Fully qualified Gst classes in doc blocks of following (and all *.hg in this commit): * gstreamer/src/bin.hg: * gstreamer/src/buffer.hg: * gstreamer/src/bus.hg: * gstreamer/src/caps.hg: * gstreamer/src/element.hg: * gstreamer/src/elementfactory.hg: * gstreamer/src/index.hg: * gstreamer/src/indexfactory.hg: * gstreamer/src/interface.hg: * gstreamer/src/pad.hg: * gstreamer/src/parse.hg: * gstreamer/src/pipeline.hg: * gstreamer/src/plugin.hg: * gstreamer/src/pluginfeature.hg: * gstreamer/src/ghostpad.hg: Fixed parameter name typo * gstreamer/src/childproxy.ccg: * gstreamer/src/childproxy.hg: Modified {set,get}_proxy_property() methods to return RefPtr to ChildProxy; Added signal docs * gstreamer/src/clock.hg: * tools/m4/convert_gst.m4: Wrapped {get,set}_calibration() methods * gstreamer/src/event.hg: * gstreamer/src/message.hg: Added class docs * gstreamer/src/padtemplate.ccg: * gstreamer/src/padtemplate.hg: * gstreamer/src/gst_enums.defs: Added class docs; Wrapped PadTemplateFlags enum; Used _WRAP_CREATE() for create() method; Wrapped members name_template, direction, and presence; Added signal and create() docs * gstreamer/src/filter.hg: Fixed whitespace 2008-04-16 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/element.hg: * gstreamer/src/gst_vfuncs.defs: Added vfuncs, docs for signals and docs for Gst::get_name() methods (in element.hg) * tools/m4/convert_gst.m4: Added conversions needed for Gst::Element vfuncs * gstreamer/src/buffer.ccg: * gstreamer/src/buffer.hg: Wrapped create() (with no parameters); Used _WRAP_METHOD for create(guint size) (modified parameter type from reference to value); Added docs to _MEMBER_GET generated methods * gstreamer/src/bin.ccg: Added comments to add() and remove() methods * gstreamer/src/bin.hg: Added missing method docs * gstreamer/src/caps.hg: Corrected class docs (typo) * gstreamer/src/bus.hg: * gstreamer/src/childproxy.hg: * gstreamer/src/clock.hg: Added signal, vfunc and create() method docs 2008-04-16 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/element.hg: * gstreamer/src/elementfactory.hg: Used article 'an' instead of 'a' where appropriate in class docs * gstreamer/src/pad.hg: * gstreamer/src/systemclock.hg: Added class docs * gstreamer/src/pipeline.hg: Wrapped properties (no signals or vfuncs) 2008-04-15 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/index.hg: Wrapped signals and properties; Made IndexEtnry::assoc_map() constant (ie bool assoc_map(...) const) * tools/m4/convert_gst.m4: Added/Re-organized IndexEntry conversions 2008-04-14 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/clock.ccg: * gstreamer/src/clock.hg: Used GstClockEntry as C type of class macro of class ClockID (a GstClockID, in fact, is a void pointer which in GStreamer API is generally cast to a (GstClockEntry*) (see implementation of gst_clock_id_* functions -- for example gst_clock_id_ref); Wrapped create_single_shot_id() create_periodic_id() * tools/m4/convert_gst.m4: Fixed ClockID conversions to reflect Gst::ClockID C type from GstClockID to GstCockEntry 2008-04-14 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm.h: Added taglist.h to includes * gstreamer/src/segment.hg: Added _IGNORE for gst_element_free * gstreamer/src/bin.hg: * gstreamer/src/childproxy.hg: * gstreamer/src/clock.hg: * gstreamer/src/gst_vfuncs.defs: Added properties and virtual functions for Bin, ChildProxy and Clock * tools/m4/convert_gst.m4: Added conversions for above properties and virtual functions 2008-04-13 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/pad.ccg: Reused gst_pad_add_*_probe_full() functions included with fix of bug #526814 since Gst::Segment is also included and relies on recent fix of bug #518932 (users will have to use GStreamer CVS for latest to compile) 2008-04-13 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/pad.ccg: Went back to using regular gst_pad_add_*_probe() functions when adding probes (and not their "full" counterparts) until new version of GStreamer is released (which will include the "full" counterparts) 2008-04-13 José Alburquerque <jaalburqu@svn.gnome.org> * tools/m4/class_boxedtype_ncopy_extra.m4: * tools/m4/convert.m4: Added new class macro _CLASS_BOXEDTYPE_NCOPY_EXTRA which is like the class macro used for Gst::Structure but adds extra dummy param to wrap method to disambiguate definitions of "Gst::Structure Glib::wrap(GstStructure*)" and "Gst::TagList Glib::wrap(GstStructure*)" (because GstTagList is declared as "typedef GstStructure GstTagList" in GStreamer API which in essence makes it a GstStructure) * gstreamer/src/taglist.hg: Added class docs and modified to use class macro _CLASS_BOXEDTYPE_NCOPY_EXTRA * gstreamer/gstreamermm/taglist.cc: * gstreamer/gstreamermm/taglist.h: Furthermore, had to add actual gmmproc generated source files in order to manually remove the standard 'extern "C" { typedef struct _GstTagList GstTagList; }' at top of *.h file, again, because GStreamer API does not define GstTagList in a standard way. In bug report #518934 developers seem not to want to fix this. Will post last comment in report informing that they are not following GObject definition standards to see if perhaps they will reconsider for future. taglist.hg has to be added to gstreamer/src/Makefile_list_of_hg.am_fragment when changed to regenerate these files and then removed and the 'extern "C" { ...}' has to be removed from the *.h file to keep build process working. 2008-04-11 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/taglist.hg: Wrapped some of GstTagList by using GstStructure as C type of class macro (instead of GstTagList) after getting idea by commenting on related bug report #518934. Got stuck using "Gst::TagList Glib::wrap(GstStructure*)" which ambiguates "Gst::Structure Glib::wrap(GstStructure*)". The ambiguity holds even if GstTagList is used for class macro C type because GstTagList is declared as "typedef GstStructure GstTagList" in gsttaglist.h instead of "typdef struct _GstTagList GstTagList" as it should be. I explained the problem in bug report (I had even submitted a patch), but it seems developers are unwilling to fix it. I don't see how GstTagList will be wrapped otherwise so I'll be leaving taglist.hg as is for now. * tools/m4/convert_gst.m4: Added conversions for GstTagList 2008-04-10 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/pad.ccg: Modified the add_{data,event,buffer}_probe() methods to delete copy of slot when probe is removed (disconnected) * examples/ogg_player/main.cc: Corrected whitespace 2008-04-09 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/Makefile_list_of_hg.am_fragment: Added segment.hg (bug #518932 resolved) * gstreamer/src/segment.hg: Fixed includes for compilation 2008-04-08 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bin.ccg: * gstreamer/src/bin.hg: * gstreamer/src/buffer.ccg: * gstreamer/src/buffer.hg: * gstreamer/src/bus.ccg: * gstreamer/src/bus.hg: * gstreamer/src/clock.ccg: * gstreamer/src/clock.hg: * gstreamer/src/element.ccg: * gstreamer/src/element.hg: * gstreamer/src/elementfactory.ccg: * gstreamer/src/elementfactory.hg: * gstreamer/src/event.ccg: * gstreamer/src/event.hg: * gstreamer/src/index.ccg: * gstreamer/src/index.hg: * gstreamer/src/indexfactory.ccg: * gstreamer/src/indexfactory.hg: * gstreamer/src/message.ccg: * gstreamer/src/message.hg: * gstreamer/src/pad.ccg: * gstreamer/src/pad.hg: * gstreamer/src/padtemplate.ccg: * gstreamer/src/padtemplate.hg: * gstreamer/src/pipeline.ccg: * gstreamer/src/plugin.ccg: * gstreamer/src/plugin.hg: * gstreamer/src/pluginfeature.ccg: * gstreamer/src/pluginfeature.hg: * gstreamer/src/query.ccg: * gstreamer/src/query.hg: * gstreamer/src/registry.ccg: * gstreamer/src/registry.hg: * gstreamer/src/systemclock.ccg: * gstreamer/src/systemclock.hg: * gstreamer/src/task.ccg: * gstreamer/src/task.hg: * gstreamer/src/xml.ccg: * gstreamer/src/xml.hg: Moved some _PINCLUDES from *.hg files to *.ccg files * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/ghostpad.ccg: * gstreamer/src/ghostpad.hg: Added GhostPad 2008-04-08 José Alburquerque <jaalburqu@svn.gnome.org> * examples/media_player_gtkmm/PlayerWindow.cc: * examples/media_player_gtkmm/PlayerWindow.h: * examples/media_player_gtkmm/main.cc: Modified media player example to use its own video sink with the playbin pipeline; Modified widget packing so that videoArea takes most space and rest less; Added code to react to initial data (buffer) received in the video sink pad to deal with size of videoArea. 2008-04-07 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/pad.ccg: * gstreamer/src/pad.hg: Added add_{data,buffer,event}_probe() methods which accepts a slot (SlotData) to be called whenever data, an event, or a buffer passes through the pad. Filed bug #526814 requesting enhancement to allow a disconnect callback to be called when "probes" are disconnected so that slot copies can be easily deleted on disconnections. Found that the "have-data" signal does not work on its own (connecting to it never calls slot) because C API doesn't transmit signal unless one of the add_*_probe() methods is used (see gst_pad_add_data_probe() implementation in gstutils.c) so unwrapped the signal to disallow possible confusion and let developers use add_*_probe() methods which will work. * examples/ogg_player/main.cc: Modified example to exemplify use Gst::Pad::add_data_probe() method 2008-04-04 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bus.ccg: * gstreamer/src/bus.hg: Used _WRAP_CREATE to generate create() method; Merged clear_sync_handler() into set_sync_handler() because clear_sync_hander() would only be used before a call to set_sync_handler() * gstreamer/src/pad.ccg: * gstreamer/src/pad.hg: Used _WRAP_CREATE to generate create() methods; Moved SlotBlock to top; Added get_pad_template(); Moved set_blocked_async() below set_blocked() and added method docs * tools/m4/convert_gst.m4: Added PadTemplate conversions * tests/Makefile.am: * tests/test-create-bus.cc: Added test to create bus 2008-04-04 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bus.hg: * gstreamer/src/clock.hg: * gstreamer/src/filter.hg: * gstreamer/src/index.hg: * gstreamer/src/plugin.hg: * gstreamer/src/pluginfeature.hg: * gstreamer/src/structure.hg: Added comments in slot docs to clear up what bool returns mean 2008-04-03 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermmconfig.h.in: * gstreamerbase/gstreamerbasemmconfig.h.in: Corrected config files to include the glibmmconfig.h file so that things like GLIBMM_PROPERTIES_ENABLED are defined (and properties can be wrapped) * docs/reference/Doxyfile.in: Added list of predefined macros as in other *mm projects 2008-04-03 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/childproxy.ccg: * gstreamer/src/childproxy.hg: Modified method names to not conflict with Gst::Object inherited methods (in particular set_property) * gstreamer/src/element.hg: Overloaded ElementInterfaced<..> methods gobj() (both const and non-const versions) and gobj_copy() to avoid ambiguity (in particular using ElementInterfaced<...>::gobj() would be ambiguous otherwise) * tests/test-interface.cc: Added lines to test ElementInterfaced<...> gobject methods' ambiguity 2008-04-02 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/interface.hg: Modified cast() to return NULL RefPtr if element is NULL * examples/media_player_gtkmm/Makefile.am: * examples/media_player_gtkmm/PlayerWindow.cc: * examples/media_player_gtkmm/PlayerWindow.h: * examples/media_player_gtkmm/main.cc: Added new media player example which uses GStreamer playbin plugin (from gst-plugins-base) to play any supported media (including video). At present it's crude (window doesn't resize, etc.), but it does successfully insert video in window! * configure.ac: Added examples/media_player_gtkmm/Makefile to AC_CONFIG_FILES to generate * examples/Makefile.am: Added media_player-gtkmm directory to build directories * examples/Makefile.am_fragment: Modified to allow build to use gstreamerbase branch (from gtkmm -- Thanks) 2008-04-01 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/event.hg: * gstreamer/src/message.ccg: * gstreamer/src/message.hg: * gstreamer/src/query.ccg: * gstreamer/src/query.hg: Modified get_structure() methods to get GstStructure* for each call (It seems more reliable if structure is changed for any reason); Removed unused members structure_ 2008-04-01 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bus.ccg: * gstreamer/src/bus.hg: Renamed SlotWatch to SlotMessage; Added SlotMessageSync; Added set_sync_handler() and clear_sync_handler(); Added docs for hand-written methods; * gstreamer/src/pipeline.hg: Added class docs * gstreamerbase/src/xoverlay.hg: Added TODO to insert code example in class docs 2008-04-01 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/interface.hg: Rewrote cast() to return null RefPtr<...> if cast is not possible * gstreamer/src/element.hg: Rewrote ElementInterfaced constructor to accept possible NULL GstElement* * tests/Makefile.am: * tests/test-create-element.cc: * tests/test-interface.cc: Added test-interface.cc (for testing casting) and removed casting test from test-create-element.cc * gstreamerbase/gstreamerbasemm.h: Added xoverlay.h to includes; Removed unused version.h include 2008-04-01 José Alburquerque <jaalburqu@svn.gnome.org> * README: * docs/reference/Doxyfile.in: * docs/reference/reference-index.txt: * examples/README: * examples/init/init.cc: * examples/ogg_player_gtkmm/PlayerWindow.cc: * gstreamer/README: Renamed GStreamermm to gstreamermm in these files 2008-03-31 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamerbase/gstreamerbasemm-0.10.pc.in: Modified requirements to exclude gstreamermm-0.10 (logically, developer should include that requirement himself if needed) 2008-03-31 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/caps.hg: Added some hand-wrapped functions to list of _IGNOREs * gstreamer/src/gst_signals.defs: * gstreamer/src/xml.hg: Wrapped signal "object-loaded" (which signals when an object is loaded from xml) 2008-03-30 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/interface.hg: Added list of functions from gstelement that appear when processed by glibmm to an _IGNORE() construct 2008-03-30 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: Added new gst-interfaces-0.10 dependency to gstreamerbase branch * build_shared/Makefile_build.am_fragment: Added gstreamer branch includes to "all_includes" (so that gstreamerbase branch can include from it) * gstreamerbase/gstreamerbasemm-0.10.pc.in: Modified requirements to include gstreamermm-0.10 and gst-interfaces-0.10 * gstreamerbase/src/Makefile_list_of_hg.am_fragment: * gstreamerbase/src/xoverlay.ccg: * gstreamerbase/src/xoverlay.hg: Added gst-plugins-base interface gstxoverlay 2008-03-28 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm/init.cc: Modified init() to call GstBase::wrap_init() (which initializes list of wrapper functions for gstreamerbasemm) * Makefile.am: Changed order of subdirectories so that gstreamerbase is built before gstreamer directory (since gstreamermm depends on gstreamerbasemm -- Gst::init() calls GstBase::wrap_init()) * build_shared/Makefile_build.am_fragment: Added gstreamerbase includes to "all_includes" so that Gst::init() knows about GstBase::wrap_init() * gstreamer/gstreamermm/Makefile.am: Added libgstreamerbasemm-0.10.la to list of libs to be linked to gstreamermm so that GstBase::wrap_init() is linked in and Gst::init() does not get an undefined reference error 2008-03-27 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/enums.ccg: Changed general include to more specific one 2008-03-27 José Alburquerque <jaalburqu@svn.gnome.org> Dispersed enums from: * gstreamer/src/enums.hg: * gstreamer/src/enums.ccg: to: * gstreamer/src/bin.hg: * gstreamer/src/buffer.ccg: * gstreamer/src/buffer.hg: * gstreamer/src/bus.ccg: * gstreamer/src/bus.hg: * gstreamer/src/clock.ccg: * gstreamer/src/clock.hg: * gstreamer/src/element.ccg: * gstreamer/src/element.hg: * gstreamer/src/event.ccg: * gstreamer/src/event.hg: * gstreamer/src/format.ccg: * gstreamer/src/format.hg: * gstreamer/src/index.ccg: * gstreamer/src/index.hg: * gstreamer/src/iterator.ccg: * gstreamer/src/iterator.hg: * gstreamer/src/message.ccg: * gstreamer/src/message.hg: * gstreamer/src/pad.ccg: * gstreamer/src/pad.hg: * gstreamer/src/padtemplate.ccg: * gstreamer/src/padtemplate.hg: * gstreamer/src/parse.ccg: * gstreamer/src/parse.hg: * gstreamer/src/plugin.ccg: * gstreamer/src/plugin.hg: * gstreamer/src/pluginfeature.ccg: * gstreamer/src/pluginfeature.hg: * gstreamer/src/query.ccg: * gstreamer/src/query.hg: * gstreamer/src/taglist.ccg: * gstreamer/src/taglist.hg: * gstreamer/src/task.ccg: * gstreamer/src/task.hg: * gstreamer/src/urihandler.ccg: * gstreamer/src/urihandler.hg: * gstreamer/src/xml.hg: * gstreamer/src/gst_enums.defs: Handwrote BusFlags, ElementFlags and PadFlags to wrap corresp. enums * docs/reference/Doxyfile.in: Modified to display one enum value per line in docs * docs/reference/Makefile.am: Modified docs build to depend on Doxyfile which reponds better to changes to Doxyfile.in file 2008-03-26 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/gst_docs.xml: * gstreamerbase/src/gstbase_docs.xml: Generated docs with all directories that includes API that may be wrapped 2008-03-26 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/enums.hg: * gstreamer/src/gst_enums.defs: wrapped enum ClockFlags using _WRAP_ENUM() (by writing out the def) so that its Glib::Value<..> class is defined 2008-03-25 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/generate-enums.sh: * gstreamer/src/generate-methods.sh: * gstreamerbase/src/generate-enums.sh: * gstreamerbase/src/generate-methods.sh: Removed these because just realized that these are specific to a single system 2008-03-25 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/generate-enums.sh: * gstreamer/src/generate-methods.sh: Added two scripts to generate gst_enums.defs and gst_methods.def (when generating must take care of handwritten things in gst_methods.defs -- see comment at top of file which would be best to keep in file after regenerating) * gstreamerbase/src/generate-enums.sh: * gstreamerbase/src/generate-methods.sh: Added scripts to generate gstbase_enums.defs and gstbase_methods.defs * gstreamerbase/src/gstbase_enums.defs: * gstreamerbase/src/gstbase_methods.defs: Regenerated these after building most recent update of gst-plugins-base 2008-03-25 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/enums.hg: Removed redundant _WRAP_ENUM() (ClockFlags is already defined); Modified brace placements to match rest of sources * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_methods.defs: Regenerated both def files to include API in gst/{base,controller,dataprotocol,net,check} include directories (along with standard includes in gst/) 2008-03-25 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: Added lines to define GSTREAMERMM_DOXYGEN_INPUT (which includes directories to be proecessed by Doxygen) -- Adapted from goocanvasmm * docs/reference/Doxyfile.in: Modified to use GSTREAMERMM_DOXYGEN_INPUT for input files 2008-03-24 José Alburquerque <jaalburqu@svn.gnome.org> * Makefile.am: * docs/Makefile.am: * docs/reference/Makefile.am: Modified recursive Makefile.am structure to include doc-clean, doc-clean-recursive and doc-rebuild. Also modified to use beautify_docs.pl and to be dependent on *.h source files (adapted from glibmm -- thanks) 2008-03-24 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/buffer.hg: Fixed class docs class name * tools/extra_defs_gen/Makefile.am: Fixed typo 2008-03-24 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamerbase/gstreamerbasemm-0.10.pc: * gstreamerbase/gstreamerbasemmconfig.h: Removed these files which the build automatically generates 2008-03-24 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bus.hg: Corrected class docs typo * gstreamer/src/caps.hg: * gstreamer/src/structure.hg: Renamed is_empty() and get_size() methods to empty() and size() (which is compatible with C++ STL names); Also renamed is_equal..() methods (in caps.hg) to equals..() * gstreamer/src/value.hg: Corrected class docs to have a short single line intro statement and then the explanation 2008-03-23 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamerbase/Makefile.am: * gstreamerbase/README: * gstreamerbase/gstreamerbasemm-0.10.pc: * gstreamerbase/gstreamerbasemm-0.10.pc.in: * gstreamerbase/gstreamerbasemm.h: * gstreamerbase/gstreamerbasemm/Makefile.am: * gstreamerbase/gstreamerbasemm/gst_wrap_init.h: * gstreamerbase/gstreamerbasemm/init.cc: * gstreamerbase/gstreamerbasemm/init.h: * gstreamerbase/gstreamerbasemm/private/Makefile.am: * gstreamerbase/gstreamerbasemm/wrap_init.h: * gstreamerbase/gstreamerbasemmconfig.h: * gstreamerbase/gstreamerbasemmconfig.h.in: * gstreamerbase/src/Makefile.am: * gstreamerbase/src/Makefile_list_of_hg.am_fragment: * gstreamerbase/src/gstbase.defs: * gstreamerbase/src/gstbase_docs.xml: * gstreamerbase/src/gstbase_docs_override.xml: * gstreamerbase/src/gstbase_others.defs: * gstreamerbase/src/gstbase_signals.defs: * gstreamerbase/src/gstbase_vfuncs.defs: Added subdirectory gstreamerbase in which to wrap gst-plugins-base module relevant API (just what's needed) * gstreamerbase/src/gstbase_enums.defs: * gstreamerbase/src/gstbase_methods.defs: Generated enums and methods for new gstreamerbasemm branch using h2def.py and enum.pl (see wrapping docs) * tools/extra_defs_gen/Makefile.am: * tools/extra_defs_gen/generate_defs_gstbase.cc: Added an extra defs generator for the gstreamerbasemm branch and mentioned it in Makefile.am so that it is built (the types that need to be generated still have to be added as the needed parts of gst-plugins-base are wrapped) * Makefile.am: Mentioned gstreamerbase dir to include in build * configure.ac: Modified to check needed dependencies, include shared object version and generate makefiles for gstreamerbasemm branch 2008-03-23 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm/gst_wrap_init.h: * gstreamer/gstreamermm/init.cc: * gstreamer/gstreamermm/init.h: * gstreamer/gstreamermm/version.cc: * gstreamer/gstreamermm/wrap_init.h: Moved needed includes from *.h files to *.cc files (speeds up compile for applications) 2008-03-19 José Alburquerque <jaalburqu@svn.gnome.org> * tests/test-caps.cc: Modified test to use a Gst::Caps to link two Gst::Elements using feature (caps) negotiation (filtered linking) as exemplified in Gstreamer Application Development Manual (GADM) section 8.3.2 2008-03-19 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/value.ccg: * gstreamer/src/value.hg: Added Fourcc class; Added constructor docs; Refined previous docs to reference GstValue for better understanding of classes in value.hg * gstreamer/src/structure.ccg: * gstreamer/src/structure.hg: Modified get_fraction() to take a Gst::Fraction& in which to set values; Fixed docs for get_date() and get_fraction(); Added conversion lines in set_field() for Glib::Value<Gst::Fourcc>, Glib::Value<Glib::Date>, Glib::Value<Structure> and Glib::Value<MiniObject> * gstreamer/gstreamermm/miniobject.cc: * gstreamer/gstreamermm/miniobject.h: Added take_copy param to MiniObject(GstMiniObject*, bool); Added definitions swap(), operator=() and MiniObject(const MiniObject&) (the copy constructor is needed if it is embedded in a Glib::Value<...>) * tests/test-structure.cc: Modified to test setting and getting a Glib::Date field (embedded in a Glib::Value<...>) * tools/m4/class_boxedtype_ncopy.m4: Added comment on destruction of underlying gobject 2008-03-18 José Alburquerque <jaalburqu@svn.gnome.org> * tools/m4/class_boxedtype_ncopy.m4: * tools/m4/convert.m4: Added wrapper to be used with GstStructure which with GstCaps wants wrapper to work with original gobject and not to be delete when its ownership has been taken over by the GstCaps. * gstreamer/src/structure.hg: Modified Gst::Structure to use _CLASS_BOXED_TYPE_NCOPY so that it mostly doesn't copy the gobject and is flexible at destroying underlying gobject when wrapper is destroyed which makes it easier for Gst::Caps to "take ownership" of Gst::Structures * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: Reimplemented get_structure() to function properly and to return a const Gst::Structure*. Modified create(Gst::Structure&) to "take ownership" of the Gst::Structure (as GstCaps does with underlying gobject). Also handwrote append_structure() and merge_structure() to "take ownership" of the Gst::Structure which is appended/merged (as GstCaps does with underlying gobject) * tests/Makefile.am: * tests/test-caps-structures.cc: Added test to add/remove and get Gst::Structures in a Gst::Caps * docs/Makefile.am: Added copyright statement at top 2008-03-13 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/event.ccg: * gstreamer/src/event.hg: * gstreamer/src/message.ccg: * gstreamer/src/message.hg: * gstreamer/src/query.ccg: * gstreamer/src/query.hg: Rewrote get_structure() methods to return a const Structure* (and only get the structure once because it never changes) * tests/test-event-wrap.cc: * tests/test-message-wrap.cc: * tests/test-query-wrap.cc: Rewrote tests to get structures and print their names (to verify that get_structure() methods work) * gstreamer/src/value.hg: Removed blank line 2008-03-13 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/value.hg: Corrected class docs (@code/@endcode sections) which was impeding docs to appear in html 2008-03-12 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/structure.ccg: * gstreamer/src/structure.hg: Modified get_field() to return the GValue from GStreamer as is (without converting to, for example Glib::Value<Gst::Fraction>) in case that value is used elsewhere and needs to be as GStreamer interprets it; Added comment in set_field() docs to explain how setting special GStreamer fields works * gstreamer/src/value.ccg: * gstreamer/src/value.hg: Added "const ValueBase&" constructors so that when GValues are obtained from a Gst::Structure if the GValue holds any of these special types they can be easily obtained using theese classes. * tests/test-structure.cc: Modified test to use "const ValueBase&" constructors when getting values from Gst::Structure 2008-03-11 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/value.ccg: * gstreamer/src/value.hg: Added class definitions Fraction, IntRange, DoubleRange and FractionRange with docs explaining that these classes can be wrapped in a Glib::Value<...> to be used to set GStreamer specific fields in Gst::Caps Structures (Still need to look at GDate and possibly the GStreamer fourcc gtype GST_TYPE_FOURCC) (Must fix config files so these classes appear in docs) * gstreamer/src/structure.ccg: Modified get_field() and set_field() to "translate" to/from the GStreamer gtypes to the gstreamermm gtypes when setting and getting fields. * tests/test-structure.cc: Modified source to test the adding and retrieving of the new classes in value.hg to a Gst::Structure 2008-03-10 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bin.hg: * gstreamer/src/buffer.hg: * gstreamer/src/bus.hg: Added class docs header * gstreamer/src/clock.ccg: * gstreamer/src/clock.hg: Added class docs header; Wrapped ClockID methods get_time(), wait(), wait_async(), and unschedule(); Replaced new by create in new_single_shot_id() and new_periodic_id() method names (must still wrap these) * gstreamer/src/enums.hg: Added ClockFlags enum * gstreamer/src/element.ccg: * gstreamer/src/element.hg: * gstreamer/src/filter.ccg: * gstreamer/src/index.ccg: * gstreamer/src/interface.hg: * gstreamer/src/pad.ccg: * gstreamer/src/registry.ccg: * gstreamer/src/structure.ccg: * gstreamer/src/taglist.ccg: Replaced gpointer with void* in callbacks; Rewrote slot code to create copies as pointers and delete the copies in callbacks once done (for those slots that are called only once) * tools/m4/convert_gst.m4: Added ClockTimeDiff conversion 2008-03-10 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/caps.hg: * gstreamer/src/event.hg: * gstreamer/src/message.hg: * gstreamer/src/query.hg: Added get_structure() docs commenting that assigning structures engenders a copy and not the original * tests/test-structure.cc: Modified test to create a structure and not use one from a Query * gstreamer/src/clock.hg: Moved ClockTime, ClockTimeDiff and CLOCK_TIME_NONE to: * gstreamer/src/enums.hg: 2008-03-09 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: - Added create(Structure& s) method; - Added class and method docs - Wrote out get_structure() to return Structure& and not Structure* (getting Gst::Structures feels a bit weird because since Gst::Structure is a boxed type, copies are always created and developers may think that once they get a Gst::Structure, if the owner of the Gst::Structure modifies it, it will be reflected in the copy they obtain. This doesn't seem to be so) * tools/m4/convert_gst.m4: Fixed GstStructure conversions 2008-03-08 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bin.ccg: * gstreamer/src/bin.hg: Used WRAP_CREATE() for create() method; Made add() and remove() not throw exceptions (unsure if need exceptions presently); Added a needed extra reference to Element in add() method to avoid warning (see comment in method implementation) * gstreamer/src/pipeline.ccg: * gstreamer/src/pipeline.hg: Used _WRAP_CREATE() for create() method * gstreamer/src/element.hg: Added comment about needing _CTOR_DEFAULT 2008-03-07 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/structure.ccg: Added return of "this Structure" in set_field() and remove_field() (had neglected this in last commit thus not allowing test-structure to run) 2008-03-06 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/structure.ccg: * gstreamer/src/structure.hg: Modified set_field() and remove_field() to return the Structure (thus allowing "chain" setting and removing); Added docs; Reordered methods to C API order. Must find a way of adding gtypes GST_TYPE_FRACTION, GST_TYPE_DATE along with other gstreamer specific gtypes like G_TYPE_INT_RANGE to Structure correctly (see GstValue C API docs and GStreamer Application Development Manual sections 8.2.2 and 8.2.3) * tests/test-structure.cc: Modified test to use "chain setting" * gstreamer/src/element.hg: Removed virtual from ElementInterfaced destructor def since its base class (Element) destructor is virtual which makes derived destructor virtual already 2008-03-05 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: Added gst_caps_new_empty() as new function in _CLASS_OPAQUE_REFCOUNTED which automatically generates create() method. Commented out create_full() until we can figure out how to have a list of Structures for parameter * gstreamer/src/clock.hg: Removed unused _CTOR_DEFAULT * gstreamer/src/element.ccg: * gstreamer/src/element.hg: Made get_compatible_{pad,pad_template}() methods not throw exceptions because the returned RefPtr<> will be NULL if none is found. Used const Glib::ustring& in link_pads_filtered() method * gstreamer/src/plugin.hg: Removed completed TODO * gstreamer/src/tagsetter.hg: Typos 2008-03-04 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm.h: Added tagsetter.h to includes 2008-03-04 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/tagsetter.ccg: * gstreamer/src/tagsetter.hg: Added tagsetter * tools/m4/convert_gst.m4: Added initial conversions to be used with TagSetter when it is wrapped 2008-03-03 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/elementfactory.hg: Removed unused struct ElementDetails 2008-03-03 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/element.ccg: Added GWeakNotify callback which will be called for each ElementInterfaced instance to delete them * gstreamer/src/element.hg: Modified constructor of ElementInterfaced to add a weak ref to underlying GObject; Added destructor to remove reference to underlying GObject so that the GObject is not "mangled" when ElementInterfaced is destroyed 2008-03-03 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/element.hg: Added templated, Element derived Gst::ElementInterfaced class which implements the template argument. This class is used in the templated Gst::Interface::cast() method to cast the element's RefPtr to a RefPtr of a Gst::ElementInterfaced that implements the target interface * gstreamer/src/interface.hg: Modified Gst::Interface::cast() method to return a RefPtr to a Gst::ElementInterfaced class * tests/test-create-element.cc: Modified to test casting from Glib::RefPtr<Gst::Element> to Glib::RefPtr< Gst::ElementInterfaced<..> > 2008-03-02 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/element.hg: Removed Gst::Interface derivation as not all elements implement interface (see bug #519584) * gstreamer/src/interface.hg: Made implements() static and renamed to element_implements(); Added static cast() method * tests/test-create-element.cc: Changed test to use Gst::Interface::element_implements() method and Gst::Interface::cast() methods (test two methods) though cast() method does not quite work * tools/m4/convert_gst.m4: Added conversion for Gst::Interface::element_implements() method (from const Glib::RefPtr<const Element>& to GstElement*) 2008-02-29 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/element.ccg: * gstreamer/src/element.hg: Made Element derive also from Gst::Interface (newly added 2008-02-27); Removed create() method and use Gst::ElementFactory to create elements (as C API does); Added class docs * examples/element_link/element_link.cc: * examples/ogg_player/main.cc: * examples/ogg_player_gtkmm/main.cc: * tests/test-link-elements.cc: * tests/test-pipeline-add-element.cc: Modified to create elements using Gst::ElementFactory::create() * tests/test-create-bin.cc: Added lines to test derived interface ChildProxy * tests/test-create-element.cc: Added lines to test the Gst::Interface::implements() method; Filed bug #519584 due to segfault. May have to rethink Gst::Element's derivation of Gst::Interface because as bug report says, not all elements implement GstImplementsInterface * gstreamer/src/urihandler.hg: Added accidental remove of new_uri() method in last commit 2008-02-28 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/registry.hg: Added signals "feature-added" and "plugin-added" * gstreamer/src/urihandler.hg: Added signal "new-uri" * gstreamer/src/gst_signals.defs: Repaired Registry and URIHandler signal defenitions * tools/m4/convert_gst.m4: Added conversions for Registry and URIHandler signals 2008-02-28 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/elementfactory.hg: Renamed make() to create() * gstreamer/src/pluginfeature.ccg: * gstreamer/src/pluginfeature.hg: Removed type_name_filter() (It is a reimplementation of a C filter callback) and struct TypeNameData (used only in type_name_filter() method) * gstreamer/src/indexfactory.hg: * gstreamer/src/plugin.hg: * gstreamer/src/registry.hg: Added some _IGNORE's * tools/m4/convert_gst.m4: Removed unused TypeNameData conversion; Finished ordering conversions 2008-02-27 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/interface.ccg: * gstreamer/src/interface.hg: Added interface "Interface" * gstreamer/src/registry.hg: Added TODO * gstreamer/src/segment.hg: * tools/m4/convert_gst.m4: Made some changes to Segment (I think both gstsegment.h and gsttasklist.h problems commented below may be fixed see Bug reports #518932, #518934 and #518940) 2008-02-25 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/taglist.ccg: * gstreamer/src/taglist.hg: Removed SlotMerge code (which will not be needed because a merge callback is only required for registering new taglists which is done more appropriately in C API directly) * gstreamer/src/segment.hg: Removed unused whitespace 2008-02-25 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/segment.ccg: * gstreamer/src/segment.hg:Added boxed type Segment, but not yet to Makefile_list_of_hg.am_fragment because gst_segment_copy() is not declared in gstsegment.h * gstreamer/src/taglist.ccg: * gstreamer/src/taglist.hg: Added taglist, but not yet to Makefile_list_of_hg because GstTagList is declared as "struct GstStructure GstTagList" instead of "struct _GstTagList GstTagList" in gsttaglist.h * gstreamer/src/filter.ccg: * examples/ogg_player_gtkmm/PlayerWindow.cc: Minor TODO addition and tab to spaces conversion 2008-02-25 Siavash Safi <siavash.safi@gmail.com> * examples/ogg_player/main.cc: Commented out unused argument `const Glib::RefPtr<Gst::Bus>&' in on_bus_message * examples/ogg_player_gtkmm/PlayerWindow.cc: Commented out unused argument `const Glib::RefPtr<Gst::Bus>&' in PlayerWindow::on_bus_message, `Gtk::ScrollType' in PlayerWindow::on_scale_value_changed * gstreamer/gstreamermm/init.cc: Fixed init_check() to return the value from C API * gstreamer/src/element.ccg: Fixed send_event() to return the value from C API * gstreamer/src/filter.ccg: Fixed run() to return `Glib::ListHandle< Glib::RefPtr<Glib::Object> >', note: the ownership of items is not known, see the todo * gstreamer/src/index.ccg: * gstreamer/src/index.hg: Added `const Glib::RefPtr<Index>&' to SlotFilter, SlotResolver * gstreamer/src/pad.ccg: Fixed push(), push_event(), send_event(), chain() to return the value from C API * gstreamer/src/pad.hg: Added `const Glib::RefPtr<Pad>&' to SlotBlock * gstreamer/src/structure.ccg: Fixed foreach(), map_in_place() to return the value from C API * tools/m4/convert_gst.m4: Added _CONV_ENUM(Gst,FlowReturn) 2008-02-24 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bus.ccg: * gstreamer/src/filter.ccg: * gstreamer/src/index.ccg: * gstreamer/src/index.hg: * gstreamer/src/pad.ccg: * gstreamer/src/pad.hg: * gstreamer/src/task.ccg: Renamed Slot types and callbacks (for consistency with other *mm projects) * gstreamer/src/parse.hg: Corrected class name in docs from GstParse to Parse. 2008-02-22 José Alburquerque <jaalburqu@svn.gnome.org> * COPYING: Added GNU License 2008-02-21 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/registry.ccg: * gstreamer/src/registry.hg: Added Registry * gstreamer/src/plugin.ccg: * gstreamer/src/plugin.hg: Removed unnecessary SlotInit code and name_filter() method (which is a standard gstreamer filter "slot" not a member method) * gstreamer/src/pluginfeature.hg: Renamed SlotFeatureFilter to SlotFilter * tools/m4/convert_gst.m4: Added PluginFeature and Registry conversions; Removed unused GstURIHandler conversion 0.9.4: 2008-02-21 Murray Cumming <murrayc@murrayc.com> * gstreamer/gstreamermm/miniobject.h: Added gobj(). Otherwise Glib::ObjectBase::gobj() is called. * gstreamer/src/bus.hg: pop_filtered(), timed_pop(), timed_pop_filtered(): Renamed all these to pop(). * gstreamer/src/element.hg: Renamed message_full() to post_message() so it looks like a method overload. * gstreamer/src/pad.ccg: * gstreamer/src/pad.hg: Wrapped have_data signal. * gstreamer/src/xml.hg: Added const version of get_topelements(). * tools/m4/convert_gst.m4: * gstreamer/src/childproxy.hg: Moved signal-specific conversion to the .hg file where it is used. 2008-02-18 Siavash Safi <siavash.safi@gmail.com> * gstreamer/src/bin.hg: Ignored gst_bin_add_many, gst_bin_remove_many * gstreamer/src/buffer.hg: Ignored gst_buffer_stamp (deprecated in C API) * gstreamer/src/bus.hg: Added pop_filtered, timed_pop_filtered, poll * gstreamer/src/caps.hg: Ignored gst_caps_set_simple * gstreamer/src/element.ccg: * gstreamer/src/element.hg: Added set_index, get_index, message_full, get_query_types, implements_interface, ignored gst_element_unlink_many, gst_element_get_compatible_pad_template, gst_element_send_event * gstreamer/src/enums.hg: Added FlowReturn * gstreamer/src/gst_others.defs: Added the defenition for Buffer::make_writable * gstreamer/src/gst_signals.defs: Corrected Pad::have_data signal parameter manually * gstreamer/src/pad.ccg: * gstreamer/src/pad.hg: Added get_pad_template_caps, alloc_buffer, alloc_buffer_and_set_caps, get_range, proxy_getcaps, push, push_event, send_event, event_default, query, peer_query, query_default, get_query_types, get_query_types_default, get_internal_links, get_internal_links_default, chain, Ignored all *_function methods, Corrected have_data signal (the conversion doesn't work) * gstreamer/src/padtemplate.hg: Ignored gst_pad_template_pad_created which is a signal and already wrapped * gstreamer/src/pluginfeature.hg: Ignored gst_plugin_feature_type_name_filter which was hand coded * gstreamer/src/xml.hg: Corrected the const version of get_element, Added get_topelements * tools/m4/convert_gst.m4: Added conversions: `GstIndex*' to `Glib::RefPtr<Index>' `const Glib::RefPtr<Index>&' to `GstIndex*' `ClockTimeDiff' to `GstClockTimeDiff' `const GstQueryType*' to `const QueryType*' Bug #517208. 2008-02-19 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/enums.hg: * gstreamer/src/gst_signals.defs: * gstreamer/src/urihandler.ccg: * gstreamer/src/urihandler.hg: * tools/m4/convert_gst.m4: Added urihandler and related enums+conversions; Manually included the "new-uri" signal def in defs file. Must fix "const gchar*" parameter problem before wrapping signal in *.hg file. 2008-02-18 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/enums.hg: * gstreamer/src/parse.ccg: * gstreamer/src/parse.hg: * gstreamer/src/task.ccg: * gstreamer/src/task.hg: * tools/m4/convert_gst.m4: Added Parse and Task 2008-02-18 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/elementfactory.hg: * gstreamer/src/filter.ccg: * gstreamer/src/filter.hg: * gstreamer/src/indexfactory.ccg: * gstreamer/src/indexfactory.hg: Added Filter and IndexFactory; Removed unused include in elementfactory.hg * gstreamer/src/structure.ccg: * gstreamer/src/structure.hg: Renamed MapSlot to SlotMap and moved outside of namespace Gst; Used glibmm types for slot typedefs * tools/m4/convert_gst.m4: Added Index and IndexFactory conversions 2008-02-15 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/childproxy.ccg: * gstreamer/src/childproxy.hg: Fixed misdefinition of static methods to actual member methods (must still add docs) 2008-02-14 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bin.ccg: * gstreamer/src/bin.hg: Wrapped signals; Wrapped methods that could be wrapped and removed handwritten definitions; Wrapped property (but something to do with GLIBMM_PROPERTIES_ENABLED def is hiding it in docs) * gstreamer/src/buffer.hg: * gstreamer/src/caps.hg: * gstreamer/src/childproxy.hg: * gstreamer/src/elementfactory.hg: * gstreamer/src/plugin.hg: * gstreamer/src/structure.hg: * tests/test-pipeline-add-element.cc: Reviewed recent method name changes and realized that it's best to stick with the C API names for now and use prefixes "get_", "is_" and "has_" consistently (Names can be reviewed later) 2008-02-13 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bin.ccg: * gstreamer/src/bin.hg: * gstreamer/src/buffer.ccg: * gstreamer/src/buffer.hg: * gstreamer/src/bus.ccg: * gstreamer/src/bus.hg: * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: * gstreamer/src/childproxy.hg: * gstreamer/src/clock.hg: * gstreamer/src/element.ccg: * gstreamer/src/element.hg: * gstreamer/src/elementfactory.hg: * gstreamer/src/enums.hg: * gstreamer/src/error.ccg: * gstreamer/src/event.hg: * gstreamer/src/format.hg: * gstreamer/src/index.ccg: * gstreamer/src/index.hg: * gstreamer/src/iterator.hg: * gstreamer/src/message.hg: * gstreamer/src/pad.ccg: * gstreamer/src/pad.hg: * gstreamer/src/padtemplate.ccg: * gstreamer/src/padtemplate.hg: * gstreamer/src/pipeline.ccg: * gstreamer/src/pipeline.hg: * gstreamer/src/plugin.ccg: * gstreamer/src/plugin.hg: * gstreamer/src/pluginfeature.ccg: * gstreamer/src/pluginfeature.hg: * gstreamer/src/query.hg: * gstreamer/src/structure.hg: * gstreamer/src/systemclock.hg: * gstreamer/src/value.ccg: * gstreamer/src/value.hg: * gstreamer/src/xml.ccg: * gstreamer/src/xml.hg: Reordered includes from least to greatest -- Sorry for inconsistency 2008-02-13 José Alburquerque <jaalburqu@svn.gnome.org> * docs/reference/Doxyfile.in: Made minor changes to include brief descriptions and static members in html docs * gstreamer/src/element.ccg: * gstreamer/src/element.hg: Wrapped get_factory() method 2008-02-12 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/caps.hg: Added a couple of consts where appropriate * gstreamer/src/elementfactory.ccg: * gstreamer/src/elementfactory.hg: Wrapped ElementFactory * tools/m4/convert_gst.m4: Added conversions for ElementFactory; Reordered conversions 2008-02-11 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/pluginfeature.ccg: Corrected misuse of data parameter in type_name_filter() 2008-02-11 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/pluginfeature.ccg: * gstreamer/src/pluginfeature.hg: Reworked TypeNameData to include necessary fields for type_name_filter() method; Wrote out type_name_filter() to convert from TypeNameData to GstTypeNameData 2008-02-11 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/enums.hg: Added PluginError * gstreamer/src/plugin.ccg: * gstreamer/src/plugin.hg: Wrapped Plugin * gstreamer/src/pluginfeature.hg: Added const for methods where appropriate * tools/m4/convert_gst.m4: Added Plugin conversions 2008-02-11 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/gst_docs.xml: Generated docs from C API (the build processs must still be adapted to use it) 2008-02-10 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/enums.hg: Added GstRank * gstreamer/src/pluginfeature.ccg: * gstreamer/src/pluginfeature.hg: Wrapped PluginFeature * tools/m4/convert_gst.m4: Finished previous commit's unmentioned TypeNameData conversion; Added GstPluginFeature* and Glib::ListHandle<> converison for PluginFeature 2008-02-10 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bus.hg: Moved SlotWatch typdef to top of Bus class definition; Used Glib::PRIORITY_DEFAULT instead of G_PRIORITY_DEFAULT * gstreamer/src/childproxy.hg: Repaired wraps of static method child_added() and child_removed() and signals "child-added" and "child-removed" * gstreamer/src/gst_signals.defs: Regenerated with generate_extra_defs tool to include missing signals and properties * tools/extra_defs_gen/generate_defs_gst.cc: Added all types so that signal and property generation includes all methods possible * tools/m4/convert_gst.m4: Included def from GstObject* to const Glib::RefPtr<>& 0.9.3: 2008-02-10 Murray Cumming <murrayc@murrayc.com> * gstreamer/gstreamermm/private/miniobject_p.h: * gstreamer/gstreamermm/private/object_p.h: Restored the license headers. There is not reason not to have them in these source files. 2008-02-10 Murray Cumming <murrayc@murrayc.com> * gstreamer/src/index.ccg: * gstreamer/src/index.hg: Made some methods const. Corrected the slot parameter types, and actually passed them from the callbacks. I am surprised that it compiled before. 2008-02-09 Siavash Safi <siavash.safi@gmail.com> * gstreamer/gstreamermm.h: Added index.h * gstreamer/src/Makefile_list_of_hg.am_fragment: Added index.hg * gstreamer/src/enums.hg: Added AssocFlags, IndexCertainty, IndexEntryType, IndexFlags, IndexLookupMethod, IndexResolverMethod * gstreamer/src/gst_enums.defs: Added GstIndexFlags values manually * gstreamer/src/gst_others.defs: Added defenitions for GST_INDEX_IS_READABLE, GST_INDEX_IS_WRITABLE * gstreamer/src/index.ccg: * gstreamer/src/index.hg: * tools/m4/convert_gst.m4: Added Conversions: `GstIndexEntry*' to `IndexEntry' `const IndexAssociation&' to `const GstIndexAssociation*' AssocFlags IndexCertainty IndexEntryType IndexFlags IndexLookupMethod IndexResolverMethod 2008-02-10 Murray Cumming <murrayc@murrayc.com> * gstreamer/src/caps.hg: Remove unnecessary cobj_ member variable. 2008-02-08 José Alburquerque <jaalburqu@svn.gnome.org> * examples/element_link/element_link.cc: * examples/init/init.cc: * examples/ogg_player/main.cc: * examples/ogg_player_gtkmm/PlayerWindow.cc: * examples/ogg_player_gtkmm/PlayerWindow.h: * examples/ogg_player_gtkmm/main.cc: * examples/optiongroup/optiongroup.cc: * gstreamer/src/bin.ccg: * gstreamer/src/bin.hg: * gstreamer/src/buffer.ccg: * gstreamer/src/buffer.hg: * gstreamer/src/bus.ccg: * gstreamer/src/bus.hg: * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: * gstreamer/src/clock.ccg: * gstreamer/src/clock.hg: * gstreamer/src/element.ccg: * gstreamer/src/element.hg: * gstreamer/src/enums.ccg: * gstreamer/src/enums.hg: * gstreamer/src/error.ccg: * gstreamer/src/error.hg: * gstreamer/src/event.ccg: * gstreamer/src/event.hg: * gstreamer/src/format.ccg: * gstreamer/src/format.hg: * gstreamer/src/iterator.ccg: * gstreamer/src/iterator.hg: * gstreamer/src/message.ccg: * gstreamer/src/message.hg: * gstreamer/src/pad.ccg: * gstreamer/src/pad.hg: * gstreamer/src/padtemplate.ccg: * gstreamer/src/padtemplate.hg: * gstreamer/src/pipeline.ccg: * gstreamer/src/pipeline.hg: * gstreamer/src/query.ccg: * gstreamer/src/query.hg: * gstreamer/src/structure.ccg: * gstreamer/src/structure.hg: * gstreamer/src/systemclock.ccg: * gstreamer/src/systemclock.hg: * gstreamer/src/value.ccg: * gstreamer/src/value.hg: * gstreamer/src/xml.ccg: * gstreamer/src/xml.hg: * tests/test-caps.cc: * tests/test-create-bin.cc: * tests/test-create-element.cc: * tests/test-event-wrap.cc: * tests/test-link-elements.cc: * tests/test-message-wrap.cc: * tests/test-miniobject-wrap.cc: * tests/test-pipeline-add-element.cc: * tests/test-query-wrap.cc: * tests/test-structure.cc: Added modelines to source files (copied modeline from glibmm) 2008-02-08 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: * gstreamer/src/element.hg: * gstreamer/src/elementfactory.ccg: * gstreamer/src/elementfactory.hg: * gstreamer/src/plugin.ccg: * gstreamer/src/plugin.hg: * gstreamer/src/pluginfeature.ccg: * gstreamer/src/pluginfeature.hg: Added PluginFeature, Plugin and ElementFactory (still need to be wrapped); Removed unused _PINCLUDE in element.hg 2008-02-07 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/bin.hg: Bin (and its descendant Pipeline) implements ChildProxy interface * gstreamer/src/childproxy.hg: Removed unused _PINCLUDEs; Wrapped up API * tools/m4/convert_gst.m4: Added conversion from const Glib::RefPtr<Gst::Object>& to GstObject*; Used Glib::unwrap(...) instead of __CONVERT_REFPTR_TO_P 2008-02-07 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm.h: Added missing value.h and new childproxy.h * gstreamer/gstreamermm/gst_wrap_init.h: * gstreamer/gstreamermm/init.h: * gstreamer/gstreamermm/private/miniobject_p.h: * gstreamer/gstreamermm/private/object_p.h: * gstreamer/gstreamermm/wrap.cc: * gstreamer/gstreamermm/wrap.h: * gstreamer/gstreamermm/wrap_init.h: Reformatted license section of files; Removed license section in private files * gstreamer/src/Makefile_list_of_hg.am_fragment: Added childproxy * gstreamer/src/caps.hg: Made a couple of more method renames * gstreamer/src/childproxy.ccg: * gstreamer/src/childproxy.hg: Added childproxy source files 2008-02-07 José Alburquerque <jaalburqu@svn.gnome.org> * examples/element_link/element_link.cc: * examples/init/init.cc: * examples/ogg_player/main.cc: * examples/ogg_player_gtkmm/PlayerWindow.cc: * examples/ogg_player_gtkmm/PlayerWindow.h: * examples/ogg_player_gtkmm/main.cc: * examples/optiongroup/optiongroup.cc: * gstreamer/gstreamermm/gst_wrap_init.h: * gstreamer/gstreamermm/init.cc: * gstreamer/gstreamermm/init.h: * gstreamer/gstreamermm/miniobject.cc: * gstreamer/gstreamermm/miniobject.h: * gstreamer/gstreamermm/object.cc: * gstreamer/gstreamermm/object.h: * gstreamer/gstreamermm/private/miniobject_p.h: * gstreamer/gstreamermm/private/object_p.h: * gstreamer/gstreamermm/version.cc: * gstreamer/gstreamermm/version.h: * gstreamer/gstreamermm/wrap.cc: * gstreamer/gstreamermm/wrap.h: * gstreamer/gstreamermm/wrap_init.h: * gstreamer/src/bin.ccg: * gstreamer/src/bin.hg: * gstreamer/src/buffer.ccg: * gstreamer/src/buffer.hg: * gstreamer/src/bus.ccg: * gstreamer/src/bus.hg: * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: * gstreamer/src/clock.ccg: * gstreamer/src/clock.hg: * gstreamer/src/element.ccg: * gstreamer/src/element.hg: * gstreamer/src/enums.ccg: * gstreamer/src/enums.hg: * gstreamer/src/error.ccg: * gstreamer/src/error.hg: * gstreamer/src/event.ccg: * gstreamer/src/event.hg: * gstreamer/src/format.ccg: * gstreamer/src/format.hg: * gstreamer/src/iterator.ccg: * gstreamer/src/iterator.hg: * gstreamer/src/message.ccg: * gstreamer/src/message.hg: * gstreamer/src/pad.ccg: * gstreamer/src/pad.hg: * gstreamer/src/padtemplate.ccg: * gstreamer/src/padtemplate.hg: * gstreamer/src/pipeline.ccg: * gstreamer/src/pipeline.hg: * gstreamer/src/query.ccg: * gstreamer/src/query.hg: * gstreamer/src/structure.ccg: * gstreamer/src/structure.hg: * gstreamer/src/systemclock.ccg: * gstreamer/src/systemclock.hg: * gstreamer/src/value.ccg: * gstreamer/src/value.hg: * gstreamer/src/xml.ccg: * gstreamer/src/xml.hg: * tests/test-caps.cc: * tests/test-create-bin.cc: * tests/test-create-element.cc: * tests/test-event-wrap.cc: * tests/test-link-elements.cc: * tests/test-message-wrap.cc: * tests/test-miniobject-wrap.cc: * tests/test-pipeline-add-element.cc: * tests/test-query-wrap.cc: * tests/test-structure.cc: Added Licensing statement at top of files 2008-02-06 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: Added create_simple() and set_simple() -- methods that work with Caps with only one structure; made some minor method name changes (may have to be reviewed later) * tests/Makefile.am: * tests/test-caps.cc: Added Gst::Caps test (still needs to be finished) * tests/test-structure.cc: Use Glib::Quark in set_field() call as example 2008-02-06 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: Renamed create_empty() to create() and simple_valist() to set_simple_valist() (want to rename set_simple_valist() to set_simple() and use variable arguments) * gstreamer/src/structure.ccg: * gstreamer/src/structure.hg: * tests/test-structure.cc: Removed getter and setter methods with Glib::QueryQuark for field name because Glib::QueryQuark can be converted to Glib::ustring (so can use those with Glib::QueryQuark just fine) 2008-02-05 Murray Cumming <murrayc@murrayc.com> * gstreamer/src/event.hg: * gstreamer/src/message.hg: * tools/m4/convert_gst.m4: Use _MEMBER_GET_GOBJECT() where appropriate, because this does proper reference-counting and creates const and non-const versions. * gstreamer/src/buffer.[hg|cc]: Some const fixes. Methods that return new instance do not need both const and non-const versions. 2008-02-05 Siavash Safi <siavash.safi@gmail.com> * gstreamer/gstreamermm.h: Added buffer.h * gstreamer/src/Makefile_list_of_hg.am_fragment: Added buffer.hg * gstreamer/src/buffer.ccg: * gstreamer/src/buffer.hg: * gstreamer/src/enums.hg: Added BufferFlag, BufferCopyFlags, MiniObjectFlags * gstreamer/src/event.hg: Corrected the comment on wrap() * gstreamer/src/gst_enums.defs: Changed BufferFlag defenition manually * gstreamer/src/gst_others.defs: Added methods for Buffer: copy(), copy_metadata(), flags(), flag_is_set(), flag_set(), flag_unset() * tools/m4/convert_gst.m4: Added conversions: `GstBuffer*' to `Glib::RefPtr<Buffer>', `const Glib::RefPtr<Buffer>&' to `GstBuffer*', `const Glib::RefPtr<Buffer>&' to `const GstBuffer*', `Glib::RefPtr<Buffer>' to `GstBuffer*', `GstCaps*' to `Glib::RefPtr<Caps const>', BufferFlag, BufferCopyFlags, Replaced all _CONVERSION()s for enums by _CONV_ENUM() 2008-02-05 Murray Cumming <murrayc@murrayc.com> * gstreamer/src/gst_enums.defs: MessageType: Change 0xFFFFFFFFFFFFFFFF to ~0 as it is in the C header, to avoid a error about it being too big for the type. * gstreamer/src/gst_methods.defs: Removed EventType because enums.pl could not parse GstEventType properly. We will have to make these changes every time we regenerate these files, unless we can fix enums.pl. 2008-02-05 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/src/enums.hg: Removed unused enum declarations; wrapped MessageType and SeekFlags * gstreamer/src/gst_enums.defs: Regenerated with new glibmm's enums.pl * gstreamer/src/gst_methods.defs: Regenerated with h2defs.py * tests/test-structure.cc: Removed blank line 2008-02-05 José Alburquerque <jaalburqu@svn.gnome.org> * configure.ac: * docs/reference/Doxyfile.in: * examples/Makefile.am_fragment: * gstreamer/Makefile.am: * gstreamer/gstmmconfig.h.in: * gstreamer/gstreamermm.h: * gstreamer/gstreamermm/Makefile.am: * gstreamer/gstreamermm/gst_wrap_init.h: * gstreamer/gstreamermm/init.h: * gstreamer/gstreamermm/miniobject.h: * gstreamer/gstreamermm/object.h: * gstreamer/gstreamermm/private/miniobject_p.h: * gstreamer/gstreamermm/private/object_p.h: * gstreamer/gstreamermm/version.cc: * gstreamer/gstreamermm/version.h: * gstreamer/gstreamermm/wrap.h: * gstreamer/gstreamermm/wrap_init.h: * gstreamer/gstreamermmconfig.h.in: * tests/Makefile.am: * tools/extra_defs_gen/Makefile.am: Final rename from gstmm to gstreamermm 2008-02-01 José Alburquerque <jaalburqu@svn.gnome.org> * examples/ogg_player/main.cc: Allow any number of args, but only process first one * gstreamer/src/Makefile_list_of_hg.am_fragment: Added value.hg * gstreamer/src/event.ccg: * gstreamer/src/event.hg: * gstreamer/src/message.ccg: * gstreamer/src/query.ccg: * gstreamer/src/query.hg: Removed bool argument for Gst::Structure constructor in get_structure() methods; Fixed whitespace * gstreamer/src/structure.ccg: * gstreamer/src/structure.hg: Removed StructureValueProxy, assignment operator and Fraction definition; Changed most getters to use Glib::ValueBase as output parameter * gstreamer/src/value.ccg: * gstreamer/src/value.hg: Added GstValue (place Fraction definition here) * tests/test-structure.cc: Modified test to not use Gst::Structure assignment operator * tools/m4/convert_gst.m4: Changed `Glib::QueryQuark' conversion to `const Glib::QueryQuark&' 2008-01-30 José Alburquerque <jaalburqu@svn.gnome.org> * AUTHORS: minor change in Jose's e-mail (added first letter) * gstreamer/src/event.ccg: * gstreamer/src/message.ccg: * gstreamer/src/query.ccg: modified get_structure() methods to reference GstStructure * gstreamer/src/structure.ccg: * gstreamer/src/structure.hg: wrapped size() and clear() methods; used Glib::QueryQuark instead GQuark for method parameters; change StructureValueProxy to use Glib::ValueBase * tests/Makefile.am: added test-structure * tests/test-structure.cc: new test for Gst::Structure * tools/m4/convert_gst.m4: added conversion from Glib::QueryQuark to GQuark 0.9.2: 2008-01-30 Murray Cumming <murrayc@murrayc.com> * AUTHORS: Corrected José's email address (It listed Daniel's). 2008-01-29 José Alburquerque <jaalburqu@svn.gnome.org> * gstreamer/gstreamermm-0.10.pc.in: changed -lgstmm-1.0 to -lgstreamermm-0.10 2008-01-27 José Alburquerque <jaalburqu@svn.gnome.org> * README: * docs/reference/reference-index.txt: * examples/README: * examples/ogg_player_gtkmm/PlayerWindow.cc: * examples/ogg_player_gtkmm/PlayerWindow.h: * examples/ogg_player_gtkmm/main.cc: * gstreamer/README: * gstreamer/gstreamermm/wrap.cc: * gstreamer/src/bin.ccg: * gstreamer/src/bin.hg: * gstreamer/src/bus.ccg: * gstreamer/src/bus.hg: * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: * gstreamer/src/clock.hg: * gstreamer/src/element.ccg: * gstreamer/src/element.hg: * gstreamer/src/enums.hg: * gstreamer/src/error.hg: * gstreamer/src/event.hg: * gstreamer/src/format.hg: * gstreamer/src/iterator.hg: * gstreamer/src/message.hg: * gstreamer/src/pad.ccg: * gstreamer/src/pad.hg: * gstreamer/src/padtemplate.ccg: * gstreamer/src/padtemplate.hg: * gstreamer/src/pipeline.ccg: * gstreamer/src/pipeline.hg: * gstreamer/src/query.hg: * gstreamer/src/structure.ccg: * gstreamer/src/structure.hg: * gstreamer/src/systemclock.hg: * gstreamer/src/xml.ccg: * gstreamer/src/xml.hg: * tools/generate_gst_wrap_init.pl.in: Replaced gstmm with gstreamermm in source and reference files; added brief text to README in main directory 0.9.1: 2008-01-26 Murray Cumming <murrayc@murrayc.com> * configure.ac: * docs/reference/Makefile.am: * examples/Makefile.am_fragment: * gstreamer/Makefile.am: * gstreamer/gstreamermm-0.10.pc.in: * gstreamer/gstreamermm-1.0.pc.in: * gstreamer/gstreamermm/Makefile.am: * gstreamer/gstreamermm/private/Makefile.am: * tests/Makefile.am: * tools/m4/Makefile.am: Rename the library and pkg-config file from -1.0 to -0.10, to match the C library. This will make life less awkward for us when gstreamer does a new parallel-installed version in future. 2008-01-26 Murray Cumming <murrayc@murrayc.com> * Makefile.am: * autogen.sh: * configure.ac: * docs/reference/Doxyfile.in: * examples/Makefile.am_fragment: * examples/ogg_player_gtkmm/PlayerWindow.cc: * examples/ogg_player_gtkmm/PlayerWindow.h: * examples/ogg_player_gtkmm/main.cc: * gstreamer/Makefile.am: * gstreamer/gstmm/ * gstreamer/src/Makefile.am: * tests/Makefile.am: Renamed directories and headers from gstmm to gstreammermm for more consistency. 2008-01-26 Murray Cumming <murrayc@murrayc.com> * configure.ac: * examples/element_link/element_link.cc: * examples/init/init.cc: * examples/ogg_player/main.cc: * examples/ogg_player_gtkmm/Makefile.am: * examples/optiongroup/optiongroup.cc: * gst/Makefile.am: * gst/gstmm-1.0.pc.in: * gst/gstmm.h: * gst/gstreamermm-1.0.pc.in: * tests/test-create-bin.cc: * tests/test-create-element.cc: * tests/test-event-wrap.cc: * tests/test-link-elements.cc: * tests/test-message-wrap.cc: * tests/test-miniobject-wrap.cc: * tests/test-pipeline-add-element.cc: * tests/test-query-wrap.cc: Rename gstmm.h to gstreamermm.h and gstmm-1.0.pc to gstreamermm-1.0.pc, to be more consistent. 2008-01-21 José Alburquerque <jaalburqu@svn.gnome.org> * examples/ogg_player/main.cc: moved Gst::QueryPosition cast in print_stream_position() inside the if block (after sending Gst::Query) to avoid warnings 2008-01-21 José Alburquerque <jaalburqu@svn.gnome.org> * AUTHORS: Updated author list * examples/ogg_player/example: deleted binary executable * examples/ogg_player/main.cc: modified to use Gst::QueryPosition to get stream position 2008-01-10 José Alburquerque <jaalburqu@svn.gnome.org> * examples/ogg_player_gtkmm/PlayerWindow.cc: moved cast of Gst::Query in PlayerWindow::on_forward() method to occur after mainPipeline->query() call to avoid immutable warnings on the Query's structure 2008-01-10 José Alburquerque <jaalburqu@svn.gnome.org> * examples/ogg_player_gtkmm/PlayerWindow.cc: modified to use Gst::Query in PlayerWindow::on_forward() callback * gst/src/query.ccg: * gst/src/query.hg: added a Gst::QueryConvert::parse(dest_format, dest_value) method 2008-01-08 José Alburquerque <jaalburqu@svn.gnome.org> * examples/ogg_player_gtkmm/PlayerWindow.cc: * examples/ogg_player_gtkmm/main.cc: added necessary includes * gst/gstmm.h: added missing gstmm includes * gst/src/bin.ccg: * gst/src/bin.hg: * gst/src/bus.ccg: * gst/src/bus.hg: * gst/src/caps.ccg: * gst/src/caps.hg: * gst/src/clock.ccg: * gst/src/clock.hg: reduced includes in *.hg files * gst/src/element.ccg: * gst/src/element.hg: reduced includes in *.hg file; added query() method and fixed set_clock() to use Glib::RefPtr<Clock> * gst/src/enums.hg: added StateChange enum; reduced includes * gst/src/error.ccg: * gst/src/error.hg: * gst/src/event.ccg: * gst/src/iterator.hg: * gst/src/message.hg: * gst/src/pad.ccg: * gst/src/pad.hg: * gst/src/padtemplate.ccg: * gst/src/padtemplate.hg: * gst/src/pipeline.ccg: * gst/src/pipeline.hg: * gst/src/systemclock.hg: * gst/src/xml.ccg: * gst/src/xml.hg: reduced includes in *.hg files * tests/test-message-wrap.cc: * tests/test-miniobject-wrap.cc: added necessary includes * tools/m4/convert_gst.m4: added Query, and StateChange conversions 2008-01-08 José Alburquerque <jaalburqu@svn.gnome.org> * gst/src/enums.ccg: added get_name() and get_quark() for QueryType * gst/src/enums.hg: wrapped QueryType * gst/src/event.ccg: * gst/src/event.hg: removed Gst::Event default constructor def * gst/src/format.ccg: renamed get_format_by_nick() to get_format(); commented out badly defined formats_contain_format() method; renamed get_format_details() to get_details() and reordered args * gst/src/format.hg: redefined struct FormatDefinition to use Glib::QueryQuark instead of GQuark * gst/src/message.ccg: * gst/src/message.hg: removed Gst::Message default constructor def * gst/src/query.ccg: * gst/src/query.hg: wrapped GstQuery * tests/Makefile.am: added test to wrap a query * tests/test-query-wrap.cc: new wrap query source file * tools/m4/convert_gst.m4: added QueryType/GstQueryType conversions 2008-01-06 José Alburquerque <jaalburqu@svn.gnome.org> * gst/src/element.hg: moved get_enum_name() methods to Gst namespace in enum.{hg, ccg} * gst/src/enums.ccg: added get_name() methods for EventType, Format, * gst/src/enums.hg: MessageType, State and StateChangeReturn; added get_quark() methods for EventType, Format and MessageType * gst/src/event.hg: moved get_enum_name() and get_enum_quark() to Gst namespace in enum.{hg, ccg} * gst/src/format.ccg: * gst/src/format.hg: moved get_format_name() and get_format_quark() to enum.{hg, ccg} * gst/src/message.hg: moved get_enum_name() and get_enum_quark() to Gst namespace in files enum.{hg, ccg} * tests/test-event-wrap.cc: added type name output line * tests/test-message-wrap.cc: added type name output line 2008-01-04 José Alburquerque <jaalburqu@svn.gnome.org> * examples/ogg_player_gtkmm/PlayerWindow.cc: modified on_forward() to send seek event instead of using Element::seek() * gst/src/Makefile_list_of_hg.am_fragment: alphabetized list of *.hg files * gst/src/element.ccg: added send_event() (manually because it needs to reference the event before sending it to not loose it) * gst/src/element.hg: alphabetized forward declarations; renamed state_get_name() and state_change_return_get_name() both to get_enum_name(); added send_event() method declaration * gst/src/event.ccg: added is_downstream(), is_upstream() and is is_serialized() * gst/src/event.hg: added getter methods for event timestamp and source; added get_enum_name() and get_enum_query(); made all create() methods static * gst/src/gst_methods.defs: fixed gst_{event,message}_type_{get_name,to_quark} definitions * gst/src/message.hg: added getter methods for message timestamp and source; added get_enum_name() and get_enum_quark() * gst/src/structure.ccg: * gst/src/structure.hg: made foreach_callback() and map_callback() functions private (in *.ccg file only and not members of Structure) * tests/Makefile.am: added a wrap event test * tests/test-event-wrap.cc: added for testing wrapping of event * tools/m4/convert_gst.m4: removed unused GstObect*/GObject* conversions; added guint64/ClockTime, MessageType, EventType, GQuark and Glib::RefPtr<Gst::Event> conversions 2008-01-01 Murray Cumming <murrayc@murrayc.com> * scripts/config.guess: * scripts/config.sub: * scripts/depcomp: * scripts/install-sh: * scripts/ltmain.sh: * scripts/missing: Removed these generated files. 2008-01-01 Murray Cumming <murrayc@murrayc.com> * gst/src/.stamps/: Removed this directory from svn. 2008-01-01 Murray Cumming <murrayc@murrayc.com> * gst/src/bus.ccg: * gst/src/bus.hg: Use guint instead of unsigned int, for consistency with the rest of *mm. 2007-12-31 José Alburquerque <jaalburquerque@cox.com> * examples/ogg_player_gtkmm/PlayerWindow.cc: modified to remove bus watch when PlayerWindow is destroyed (in destructor) * examples/ogg_player_gtkmm/PlayerWindow.h: added destructor (to remove bus watch) and watch_id variable definition (to store bus watch id) * gst/src/bin.ccg: changed std::string usages to * gst/src/bin.hg: Glib::ustring * gst/src/bus.ccg: added remove_watch() method and modified add_watch() to return a watch_id * gst/src/bus.hg: modified add_watch() declaration to return unsigned int and added a remove_watch() method * gst/src/caps.hg: used Glib::ustring instead of std::string * gst/src/element.ccg: removed handwritten sate_get_name() and state_change_return_get_name() methods to use _WRAP_METHOD .hg file instead * gst/src/element.hg: used _WRAP_METHOD for state_get_name() and state_change_return_get_name(); used Glib::ustring instead of std::string * gst/src/enums.hg: alphabetized enums; added EventType, TagMergeMode and TagFlag * gst/src/event.ccg: wrapped GstEvent * gst/src/event.hg: wrapped GstEvent * gst/src/format.ccg: used Glib::ustring instead of * gst/src/format.hg: std::string * gst/src/message.ccg: added MessageAsyncStart::parse() method definition * gst/src/message.hg: cleaned up spacing * gst/src/pad.ccg: used Glib::ustring instead of * gst/src/pad.hg: std::string * gst/src/padtemplate.ccg: used Glib::ustring instead of * gst/src/padtemplate.hg: std::string * gst/src/pipeline.ccg: used Glib::ustring instead of * gst/src/pipeline.hg: std::string * gst/src/structure.ccg: used Glib::ustring instead of * gst/src/structure.hg: std::string and added parameter names in .hg file * tools/m4/convert_gst.m4: added a GstEventType conversion macro 2008-01-01 Murray Cumming <murrayc@murrayc.com> * gst/gstmm/gst_wrap_init.cc: * gst/gstmm/wrap_init.cc: Remove these generated files from svn. 2007-12-21 Murray Cumming <murrayc@murrayc.com> * configure.ac: Add an extra PKG_CHECK_MODULES check (and resulting variables) when examples are enabled. * examples/Makefile.am_fragment: Use the new variables here. * examples/ogg_player_gtkmm/Makefile.am: Remove the use of pkg-config here. 2007-12-21 José Alburquerque <jaalburquerque@cox.com> * configure.ac: added --enable-examples option * examples/Makefile.am: added ogg_player_gtkmm to list of directories * examples/ogg_player/main.cc: fixed time output formatting * examples/ogg_player_gtkmm/Makefile.am: added automake compilation file for ogg_player_gtkmm example * examples/ogg_player_gtkmm/PlayerWindow.cc: added source files for * examples/ogg_player_gtkmm/PlayerWindow.h: for ogg_player_gtkmm * examples/ogg_player_gtkmm/main.cc: examples * gst/gstmm.h: added <gstmm/query.h> and <gstmm/event.h> * gst/src/Makefile_list_of_hg.am_fragment: added query.hg and event.hg to general hg files * gst/src/caps.hg: made some hidden methods public * gst/src/clock.ccg: renamed get_millesconds() to more appropriate name get_fractional_seconds(); added get_milliseconds(), get_microseconds() and get_nanoseconds() * gst/src/clock.hg: added declarations for get_microseconds(), get_nanoseconds() and get_fractional_seconds() * gst/src/element.hg: renamed seek_simple() method to (overloaded) seek() and fixed seek methods unneeded constant references * gst/src/event.ccg: added new file * gst/src/event.hg: added initial declaration for Gst::Event class * gst/src/query.ccg: added new file * gst/src/query.hg: added initial declaration for Gst::Query class 2007-12-13 José Alburquerque <jaalburquerque@cox.com> * examples/ogg_player/main.cc: Changed pos and len to type gint64 instead of Gst::ClockTime (required by Element::query_duration() and Element::query_position() * gst/src/element.hg: re-wrapped query_duration() and query_position() to use gint64 for position and duration as before (format can be something other than ClockTime) * tools/m4/convert_gst.m4: removed unused coversion from Gst::ClockTime& to gint64* 2007-12-13 Siavash Safi <siavash.safi@gmail.com> * configure.ac: updated AC_CONFIG_FILES() to add the new examples * examples/Makefile.am: * examples/element_link/Makefile.am: * examples/element_link/element_link.cc: new example that shows how to link elements * examples/ogg_player/Makefile.am: make oggplayer instead of example * examples/ogg_player/main.cc: added more comments * examples/optiongroup/Makefile.am: * examples/optiongroup/optiongroup.cc: new example that shows how to get an option group from gstmm and add your application-specific command line options * gst/gstmm/init.cc: * gst/gstmm/init.h: added init_check() and init_get_option_group() 2007-12-13 Murray Cumming <murrayc@murrayc.com> * examples/ogg_player/main.cc: Use std::endl instead of \r and \n. * gst/src/clock.ccg: * gst/src/clock.hg: Use guint instead of unsigned. * gst/src/element.ccg: * gst/src/element.hg: * gst/src/pad.ccg: * gst/src/pad.hg: Make the query*() methods const. 2007-12-12 José Alburquerque <jaalburquerque@cox.com> * examples/ogg_player/main.cc: modified example to query and show stream position * gst/src/clock.ccg: added get_hours(), get_minutes(), get_seconds() and get_milliseconds() methods for the Gst::ClockTime enum type * gst/src/clock.hg: added get_hours(), get_minutes(), get_seconds() and get_milliseconds declarations * gst/src/element.hg: modified query_position() and query_duration() methods to use a Gst::ClockTime instead of a gint64 and remove wrapped methods from IGNORE list * tools/m4/convert_gst.m4: added conversion from ClockTime& to gint64* 2007-12-12 Murray Cumming <murrayc@murrayc.com> * examples/ogg_player/main.cc: Use dynamic_cast<> instead of static_cast<> when casting the message. That is safer. * gst/src/message.ccg: wrap(): Do an extra ref if take_copy is true, fixing a refcount problem when running the ogg_player example. 2007-12-11 José Alburquerque <jaalburquerque@cox.com> * examples/ogg_player/main.cc: changed call message->get_type() to message->get_message_type() in on_bus_message() * gst/src/bus.ccg: changed SignalProxy_Watch_glib_callback() to use Gst::Message::wrap() instead of Gst::wrap() for message * gst/src/bus.hg: changed GstMessage* conversion macro to use Gst::Message::wrap() * gst/src/message.ccg: changed Gst::wrap() calls in Message classes to Gst::Message::wrap() in create() methods and added the new Gst::Message::wrap() method * gst/src/message.hg: added Gst::Message::wrap() declaration * tests/test-miniobject-wrap.cc: modified to use Gst::Message::wrap() form message wrapping * tools/m4/convert_gst.m4: changed GstMessage conversions to use Gst::Message::wrap() 2007-12-11 Murray Cumming <murrayc@murrayc.com> * gst/gstmm/init.cc: Call gst_wrap_register_init() to stop the crash in Gst::wrap(). * tests/test-miniobject-wrap.cc: Test whether Gst::wrap() is returning a derived Gst::Message. But it is not, because the derived Gst::Message classes in message.hg do not use _CLASS_GSTMINIOBJECT(), because they do not match any such types in GStreamer. These classes are invented by gstreamermm so we probably need yet another wrap() function, which could be hard-coded as a static method of Gst::Message. 2007-12-11 Murray Cumming <murrayc@murrayc.com> * configure.ac: * gst/gstmm/Makefile.am: * gst/gstmm/wrap.cc: * gst/gstmm/wrap.h: Added a Gst::wrap() system, based on Glib::wrap(), but without the extra checks for existing instances, because GstMiniObject has no object data to store the pointer. * gst/gstmm/gst_wrap_init.h: New file to dclare gst_wrap_init(). * gst/gstmm/init.cc: init(): Call gst_wrap_init(). * tools/Makefile_list_of_sources.am_fragment: * tools/generate_gst_wrap_init.pl.in: Add this script, based on glibmm/tools/generate_wrap_init.pl, but processing .hg files that use _CLASS_GSTMINIOBJECT(). This generates gst_wrap_init.cc * build_shared/Makefile_gensrc.am_fragment: Generate gst_wrap_init.cc, as well as wrap_init.cc. * tools/m4/class_gstminiobject.m4: Put wrap() in the Gst namespace again. * gst/src/bus.ccg: * gst/src/bus.hg: * tools/m4/convert_gst.m4: Use Gst::wrap() instead of Glib::wrap() with GstMessage. * gst/src/message.ccg: * gst/src/message.hg: include gst_wrap.h * tests/test-miniobject-wrap.cc: Use Gst::wrap() instead of Glib::wrap() with GstMessage, but this currently segfaults. 2007-12-11 Murray Cumming <murrayc@murrayc.com> * gst/gstmm/miniobject.h: Derive publically from Glib::ObjectBase to avoid compiler errors about base methods being private. Added the CppObjectType, CppClassType, BaseObjectType, and BaseClassType typedefs as in Glib::Object. * gst/gstmm/private/Makefile.am: * gst/gstmm/private/miniobject_p.h: Added a Glib::Class declaration for MiniObject, like the one that Glib::Object has. * gst/gstmm/miniobject.cc: Added the class_init_function() implementation. * gst/src/message.ccg: * gst/src/message.hg: Use _CLASS_GSTMINIOBJECT() instead of _CLASS_OPAQUE_REFCOUNTED() because a) _CLASS_OPAQUE_REFCOUNTED does not allow anything to be derived from the class that it creates, and b) we hope to get wrap() working. * tools/m4/convert.m4: Use class_gstminiobject.m4. * tools/m4/class_gstminiobject.m4: Remove the Glib::ConstructParams-based constructors, because GstMiniObject has no GObject properties system. Put the wrap() function in the Glib namespace, though this needs more work (and probably really needs to not be Glib::wrap()) because Glib::wrap() needs to use GObject qdata to discover previous C+instances. * tests/Makefile.am: * tests/test-miniobject-wrap.cc: Added a test to show how wrap() is currently failing. 2007-12-08 Murray Cumming <murrayc@murrayc.com> * examples/ogg_player/main.cc: Some minor changes to make this slightly clearer. 2007-12-08 Murray Cumming, <murrayc@murrayc.com> * examples/ogg_player/main.cc: Set the source location property from a std:: rather than a gchar*, which seems to avoid a problem with an unexpected type in the GObject property system. Probably gchar[] confuses it, but gchar* would work. * gst/src/message.ccg: * gst/src/message.hg: Remove commented-out enums. MessageError::parse(): Add a version without the optional debug parameter. Recode without ScopedPtr, because that obscures it for me. 2007-12-07 José Alburquerque <jaalburquerque@cox.com> * gst/src/bus.hg: consolidated add_signal_watch() and add_signal_watch_full() into one method. * configure.ac * examples/Makefile.am/ * examples/ogg_player/: Added an example that plays ogg files. 2007-12-05 José Alburquerque <jaalburquerque@yahoo.com> * gst/src/bus.ccg: added add_watch() method functionality * gst/src/bus.hg: added typedef SlotWatch, wrapped methods add_signal_watch(), add_signal_watch_full(), and remove_signal_watch() and wrapped signals message() and sync_message() * gst/src/gst_signals.defs: sync-message and message had wrong parameter type (GstMessage instead of GstMessage*) * gst/src/message.hg: changed get_type() to be public * tests/Makefile.am: modified to include test-create-bin * tests/test-create-bin.cc: added this test to create a bin and add elements to it (to "catch" errors as API changes) * tests/test-link-elements.cc: Removed a blank line * tools/m4/convert_gst.m4: Added conversion from GstMessageType to Gst::MessageType (for Gst::Message::get_type()) 2007-12-03 Murray Cumming <murrayc@murrayc.com> * gst/src/element.ccg: get_compatible_pad((): Clarify the comment now that we know that gst_element_get_compatible_pad() gives us a reference. See gstreamer bug #500919. 2007-12-03 Murray Cumming <murrayc@murrayc.com> * gst/gstmm/init.cc: Add closing } for namespace to fix the build. I am not sure when this was broken. 2007-11-30 José Alburquerque <jaalburquerque@cox.net> * gst/gstmm.h: added <gstmm/pipeline.h> * gst/src/bin.ccg: removed 2nd arg from Glib::wrap in Gst::Bin::create() * gst/src/pipeline.ccg: removed 2nd arg from Glib::wrap in Gst::Pipeline::create() and fixed Gst:Pipeline::add() unref error * tests/Makefile.am: added test to add element to pipeline and one to link several elements * tests/test-link-elements.cc: * tests/test-pipeline-add-element.cc: Added these tests. 2007-12-01 Murray Cumming <murrayc@murrayc.com> * gst/src/element.hg: * gst/src/pad.hg: * gst/src/padtemplate.hg: * tools/m4/convert_gst.m4: Move the signal conversion GstPad* -> const Glib::RefPtr<Pad>& into the .hg files and take a reference. I would rather have duplicates than risk these being hidden in the .m4 file where they are likely to be wrong. 2007-12-01 Murray Cumming <murrayc@murrayc.com> * gst/src/element.ccg: get_compatible_pad_template(): Use wrap(, true) instead of explictly using g_object_ref(). * gst/src/structure.ccg: * gst/src/structure.hg: Const corrections and whitespace corrections. * gst/gstmm/init.cc: * gst/gstmm/init.h: Whitespace corrections. 2007-12-01 Siavash Safi <siavash.safi@gmail.com> * configure.ac: added AC_CONFIG_FILES() for examples * examples/Makefile.am: * examples/Makefile.am_fragment: * examples/README: * examples/init/Makefile.am: * examples/init/init.cc: * gst/gstmm.h: version.h * gst/gstmm/Makefile.am: * gst/gstmm/version.cc: * gst/gstmm/version.h: * gst/src/element.ccg: * gst/src/element.hg: get_compatible_pad_template() * gst/src/padtemplate.hg: predefined Pad, pad_created() signal * gst/src/structure.ccg: * gst/src/structure.hg: get_uint() 2007-11-28 Siavash Safi <siavash.safi@gmail.com> * gst/src/element.hg: seek_simple(), seek() * gst/src/enums.hg: SeekType, SeekFlags (hand-coded) * tools/m4/convert_gst.m4: 2007-11-28 Murray Cumming <murrayc@murrayc.com> * gst/src/error.hg: Removed an unnecessary argument from the _DEFS() macro. 2007-11-28 José Alburquerque <jaalburquerque@cox.net> * gst/Makefile.am: Renamed some variables from gtkmm to gstmm. * tests/test-create-element.cc: Output some text also if the test was successful. 2007-11-23 Siavash Safi <siavash.safi@gmail.com> * gst/src/pad.hg: 2007-11-22 Murray Cumming <murrayc@murrayc.com> * gst/gstmm/private/object_p.h: Added this to svn. * gst/gstmm/private/Makefile.am: Add object_p.h to the dist, to fix distcheck. 2007-11-20 Murray Cumming <murrayc@murrayc.com> * gst/gstmm/Makefile.am: * gst/src/object.ccg: * gst/src/object.hg: Remove these .hg and .ccg files. * gst/gstmm/object.cc: * gst/gstmm/object.h: * gst/src/Makefile_list_of_hg.am_fragment: And hand-coded (based on generated code) .h and .cc files for Gst::Object, doing the ref sink in the castitem constructor. * gst/src/element.ccg: create(): Don't sink the ref here, because it is done in the Gst::Object constructor now. 2007-11-20 Murray Cumming <murrayc@murrayc.com> * tools/m4/Makefile_list_of_sources.am_fragment: * tools/m4/class_gstclass.m4: * tools/m4/class_gstobject.m4: * tools/m4/convert.m4: Remove GST_OBJECT(). It does not seem useful and it is likely to cause unexpected errors. * gst/src/object.ccg: * gst/src/object.hg: Sink the floating reference in the constructor. TODO: Reimplement this as .h/.cc so we can do it in the GObject* castitem constructor (or hack some m4 in the .hg file to do this.) * gst/src/element.ccg: * gst/src/element.hg: create(): Sink the reference before passing the GObject to Glib::wrap(). This is temporary until we have fixed Gst::Object as mentioned above. * tools/m4/convert_gst.m4: * gst/src/clock.ccg: * gst/src/clock.hg: * gst/src/bin.ccg: * gst/src/bin.hg: * gst/src/bus.ccg: * gst/src/bus.hg: * gst/src/message.ccg: * gst/src/pad.ccg: * gst/src/pad.hg: * gst/src/padtemplate.ccg: * gst/src/padtemplate.hg: * gst/src/pipeline.ccg: * gst/src/pipeline.hg: * gst/src/systemclock.hg: * gst/src/xml.ccg: * gst/src/xml.hg: Use Glib::wrap() instead of wrap(). Remove unnecessary includes. 2007-11-20 Murray Cumming <murrayc@murrayc.com> * tests/Makefile.am: Actually build the test. 2007-11-20 Murray Cumming <murrayc@murrayc.com> * autogen.sh: Use a version of the autogen.sh from cluttermm. This seems more robust. I had a autotools version-mismatch with the existing one. * configure.ac: * Makefile.am: * tests/Makefile.am: Added tests to the build. * tests/test-create-element.cc: Add a test from José Alburquerque. 2007-11-19 Milosz Derezynski <mderezynski@gmail.com> * autogen.sh: * gst/gstmm.h: * tools/m4/convert_gst.m4: THIS CHANGELOG ENTRY IS UNACCEPTABLE. murrayc. 2007-11-05 Murray Cumming <murrayc@murrayc.com> * gst/src/bin.hg: * gst/src/bus.ccg: * gst/src/bus.hg: * gst/src/caps.ccg: * gst/src/caps.hg: * gst/src/element.ccg: * gst/src/element.hg: * gst/src/pad.ccg: * gst/src/pad.hg: * gst/src/structure.ccg: * gst/src/structure.hg: * gst/src/systemclock.ccg: * gst/src/systemclock.hg: * tools/m4/convert_gst.m4: Use _WRAP_METHOD() instead of hand-coding methods (though I have not changed the ones that throw extra exceptions). Soem const corrections. 2007-11-05 Murray Cumming <murrayc@murrayc.com> * gst/src/element.hg: provides_clock(), provide_clock(), is_locked_state(): Const corrections. 2007-11-03 Murray Cumming <murrayc@murrayc.com> * gst/src/*.hg * tools/m4/convert_gst.m4: Made some const corrections. We need to investigate whether refreturn is needed for the getters. 2007-11-03 Murray Cumming <murrayc@murrayc.com> * tools/m4/convert_gst.m4: * gst/src/Makefile.am: * gst/src/: Regenerated .defs files, using the same filenames as in other *mm files, and removing the very-split-up .defs file. Several functions and signals were now defined, so I had to make some corrections and comment out some signals. Move _WRAP_SIGNAL() and _WRAP_PROPERTY() to the bottom of files, for consistency with other *mm projects. * tools/extra_defs_gen/generate_defs_gst.cc: Added more types. 2007-11-03 Murray Cumming <murrayc@murrayc.com> * gst/gstmm/Makefile.am: * gst/src/miniobject.ccg: * gst/src/miniobject.hg: Moved to * gst/gstmm/miniobject.cc: * gst/gstmm/miniobject.h: and made some changes to make it more like Glib::Object. Now I will try to see how it can/should be used. 2007-11-03 Murray Cumming <murrayc@murrayc.com> * gst/src/Makefile_list_of_hg.am_fragment: * gst/src/*.[hg|cc]: Renamed, to remove the gst prefix. (My previous commit also corrected the indenting.) 2007-11-02 Murray Cumming <murrayc@murrayc.com> * gst/src/gstmessage.hg: * gst/src/gstmessage.ccg: Commented out some code to fix the build. Please try to avoid checking in code that breaks the build. And please use the ChangeLog.