Changed tch_mode enum to support AMR
diff --git a/grc/decoding/gsm_tch_f_decoder.xml b/grc/decoding/gsm_tch_f_decoder.xml
index b8d6dbf..59ac97d 100644
--- a/grc/decoding/gsm_tch_f_decoder.xml
+++ b/grc/decoding/gsm_tch_f_decoder.xml
@@ -11,11 +11,43 @@
     <type>enum</type>
     <option>
       <name>GSM-FR</name>
-      <key>grgsm.MODE_SPEECH_FR</key>
+      <key>grgsm.TCH_FS</key>
     </option>
     <option>
       <name>GSM-EFR</name>
-      <key>grgsm.MODE_SPEECH_EFR</key>
+      <key>grgsm.TCH_EFR</key>
+    </option>
+    <option>
+      <name>GSM-AMR 12.2</name>
+      <key>grgsm.TCH_AFS12_2</key>
+    </option>
+    <option>
+      <name>GSM-AMR 10.2</name>
+      <key>grgsm.TCH_AFS10_2</key>
+    </option>
+    <option>
+      <name>GSM-AMR 7.95</name>
+      <key>grgsm.TCH_AFS7_95</key>
+    </option>
+    <option>
+      <name>GSM-AMR 7.4</name>
+      <key>grgsm.TCH_AFS7_4</key>
+    </option>
+    <option>
+      <name>GSM-AMR 6.7</name>
+      <key>grgsm.TCH_AFS6_7</key>
+    </option>
+    <option>
+      <name>GSM-AMR 5.9</name>
+      <key>grgsm.TCH_AFS5_9</key>
+    </option>
+    <option>
+      <name>GSM-AMR 5.15</name>
+      <key>grgsm.TCH_AFS5_15</key>
+    </option>
+    <option>
+      <name>GSM-AMR 4.75</name>
+      <key>grgsm.TCH_AFS4_75</key>
     </option>
   </param>
   <param>
diff --git a/include/grgsm/decoding/tch_f_decoder.h b/include/grgsm/decoding/tch_f_decoder.h
index 42c9107..efe082c 100644
--- a/include/grgsm/decoding/tch_f_decoder.h
+++ b/include/grgsm/decoding/tch_f_decoder.h
@@ -32,8 +32,16 @@
 
     enum tch_mode
     {
-        MODE_SPEECH_FR,
-        MODE_SPEECH_EFR,
+        TCH_AFS12_2,
+        TCH_AFS10_2,
+        TCH_AFS7_95,
+        TCH_AFS7_4,
+        TCH_AFS6_7,
+        TCH_AFS5_9,
+        TCH_AFS5_15,
+        TCH_AFS4_75,
+        TCH_FS,
+        TCH_EFR
     };
 
     /*!
diff --git a/lib/decoding/tch_f_decoder_impl.cc b/lib/decoding/tch_f_decoder_impl.cc
index 283e0f0..c8265ea 100644
--- a/lib/decoding/tch_f_decoder_impl.cc
+++ b/lib/decoding/tch_f_decoder_impl.cc
@@ -57,7 +57,7 @@
             throw std::runtime_error("TCH/F Decoder: can't open file\n");
         }
 
-        if (d_tch_mode == MODE_SPEECH_EFR)
+        if (d_tch_mode != TCH_FS)
         {
             fwrite(amr_nb_magic, 1, 6, d_speech_file);
         }
@@ -196,7 +196,7 @@
                 unsigned char mTCHFrame[33];
                 unsigned int  mTCHFrameLength;
 
-                if (d_tch_mode == MODE_SPEECH_FR) // GSM-FR
+                if (d_tch_mode == TCH_FS) // GSM-FR
                 {
                     // Undo Um's importance-sorted bit ordering.
                     // See GSM 05.03 3.1 and Tablee 2.
@@ -207,7 +207,7 @@
                     mVFrame.pack(mTCHFrame);
                     mTCHFrameLength = 33;
                 }
-                else if (d_tch_mode == MODE_SPEECH_EFR) // GSM-EFR / AMR 12.2
+                else if (d_tch_mode == TCH_EFR) // GSM-EFR / AMR 12.2
                 {
                     VocoderAMRFrame mVFrameAMR;