diff --git a/fb2k/in_vgmstream.cpp b/fb2k/in_vgmstream.cpp
index 00bab3c3..42221a22 100644
--- a/fb2k/in_vgmstream.cpp
+++ b/fb2k/in_vgmstream.cpp
@@ -371,6 +371,7 @@ bool input_vgmstream::g_is_our_path(const char * p_path,const char * p_extension
if(!stricmp_utf8(p_extension,"msf")) return 1;
if(!stricmp_utf8(p_extension,"mss")) return 1;
if(!stricmp_utf8(p_extension,"msvp")) return 1;
+ if(!stricmp_utf8(p_extension,"mtaf")) return 1;
if(!stricmp_utf8(p_extension,"mus")) return 1;
if(!stricmp_utf8(p_extension,"musc")) return 1;
if(!stricmp_utf8(p_extension,"musx")) return 1;
@@ -458,6 +459,7 @@ bool input_vgmstream::g_is_our_path(const char * p_path,const char * p_extension
if(!stricmp_utf8(p_extension,"thp")) return 1;
if(!stricmp_utf8(p_extension,"tk1")) return 1;
if(!stricmp_utf8(p_extension,"tk5")) return 1;
+ if(!stricmp_utf8(p_extension,"tra")) return 1;
if(!stricmp_utf8(p_extension,"tydsp")) return 1;
if(!stricmp_utf8(p_extension,"um3")) return 1;
@@ -666,6 +668,7 @@ DECLARE_MULTIPLE_FILE_TYPE("MSA Audio File (*.MSA)", msa);
DECLARE_MULTIPLE_FILE_TYPE("MSF Audio File (*.MSF)", msf);
DECLARE_MULTIPLE_FILE_TYPE("MSS Audio File (*.MSS)", mss);
DECLARE_MULTIPLE_FILE_TYPE("MSVP Audio File (*.MSVP)", msvp);
+DECLARE_MULTIPLE_FILE_TYPE("MTAF Audio File (*.MTAF)", mtaf);
DECLARE_MULTIPLE_FILE_TYPE("MUS Playlist File (*.MUS)", mus);
DECLARE_MULTIPLE_FILE_TYPE("MUSC Audio File (*.MUSC)", musc);
DECLARE_MULTIPLE_FILE_TYPE("MUSX Audio File (*.MUSX)", musx);
diff --git a/src/Makefile b/src/Makefile
index 44161286..7e535ec1 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -48,7 +48,9 @@ LAYOUT_OBJS=layout/ast_blocked.o \
layout/mxch_blocked.o \
layout/psx_mgav_blocked.o \
layout/ps2_adm_blocked.o \
- layout/bdsp_blocked.o
+ layout/bdsp_blocked.o \
+ layout/tra_blocked.o \
+ layout/mtaf_block.o
META_OBJS=meta/adx_header.o \
meta/afc_header.o \
@@ -262,7 +264,9 @@ META_OBJS=meta/adx_header.o \
meta/ps3_sgh_sgb.o \
meta/ngca.o \
meta/wii_ras.o \
- meta/ps2_spm.o
+ meta/ps2_spm.o \
+ meta/ps2_mtaf.o \
+ meta/x360_tra.o
OBJECTS=vgmstream.o streamfile.o util.o $(CODING_OBJS) $(LAYOUT_OBJS) $(META_OBJS)
diff --git a/src/layout/Makefile.unix.am b/src/layout/Makefile.unix.am
index 7b6c4075..1db41d10 100644
--- a/src/layout/Makefile.unix.am
+++ b/src/layout/Makefile.unix.am
@@ -33,5 +33,7 @@ liblayout_la_SOURCES += mxch_blocked.c
liblayout_la_SOURCES += psx_mgav_blocked.c
liblayout_la_SOURCES += ps2_adm_blocked.c
liblayout_la_SOURCES += bdsp_blocked.c
+liblayout_la_SOURCES += mtaf_block.c
+liblayout_la_SOURCES += tra_blocked.c
EXTRA_DIST = layout.h
diff --git a/src/libvgmstream.vcproj b/src/libvgmstream.vcproj
index 19fdf9b0..90a135b0 100644
--- a/src/libvgmstream.vcproj
+++ b/src/libvgmstream.vcproj
@@ -690,6 +690,10 @@
RelativePath=".\meta\ps2_msa.c"
>
+
+
@@ -1010,6 +1014,10 @@
RelativePath=".\meta\wvs.c"
>
+
+
@@ -1254,6 +1262,10 @@
RelativePath=".\layout\ivaud_layout.c"
>
+
+
@@ -1282,6 +1294,10 @@
RelativePath=".\layout\thp_blocked.c"
>
+
+
diff --git a/src/meta/Makefile.unix.am b/src/meta/Makefile.unix.am
index 7a038fc7..6f88c7af 100644
--- a/src/meta/Makefile.unix.am
+++ b/src/meta/Makefile.unix.am
@@ -215,5 +215,7 @@ libmeta_la_SOURCES += ps3_sgh_sgb.c
libmeta_la_SOURCES += ngca.c
libmeta_la_SOURCES += wii_ras.c
libmeta_la_SOURCES += ps2_spm.c
+libmeta_la_SOURCES += ps2_mtaf.c
+libmeta_la_SOURCES += x360_tra.c
EXTRA_DIST = meta.h
diff --git a/src/meta/meta.h b/src/meta/meta.h
index 4770ecb1..9669bc7b 100644
--- a/src/meta/meta.h
+++ b/src/meta/meta.h
@@ -545,6 +545,6 @@ VGMSTREAM * init_vgmstream_wii_ras(STREAMFILE* streamFile);
VGMSTREAM * init_vgmstream_ps2_spm(STREAMFILE* streamFile);
-VGMSTREAM * init_vgmstream_xbox_tra(STREAMFILE* streamFile);
+VGMSTREAM * init_vgmstream_x360_tra(STREAMFILE* streamFile);
#endif
diff --git a/src/meta/xbox_tra.c b/src/meta/x360_tra.c
similarity index 92%
rename from src/meta/xbox_tra.c
rename to src/meta/x360_tra.c
index bcd8cab3..7549e5ca 100644
--- a/src/meta/xbox_tra.c
+++ b/src/meta/x360_tra.c
@@ -8,7 +8,7 @@
2010-12-03 - Fastelbja : First version ...
*/
-VGMSTREAM * init_vgmstream_xbox_tra(STREAMFILE *streamFile) {
+VGMSTREAM * init_vgmstream_x360_tra(STREAMFILE *streamFile) {
VGMSTREAM * vgmstream = NULL;
char filename[260];
diff --git a/src/vgmstream.c b/src/vgmstream.c
index 22606a65..494c6e73 100644
--- a/src/vgmstream.c
+++ b/src/vgmstream.c
@@ -294,7 +294,7 @@ VGMSTREAM * (*init_vgmstream_fcns[])(STREAMFILE *streamFile) = {
init_vgmstream_ngca,
init_vgmstream_wii_ras,
init_vgmstream_ps2_spm,
- init_vgmstream_xbox_tra,
+ init_vgmstream_x360_tra,
};
#define INIT_VGMSTREAM_FCNS (sizeof(init_vgmstream_fcns)/sizeof(init_vgmstream_fcns[0]))
diff --git a/unix/data.c b/unix/data.c
index 003720c5..56e13d78 100644
--- a/unix/data.c
+++ b/unix/data.c
@@ -128,6 +128,7 @@ gchar *vgmstream_exts [] = {
"msf",
"mss",
"msvp",
+ "mtaf",
"mus",
"musc",
"musx",
@@ -214,6 +215,7 @@ gchar *vgmstream_exts [] = {
"thp",
"tk1",
"tk5",
+ "tra",
"tydsp",
"um3",
diff --git a/winamp/in_vgmstream.c b/winamp/in_vgmstream.c
index 5041d0e5..f328b8d6 100644
--- a/winamp/in_vgmstream.c
+++ b/winamp/in_vgmstream.c
@@ -338,7 +338,7 @@ char * extension_list[] = {
void about(HWND hwndParent) {
MessageBox(hwndParent,
PLUGIN_DESCRIPTION "\n"
- "by hcs, FastElbja, manakoAT, and bxaimc\n\n"
+ "by hcs, FastElbja, manakoAT, bxaimc, and snakemeat\n\n"
"http://sourceforge.net/projects/vgmstream"
,"about in_vgmstream",MB_OK);
}