2008-05-18 19:17:49 +02:00
|
|
|
#include <audacious/util.h>
|
|
|
|
|
|
|
|
void vgmstream_init();
|
|
|
|
void vgmstream_about();
|
|
|
|
void vgmstream_configure();
|
|
|
|
void vgmstream_destroy();
|
|
|
|
gboolean vgmstream_is_our_file(gchar *pFile);
|
|
|
|
void vgmstream_play(InputPlayback *context);
|
|
|
|
void vgmstream_stop(InputPlayback *context);
|
|
|
|
void vgmstream_pause(InputPlayback *context,gshort paused);
|
|
|
|
void vgmstream_seek(InputPlayback *context,gint time);
|
|
|
|
int vgmstream_get_time(InputPlayback *context);
|
|
|
|
void vgmstream_get_song_info(gchar *pFile,gchar **title,gint *length);
|
|
|
|
void vgmstream_mseek(InputPlayback *context,gulong ms);
|
|
|
|
void vgmstream_file_info_box(gchar *pFile);
|
|
|
|
|
|
|
|
gchar *vgmstream_exts [] = {
|
2010-06-29 17:52:07 +02:00
|
|
|
"2dx9",
|
2009-09-05 16:17:33 +02:00
|
|
|
|
|
|
|
"aax",
|
|
|
|
"acm",
|
2010-05-03 17:52:29 +02:00
|
|
|
"adm",
|
2009-09-05 16:17:33 +02:00
|
|
|
"adp",
|
|
|
|
"adpcm",
|
|
|
|
"ads",
|
2008-05-18 19:17:49 +02:00
|
|
|
"adx",
|
|
|
|
"afc",
|
|
|
|
"agsc",
|
2009-09-05 16:17:33 +02:00
|
|
|
"ahx",
|
|
|
|
"aifc",
|
|
|
|
"aix",
|
|
|
|
"amts",
|
|
|
|
"as4",
|
|
|
|
"asd",
|
|
|
|
"asf",
|
|
|
|
"asr",
|
|
|
|
"ass",
|
2008-05-18 19:17:49 +02:00
|
|
|
"ast",
|
2009-09-05 16:17:33 +02:00
|
|
|
"aud",
|
|
|
|
"aus",
|
|
|
|
|
|
|
|
"baka",
|
2010-09-11 22:57:39 +02:00
|
|
|
"baf",
|
2010-06-13 06:41:26 +02:00
|
|
|
"bar",
|
2009-09-05 16:17:33 +02:00
|
|
|
"bg00",
|
|
|
|
"bgw",
|
|
|
|
"bh2pcm",
|
|
|
|
"bmdx",
|
|
|
|
"bns",
|
2010-03-23 21:57:12 +01:00
|
|
|
"bnsf",
|
2010-04-20 23:07:45 +02:00
|
|
|
"bo2",
|
2008-05-18 19:17:49 +02:00
|
|
|
"brstm",
|
2008-05-27 04:34:21 +02:00
|
|
|
"brstmspm",
|
2011-02-16 07:57:19 +01:00
|
|
|
"bvg",
|
2009-09-05 16:17:33 +02:00
|
|
|
|
|
|
|
"caf",
|
2010-02-02 22:25:44 +01:00
|
|
|
"capdsp",
|
2010-07-27 14:24:03 +02:00
|
|
|
"cbd2",
|
2009-09-05 16:17:33 +02:00
|
|
|
"ccc",
|
|
|
|
"cfn",
|
|
|
|
"cnk",
|
2010-09-10 01:47:27 +02:00
|
|
|
"cps",
|
2009-09-05 16:17:33 +02:00
|
|
|
|
|
|
|
"dcs",
|
|
|
|
"de2",
|
2010-04-20 23:07:45 +02:00
|
|
|
"ddsp",
|
|
|
|
"dmsg",
|
2008-05-18 19:17:49 +02:00
|
|
|
"dsp",
|
2010-08-04 21:37:33 +02:00
|
|
|
"dspw",
|
2009-09-05 16:17:33 +02:00
|
|
|
"dtk",
|
|
|
|
"dvi",
|
|
|
|
"dxh",
|
|
|
|
|
|
|
|
"eam",
|
|
|
|
"emff",
|
|
|
|
"enth",
|
|
|
|
|
|
|
|
"fag",
|
|
|
|
"filp",
|
|
|
|
"fsb",
|
|
|
|
|
|
|
|
"gbts",
|
|
|
|
"gca",
|
|
|
|
"gcm",
|
|
|
|
"gcub",
|
2008-05-18 19:17:49 +02:00
|
|
|
"gcw",
|
2009-09-05 16:17:33 +02:00
|
|
|
"genh",
|
|
|
|
"gms",
|
|
|
|
"gsb",
|
|
|
|
|
|
|
|
"hgc1",
|
2010-01-19 20:40:41 +01:00
|
|
|
"his",
|
|
|
|
"hlwav",
|
2009-09-05 16:17:33 +02:00
|
|
|
"hps",
|
|
|
|
"hwas",
|
|
|
|
|
2010-12-06 23:22:06 +01:00
|
|
|
"iab",
|
2009-09-05 16:17:33 +02:00
|
|
|
"idsp",
|
|
|
|
"idvi",
|
|
|
|
"ikm",
|
|
|
|
"ild",
|
2008-05-18 19:17:49 +02:00
|
|
|
"int",
|
2009-09-05 16:17:33 +02:00
|
|
|
"isd",
|
|
|
|
"ivaud",
|
|
|
|
"ivb",
|
|
|
|
|
|
|
|
"joe",
|
2010-08-28 04:14:19 +02:00
|
|
|
"jstm",
|
2009-09-05 16:17:33 +02:00
|
|
|
|
|
|
|
"kces",
|
|
|
|
"kcey",
|
2010-04-20 23:07:45 +02:00
|
|
|
"khv",
|
2011-03-23 04:17:53 +01:00
|
|
|
"klbs",
|
2010-12-11 07:42:42 +01:00
|
|
|
"kovs",
|
2009-09-05 16:17:33 +02:00
|
|
|
"kraw",
|
|
|
|
|
|
|
|
"leg",
|
|
|
|
"logg",
|
2010-04-30 04:35:26 +02:00
|
|
|
"lpcm",
|
2009-09-05 16:17:33 +02:00
|
|
|
"lps",
|
2011-01-13 09:11:58 +01:00
|
|
|
"lsf",
|
2009-09-05 16:17:33 +02:00
|
|
|
"lwav",
|
|
|
|
|
|
|
|
"matx",
|
|
|
|
"mcg",
|
2008-05-18 19:17:49 +02:00
|
|
|
"mi4",
|
2009-09-05 16:17:33 +02:00
|
|
|
"mib",
|
2008-05-18 19:17:49 +02:00
|
|
|
"mic",
|
2009-09-05 16:17:33 +02:00
|
|
|
"mihb",
|
|
|
|
"mpdsp",
|
2010-04-20 23:07:45 +02:00
|
|
|
"mpds",
|
2010-03-31 03:57:34 +02:00
|
|
|
"msa",
|
2010-10-12 02:16:49 +02:00
|
|
|
"msf",
|
2008-05-18 19:17:49 +02:00
|
|
|
"mss",
|
2009-09-05 16:17:33 +02:00
|
|
|
"msvp",
|
2010-12-04 00:21:36 +01:00
|
|
|
"mtaf",
|
2009-09-05 16:17:33 +02:00
|
|
|
"mus",
|
2008-07-16 05:21:37 +02:00
|
|
|
"musc",
|
2008-07-17 03:47:08 +02:00
|
|
|
"musx",
|
2009-09-05 16:17:33 +02:00
|
|
|
"mwv",
|
|
|
|
"mxst",
|
2010-01-10 22:22:20 +01:00
|
|
|
"myspd",
|
2009-09-05 16:17:33 +02:00
|
|
|
|
|
|
|
"ndp",
|
2010-11-09 05:21:22 +01:00
|
|
|
"ngca",
|
2009-09-05 16:17:33 +02:00
|
|
|
"npsf",
|
|
|
|
"nwa",
|
|
|
|
|
|
|
|
"omu",
|
|
|
|
|
|
|
|
"p2bt",
|
2010-04-10 14:06:25 +02:00
|
|
|
"p3d",
|
2010-10-12 02:16:49 +02:00
|
|
|
"past",
|
2008-08-01 05:27:20 +02:00
|
|
|
"pcm",
|
2009-09-05 16:17:33 +02:00
|
|
|
"pdt",
|
|
|
|
"pnb",
|
|
|
|
"pos",
|
2009-11-22 15:06:45 +01:00
|
|
|
"ps2stm",
|
2009-09-05 16:17:33 +02:00
|
|
|
"psh",
|
2011-02-19 03:59:42 +01:00
|
|
|
"psnd",
|
2008-08-01 05:27:20 +02:00
|
|
|
"psw",
|
2009-09-05 16:17:33 +02:00
|
|
|
|
2010-11-22 02:45:39 +01:00
|
|
|
"ras",
|
2009-09-05 16:17:33 +02:00
|
|
|
"raw",
|
|
|
|
"rkv",
|
|
|
|
"rnd",
|
|
|
|
"rrds",
|
|
|
|
"rsd",
|
|
|
|
"rsf",
|
|
|
|
"rstm",
|
2010-04-20 23:07:45 +02:00
|
|
|
"rvws",
|
2009-09-05 16:17:33 +02:00
|
|
|
"rwar",
|
|
|
|
"rwav",
|
|
|
|
"rws",
|
|
|
|
"rwsd",
|
|
|
|
"rwx",
|
|
|
|
"rxw",
|
|
|
|
|
2010-03-23 21:57:12 +01:00
|
|
|
"s14",
|
2009-09-05 16:17:33 +02:00
|
|
|
"sab",
|
|
|
|
"sad",
|
|
|
|
"sap",
|
|
|
|
"sc",
|
2010-09-11 01:56:39 +02:00
|
|
|
"scd",
|
2009-09-05 16:17:33 +02:00
|
|
|
"sck",
|
|
|
|
"sd9",
|
2008-08-01 05:27:20 +02:00
|
|
|
"sdt",
|
2009-09-05 16:17:33 +02:00
|
|
|
"seg",
|
2011-03-03 10:03:18 +01:00
|
|
|
"sf0",
|
2009-09-05 16:17:33 +02:00
|
|
|
"sfl",
|
2008-08-10 06:39:55 +02:00
|
|
|
"sfs",
|
2011-03-03 10:03:18 +01:00
|
|
|
"sfx",
|
2010-10-19 04:16:08 +02:00
|
|
|
"sgb",
|
2009-09-05 16:17:33 +02:00
|
|
|
"sl3",
|
|
|
|
"sli",
|
|
|
|
"smp",
|
2010-03-31 03:57:34 +02:00
|
|
|
"smpl",
|
2009-09-05 16:17:33 +02:00
|
|
|
"snd",
|
2011-02-06 10:49:57 +01:00
|
|
|
"snds",
|
2009-09-05 16:17:33 +02:00
|
|
|
"sng",
|
2010-03-15 05:33:22 +01:00
|
|
|
"sns",
|
2009-09-05 16:17:33 +02:00
|
|
|
"spd",
|
2010-11-29 03:02:27 +01:00
|
|
|
"spm",
|
2009-09-05 16:17:33 +02:00
|
|
|
"sps",
|
2008-11-02 22:35:11 +01:00
|
|
|
"spsd",
|
2008-11-07 02:47:39 +01:00
|
|
|
"spw",
|
2009-09-05 16:17:33 +02:00
|
|
|
"ss2",
|
|
|
|
"ss3",
|
2010-03-23 21:57:12 +01:00
|
|
|
"ss7",
|
2009-09-05 16:17:33 +02:00
|
|
|
"ssm",
|
2010-03-23 21:57:12 +01:00
|
|
|
"sss",
|
2010-03-16 03:34:18 +01:00
|
|
|
"ster",
|
2009-09-05 16:17:33 +02:00
|
|
|
"stma",
|
|
|
|
"str",
|
|
|
|
"strm",
|
|
|
|
"sts",
|
2009-11-18 01:46:36 +01:00
|
|
|
"stx",
|
2009-09-05 16:17:33 +02:00
|
|
|
"svag",
|
|
|
|
"svs",
|
|
|
|
"swav",
|
|
|
|
"swd",
|
|
|
|
|
|
|
|
"tec",
|
|
|
|
"thp",
|
2010-04-12 03:06:18 +02:00
|
|
|
"tk1",
|
2009-09-05 16:17:33 +02:00
|
|
|
"tk5",
|
2010-12-04 00:21:36 +01:00
|
|
|
"tra",
|
2009-09-05 16:17:33 +02:00
|
|
|
"tydsp",
|
|
|
|
|
|
|
|
"um3",
|
|
|
|
|
|
|
|
"vag",
|
|
|
|
"vas",
|
2011-01-17 22:22:10 +01:00
|
|
|
"vawx",
|
2009-09-05 16:17:33 +02:00
|
|
|
"vb",
|
|
|
|
"vgs",
|
2010-04-20 23:07:45 +02:00
|
|
|
"vgv",
|
2009-09-05 16:17:33 +02:00
|
|
|
"vig",
|
2010-05-31 02:16:05 +02:00
|
|
|
"vms",
|
2010-04-20 23:07:45 +02:00
|
|
|
"voi",
|
2009-09-05 16:17:33 +02:00
|
|
|
"vpk",
|
|
|
|
"vs",
|
|
|
|
"vsf",
|
|
|
|
|
2008-11-23 13:43:41 +01:00
|
|
|
"waa",
|
|
|
|
"wac",
|
|
|
|
"wad",
|
|
|
|
"wam",
|
2009-09-05 16:17:33 +02:00
|
|
|
"wavm",
|
2010-03-23 04:36:10 +01:00
|
|
|
"wb",
|
2009-09-05 16:17:33 +02:00
|
|
|
"wii",
|
2011-02-13 03:23:53 +01:00
|
|
|
"wmus",
|
2009-09-05 16:17:33 +02:00
|
|
|
"wp2",
|
|
|
|
"wsd",
|
|
|
|
"wsi",
|
|
|
|
"wvs",
|
|
|
|
|
|
|
|
"xa",
|
|
|
|
"xa2",
|
|
|
|
"xa30",
|
2010-06-02 03:16:03 +02:00
|
|
|
"xau",
|
2009-09-05 16:17:33 +02:00
|
|
|
"xmu",
|
|
|
|
"xsf",
|
|
|
|
"xss",
|
2010-09-10 01:47:27 +02:00
|
|
|
"xvag",
|
2009-09-05 16:17:33 +02:00
|
|
|
"xvas",
|
|
|
|
"xwav",
|
|
|
|
"xwb",
|
|
|
|
|
2008-12-12 00:32:47 +01:00
|
|
|
"ydsp",
|
2009-09-05 16:17:33 +02:00
|
|
|
"ymf",
|
|
|
|
|
2009-03-13 00:42:56 +01:00
|
|
|
"zsd",
|
2009-09-05 16:17:33 +02:00
|
|
|
"zwdsp",
|
2008-05-18 19:17:49 +02:00
|
|
|
/* terminator */
|
|
|
|
NULL
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
InputPlugin vgmstream_iplug = {
|
|
|
|
.description = "VGMStream Decoder",
|
|
|
|
.init = vgmstream_init,
|
|
|
|
.about = vgmstream_about,
|
|
|
|
.configure = vgmstream_configure,
|
|
|
|
.cleanup = vgmstream_destroy,
|
|
|
|
.is_our_file = vgmstream_is_our_file,
|
|
|
|
.play_file = vgmstream_play,
|
|
|
|
.stop = vgmstream_stop,
|
|
|
|
.pause = vgmstream_pause,
|
|
|
|
.seek = vgmstream_seek,
|
|
|
|
.get_time = vgmstream_get_time,
|
|
|
|
.get_song_info = vgmstream_get_song_info,
|
|
|
|
.vfs_extensions = vgmstream_exts,
|
|
|
|
.mseek = vgmstream_mseek,
|
|
|
|
.file_info_box = vgmstream_file_info_box,
|
|
|
|
};
|
|
|
|
|
|
|
|
|