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"
+};