00001
00002
00003 #ifndef _GSTREAMERBASEMM_VOLUME_H
00004 #define _GSTREAMERBASEMM_VOLUME_H
00005
00006
00007 #include <glibmm.h>
00008
00009 #include <gstreamerbasemm/audiofilter.h>
00010
00011
00012 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00013 typedef struct _GstVolume GstVolume;
00014 typedef struct _GstVolumeClass GstVolumeClass;
00015 #endif
00016
00017
00018 namespace GstBase
00019 { class Volume_Class; }
00020 namespace GstBase
00021 {
00022
00023
00033 class Volume
00034 : public GstBase::AudioFilter
00035 {
00036
00037 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00038
00039 public:
00040 typedef Volume CppObjectType;
00041 typedef Volume_Class CppClassType;
00042 typedef GstVolume BaseObjectType;
00043 typedef GstVolumeClass BaseClassType;
00044
00045 private: friend class Volume_Class;
00046 static CppClassType volume_class_;
00047
00048 private:
00049
00050 Volume(const Volume&);
00051 Volume& operator=(const Volume&);
00052
00053 protected:
00054 explicit Volume(const Glib::ConstructParams& construct_params);
00055 explicit Volume(GstVolume* castitem);
00056
00057 #endif
00058
00059 public:
00060 virtual ~Volume();
00061
00062 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00063 static GType get_type() G_GNUC_CONST;
00064 static GType get_base_type() G_GNUC_CONST;
00065 #endif
00066
00068 GstVolume* gobj() { return reinterpret_cast<GstVolume*>(gobject_); }
00069
00071 const GstVolume* gobj() const { return reinterpret_cast<GstVolume*>(gobject_); }
00072
00074 GstVolume* gobj_copy();
00075
00076 private:
00077
00078
00079 protected:
00080 Volume();
00081 Volume(const Glib::ustring& name);
00082
00083 public:
00087 static Glib::RefPtr<Volume> create();
00088
00089
00093 static Glib::RefPtr<Volume> create(const Glib::ustring& name);
00094
00095
00096 #ifdef GLIBMM_PROPERTIES_ENABLED
00097
00103 Glib::PropertyProxy<bool> property_mute() ;
00104 #endif //#GLIBMM_PROPERTIES_ENABLED
00105
00106 #ifdef GLIBMM_PROPERTIES_ENABLED
00107
00113 Glib::PropertyProxy_ReadOnly<bool> property_mute() const;
00114 #endif //#GLIBMM_PROPERTIES_ENABLED
00115
00116 #ifdef GLIBMM_PROPERTIES_ENABLED
00117
00123 Glib::PropertyProxy<double> property_volume() ;
00124 #endif //#GLIBMM_PROPERTIES_ENABLED
00125
00126 #ifdef GLIBMM_PROPERTIES_ENABLED
00127
00133 Glib::PropertyProxy_ReadOnly<double> property_volume() const;
00134 #endif //#GLIBMM_PROPERTIES_ENABLED
00135
00136
00137 public:
00138
00139 public:
00140
00141 #ifdef GLIBMM_VFUNCS_ENABLED
00142 #endif //GLIBMM_VFUNCS_ENABLED
00143
00144 protected:
00145
00146 #ifdef GLIBMM_VFUNCS_ENABLED
00147 #endif //GLIBMM_VFUNCS_ENABLED
00148
00149
00150 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00151 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00152
00153
00154 };
00155
00156 }
00157
00158
00159 namespace Glib
00160 {
00169 Glib::RefPtr<GstBase::Volume> wrap(GstVolume* object, bool take_copy = false);
00170 }
00171
00172
00173 #endif
00174