add string lookup tables for enums
diff --git a/include/FLAC/format.h b/include/FLAC/format.h
index 77e65b7..bd36b9e 100644
--- a/include/FLAC/format.h
+++ b/include/FLAC/format.h
@@ -65,6 +65,7 @@
 typedef enum {
 	FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE = 0
 } FLAC__EntropyCodingMethodType;
+extern const char *FLAC__EntropyCodingMethodTypeString[];
 
 /*****************************************************************************
  *
@@ -102,6 +103,7 @@
 	FLAC__SUBFRAME_TYPE_FIXED = 2,
 	FLAC__SUBFRAME_TYPE_LPC = 3
 } FLAC__SubframeType;
+extern const char *FLAC__SubframeTypeString[];
 
 /*****************************************************************************
  *
@@ -201,6 +203,7 @@
 	FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE = 2,
 	FLAC__CHANNEL_ASSIGNMENT_MID_SIDE = 3
 } FLAC__ChannelAssignment;
+extern const char *FLAC__ChannelAssignmentString[];
 
 /*****************************************************************************
  *
@@ -290,6 +293,7 @@
 typedef enum {
 	FLAC__METADATA_TYPE_ENCODING = 0
 } FLAC__MetaDataType;
+extern const char *FLAC__MetaDataTypeString[];
 
 /*****************************************************************************
  *
diff --git a/src/libFLAC/format.c b/src/libFLAC/format.c
index f7cf9f4..6e08b61 100644
--- a/src/libFLAC/format.c
+++ b/src/libFLAC/format.c
@@ -56,6 +56,10 @@
 const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN = 4; /* bits */
 const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN = 4; /* bits */
 
+const char *FLAC__EntropyCodingMethodTypeString[] = {
+	"PARTITIONED_RICE"
+};
+
 const unsigned FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN = 4; /* bits */
 const unsigned FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN = 5; /* bits */
 const unsigned FLAC__SUBFRAME_LPC_RICE_PARAMETER_LEN = 4; /* bits */
@@ -65,3 +69,21 @@
 const unsigned FLAC__SUBFRAME_TYPE_FIXED_BITS = 0x10;
 const unsigned FLAC__SUBFRAME_TYPE_LPC_BITS = 0x40;
 const unsigned FLAC__SUBFRAME_TYPE_LEN = 8; /* bits */
+
+const char *FLAC__SubframeTypeString[] = {
+	"CONSTANT",
+	"VERBATIM",
+	"FIXED",
+	"LPC"
+};
+
+const char *FLAC__ChannelAssignmentString[] = {
+	"INDEPENDENT",
+	"LEFT_SIDE",
+	"RIGHT_SIDE",
+	"MID_SIDE"
+};
+
+const char *FLAC__MetaDataTypeString[] = {
+	"ENCODING"
+};