<?xml version="1.0"?>
<block>
  <name>Tag Gate</name>
  <key>blocks_tag_gate</key>
  <import>from gnuradio import blocks</import>
  <make>blocks.tag_gate($type.size * $vlen, $propagate_tags)
self.$(id).set_single_key($single_key)</make>
  <callback>self.$(id).set_single_key($single_key)</callback>

  <param>
    <name>Item Type</name>
    <key>type</key>
    <type>enum</type>
    <option>
      <name>Complex</name>
      <key>complex</key>
      <opt>size:gr.sizeof_gr_complex</opt>
    </option>
    <option>
      <name>Float</name>
      <key>float</key>
      <opt>size:gr.sizeof_float</opt>
    </option>
    <option>
      <name>Int</name>
      <key>int</key>
      <opt>size:gr.sizeof_int</opt>
    </option>
    <option>
      <name>Short</name>
      <key>short</key>
      <opt>size:gr.sizeof_short</opt>
    </option>
    <option>
      <name>Byte</name>
      <key>byte</key>
      <opt>size:gr.sizeof_char</opt>
    </option>
  </param>
  <param>
	  <name>Vec Length</name>
	  <key>vlen</key>
	  <value>1</value>
	  <type>int</type>
  </param>
  <param>
    <name>Propagate Tags</name>
    <key>propagate_tags</key>
    <value>False</value>
    <type>enum</type>
    <option>
      <name>Yes</name>
      <key>True</key>
    </option>
    <option>
      <name>No</name>
      <key>False</key>
    </option>
  </param>

  <param>
    <name>Single Key</name>
    <key>single_key</key>
    <value>""</value>
    <type>string</type>
  </param>
  <check>$vlen &gt; 0</check>
  <sink>
    <name>in</name>
    <type>$type</type>
    <vlen>$vlen</vlen>
  </sink>
  <source>
    <name>out</name>
    <type>$type</type>
    <vlen>$vlen</vlen>
  </source>
</block>
