示例#1
0
public MixerTrack (uint index, string untranslated_label, string label, MixerTrackFlags flags, int num_channels, int min_volume, int max_volume) : base (IntPtr.Zero) {
  CreateNativeObject (new string [] {"index", "untranslated-label"}, new Gst.GLib.Value [] { new Gst.GLib.Value (index), new Gst.GLib.Value (untranslated_label) });

  unsafe {
    IntPtr* raw_ptr = (IntPtr*) ( ( (byte*) Handle) + label_offset);
    *raw_ptr = Gst.GLib.Marshaller.StringToPtrGStrdup (label);
  }

  unsafe {
    int* raw_ptr = (int*) ( ( (byte*) Handle) + flags_offset);
    *raw_ptr = (int) flags;
  }

  unsafe {
    int* raw_ptr = (int*) ( ( (byte*) Handle) + num_channels_offset);
    *raw_ptr = num_channels;
  }

  unsafe {
    int* raw_ptr = (int*) ( ( (byte*) Handle) + min_volume_offset);
    *raw_ptr = min_volume;
  }

  unsafe {
    int* raw_ptr = (int*) ( ( (byte*) Handle) + max_volume_offset);
    *raw_ptr = max_volume;
  }

}
 public override void DeserializeData(int len, BinaryReader r)
 {
     this.U1 = r.ReadInt32();
     this.Flags = (MixerTrackFlags)r.ReadUInt32();
 }