#include "frames.h"

/* this is a .c file to shut up GCC which doesn't like to convert from int8_t to char */

/* order needs to match the enum in nsid3v2.h */

const FrameID frame_ids[] =
{
	{FRAMEID("PIC"), FRAMEID("APIC"), FRAMEID("APIC")},
	{FRAMEID("COM"), FRAMEID("COMM"), FRAMEID("COMM")},
	{FRAMEID("POP"), FRAMEID("POPM"), FRAMEID("POPM")},
	{FRAMEID("TAL"), FRAMEID("TALB"), FRAMEID("TALB")},
	{FRAMEID("TBP"), FRAMEID("TBPM"), FRAMEID("TBPM")},
	{FRAMEID("TCM"), FRAMEID("TCOM"), FRAMEID("TCOM")},
	{FRAMEID("TCO"), FRAMEID("TCON"), FRAMEID("TCON")},
	{FRAMEID("TCR"), FRAMEID("TCOP"), FRAMEID("TCOP")},
	{FRAMEID("TDA"), FRAMEID("TDAT"), FRAMEID("TDAT")},
	{FRAMEID("TDY"), FRAMEID("TDLY"), FRAMEID("TDLY")},
	{FRAMEID(0), FRAMEID(0), FRAMEID("TDRC")},
	{FRAMEID("TEN"), FRAMEID("TENC"), FRAMEID("TENC")},
	{FRAMEID(0), FRAMEID("TEXT"), FRAMEID("TEXT")}, 
	{FRAMEID("TFT"), FRAMEID("TFLT"), FRAMEID("TFLT")}, 
	{FRAMEID("TIM"), FRAMEID("TIME"), FRAMEID("TIME")},
	{FRAMEID("TT1"), FRAMEID("TIT1"), FRAMEID("TIT1")},
	{FRAMEID("TT2"), FRAMEID("TIT2"), FRAMEID("TIT2")},
	{FRAMEID("TT3"), FRAMEID("TIT3"), FRAMEID("TIT3")},	
	{FRAMEID("TKE"), FRAMEID("TKEY"), FRAMEID("TKEY")},
	{FRAMEID("TLA"), FRAMEID("TLAN"), FRAMEID("TLAN")},
	{FRAMEID("TLE"), FRAMEID("TLEN"), FRAMEID("TLEN")},
	{FRAMEID("TMT"), FRAMEID("TMED"), FRAMEID("TMED")},
	{FRAMEID(0), FRAMEID(0), FRAMEID("TMOO")},
	{FRAMEID(0), FRAMEID("TOAL"), FRAMEID("TOAL")},

	{FRAMEID("TOA"), FRAMEID("TOPE"), FRAMEID("TOPE")},

	{FRAMEID("TP1"), FRAMEID("TPE1"), FRAMEID("TPE1")},
	{FRAMEID("TP2"), FRAMEID("TPE2"), FRAMEID("TPE2")},
	{FRAMEID("TP3"), FRAMEID("TPE3"), FRAMEID("TPE3")},
	{FRAMEID("TP4"), FRAMEID("TPE4"), FRAMEID("TPE4")},
	{FRAMEID("TPA"), FRAMEID("TPOS"), FRAMEID("TPOS")},
	{FRAMEID("TPB"), FRAMEID("TPUB"), FRAMEID("TPUB")},
	{FRAMEID("TRK"), FRAMEID("TRCK"), FRAMEID("TRCK")},
	{FRAMEID("TRD"), FRAMEID("TRDA"), FRAMEID("TRDA")},

	{FRAMEID("TRC"), FRAMEID("TSRC"), FRAMEID("TSRC")},
	{FRAMEID("TSS"), FRAMEID("TSSE"), FRAMEID("TSSE")},
	{FRAMEID("TYE"), FRAMEID("TYER"), FRAMEID("TYER")},

	{FRAMEID("TXX"), FRAMEID("TXXX"), FRAMEID("TXXX")},
	{FRAMEID("UFI"), FRAMEID("UFID"), FRAMEID("UFID")},

};

int ValidFrameID(int id)
{
	if (id < 0)
		return 0;
	if (id >= (sizeof(frame_ids) / sizeof(*frame_ids)))
		return 0;
	return 1;
}