00001
00002
00003 #ifndef _GSTREAMERMM_VOLUME_H
00004 #define _GSTREAMERMM_VOLUME_H
00005
00006
00007 #include <glibmm.h>
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include <gstreamermm/audiofilter.h>
00031 #include <gstreamermm/interface.h>
00032 #include <gstreamermm/mixer.h>
00033
00034
00035 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00036 typedef struct _GstVolume GstVolume;
00037 typedef struct _GstVolumeClass GstVolumeClass;
00038 #endif
00039
00040
00041 namespace Gst
00042 { class Volume_Class; }
00043 namespace Gst
00044 {
00045
00056 class Volume
00057 : public Gst::AudioFilter, public Gst::Interface, public Gst::Mixer
00058 {
00059
00060 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00061
00062 public:
00063 typedef Volume CppObjectType;
00064 typedef Volume_Class CppClassType;
00065 typedef GstVolume BaseObjectType;
00066 typedef GstVolumeClass BaseClassType;
00067
00068 private: friend class Volume_Class;
00069 static CppClassType volume_class_;
00070
00071 private:
00072
00073 Volume(const Volume&);
00074 Volume& operator=(const Volume&);
00075
00076 protected:
00077 explicit Volume(const Glib::ConstructParams& construct_params);
00078 explicit Volume(GstVolume* castitem);
00079
00080 #endif
00081
00082 public:
00083 virtual ~Volume();
00084
00085 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00086 static GType get_type() G_GNUC_CONST;
00087
00088
00089 static GType get_base_type() G_GNUC_CONST;
00090 #endif
00091
00093 GstVolume* gobj() { return reinterpret_cast<GstVolume*>(gobject_); }
00094
00096 const GstVolume* gobj() const { return reinterpret_cast<GstVolume*>(gobject_); }
00097
00099 GstVolume* gobj_copy();
00100
00101 private:
00102
00103
00104 protected:
00105 Volume();
00106 Volume(const Glib::ustring& name);
00107
00108 public:
00112 static Glib::RefPtr<Volume> create();
00113
00114
00118 static Glib::RefPtr<Volume> create(const Glib::ustring& name);
00119
00120
00121 #ifdef GLIBMM_PROPERTIES_ENABLED
00122
00128 Glib::PropertyProxy<bool> property_mute() ;
00129 #endif //#GLIBMM_PROPERTIES_ENABLED
00130
00131 #ifdef GLIBMM_PROPERTIES_ENABLED
00132
00138 Glib::PropertyProxy_ReadOnly<bool> property_mute() const;
00139 #endif //#GLIBMM_PROPERTIES_ENABLED
00140
00141 #ifdef GLIBMM_PROPERTIES_ENABLED
00142
00148 Glib::PropertyProxy<double> property_volume() ;
00149 #endif //#GLIBMM_PROPERTIES_ENABLED
00150
00151 #ifdef GLIBMM_PROPERTIES_ENABLED
00152
00158 Glib::PropertyProxy_ReadOnly<double> property_volume() const;
00159 #endif //#GLIBMM_PROPERTIES_ENABLED
00160
00161
00162 public:
00163
00164 public:
00165
00166 #ifdef GLIBMM_VFUNCS_ENABLED
00167 #endif //GLIBMM_VFUNCS_ENABLED
00168
00169 protected:
00170
00171 #ifdef GLIBMM_VFUNCS_ENABLED
00172 #endif //GLIBMM_VFUNCS_ENABLED
00173
00174
00175 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00176 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00177
00178
00179 };
00180
00181 }
00182
00183
00184 namespace Glib
00185 {
00194 Glib::RefPtr<Gst::Volume> wrap(GstVolume* object, bool take_copy = false);
00195 }
00196
00197
00198 #endif
00199