Index: libmpc/branches/r2d/mpcenc/config.h
===================================================================
--- libmpc/branches/r2d/mpcenc/config.h	(revision 213)
+++ libmpc/branches/r2d/mpcenc/config.h	(revision 220)
@@ -31,14 +31,7 @@
 /* parsed values from file "version" */
 
-#ifndef MPPDEC_VERSION
-# define MPPDEC_VERSION   "1.15v"
-#endif
-
-#define MPPDEC_BUILD  "--Alpha--"
-
-#define MPPENC_MAJOR 1
-#define MPPENC_MINOR 17
-#define MPPENC_IMPLEMENT 0
-#define MPPENC_BUILD 0
+#define MPCENC_MAJOR 1
+#define MPCENC_MINOR 17
+#define MPCENC_BUILD 0
 
 /* end of config.h */
Index: libmpc/branches/r2d/mpcenc/mpcenc.c
===================================================================
--- libmpc/branches/r2d/mpcenc/mpcenc.c	(revision 213)
+++ libmpc/branches/r2d/mpcenc/mpcenc.c	(revision 220)
@@ -1611,13 +1611,15 @@
 	writeMagic(&e);
 	writeStreamInfo ( &e, m.Max_Band, m.MS_Channelmode > 0, SamplesInWAVE,
-					   m.SampleFreq, Wave.Channels > 2 ? 2 : Wave.Channels, 0, 0, 0, 0);
-	si_size = writeBlock(&e, "SI", MPC_TRUE, 0);
-	writeEncoderInfo(&e, m.FullQual, m.PNS > 0, MPPENC_MAJOR, MPPENC_MINOR,
-					  MPPENC_IMPLEMENT, MPPENC_BUILD);
+					   m.SampleFreq, Wave.Channels > 2 ? 2 : Wave.Channels);
+	si_size = writeBlock(&e, "SH", MPC_TRUE, 0);
+	writeGainInfo ( &e, 0, 0, 0, 0);
+	writeBlock(&e, "RG", MPC_FALSE, 0);
+	writeEncoderInfo(&e, m.FullQual, m.PNS > 0, MPCENC_MAJOR, MPCENC_MINOR,
+					  MPCENC_BUILD);
 	writeBlock(&e, "EI", MPC_FALSE, 0);
 	e.seek_ptr = ftell(e.outputFile);
 	writeBits (&e, 0, 8);
 	writeBits (&e, 0, 32); // jump 40 bits for seek table pointer
-	writeBlock(&e, "SP", MPC_FALSE, 0); // reserve space for seek pointer
+	writeBlock(&e, "SO", MPC_FALSE, 0); // reserve space for seek offset
 
 
@@ -1724,5 +1726,5 @@
 		}
 		e.block_cnt++;
-		writeBlock(&e, "AD", MPC_FALSE, 0);
+		writeBlock(&e, "AP", MPC_FALSE, 0);
 	}
 	writeSeekTable(&e);
@@ -1734,6 +1736,6 @@
 		fseek(e.outputFile, e.seek_ref + 4, SEEK_SET);
 		writeStreamInfo ( &e, m.Max_Band, m.MS_Channelmode > 0, SamplesInWAVE,
-						   m.SampleFreq, Wave.Channels > 2 ? 2 : Wave.Channels, 0, 0, 0, 0);
-		writeBlock(&e, "SI", MPC_TRUE, si_size);
+						   m.SampleFreq, Wave.Channels > 2 ? 2 : Wave.Channels);
+		writeBlock(&e, "SH", MPC_TRUE, si_size);
 		fseek(e.outputFile, 0, SEEK_END);
 	}
