aboutsummaryrefslogtreecommitdiff
path: root/Src/replicant/nsid3v2/frames.c
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/replicant/nsid3v2/frames.c
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/replicant/nsid3v2/frames.c')
-rw-r--r--Src/replicant/nsid3v2/frames.c61
1 files changed, 61 insertions, 0 deletions
diff --git a/Src/replicant/nsid3v2/frames.c b/Src/replicant/nsid3v2/frames.c
new file mode 100644
index 00000000..f64052c7
--- /dev/null
+++ b/Src/replicant/nsid3v2/frames.c
@@ -0,0 +1,61 @@
+#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;
+}