00001
00002
00003 #ifndef _GSTREAMERMM_MIXERTRACK_H
00004 #define _GSTREAMERMM_MIXERTRACK_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 #include <glibmm/object.h>
00029
00030
00031 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00032 typedef struct _GstMixerTrack GstMixerTrack;
00033 typedef struct _GstMixerTrackClass GstMixerTrackClass;
00034 #endif
00035
00036
00037 namespace Gst
00038 { class MixerTrack_Class; }
00039 namespace Gst
00040 {
00041
00055 enum MixerTrackFlags
00056 {
00057 MIXER_TRACK_INPUT = 1<<0,
00058 MIXER_TRACK_OUTPUT = 1<<1,
00059 MIXER_TRACK_MUTE = 1<<2,
00060 MIXER_TRACK_RECORD = 1<<3,
00061 MIXER_TRACK_MASTER = 1<<4,
00062 MIXER_TRACK_SOFTWARE = 1<<5
00063 };
00064
00066 inline MixerTrackFlags operator|(MixerTrackFlags lhs, MixerTrackFlags rhs)
00067 { return static_cast<MixerTrackFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00068
00070 inline MixerTrackFlags operator&(MixerTrackFlags lhs, MixerTrackFlags rhs)
00071 { return static_cast<MixerTrackFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00072
00074 inline MixerTrackFlags operator^(MixerTrackFlags lhs, MixerTrackFlags rhs)
00075 { return static_cast<MixerTrackFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00076
00078 inline MixerTrackFlags operator~(MixerTrackFlags flags)
00079 { return static_cast<MixerTrackFlags>(~static_cast<unsigned>(flags)); }
00080
00082 inline MixerTrackFlags& operator|=(MixerTrackFlags& lhs, MixerTrackFlags rhs)
00083 { return (lhs = static_cast<MixerTrackFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00084
00086 inline MixerTrackFlags& operator&=(MixerTrackFlags& lhs, MixerTrackFlags rhs)
00087 { return (lhs = static_cast<MixerTrackFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00088
00090 inline MixerTrackFlags& operator^=(MixerTrackFlags& lhs, MixerTrackFlags rhs)
00091 { return (lhs = static_cast<MixerTrackFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00092
00093 }
00094
00095
00096 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00097 namespace Glib
00098 {
00099
00100 template <>
00101 class Value<Gst::MixerTrackFlags> : public Glib::Value_Flags<Gst::MixerTrackFlags>
00102 {
00103 public:
00104 static GType value_type() G_GNUC_CONST;
00105 };
00106
00107 }
00108 #endif
00109
00110
00111 namespace Gst
00112 {
00113
00114
00120 class MixerTrack : public Glib::Object
00121 {
00122
00123 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00124
00125 public:
00126 typedef MixerTrack CppObjectType;
00127 typedef MixerTrack_Class CppClassType;
00128 typedef GstMixerTrack BaseObjectType;
00129 typedef GstMixerTrackClass BaseClassType;
00130
00131 private: friend class MixerTrack_Class;
00132 static CppClassType mixertrack_class_;
00133
00134 private:
00135
00136 MixerTrack(const MixerTrack&);
00137 MixerTrack& operator=(const MixerTrack&);
00138
00139 protected:
00140 explicit MixerTrack(const Glib::ConstructParams& construct_params);
00141 explicit MixerTrack(GstMixerTrack* castitem);
00142
00143 #endif
00144
00145 public:
00146 virtual ~MixerTrack();
00147
00148 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00149 static GType get_type() G_GNUC_CONST;
00150 static GType get_base_type() G_GNUC_CONST;
00151 #endif
00152
00154 GstMixerTrack* gobj() { return reinterpret_cast<GstMixerTrack*>(gobject_); }
00155
00157 const GstMixerTrack* gobj() const { return reinterpret_cast<GstMixerTrack*>(gobject_); }
00158
00160 GstMixerTrack* gobj_copy();
00161
00162 private:
00163
00164
00165 public:
00168 Glib::ustring get_label() const;
00171 guint32 get_num_channels() const;
00172
00175 guint32 get_min_volume() const;
00176
00179 guint32 get_max_volume() const;
00180
00181 #ifdef GLIBMM_PROPERTIES_ENABLED
00182
00188 Glib::PropertyProxy_ReadOnly<guint> property_flags() const;
00189 #endif //#GLIBMM_PROPERTIES_ENABLED
00190
00191
00192 #ifdef GLIBMM_PROPERTIES_ENABLED
00193
00199 Glib::PropertyProxy_ReadOnly<guint> property_index() const;
00200 #endif //#GLIBMM_PROPERTIES_ENABLED
00201
00202
00203 #ifdef GLIBMM_PROPERTIES_ENABLED
00204
00210 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_label() const;
00211 #endif //#GLIBMM_PROPERTIES_ENABLED
00212
00213
00214 #ifdef GLIBMM_PROPERTIES_ENABLED
00215
00221 Glib::PropertyProxy_ReadOnly<int> property_max_volume() const;
00222 #endif //#GLIBMM_PROPERTIES_ENABLED
00223
00224
00225 #ifdef GLIBMM_PROPERTIES_ENABLED
00226
00232 Glib::PropertyProxy_ReadOnly<int> property_min_volume() const;
00233 #endif //#GLIBMM_PROPERTIES_ENABLED
00234
00235
00236 #ifdef GLIBMM_PROPERTIES_ENABLED
00237
00243 Glib::PropertyProxy_ReadOnly<int> property_num_channels() const;
00244 #endif //#GLIBMM_PROPERTIES_ENABLED
00245
00246
00247 #ifdef GLIBMM_PROPERTIES_ENABLED
00248
00254 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_untranslated_label() const;
00255 #endif //#GLIBMM_PROPERTIES_ENABLED
00256
00257
00258 public:
00259
00260 public:
00261
00262 #ifdef GLIBMM_VFUNCS_ENABLED
00263 #endif //GLIBMM_VFUNCS_ENABLED
00264
00265 protected:
00266
00267 #ifdef GLIBMM_VFUNCS_ENABLED
00268 #endif //GLIBMM_VFUNCS_ENABLED
00269
00270
00271 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00272 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00273
00274
00275 };
00276
00277 }
00278
00279
00280 namespace Glib
00281 {
00290 Glib::RefPtr<Gst::MixerTrack> wrap(GstMixerTrack* object, bool take_copy = false);
00291 }
00292
00293
00294 #endif
00295