From 25e9d1bcde1436e511e5d57f1f3db91a3378f1aa Mon Sep 17 00:00:00 2001 From: bnnm Date: Thu, 18 May 2017 23:03:55 +0200 Subject: [PATCH] Move file types registers to foo_filetypes.h to clarify/simplify --- fb2k/foo_filetypes.h | 355 +++++++++++++++++++++++ fb2k/foo_input_vgmstream.vcxproj | 1 + fb2k/foo_input_vgmstream.vcxproj.filters | 3 + fb2k/foo_vgmstream.cpp | 342 +--------------------- fb2k/foo_vgmstream.h | 8 +- 5 files changed, 362 insertions(+), 347 deletions(-) create mode 100644 fb2k/foo_filetypes.h diff --git a/fb2k/foo_filetypes.h b/fb2k/foo_filetypes.h new file mode 100644 index 00000000..2af141d0 --- /dev/null +++ b/fb2k/foo_filetypes.h @@ -0,0 +1,355 @@ +#ifndef _FOO_FILETYPES_H_ +#define _FOO_FILETYPES_H_ + + +#define DECLARE_MULTIPLE_FILE_TYPE(NAME,EXTENSION) \ + namespace { \ + static input_file_type_impl g_filetype_instance_##EXTENSION(NAME,"*." #EXTENSION ,true); \ + static service_factory_single_ref_t g_filetype_service##EXTENSION(g_filetype_instance_##EXTENSION); \ + } + + +// Registered file types, to associate an extension with foobar2000 in Windows. +// Accepted file types go in formats.c and are checked in input_vgmstream::g_is_our_path. +// Both lists don't need to match, formats.c is what really matters +// (ie. we won't need to associate every single vgmstream format). + +// these are declared statically, and if anyone has a better idea i'd like to hear it - josh. + +DECLARE_MULTIPLE_FILE_TYPE("2DX9 Audio File (*.2DX9)", 2dx9); +DECLARE_MULTIPLE_FILE_TYPE("2PFS Audio File (*.2PFS)", 2pfs); + +//"aac", //common, also tri-Ace's +DECLARE_MULTIPLE_FILE_TYPE("AA3 Audio File (*.AA3)", aa3); +DECLARE_MULTIPLE_FILE_TYPE("AAAP Audio File (*.AAAP)", aaap); +DECLARE_MULTIPLE_FILE_TYPE("AAX Audio File (*.AAX)", aax); +//"ac3", //FFmpeg, not parsed //common? +DECLARE_MULTIPLE_FILE_TYPE("ACE Audio File (*.ACE)", ace); +DECLARE_MULTIPLE_FILE_TYPE("ACM Audio File (*.ACM)", acm); +DECLARE_MULTIPLE_FILE_TYPE("ADM Audio File (*.ADM)", adm); +DECLARE_MULTIPLE_FILE_TYPE("ADP Audio File (*.ADP)", adp); +DECLARE_MULTIPLE_FILE_TYPE("ADPCM Audio File (*.ADPCM)", adpcm); +DECLARE_MULTIPLE_FILE_TYPE("ADS Audio File (*.ADS)", ads); +DECLARE_MULTIPLE_FILE_TYPE("ADX Audio File (*.ADX)", adx); +DECLARE_MULTIPLE_FILE_TYPE("AFC Audio File (*.AFC)", afc); +DECLARE_MULTIPLE_FILE_TYPE("AGSC Audio File (*.AGSC)", agsc); +DECLARE_MULTIPLE_FILE_TYPE("AHX Audio File (*.AHX)", ahx); +DECLARE_MULTIPLE_FILE_TYPE("AIFC Audio File (*.AIFC)", aifc); +DECLARE_MULTIPLE_FILE_TYPE("AIFCL Audio File (*.AIFCL)", aifcl); +//"aiff", //common +DECLARE_MULTIPLE_FILE_TYPE("AIX Audio File (*.AIX)", aix); +DECLARE_MULTIPLE_FILE_TYPE("AKB Audio File (*.AKB)", akb); +DECLARE_MULTIPLE_FILE_TYPE("AMTS Audio File (*.AMTS)", amts); +DECLARE_MULTIPLE_FILE_TYPE("AS4 Audio File (*.AS4)", as4); +DECLARE_MULTIPLE_FILE_TYPE("ASD Audio File (*.ASD)", asd); +DECLARE_MULTIPLE_FILE_TYPE("ASF Audio File (*.ASF)", asf); +DECLARE_MULTIPLE_FILE_TYPE("ASR Audio File (*.ASR)", asr); +DECLARE_MULTIPLE_FILE_TYPE("ASS Audio File (*.ASS)", ass); +DECLARE_MULTIPLE_FILE_TYPE("AST Audio File (*.AST)", ast); +DECLARE_MULTIPLE_FILE_TYPE("ATRAC3plus Audio File (*.AT3)", at3); +DECLARE_MULTIPLE_FILE_TYPE("AUD Audio File (*.AUD)", aud); +DECLARE_MULTIPLE_FILE_TYPE("AUS Audio File (*.AUS)", aus); + +DECLARE_MULTIPLE_FILE_TYPE("B1S Audio File (*.B1S)", b1s); +DECLARE_MULTIPLE_FILE_TYPE("BAF Audio File (*.BAF)", baf); +DECLARE_MULTIPLE_FILE_TYPE("BAKA Audio File (*.BAKA)", baka); +DECLARE_MULTIPLE_FILE_TYPE("BAR Audio File (*.BAR)", bar); +DECLARE_MULTIPLE_FILE_TYPE("BCSTM Audio File (*.BCSTM)", bcstm); +DECLARE_MULTIPLE_FILE_TYPE("BCWAV Audio File (*.BCWAV)", bcwav); +DECLARE_MULTIPLE_FILE_TYPE("BDSP Audio File (*.BDSP)", bdsp); +DECLARE_MULTIPLE_FILE_TYPE("BFSTM Audio File (*.BFSTM)", bfstm); +DECLARE_MULTIPLE_FILE_TYPE("BFWAV Audio File (*.BFWAV)", bfwav); +DECLARE_MULTIPLE_FILE_TYPE("BFWAV Audio File [2] (*.BFWAV)", bfwavnsmbu); +DECLARE_MULTIPLE_FILE_TYPE("BG00 Audio File (*.BG00)", bg00); +DECLARE_MULTIPLE_FILE_TYPE("BGM Audio File (*.BGM)", bgm); +DECLARE_MULTIPLE_FILE_TYPE("BGW Audio File (*.BGW)", bgw); +DECLARE_MULTIPLE_FILE_TYPE("BH2PCM Audio File (*.BH2PCM)", bh2pcm); +DECLARE_MULTIPLE_FILE_TYPE("BIK Audio File (*.BIK)", bik); +DECLARE_MULTIPLE_FILE_TYPE("BIKA Audio File (*.BIKA)", bika); +DECLARE_MULTIPLE_FILE_TYPE("BIK2 Audio File (*.BIK2)", bik2); +DECLARE_MULTIPLE_FILE_TYPE("BIK2A Audio File (*.BIK2A)", bik2a); +DECLARE_MULTIPLE_FILE_TYPE("BK2 Audio File (*.BK2)", bk2); +DECLARE_MULTIPLE_FILE_TYPE("BK2A Audio File (*.BK2A)", bk2a); +DECLARE_MULTIPLE_FILE_TYPE("BMDX Audio File (*.BMDX)", bmdx); +DECLARE_MULTIPLE_FILE_TYPE("BMS Audio File (*.BMS)", bms); +DECLARE_MULTIPLE_FILE_TYPE("KLBS Audio File (*.BNK)", bnk); +DECLARE_MULTIPLE_FILE_TYPE("BNS Audio File (*.BNS)", bns); +DECLARE_MULTIPLE_FILE_TYPE("BNSF Audio File (*.BNSF)", bnsf); +DECLARE_MULTIPLE_FILE_TYPE("BO2 Audio File (*.BO2)", bo2); +DECLARE_MULTIPLE_FILE_TYPE("BRSTM Audio File (*.BRSTM)", brstm); +DECLARE_MULTIPLE_FILE_TYPE("BRSTM Audio File [2] (*.BRSTM)", brstmspm); +DECLARE_MULTIPLE_FILE_TYPE("BTSND Audio File (*.BTSND)", btsnd); +DECLARE_MULTIPLE_FILE_TYPE("BVG Audio File (*.BVG)", bvg); + +DECLARE_MULTIPLE_FILE_TYPE("CAF Audio File (*.CAF)", caf); +DECLARE_MULTIPLE_FILE_TYPE("CAPDSP Audio File (*.CAPDSP)", capdsp); +DECLARE_MULTIPLE_FILE_TYPE("CBD2 Audio File (*.CBD2)", cbd2); +DECLARE_MULTIPLE_FILE_TYPE("CCC Audio File (*.CCC)", ccc); +DECLARE_MULTIPLE_FILE_TYPE("CFN Audio File (*.CFN)", cfn); +DECLARE_MULTIPLE_FILE_TYPE("CKD Audio File (*.CKD)", ckd); +DECLARE_MULTIPLE_FILE_TYPE("CNK Audio File (*.CNK)", cnk); +DECLARE_MULTIPLE_FILE_TYPE("CPS Audio File (*.CPS)", cps); +DECLARE_MULTIPLE_FILE_TYPE("CXS Audio File (*.CXS)", cxs); + +DECLARE_MULTIPLE_FILE_TYPE("DBM Audio File (*.DBM)", dbm); +DECLARE_MULTIPLE_FILE_TYPE("DCS Audio File (*.DCS)", dcs); +DECLARE_MULTIPLE_FILE_TYPE("DDSP Audio File (*.DDSP)", ddsp); +DECLARE_MULTIPLE_FILE_TYPE("DE2 Audio File (*.DE2)", de2); +DECLARE_MULTIPLE_FILE_TYPE("DMSG Audio File (*.DMSG)", dmsg); +DECLARE_MULTIPLE_FILE_TYPE("DSP Audio File (*.DSP)", dsp); +DECLARE_MULTIPLE_FILE_TYPE("DSPW Audio File (*.DSPW)", dspw); +DECLARE_MULTIPLE_FILE_TYPE("DTK Audio File (*.DTK)", dtk); +DECLARE_MULTIPLE_FILE_TYPE("DVI Audio File (*.DVI)", dvi); +DECLARE_MULTIPLE_FILE_TYPE("DXH Audio File (*.DXH)", dxh); + +DECLARE_MULTIPLE_FILE_TYPE("EAM Audio File (*.EAM)", eam); +DECLARE_MULTIPLE_FILE_TYPE("EMFF Audio File (*.EMFF)", emff); +DECLARE_MULTIPLE_FILE_TYPE("ENTH Audio File (*.ENTH)", enth); + +DECLARE_MULTIPLE_FILE_TYPE("FAG Audio File (*.FAG)", fag); +DECLARE_MULTIPLE_FILE_TYPE("FFW Audio File (*.FFW)", ffw); +DECLARE_MULTIPLE_FILE_TYPE("FILP Audio File (*.FILP)", filp); +DECLARE_MULTIPLE_FILE_TYPE("FSB Audio File (*.FSB)", fsb); +DECLARE_MULTIPLE_FILE_TYPE("FWAV Audio File (*.FWAV)", fwav); + +DECLARE_MULTIPLE_FILE_TYPE("G1L Audio File (*.G1L)", g1l); +DECLARE_MULTIPLE_FILE_TYPE("GBTS Audio File (*.GBTS)", gbts); +DECLARE_MULTIPLE_FILE_TYPE("GCA Audio File (*.GCA)", gca); +DECLARE_MULTIPLE_FILE_TYPE("GCM Audio File (*.GCM)", gcm); +DECLARE_MULTIPLE_FILE_TYPE("GCUB Audio File (*.GCUB)", gcub); +DECLARE_MULTIPLE_FILE_TYPE("GCW Audio File (*.GCW)", gcw); +DECLARE_MULTIPLE_FILE_TYPE("GENH Audio File (*.GENH)", genh); +DECLARE_MULTIPLE_FILE_TYPE("GMS Audio File (*.GMS)", gms); +DECLARE_MULTIPLE_FILE_TYPE("GSB Audio File (*.GSB)", gsb); +DECLARE_MULTIPLE_FILE_TYPE("GSB Audio File (*.GTD)", gtd); + +DECLARE_MULTIPLE_FILE_TYPE("HCA Audio File (*.HCA)", hca); +DECLARE_MULTIPLE_FILE_TYPE("HGC1 Audio File (*.HGC1)", hgc1); +DECLARE_MULTIPLE_FILE_TYPE("HIS Audio File (*.HIS)", his); +DECLARE_MULTIPLE_FILE_TYPE("HLWAV Audio File (*.HLWAV)", hlwav); +DECLARE_MULTIPLE_FILE_TYPE("HALPST Audio File (*.HPS)", hps); +DECLARE_MULTIPLE_FILE_TYPE("HSF Audio File (*.HSF)", hsf); +DECLARE_MULTIPLE_FILE_TYPE("HWAS Audio File (*.HWAS)", hwas); + +DECLARE_MULTIPLE_FILE_TYPE("IAB Audio File (*.IAB)", iab); +DECLARE_MULTIPLE_FILE_TYPE("IADP Audio File (*.IADP)", iadp); +DECLARE_MULTIPLE_FILE_TYPE("IDSP Audio File (*.IDSP)", idsp); +DECLARE_MULTIPLE_FILE_TYPE("IDVI Audio File (*.IDVI)", idvi); +DECLARE_MULTIPLE_FILE_TYPE("IKM Audio File (*.IKM)", ikm); +DECLARE_MULTIPLE_FILE_TYPE("ILD Audio File (*.ILD)", ild); +DECLARE_MULTIPLE_FILE_TYPE("INT Audio File (*.INT)", int); +DECLARE_MULTIPLE_FILE_TYPE("ISD Audio File (*.ISD)", isd); +DECLARE_MULTIPLE_FILE_TYPE("ISWS Audio File (*.ISWS)", isws); +DECLARE_MULTIPLE_FILE_TYPE("IVAUD Audio File (*.IVAUD)", ivaud); +DECLARE_MULTIPLE_FILE_TYPE("IVAG Audio File (*.IVAG)", ivag); +DECLARE_MULTIPLE_FILE_TYPE("IVB Audio File (*.IVB)", ivb); + +DECLARE_MULTIPLE_FILE_TYPE("JOE Audio File (*.JOE)", joe); +DECLARE_MULTIPLE_FILE_TYPE("JSTM Audio File (*.JSTM)", jstm); + +DECLARE_MULTIPLE_FILE_TYPE("KCES Audio File (*.KCES)", kces); +DECLARE_MULTIPLE_FILE_TYPE("KCEY Audio File (*.KCEY)", kcey); +DECLARE_MULTIPLE_FILE_TYPE("KHV Audio File (*.KHV)", khv); +DECLARE_MULTIPLE_FILE_TYPE("KOVS Audio File (*.KOVS)", kovs); +DECLARE_MULTIPLE_FILE_TYPE("KRAW Audio File (*.KRAW)", kraw); + +DECLARE_MULTIPLE_FILE_TYPE("LAAC Audio File (*.LAAC)", laac); +DECLARE_MULTIPLE_FILE_TYPE("LEG Audio File (*.LEG)", leg); +DECLARE_MULTIPLE_FILE_TYPE("LMP4 Audio File (*.LMP4)", lmp4); +DECLARE_MULTIPLE_FILE_TYPE("LOGG Audio File (*.LOGG)", logg); +DECLARE_MULTIPLE_FILE_TYPE("LPCM Audio File (*.LPCM)", lpcm); +DECLARE_MULTIPLE_FILE_TYPE("LPS Audio File (*.LPS)", lps); +DECLARE_MULTIPLE_FILE_TYPE("LSF Audio File (*.LSF)", lsf); +DECLARE_MULTIPLE_FILE_TYPE("LWAV Audio File (*.LWAV)", lwav); + +DECLARE_MULTIPLE_FILE_TYPE("MATX Audio File (*.MATX)", matx); +DECLARE_MULTIPLE_FILE_TYPE("MC3 Audio File (*.MC3)", mc3); +DECLARE_MULTIPLE_FILE_TYPE("MCA Audio File (*.MCA)", mca); +DECLARE_MULTIPLE_FILE_TYPE("MCG Audio File (*.MCG)", mcg); +DECLARE_MULTIPLE_FILE_TYPE("MDS Audio File (*.MDS)", mds); +DECLARE_MULTIPLE_FILE_TYPE("MDSP Audio File (*.MDSP)", mdsp); +DECLARE_MULTIPLE_FILE_TYPE("MI4 Audio File (*.MI4)", mi4); +DECLARE_MULTIPLE_FILE_TYPE("MIB Audio File (*.MIB)", mib); +DECLARE_MULTIPLE_FILE_TYPE("MIC Audio File (*.MIC)", mic); +DECLARE_MULTIPLE_FILE_TYPE("MIHB Audio File (*.MIHB)", mihb); +DECLARE_MULTIPLE_FILE_TYPE("MNSTR Audio File (*.MNSTR)", mnstr); +//"mp4", //common +DECLARE_MULTIPLE_FILE_TYPE("MPDSP Audio File (*.MPDSP)", mpdsp); +DECLARE_MULTIPLE_FILE_TYPE("MPDS Audio File (*.MPDS)", mpds); +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("MTA2 Audio File (*.MTA2)", mta2); +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); +DECLARE_MULTIPLE_FILE_TYPE("MWV Audio File (*.MWV)", mwv); +DECLARE_MULTIPLE_FILE_TYPE("MxSt Audio File (*.MxSt)", mxst); +DECLARE_MULTIPLE_FILE_TYPE("MYSPD Audio File (*.MYSPD)", myspd); + +DECLARE_MULTIPLE_FILE_TYPE("NDP Audio File (*.NDP)", ndp); +DECLARE_MULTIPLE_FILE_TYPE("NGCA Audio File (*.NGCA)", ngca); +DECLARE_MULTIPLE_FILE_TYPE("NPS Audio File (*.NPS)", nps); +DECLARE_MULTIPLE_FILE_TYPE("NPSF Audio File (*.NPSF)", npsf); +DECLARE_MULTIPLE_FILE_TYPE("NUS3BANK Audio File (*.NUS3BANK)", nus3bank); +DECLARE_MULTIPLE_FILE_TYPE("NWA Audio File (*.NWA)", nwa); + +//"ogg", //common +DECLARE_MULTIPLE_FILE_TYPE("OGL Audio File (*.OGL)", ogl); +DECLARE_MULTIPLE_FILE_TYPE("OMA Audio File (*.OMA)", oma); +DECLARE_MULTIPLE_FILE_TYPE("OMU Audio File (*.OMU)", omu); +DECLARE_MULTIPLE_FILE_TYPE("OTM Audio File (*.OTM)", otm); + +DECLARE_MULTIPLE_FILE_TYPE("P2BT Audio File (*.P2BT)", p2bt); +DECLARE_MULTIPLE_FILE_TYPE("P3D Audio File (*.P3D)", p3d); +DECLARE_MULTIPLE_FILE_TYPE("PAST Audio File (*.PAST)", past); +DECLARE_MULTIPLE_FILE_TYPE("PCM Audio File (*.PCM)", pcm); +DECLARE_MULTIPLE_FILE_TYPE("PDT Audio File (*.PDT)", pdt); +DECLARE_MULTIPLE_FILE_TYPE("PNB Audio File (*.PNB)", pnb); +DECLARE_MULTIPLE_FILE_TYPE("PONA Audio File (*.PONA)", pona); +DECLARE_MULTIPLE_FILE_TYPE("POS Audio File (*.POS)", pos); +DECLARE_MULTIPLE_FILE_TYPE("PS2STM Audio File (*.PS2STM)", ps2stm); +DECLARE_MULTIPLE_FILE_TYPE("PSH Audio File (*.PSH)", psh); +DECLARE_MULTIPLE_FILE_TYPE("PSND Audio File (*.PSND)", psnd); +DECLARE_MULTIPLE_FILE_TYPE("PSW Audio File (*.PSW)", psw); + +DECLARE_MULTIPLE_FILE_TYPE("RAK Audio File (*.RAK)", rak); +DECLARE_MULTIPLE_FILE_TYPE("RAS Audio File (*.RAS)", ras); +DECLARE_MULTIPLE_FILE_TYPE("RAW Audio File (*.RAW)", raw); +DECLARE_MULTIPLE_FILE_TYPE("RKV Audio File (*.RKV)", rkv); +DECLARE_MULTIPLE_FILE_TYPE("RND Audio File (*.RND)", rnd); +DECLARE_MULTIPLE_FILE_TYPE("RRDS Audio File (*.RRDS)", rrds); +DECLARE_MULTIPLE_FILE_TYPE("RSD Audio File (*.RSD)", rsd); +DECLARE_MULTIPLE_FILE_TYPE("RSF Audio File (*.RSF)", rsf); +DECLARE_MULTIPLE_FILE_TYPE("RSTM Audio File (*.RSTM)", rstm); +DECLARE_MULTIPLE_FILE_TYPE("RVWS Audio File (*.RSTM)", rvws); +DECLARE_MULTIPLE_FILE_TYPE("RWAR Audio File (*.RWSD)", rwar); +DECLARE_MULTIPLE_FILE_TYPE("RWAV Audio File (*.RWAV)", rwav); +DECLARE_MULTIPLE_FILE_TYPE("RWS Audio File (*.RWS)", rws); +DECLARE_MULTIPLE_FILE_TYPE("RWSD Audio File (*.RWSD)", rwsd); +DECLARE_MULTIPLE_FILE_TYPE("RWX Audio File (*.RWX)", rwx); +DECLARE_MULTIPLE_FILE_TYPE("RXWS File (*.RXW)", rxw); + +DECLARE_MULTIPLE_FILE_TYPE("S14 Audio File (*.S14)", s14); +DECLARE_MULTIPLE_FILE_TYPE("SAB Audio File (*.SAB)", sab); +DECLARE_MULTIPLE_FILE_TYPE("SAD Audio File (*.SAD)", sad); +DECLARE_MULTIPLE_FILE_TYPE("SAP Audio File (*.SAP)", sap); +DECLARE_MULTIPLE_FILE_TYPE("SC Audio File (*.SC)", sc); +DECLARE_MULTIPLE_FILE_TYPE("SCD Audio File (*.SCD)", scd); +DECLARE_MULTIPLE_FILE_TYPE("SCK Audio File (*.SCK)", sck); +DECLARE_MULTIPLE_FILE_TYPE("SD9 Audio File (*.SD9)", sd9); +DECLARE_MULTIPLE_FILE_TYPE("SDT Audio File (*.SDT)", sdt); +DECLARE_MULTIPLE_FILE_TYPE("SEG Audio File (*.SEG)", seg); +DECLARE_MULTIPLE_FILE_TYPE("SF0 Audio File (*.SF0)", sf0); +DECLARE_MULTIPLE_FILE_TYPE("SFL Audio File (*.SFL)", sfl); +DECLARE_MULTIPLE_FILE_TYPE("SFS Audio File (*.SFS)", sfs); +DECLARE_MULTIPLE_FILE_TYPE("SFX Audio File (*.SFX)", sfx); +DECLARE_MULTIPLE_FILE_TYPE("SGB Audio File (*.SGB)", sgb); +DECLARE_MULTIPLE_FILE_TYPE("SGD Audio File (*.SGD)", sgd); +DECLARE_MULTIPLE_FILE_TYPE("SGX Audio File (*.SGX)", sgx); +DECLARE_MULTIPLE_FILE_TYPE("SL3 Audio File (*.SL3)", sl3); +DECLARE_MULTIPLE_FILE_TYPE("SLI Audio File (*.SLI)", sli); +DECLARE_MULTIPLE_FILE_TYPE("SMP Audio File (*.SMP)", smp); +DECLARE_MULTIPLE_FILE_TYPE("SMPL Audio File (*.SMPL)", smpl); +DECLARE_MULTIPLE_FILE_TYPE("SND Audio File (*.SND)", snd); +DECLARE_MULTIPLE_FILE_TYPE("SNDS Audio File (*.SNDS)", snds); +DECLARE_MULTIPLE_FILE_TYPE("SNG Audio File (*.SNG)", sng); +DECLARE_MULTIPLE_FILE_TYPE("SNS Audio File (*.SNS)", sns); +DECLARE_MULTIPLE_FILE_TYPE("SPD Audio File (*.SPD)", spd); +DECLARE_MULTIPLE_FILE_TYPE("SPM Audio File (*.SPM)", spm); +DECLARE_MULTIPLE_FILE_TYPE("SPS Audio File (*.SPS)", sps); +DECLARE_MULTIPLE_FILE_TYPE("SPSD Audio File (*.SPSD)", spsd); +DECLARE_MULTIPLE_FILE_TYPE("SPW Audio File (*.SPW)", spw); +DECLARE_MULTIPLE_FILE_TYPE("SS2 Audio File (*.SS2)", ss2); +DECLARE_MULTIPLE_FILE_TYPE("SS3 Audio File (*.SS3)", ss3); +DECLARE_MULTIPLE_FILE_TYPE("SS7 Audio File (*.SS7)", ss7); +DECLARE_MULTIPLE_FILE_TYPE("SSM Audio File (*.SSM)", ssm); +DECLARE_MULTIPLE_FILE_TYPE("SSS Audio File (*.SSS)", sss); +DECLARE_MULTIPLE_FILE_TYPE("STER Audio File (*.STER)", ster); +DECLARE_MULTIPLE_FILE_TYPE("STH Audio File (*.STH)", sth); +//"stm", //common +DECLARE_MULTIPLE_FILE_TYPE("STMA Audio File (*.STMA)", stma); +DECLARE_MULTIPLE_FILE_TYPE("STR Audio File (*.STR)", str); +DECLARE_MULTIPLE_FILE_TYPE("STRM Audio File (*.STRM)", strm); +DECLARE_MULTIPLE_FILE_TYPE("STS Audio File (*.STS)", sts); +DECLARE_MULTIPLE_FILE_TYPE("STX Audio File (*.STX)", stx); +DECLARE_MULTIPLE_FILE_TYPE("SVAG Audio File (*.SVAG)", svag); +DECLARE_MULTIPLE_FILE_TYPE("SVS Audio File (*.SVS)", svs); +DECLARE_MULTIPLE_FILE_TYPE("SWAG Audio File (*.SWAG)", swag); +DECLARE_MULTIPLE_FILE_TYPE("SWAV Audio File (*.SWAV)", swav); +DECLARE_MULTIPLE_FILE_TYPE("SWD Audio File (*.SWD)", swd); +DECLARE_MULTIPLE_FILE_TYPE("SXD Audio File (*.SXD)", sxd); +DECLARE_MULTIPLE_FILE_TYPE("SXD2 Audio File (*.SXD2)", sxd2); + +DECLARE_MULTIPLE_FILE_TYPE("TEC Audio File (*.TEC)", tec); +DECLARE_MULTIPLE_FILE_TYPE("THP Audio File (*.THP)", thp); +DECLARE_MULTIPLE_FILE_TYPE("TK1 Audio File (*.TK1)", tk1); +DECLARE_MULTIPLE_FILE_TYPE("TK5 Audio File (*.TK5)", tk5); +DECLARE_MULTIPLE_FILE_TYPE("TRA Audio File (*.TRA)", tra); +DECLARE_MULTIPLE_FILE_TYPE("TUN Audio File (*.TUN)", tun); +DECLARE_MULTIPLE_FILE_TYPE("TYDSP Audio File (*.TYDSP)", tydsp); + +DECLARE_MULTIPLE_FILE_TYPE("UM3 Audio File (*.UM3)", um3); + +DECLARE_MULTIPLE_FILE_TYPE("VAG Audio File (*.VAG)", vag); +DECLARE_MULTIPLE_FILE_TYPE("VAS Audio File (*.VAS)", vas); +DECLARE_MULTIPLE_FILE_TYPE("VAS Audio File (*.VAS)", vawx); +DECLARE_MULTIPLE_FILE_TYPE("VB Audio File (*.VB)", vb); +DECLARE_MULTIPLE_FILE_TYPE("VBK Audio File (*.VBK)", vbk); +DECLARE_MULTIPLE_FILE_TYPE("VGS Audio File (*.VGS)", vgs); +DECLARE_MULTIPLE_FILE_TYPE("VGV Audio File (*.VGV)", vgv); +DECLARE_MULTIPLE_FILE_TYPE("VIG Audio File (*.VIG)", vig); +DECLARE_MULTIPLE_FILE_TYPE("VMS Audio File (*.VMS)", vms); +DECLARE_MULTIPLE_FILE_TYPE("VOI Audio File (*.VOI)", voi); +DECLARE_MULTIPLE_FILE_TYPE("VPK Audio File (*.VPK)", vpk); +DECLARE_MULTIPLE_FILE_TYPE("VS Audio File (*.VS)", vs); +DECLARE_MULTIPLE_FILE_TYPE("VSF Audio File (*.VSF)", vsf); + +DECLARE_MULTIPLE_FILE_TYPE("WAA Audio File (*.WAA)", waa); +DECLARE_MULTIPLE_FILE_TYPE("WAC Audio File (*.WAC)", wac); +DECLARE_MULTIPLE_FILE_TYPE("WAD Audio File (*.WAD)", wad); +DECLARE_MULTIPLE_FILE_TYPE("WAM Audio File (*.WAM)", wam); +DECLARE_MULTIPLE_FILE_TYPE("WAS Audio File (*.WAS)", was); +//"wav", //common +DECLARE_MULTIPLE_FILE_TYPE("WAVM Audio File (*.WAVM)", wavm); +DECLARE_MULTIPLE_FILE_TYPE("WEM Audio File (*.WEM)", wem); +DECLARE_MULTIPLE_FILE_TYPE("WII Audio File (*.WII)", wii); +DECLARE_MULTIPLE_FILE_TYPE("WMUS Audio File (*.WMUS)", wmus); +DECLARE_MULTIPLE_FILE_TYPE("WP2 Audio File (*.WP2)", wp2); +DECLARE_MULTIPLE_FILE_TYPE("WPD Audio File (*.WPD)", wpd); +DECLARE_MULTIPLE_FILE_TYPE("WSD Audio File (*.WSD)", wsd); +DECLARE_MULTIPLE_FILE_TYPE("WSI Audio File (*.WSI)", wsi); +DECLARE_MULTIPLE_FILE_TYPE("WVS Audio File (*.WVS)", wvs); + +DECLARE_MULTIPLE_FILE_TYPE("XA File (*.XA)", xa); +DECLARE_MULTIPLE_FILE_TYPE("XA2 Audio File (*.XA2)", xa2); +DECLARE_MULTIPLE_FILE_TYPE("XA30 Audio File (*.XA30)", xa30); +DECLARE_MULTIPLE_FILE_TYPE("XAG Audio File (*.XAG)", xag); +DECLARE_MULTIPLE_FILE_TYPE("XAU Audio File (*.XAU)", xau); +DECLARE_MULTIPLE_FILE_TYPE("XMA Audio File (*.XMA)", xma); +DECLARE_MULTIPLE_FILE_TYPE("XMA2 Audio File (*.XMA2)", xma2); +DECLARE_MULTIPLE_FILE_TYPE("XMU Audio File (*.XMU)", xmu); +DECLARE_MULTIPLE_FILE_TYPE("XNB Audio File (*.XNB)", xnb); +DECLARE_MULTIPLE_FILE_TYPE("XSF Audio File (*.XSF)", xsf); +DECLARE_MULTIPLE_FILE_TYPE("XSS Audio File (*.XSS)", xss); +DECLARE_MULTIPLE_FILE_TYPE("XVAG Audio File (*.XVAG)", xvag); +DECLARE_MULTIPLE_FILE_TYPE("XVAS Audio File (*.XVAS)", xvas); +DECLARE_MULTIPLE_FILE_TYPE("XWAV Audio File (*.XWAV)", xwav); +DECLARE_MULTIPLE_FILE_TYPE("XWB Audio File (*.XWB)", xwb); +DECLARE_MULTIPLE_FILE_TYPE("XWM Audio File (*.XWM)", xwm); +DECLARE_MULTIPLE_FILE_TYPE("XWMA Audio File (*.XWMA)", xwma); +DECLARE_MULTIPLE_FILE_TYPE("XWS Audio File (*.XWS)", xws); +DECLARE_MULTIPLE_FILE_TYPE("XWV Audio File (*.XWV)", xwv); + +DECLARE_MULTIPLE_FILE_TYPE("YDSP Audio File (*.YDSP)", ydsp); +DECLARE_MULTIPLE_FILE_TYPE("YMF Audio File (*.YMF)", ymf); + +DECLARE_MULTIPLE_FILE_TYPE("ZSD Audio File (*.ZSD)", zsd); +DECLARE_MULTIPLE_FILE_TYPE("ZWDSP Audio File (*.ZWDSP)", zwdsp); + +DECLARE_MULTIPLE_FILE_TYPE("VGMSTREAM Audio File (*.VGMSTREAM)", vgmstream); + + +#endif /*_FOO_FILETYPES_H_ */ diff --git a/fb2k/foo_input_vgmstream.vcxproj b/fb2k/foo_input_vgmstream.vcxproj index 0763e5b6..7beb8c41 100644 --- a/fb2k/foo_input_vgmstream.vcxproj +++ b/fb2k/foo_input_vgmstream.vcxproj @@ -162,6 +162,7 @@ + diff --git a/fb2k/foo_input_vgmstream.vcxproj.filters b/fb2k/foo_input_vgmstream.vcxproj.filters index 654200e4..e95e0f46 100644 --- a/fb2k/foo_input_vgmstream.vcxproj.filters +++ b/fb2k/foo_input_vgmstream.vcxproj.filters @@ -21,6 +21,9 @@ Header Files + + Header Files + Header Files diff --git a/fb2k/foo_vgmstream.cpp b/fb2k/foo_vgmstream.cpp index 72ebd663..3f4393fd 100644 --- a/fb2k/foo_vgmstream.cpp +++ b/fb2k/foo_vgmstream.cpp @@ -20,6 +20,7 @@ extern "C" { #include "../src/vgmstream.h" } #include "foo_vgmstream.h" +#include "foo_filetypes.h" #ifndef VERSION #include "../version.h" @@ -399,343 +400,4 @@ static input_singletrack_factory_t g_input_vgmstream_factory; DECLARE_COMPONENT_VERSION(APP_NAME,PLUGIN_VERSION,PLUGIN_DESCRIPTION); VALIDATE_COMPONENT_FILENAME("foo_input_vgmstream.dll"); -// Registered file types, to associate an extension with foobar2000 in Windows. -// Accepted file types go in formats.c and are checked in input_vgmstream::g_is_our_path. -// Both lists don't need to match, formats.c is what matters here. -// (do we really want to associate every single vgmstream format?) -// -// these are declared statically, and if anyone has a better idea i'd like to hear it - josh. -DECLARE_MULTIPLE_FILE_TYPE("2DX9 Audio File (*.2DX9)", 2dx9); -DECLARE_MULTIPLE_FILE_TYPE("2PFS Audio File (*.2PFS)", 2pfs); - -//"aac", //common, also tri-Ace's -DECLARE_MULTIPLE_FILE_TYPE("AA3 Audio File (*.AA3)", aa3); -DECLARE_MULTIPLE_FILE_TYPE("AAAP Audio File (*.AAAP)", aaap); -DECLARE_MULTIPLE_FILE_TYPE("AAX Audio File (*.AAX)", aax); -//"ac3", //FFmpeg, not parsed //common? -DECLARE_MULTIPLE_FILE_TYPE("ACE Audio File (*.ACE)", ace); -DECLARE_MULTIPLE_FILE_TYPE("ACM Audio File (*.ACM)", acm); -DECLARE_MULTIPLE_FILE_TYPE("ADM Audio File (*.ADM)", adm); -DECLARE_MULTIPLE_FILE_TYPE("ADP Audio File (*.ADP)", adp); -DECLARE_MULTIPLE_FILE_TYPE("ADPCM Audio File (*.ADPCM)", adpcm); -DECLARE_MULTIPLE_FILE_TYPE("ADS Audio File (*.ADS)", ads); -DECLARE_MULTIPLE_FILE_TYPE("ADX Audio File (*.ADX)", adx); -DECLARE_MULTIPLE_FILE_TYPE("AFC Audio File (*.AFC)", afc); -DECLARE_MULTIPLE_FILE_TYPE("AGSC Audio File (*.AGSC)", agsc); -DECLARE_MULTIPLE_FILE_TYPE("AHX Audio File (*.AHX)", ahx); -DECLARE_MULTIPLE_FILE_TYPE("AIFC Audio File (*.AIFC)", aifc); -DECLARE_MULTIPLE_FILE_TYPE("AIFCL Audio File (*.AIFCL)", aifcl); -//"aiff", //common -DECLARE_MULTIPLE_FILE_TYPE("AIX Audio File (*.AIX)", aix); -DECLARE_MULTIPLE_FILE_TYPE("AKB Audio File (*.AKB)", akb); -DECLARE_MULTIPLE_FILE_TYPE("AMTS Audio File (*.AMTS)", amts); -DECLARE_MULTIPLE_FILE_TYPE("AS4 Audio File (*.AS4)", as4); -DECLARE_MULTIPLE_FILE_TYPE("ASD Audio File (*.ASD)", asd); -DECLARE_MULTIPLE_FILE_TYPE("ASF Audio File (*.ASF)", asf); -DECLARE_MULTIPLE_FILE_TYPE("ASR Audio File (*.ASR)", asr); -DECLARE_MULTIPLE_FILE_TYPE("ASS Audio File (*.ASS)", ass); -DECLARE_MULTIPLE_FILE_TYPE("AST Audio File (*.AST)", ast); -DECLARE_MULTIPLE_FILE_TYPE("ATRAC3plus Audio File (*.AT3)", at3); -DECLARE_MULTIPLE_FILE_TYPE("AUD Audio File (*.AUD)", aud); -DECLARE_MULTIPLE_FILE_TYPE("AUS Audio File (*.AUS)", aus); - -DECLARE_MULTIPLE_FILE_TYPE("B1S Audio File (*.B1S)", b1s); -DECLARE_MULTIPLE_FILE_TYPE("BAF Audio File (*.BAF)", baf); -DECLARE_MULTIPLE_FILE_TYPE("BAKA Audio File (*.BAKA)", baka); -DECLARE_MULTIPLE_FILE_TYPE("BAR Audio File (*.BAR)", bar); -DECLARE_MULTIPLE_FILE_TYPE("BCSTM Audio File (*.BCSTM)", bcstm); -DECLARE_MULTIPLE_FILE_TYPE("BCWAV Audio File (*.BCWAV)", bcwav); -DECLARE_MULTIPLE_FILE_TYPE("BDSP Audio File (*.BDSP)", bdsp); -DECLARE_MULTIPLE_FILE_TYPE("BFSTM Audio File (*.BFSTM)", bfstm); -DECLARE_MULTIPLE_FILE_TYPE("BFWAV Audio File (*.BFWAV)", bfwav); -DECLARE_MULTIPLE_FILE_TYPE("BFWAV Audio File [2] (*.BFWAV)", bfwavnsmbu); -DECLARE_MULTIPLE_FILE_TYPE("BG00 Audio File (*.BG00)", bg00); -DECLARE_MULTIPLE_FILE_TYPE("BGM Audio File (*.BGM)", bgm); -DECLARE_MULTIPLE_FILE_TYPE("BGW Audio File (*.BGW)", bgw); -DECLARE_MULTIPLE_FILE_TYPE("BH2PCM Audio File (*.BH2PCM)", bh2pcm); -DECLARE_MULTIPLE_FILE_TYPE("BIK Audio File (*.BIK)", bik); -DECLARE_MULTIPLE_FILE_TYPE("BIKA Audio File (*.BIKA)", bika); -DECLARE_MULTIPLE_FILE_TYPE("BIK2 Audio File (*.BIK2)", bik2); -DECLARE_MULTIPLE_FILE_TYPE("BIK2A Audio File (*.BIK2A)", bik2a); -DECLARE_MULTIPLE_FILE_TYPE("BK2 Audio File (*.BK2)", bk2); -DECLARE_MULTIPLE_FILE_TYPE("BK2A Audio File (*.BK2A)", bk2a); -DECLARE_MULTIPLE_FILE_TYPE("BMDX Audio File (*.BMDX)", bmdx); -DECLARE_MULTIPLE_FILE_TYPE("BMS Audio File (*.BMS)", bms); -DECLARE_MULTIPLE_FILE_TYPE("KLBS Audio File (*.BNK)", bnk); -DECLARE_MULTIPLE_FILE_TYPE("BNS Audio File (*.BNS)", bns); -DECLARE_MULTIPLE_FILE_TYPE("BNSF Audio File (*.BNSF)", bnsf); -DECLARE_MULTIPLE_FILE_TYPE("BO2 Audio File (*.BO2)", bo2); -DECLARE_MULTIPLE_FILE_TYPE("BRSTM Audio File (*.BRSTM)", brstm); -DECLARE_MULTIPLE_FILE_TYPE("BRSTM Audio File [2] (*.BRSTM)", brstmspm); -DECLARE_MULTIPLE_FILE_TYPE("BTSND Audio File (*.BTSND)", btsnd); -DECLARE_MULTIPLE_FILE_TYPE("BVG Audio File (*.BVG)", bvg); - -DECLARE_MULTIPLE_FILE_TYPE("CAF Audio File (*.CAF)", caf); -DECLARE_MULTIPLE_FILE_TYPE("CAPDSP Audio File (*.CAPDSP)", capdsp); -DECLARE_MULTIPLE_FILE_TYPE("CBD2 Audio File (*.CBD2)", cbd2); -DECLARE_MULTIPLE_FILE_TYPE("CCC Audio File (*.CCC)", ccc); -DECLARE_MULTIPLE_FILE_TYPE("CFN Audio File (*.CFN)", cfn); -DECLARE_MULTIPLE_FILE_TYPE("CKD Audio File (*.CKD)", ckd); -DECLARE_MULTIPLE_FILE_TYPE("CNK Audio File (*.CNK)", cnk); -DECLARE_MULTIPLE_FILE_TYPE("CPS Audio File (*.CPS)", cps); -DECLARE_MULTIPLE_FILE_TYPE("CXS Audio File (*.CXS)", cxs); - -DECLARE_MULTIPLE_FILE_TYPE("DBM Audio File (*.DBM)", dbm); -DECLARE_MULTIPLE_FILE_TYPE("DCS Audio File (*.DCS)", dcs); -DECLARE_MULTIPLE_FILE_TYPE("DDSP Audio File (*.DDSP)", ddsp); -DECLARE_MULTIPLE_FILE_TYPE("DE2 Audio File (*.DE2)", de2); -DECLARE_MULTIPLE_FILE_TYPE("DMSG Audio File (*.DMSG)", dmsg); -DECLARE_MULTIPLE_FILE_TYPE("DSP Audio File (*.DSP)", dsp); -DECLARE_MULTIPLE_FILE_TYPE("DSPW Audio File (*.DSPW)", dspw); -DECLARE_MULTIPLE_FILE_TYPE("DTK Audio File (*.DTK)", dtk); -DECLARE_MULTIPLE_FILE_TYPE("DVI Audio File (*.DVI)", dvi); -DECLARE_MULTIPLE_FILE_TYPE("DXH Audio File (*.DXH)", dxh); - -DECLARE_MULTIPLE_FILE_TYPE("EAM Audio File (*.EAM)", eam); -DECLARE_MULTIPLE_FILE_TYPE("EMFF Audio File (*.EMFF)", emff); -DECLARE_MULTIPLE_FILE_TYPE("ENTH Audio File (*.ENTH)", enth); - -DECLARE_MULTIPLE_FILE_TYPE("FAG Audio File (*.FAG)", fag); -DECLARE_MULTIPLE_FILE_TYPE("FFW Audio File (*.FFW)", ffw); -DECLARE_MULTIPLE_FILE_TYPE("FILP Audio File (*.FILP)", filp); -DECLARE_MULTIPLE_FILE_TYPE("FSB Audio File (*.FSB)", fsb); -DECLARE_MULTIPLE_FILE_TYPE("FWAV Audio File (*.FWAV)", fwav); - -DECLARE_MULTIPLE_FILE_TYPE("G1L Audio File (*.G1L)", g1l); -DECLARE_MULTIPLE_FILE_TYPE("GBTS Audio File (*.GBTS)", gbts); -DECLARE_MULTIPLE_FILE_TYPE("GCA Audio File (*.GCA)", gca); -DECLARE_MULTIPLE_FILE_TYPE("GCM Audio File (*.GCM)", gcm); -DECLARE_MULTIPLE_FILE_TYPE("GCUB Audio File (*.GCUB)", gcub); -DECLARE_MULTIPLE_FILE_TYPE("GCW Audio File (*.GCW)", gcw); -DECLARE_MULTIPLE_FILE_TYPE("GENH Audio File (*.GENH)", genh); -DECLARE_MULTIPLE_FILE_TYPE("GMS Audio File (*.GMS)", gms); -DECLARE_MULTIPLE_FILE_TYPE("GSB Audio File (*.GSB)", gsb); -DECLARE_MULTIPLE_FILE_TYPE("GSB Audio File (*.GTD)", gtd); - -DECLARE_MULTIPLE_FILE_TYPE("HCA Audio File (*.HCA)", hca); -DECLARE_MULTIPLE_FILE_TYPE("HGC1 Audio File (*.HGC1)", hgc1); -DECLARE_MULTIPLE_FILE_TYPE("HIS Audio File (*.HIS)", his); -DECLARE_MULTIPLE_FILE_TYPE("HLWAV Audio File (*.HLWAV)", hlwav); -DECLARE_MULTIPLE_FILE_TYPE("HALPST Audio File (*.HPS)", hps); -DECLARE_MULTIPLE_FILE_TYPE("HSF Audio File (*.HSF)", hsf); -DECLARE_MULTIPLE_FILE_TYPE("HWAS Audio File (*.HWAS)", hwas); - -DECLARE_MULTIPLE_FILE_TYPE("IAB Audio File (*.IAB)", iab); -DECLARE_MULTIPLE_FILE_TYPE("IADP Audio File (*.IADP)", iadp); -DECLARE_MULTIPLE_FILE_TYPE("IDSP Audio File (*.IDSP)", idsp); -DECLARE_MULTIPLE_FILE_TYPE("IDVI Audio File (*.IDVI)", idvi); -DECLARE_MULTIPLE_FILE_TYPE("IKM Audio File (*.IKM)", ikm); -DECLARE_MULTIPLE_FILE_TYPE("ILD Audio File (*.ILD)", ild); -DECLARE_MULTIPLE_FILE_TYPE("INT Audio File (*.INT)", int); -DECLARE_MULTIPLE_FILE_TYPE("ISD Audio File (*.ISD)", isd); -DECLARE_MULTIPLE_FILE_TYPE("ISWS Audio File (*.ISWS)", isws); -DECLARE_MULTIPLE_FILE_TYPE("IVAUD Audio File (*.IVAUD)", ivaud); -DECLARE_MULTIPLE_FILE_TYPE("IVAG Audio File (*.IVAG)", ivag); -DECLARE_MULTIPLE_FILE_TYPE("IVB Audio File (*.IVB)", ivb); - -DECLARE_MULTIPLE_FILE_TYPE("JOE Audio File (*.JOE)", joe); -DECLARE_MULTIPLE_FILE_TYPE("JSTM Audio File (*.JSTM)", jstm); - -DECLARE_MULTIPLE_FILE_TYPE("KCES Audio File (*.KCES)", kces); -DECLARE_MULTIPLE_FILE_TYPE("KCEY Audio File (*.KCEY)", kcey); -DECLARE_MULTIPLE_FILE_TYPE("KHV Audio File (*.KHV)", khv); -DECLARE_MULTIPLE_FILE_TYPE("KOVS Audio File (*.KOVS)", kovs); -DECLARE_MULTIPLE_FILE_TYPE("KRAW Audio File (*.KRAW)", kraw); - -DECLARE_MULTIPLE_FILE_TYPE("LAAC Audio File (*.LAAC)", laac); -DECLARE_MULTIPLE_FILE_TYPE("LEG Audio File (*.LEG)", leg); -DECLARE_MULTIPLE_FILE_TYPE("LMP4 Audio File (*.LMP4)", lmp4); -DECLARE_MULTIPLE_FILE_TYPE("LOGG Audio File (*.LOGG)", logg); -DECLARE_MULTIPLE_FILE_TYPE("LPCM Audio File (*.LPCM)", lpcm); -DECLARE_MULTIPLE_FILE_TYPE("LPS Audio File (*.LPS)", lps); -DECLARE_MULTIPLE_FILE_TYPE("LSF Audio File (*.LSF)", lsf); -DECLARE_MULTIPLE_FILE_TYPE("LWAV Audio File (*.LWAV)", lwav); - -DECLARE_MULTIPLE_FILE_TYPE("MATX Audio File (*.MATX)", matx); -DECLARE_MULTIPLE_FILE_TYPE("MC3 Audio File (*.MC3)", mc3); -DECLARE_MULTIPLE_FILE_TYPE("MCA Audio File (*.MCA)", mca); -DECLARE_MULTIPLE_FILE_TYPE("MCG Audio File (*.MCG)", mcg); -DECLARE_MULTIPLE_FILE_TYPE("MDS Audio File (*.MDS)", mds); -DECLARE_MULTIPLE_FILE_TYPE("MDSP Audio File (*.MDSP)", mdsp); -DECLARE_MULTIPLE_FILE_TYPE("MI4 Audio File (*.MI4)", mi4); -DECLARE_MULTIPLE_FILE_TYPE("MIB Audio File (*.MIB)", mib); -DECLARE_MULTIPLE_FILE_TYPE("MIC Audio File (*.MIC)", mic); -DECLARE_MULTIPLE_FILE_TYPE("MIHB Audio File (*.MIHB)", mihb); -DECLARE_MULTIPLE_FILE_TYPE("MNSTR Audio File (*.MNSTR)", mnstr); -//"mp4", //common -DECLARE_MULTIPLE_FILE_TYPE("MPDSP Audio File (*.MPDSP)", mpdsp); -DECLARE_MULTIPLE_FILE_TYPE("MPDS Audio File (*.MPDS)", mpds); -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("MTA2 Audio File (*.MTA2)", mta2); -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); -DECLARE_MULTIPLE_FILE_TYPE("MWV Audio File (*.MWV)", mwv); -DECLARE_MULTIPLE_FILE_TYPE("MxSt Audio File (*.MxSt)", mxst); -DECLARE_MULTIPLE_FILE_TYPE("MYSPD Audio File (*.MYSPD)", myspd); - -DECLARE_MULTIPLE_FILE_TYPE("NDP Audio File (*.NDP)", ndp); -DECLARE_MULTIPLE_FILE_TYPE("NGCA Audio File (*.NGCA)", ngca); -DECLARE_MULTIPLE_FILE_TYPE("NPS Audio File (*.NPS)", nps); -DECLARE_MULTIPLE_FILE_TYPE("NPSF Audio File (*.NPSF)", npsf); -DECLARE_MULTIPLE_FILE_TYPE("NUS3BANK Audio File (*.NUS3BANK)", nus3bank); -DECLARE_MULTIPLE_FILE_TYPE("NWA Audio File (*.NWA)", nwa); - -//"ogg", //common -DECLARE_MULTIPLE_FILE_TYPE("OGL Audio File (*.OGL)", ogl); -DECLARE_MULTIPLE_FILE_TYPE("OMA Audio File (*.OMA)", oma); -DECLARE_MULTIPLE_FILE_TYPE("OMU Audio File (*.OMU)", omu); -DECLARE_MULTIPLE_FILE_TYPE("OTM Audio File (*.OTM)", otm); - -DECLARE_MULTIPLE_FILE_TYPE("P2BT Audio File (*.P2BT)", p2bt); -DECLARE_MULTIPLE_FILE_TYPE("P3D Audio File (*.P3D)", p3d); -DECLARE_MULTIPLE_FILE_TYPE("PAST Audio File (*.PAST)", past); -DECLARE_MULTIPLE_FILE_TYPE("PCM Audio File (*.PCM)", pcm); -DECLARE_MULTIPLE_FILE_TYPE("PDT Audio File (*.PDT)", pdt); -DECLARE_MULTIPLE_FILE_TYPE("PNB Audio File (*.PNB)", pnb); -DECLARE_MULTIPLE_FILE_TYPE("PONA Audio File (*.PONA)", pona); -DECLARE_MULTIPLE_FILE_TYPE("POS Audio File (*.POS)", pos); -DECLARE_MULTIPLE_FILE_TYPE("PS2STM Audio File (*.PS2STM)", ps2stm); -DECLARE_MULTIPLE_FILE_TYPE("PSH Audio File (*.PSH)", psh); -DECLARE_MULTIPLE_FILE_TYPE("PSND Audio File (*.PSND)", psnd); -DECLARE_MULTIPLE_FILE_TYPE("PSW Audio File (*.PSW)", psw); - -DECLARE_MULTIPLE_FILE_TYPE("RAK Audio File (*.RAK)", rak); -DECLARE_MULTIPLE_FILE_TYPE("RAS Audio File (*.RAS)", ras); -DECLARE_MULTIPLE_FILE_TYPE("RAW Audio File (*.RAW)", raw); -DECLARE_MULTIPLE_FILE_TYPE("RKV Audio File (*.RKV)", rkv); -DECLARE_MULTIPLE_FILE_TYPE("RND Audio File (*.RND)", rnd); -DECLARE_MULTIPLE_FILE_TYPE("RRDS Audio File (*.RRDS)", rrds); -DECLARE_MULTIPLE_FILE_TYPE("RSD Audio File (*.RSD)", rsd); -DECLARE_MULTIPLE_FILE_TYPE("RSF Audio File (*.RSF)", rsf); -DECLARE_MULTIPLE_FILE_TYPE("RSTM Audio File (*.RSTM)", rstm); -DECLARE_MULTIPLE_FILE_TYPE("RVWS Audio File (*.RSTM)", rvws); -DECLARE_MULTIPLE_FILE_TYPE("RWAR Audio File (*.RWSD)", rwar); -DECLARE_MULTIPLE_FILE_TYPE("RWAV Audio File (*.RWAV)", rwav); -DECLARE_MULTIPLE_FILE_TYPE("RWS Audio File (*.RWS)", rws); -DECLARE_MULTIPLE_FILE_TYPE("RWSD Audio File (*.RWSD)", rwsd); -DECLARE_MULTIPLE_FILE_TYPE("RWX Audio File (*.RWX)", rwx); -DECLARE_MULTIPLE_FILE_TYPE("RXWS File (*.RXW)", rxw); - -DECLARE_MULTIPLE_FILE_TYPE("S14 Audio File (*.S14)", s14); -DECLARE_MULTIPLE_FILE_TYPE("SAB Audio File (*.SAB)", sab); -DECLARE_MULTIPLE_FILE_TYPE("SAD Audio File (*.SAD)", sad); -DECLARE_MULTIPLE_FILE_TYPE("SAP Audio File (*.SAP)", sap); -DECLARE_MULTIPLE_FILE_TYPE("SC Audio File (*.SC)", sc); -DECLARE_MULTIPLE_FILE_TYPE("SCD Audio File (*.SCD)", scd); -DECLARE_MULTIPLE_FILE_TYPE("SCK Audio File (*.SCK)", sck); -DECLARE_MULTIPLE_FILE_TYPE("SD9 Audio File (*.SD9)", sd9); -DECLARE_MULTIPLE_FILE_TYPE("SDT Audio File (*.SDT)", sdt); -DECLARE_MULTIPLE_FILE_TYPE("SEG Audio File (*.SEG)", seg); -DECLARE_MULTIPLE_FILE_TYPE("SF0 Audio File (*.SF0)", sf0); -DECLARE_MULTIPLE_FILE_TYPE("SFL Audio File (*.SFL)", sfl); -DECLARE_MULTIPLE_FILE_TYPE("SFS Audio File (*.SFS)", sfs); -DECLARE_MULTIPLE_FILE_TYPE("SFX Audio File (*.SFX)", sfx); -DECLARE_MULTIPLE_FILE_TYPE("SGB Audio File (*.SGB)", sgb); -DECLARE_MULTIPLE_FILE_TYPE("SGD Audio File (*.SGD)", sgd); -DECLARE_MULTIPLE_FILE_TYPE("SGX Audio File (*.SGX)", sgx); -DECLARE_MULTIPLE_FILE_TYPE("SL3 Audio File (*.SL3)", sl3); -DECLARE_MULTIPLE_FILE_TYPE("SLI Audio File (*.SLI)", sli); -DECLARE_MULTIPLE_FILE_TYPE("SMP Audio File (*.SMP)", smp); -DECLARE_MULTIPLE_FILE_TYPE("SMPL Audio File (*.SMPL)", smpl); -DECLARE_MULTIPLE_FILE_TYPE("SND Audio File (*.SND)", snd); -DECLARE_MULTIPLE_FILE_TYPE("SNDS Audio File (*.SNDS)", snds); -DECLARE_MULTIPLE_FILE_TYPE("SNG Audio File (*.SNG)", sng); -DECLARE_MULTIPLE_FILE_TYPE("SNS Audio File (*.SNS)", sns); -DECLARE_MULTIPLE_FILE_TYPE("SPD Audio File (*.SPD)", spd); -DECLARE_MULTIPLE_FILE_TYPE("SPM Audio File (*.SPM)", spm); -DECLARE_MULTIPLE_FILE_TYPE("SPS Audio File (*.SPS)", sps); -DECLARE_MULTIPLE_FILE_TYPE("SPSD Audio File (*.SPSD)", spsd); -DECLARE_MULTIPLE_FILE_TYPE("SPW Audio File (*.SPW)", spw); -DECLARE_MULTIPLE_FILE_TYPE("SS2 Audio File (*.SS2)", ss2); -DECLARE_MULTIPLE_FILE_TYPE("SS3 Audio File (*.SS3)", ss3); -DECLARE_MULTIPLE_FILE_TYPE("SS7 Audio File (*.SS7)", ss7); -DECLARE_MULTIPLE_FILE_TYPE("SSM Audio File (*.SSM)", ssm); -DECLARE_MULTIPLE_FILE_TYPE("SSS Audio File (*.SSS)", sss); -DECLARE_MULTIPLE_FILE_TYPE("STER Audio File (*.STER)", ster); -DECLARE_MULTIPLE_FILE_TYPE("STH Audio File (*.STH)", sth); -//"stm", //common -DECLARE_MULTIPLE_FILE_TYPE("STMA Audio File (*.STMA)", stma); -DECLARE_MULTIPLE_FILE_TYPE("STR Audio File (*.STR)", str); -DECLARE_MULTIPLE_FILE_TYPE("STRM Audio File (*.STRM)", strm); -DECLARE_MULTIPLE_FILE_TYPE("STS Audio File (*.STS)", sts); -DECLARE_MULTIPLE_FILE_TYPE("STX Audio File (*.STX)", stx); -DECLARE_MULTIPLE_FILE_TYPE("SVAG Audio File (*.SVAG)", svag); -DECLARE_MULTIPLE_FILE_TYPE("SVS Audio File (*.SVS)", svs); -DECLARE_MULTIPLE_FILE_TYPE("SWAG Audio File (*.SWAG)", swag); -DECLARE_MULTIPLE_FILE_TYPE("SWAV Audio File (*.SWAV)", swav); -DECLARE_MULTIPLE_FILE_TYPE("SWD Audio File (*.SWD)", swd); -DECLARE_MULTIPLE_FILE_TYPE("SXD Audio File (*.SXD)", sxd); -DECLARE_MULTIPLE_FILE_TYPE("SXD2 Audio File (*.SXD2)", sxd2); - -DECLARE_MULTIPLE_FILE_TYPE("TEC Audio File (*.TEC)", tec); -DECLARE_MULTIPLE_FILE_TYPE("THP Audio File (*.THP)", thp); -DECLARE_MULTIPLE_FILE_TYPE("TK1 Audio File (*.TK1)", tk1); -DECLARE_MULTIPLE_FILE_TYPE("TK5 Audio File (*.TK5)", tk5); -DECLARE_MULTIPLE_FILE_TYPE("TRA Audio File (*.TRA)", tra); -DECLARE_MULTIPLE_FILE_TYPE("TUN Audio File (*.TUN)", tun); -DECLARE_MULTIPLE_FILE_TYPE("TYDSP Audio File (*.TYDSP)", tydsp); - -DECLARE_MULTIPLE_FILE_TYPE("UM3 Audio File (*.UM3)", um3); - -DECLARE_MULTIPLE_FILE_TYPE("VAG Audio File (*.VAG)", vag); -DECLARE_MULTIPLE_FILE_TYPE("VAS Audio File (*.VAS)", vas); -DECLARE_MULTIPLE_FILE_TYPE("VAS Audio File (*.VAS)", vawx); -DECLARE_MULTIPLE_FILE_TYPE("VB Audio File (*.VB)", vb); -DECLARE_MULTIPLE_FILE_TYPE("VBK Audio File (*.VBK)", vbk); -DECLARE_MULTIPLE_FILE_TYPE("VGS Audio File (*.VGS)", vgs); -DECLARE_MULTIPLE_FILE_TYPE("VGV Audio File (*.VGV)", vgv); -DECLARE_MULTIPLE_FILE_TYPE("VIG Audio File (*.VIG)", vig); -DECLARE_MULTIPLE_FILE_TYPE("VMS Audio File (*.VMS)", vms); -DECLARE_MULTIPLE_FILE_TYPE("VOI Audio File (*.VOI)", voi); -DECLARE_MULTIPLE_FILE_TYPE("VPK Audio File (*.VPK)", vpk); -DECLARE_MULTIPLE_FILE_TYPE("VS Audio File (*.VS)", vs); -DECLARE_MULTIPLE_FILE_TYPE("VSF Audio File (*.VSF)", vsf); - -DECLARE_MULTIPLE_FILE_TYPE("WAA Audio File (*.WAA)", waa); -DECLARE_MULTIPLE_FILE_TYPE("WAC Audio File (*.WAC)", wac); -DECLARE_MULTIPLE_FILE_TYPE("WAD Audio File (*.WAD)", wad); -DECLARE_MULTIPLE_FILE_TYPE("WAM Audio File (*.WAM)", wam); -DECLARE_MULTIPLE_FILE_TYPE("WAS Audio File (*.WAS)", was); -//"wav", //common -DECLARE_MULTIPLE_FILE_TYPE("WAVM Audio File (*.WAVM)", wavm); -DECLARE_MULTIPLE_FILE_TYPE("WEM Audio File (*.WEM)", wem); -DECLARE_MULTIPLE_FILE_TYPE("WII Audio File (*.WII)", wii); -DECLARE_MULTIPLE_FILE_TYPE("WMUS Audio File (*.WMUS)", wmus); -DECLARE_MULTIPLE_FILE_TYPE("WP2 Audio File (*.WP2)", wp2); -DECLARE_MULTIPLE_FILE_TYPE("WPD Audio File (*.WPD)", wpd); -DECLARE_MULTIPLE_FILE_TYPE("WSD Audio File (*.WSD)", wsd); -DECLARE_MULTIPLE_FILE_TYPE("WSI Audio File (*.WSI)", wsi); -DECLARE_MULTIPLE_FILE_TYPE("WVS Audio File (*.WVS)", wvs); - -DECLARE_MULTIPLE_FILE_TYPE("XA File (*.XA)", xa); -DECLARE_MULTIPLE_FILE_TYPE("XA2 Audio File (*.XA2)", xa2); -DECLARE_MULTIPLE_FILE_TYPE("XA30 Audio File (*.XA30)", xa30); -DECLARE_MULTIPLE_FILE_TYPE("XAG Audio File (*.XAG)", xag); -DECLARE_MULTIPLE_FILE_TYPE("XAU Audio File (*.XAU)", xau); -DECLARE_MULTIPLE_FILE_TYPE("XMA Audio File (*.XMA)", xma); -DECLARE_MULTIPLE_FILE_TYPE("XMA2 Audio File (*.XMA2)", xma2); -DECLARE_MULTIPLE_FILE_TYPE("XMU Audio File (*.XMU)", xmu); -DECLARE_MULTIPLE_FILE_TYPE("XNB Audio File (*.XNB)", xnb); -DECLARE_MULTIPLE_FILE_TYPE("XSF Audio File (*.XSF)", xsf); -DECLARE_MULTIPLE_FILE_TYPE("XSS Audio File (*.XSS)", xss); -DECLARE_MULTIPLE_FILE_TYPE("XVAG Audio File (*.XVAG)", xvag); -DECLARE_MULTIPLE_FILE_TYPE("XVAS Audio File (*.XVAS)", xvas); -DECLARE_MULTIPLE_FILE_TYPE("XWAV Audio File (*.XWAV)", xwav); -DECLARE_MULTIPLE_FILE_TYPE("XWB Audio File (*.XWB)", xwb); -DECLARE_MULTIPLE_FILE_TYPE("XWM Audio File (*.XWM)", xwm); -DECLARE_MULTIPLE_FILE_TYPE("XWMA Audio File (*.XWMA)", xwma); -DECLARE_MULTIPLE_FILE_TYPE("XWS Audio File (*.XWS)", xws); -DECLARE_MULTIPLE_FILE_TYPE("XWV Audio File (*.XWV)", xwv); - -DECLARE_MULTIPLE_FILE_TYPE("YDSP Audio File (*.YDSP)", ydsp); -DECLARE_MULTIPLE_FILE_TYPE("YMF Audio File (*.YMF)", ymf); - -DECLARE_MULTIPLE_FILE_TYPE("ZSD Audio File (*.ZSD)", zsd); -DECLARE_MULTIPLE_FILE_TYPE("ZWDSP Audio File (*.ZWDSP)", zwdsp); - -DECLARE_MULTIPLE_FILE_TYPE("VGMSTREAM Audio File (*.VGMSTREAM)", vgmstream); +#include "foo_filetypes.h" diff --git a/fb2k/foo_vgmstream.h b/fb2k/foo_vgmstream.h index a99498d7..c2112715 100644 --- a/fb2k/foo_vgmstream.h +++ b/fb2k/foo_vgmstream.h @@ -75,10 +75,4 @@ STREAMFILE * open_foo_streamfile_buffer_by_file(service_ptr_t m_file,const STREAMFILE * open_foo_streamfile_buffer(const char * const filename, size_t buffersize, abort_callback * p_abort, t_filestats * stats); STREAMFILE * open_foo_streamfile(const char * const filename, abort_callback * p_abort, t_filestats * stats); - -#define DECLARE_MULTIPLE_FILE_TYPE(NAME,EXTENSION) \ - namespace { static input_file_type_impl g_filetype_instance_##EXTENSION(NAME,"*." #EXTENSION ,true); \ - static service_factory_single_ref_t g_filetype_service##EXTENSION(g_filetype_instance_##EXTENSION); } - - -#endif +#endif /*_FOO_VGMSTREAM_*/