From 758fff58405ba7e351f80cc780177fe78494d78f Mon Sep 17 00:00:00 2001
From: Tom Rondeau <trondeau@vt.edu>
Date: Thu, 13 Dec 2012 11:58:25 -0500
Subject: core: adding a file meta source block.

Right now, reads headers to get the item size and segment size. Streams data segments as correct data type out of streaming port 0. Does nothing else with meta data.
---
 grc/blocks/block_tree.xml          |  1 +
 grc/blocks/gr_file_meta_source.xml | 88 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 89 insertions(+)
 create mode 100644 grc/blocks/gr_file_meta_source.xml

(limited to 'grc')

diff --git a/grc/blocks/block_tree.xml b/grc/blocks/block_tree.xml
index 37a6321f5d..f1c68c7c93 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_source</block>
 		<block>gr_file_meta_sink</block>
 		<block>blks2_tcp_sink</block>
 		<block>gr_udp_sink</block>
diff --git a/grc/blocks/gr_file_meta_source.xml b/grc/blocks/gr_file_meta_source.xml
new file mode 100644
index 0000000000..9e5fcb0a21
--- /dev/null
+++ b/grc/blocks/gr_file_meta_source.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+##File Source
+###################################################
+ -->
+<block>
+	<name>File Meta Source</name>
+	<key>gr_file_meta_source</key>
+	<import>from gnuradio import gr</import>
+	<make>gr.file_meta_source($file, $repeat, $detached, $hdr_file)</make>
+	<callback>open($file, $repeat)</callback>
+	<param>
+		<name>Output 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>File</name>
+		<key>file</key>
+		<value></value>
+		<type>file_open</type>
+	</param>
+	<param>
+		<name>Repeat</name>
+		<key>repeat</key>
+		<value>True</value>
+		<type>enum</type>
+		<option>
+			<name>Yes</name>
+			<key>True</key>
+		</option>
+		<option>
+			<name>No</name>
+			<key>False</key>
+		</option>
+	</param>
+	<param>
+		<name>Detached Header</name>
+		<key>detached</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>Header File</name>
+		<key>hdr_file</key>
+		<value></value>
+		<type>file_open</type>
+	</param>
+	<source>
+		<name>out</name>
+		<type>$type</type>
+		<vlen>1</vlen>
+	</source>
+</block>
-- 
cgit v1.2.3