From 54c23abf9b9703b8d52704fa01b9d6069d9edf91 Mon Sep 17 00:00:00 2001
From: Tom Rondeau <trondeau@vt.edu>
Date: Wed, 21 Nov 2012 18:11:20 -0500
Subject: core: adding GRC file for file metadata sink

---
 grc/blocks/block_tree.xml        |  1 +
 grc/blocks/gr_file_meta_sink.xml | 94 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 95 insertions(+)
 create mode 100644 grc/blocks/gr_file_meta_sink.xml

(limited to 'grc')

diff --git a/grc/blocks/block_tree.xml b/grc/blocks/block_tree.xml
index d7ec82e4ab..2210701116 100644
--- a/grc/blocks/block_tree.xml
+++ b/grc/blocks/block_tree.xml
@@ -29,6 +29,7 @@
 		<block>gr_vector_sink_x</block>
 		<block>gr_null_sink</block>
 		<block>gr_file_sink</block>
+		<block>gr_file_meta_sink</block>
 		<block>blks2_tcp_sink</block>
 		<block>gr_udp_sink</block>
 		<block>gr_wavfile_sink</block>
diff --git a/grc/blocks/gr_file_meta_sink.xml b/grc/blocks/gr_file_meta_sink.xml
new file mode 100644
index 0000000000..13a7030b0b
--- /dev/null
+++ b/grc/blocks/gr_file_meta_sink.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+##File Meta Sink
+###################################################
+ -->
+<block>
+	<name>File Meta Sink</name>
+	<key>gr_file_meta_sink</key>
+	<import>from gnuradio import gr</import>
+	<make>gr.file_meta_sink($type.size*$vlen, $file, $samp_rate, $type.dtype, $type.cplx)
+self.$(id).set_unbuffered($unbuffered)</make>
+	<callback>set_unbuffered($unbuffered)</callback>
+	<callback>open($file)</callback>
+	<param>
+		<name>File</name>
+		<key>file</key>
+		<value></value>
+		<type>file_save</type>
+	</param>
+	<param>
+		<name>Input Type</name>
+		<key>type</key>
+		<type>enum</type>
+		<option>
+			<name>Complex</name>
+			<key>complex</key>
+			<opt>size:gr.sizeof_gr_complex</opt>
+			<opt>dtype:gr.GR_FILE_FLOAT</opt>
+			<opt>cplx:True</opt>
+		</option>
+		<option>
+			<name>Float</name>
+			<key>float</key>
+			<opt>size:gr.sizeof_float</opt>
+			<opt>dtype:gr.GR_FILE_FLOAT</opt>
+			<opt>cplx:False</opt>
+		</option>
+		<option>
+			<name>Int</name>
+			<key>int</key>
+			<opt>size:gr.sizeof_int</opt>
+			<opt>dtype:gr.GR_FILE_INT</opt>
+			<opt>cplx:False</opt>
+		</option>
+		<option>
+			<name>Short</name>
+			<key>short</key>
+			<opt>size:gr.sizeof_short</opt>
+			<opt>dtype:gr.GR_FILE_SHORT</opt>
+			<opt>cplx:False</opt>
+		</option>
+		<option>
+			<name>Byte</name>
+			<key>byte</key>
+			<opt>size:gr.sizeof_char</opt>
+			<opt>dtype:gr.GR_FILE_BYTE</opt>
+			<opt>cplx:False</opt>
+		</option>
+	</param>
+	<param>
+		<name>Sample Rate</name>
+		<key>samp_rate</key>
+		<value>samp_rate</value>
+		<type>real</type>
+	</param>
+	<param>
+		<name>Vec Length</name>
+		<key>vlen</key>
+		<value>1</value>
+		<type>int</type>
+	</param>
+	<param>
+		<name>Unbuffered</name>
+		<key>unbuffered</key>
+		<value>False</value>
+		<type>bool</type>
+		<option>
+				<name>Off</name>
+				<key>False</key>
+		</option>
+		<option>
+				<name>On</name>
+				<key>True</key>
+		</option>
+	</param>
+
+	<check>$vlen &gt; 0</check>
+	<sink>
+		<name>in</name>
+		<type>$type</type>
+		<vlen>$vlen</vlen>
+	</sink>
+</block>
-- 
cgit v1.2.3