diff sidlib.h @ 241:c9b57c8fd058

Begin work on STIL database parsing and handling.
author Matti Hamalainen <ccr@tnsp.org>
date Sat, 04 Jan 2020 19:00:09 +0200
parents 609bfc1bd628
children 537420ccd05b
line wrap: on
line diff
--- a/sidlib.h	Sat Jan 04 17:30:48 2020 +0200
+++ b/sidlib.h	Sat Jan 04 19:00:09 2020 +0200
@@ -47,6 +47,18 @@
 };
 
 
+// STIL database subtune fields, see SIDLibSTILSubNode
+enum
+{
+    STF_NAME,
+    STF_AUTHOR,
+    STF_TITLE,
+    STF_INFO,
+
+    STF_LAST
+};
+
+
 //
 // Structures
 //
@@ -69,6 +81,29 @@
 
 typedef struct
 {
+    char *fields[STF_LAST];
+} SIDLibSTILSubNode;
+
+
+typedef struct
+{
+    th_llist_t node;
+
+    char *filename;
+    int nsubTunes;
+    SIDLibSTILSubNode **subTunes;
+} SIDLibSTILNode;
+
+
+typedef struct
+{
+    SIDLibSTILNode *nodes, **pindex;
+    size_t nnodes;
+} SIDLibSTILDB;
+
+
+typedef struct
+{
     char magic[SIDLIB_PSID_MAGIC_LEN + 1]; // "PSID" / "RSID" magic identifier
     uint16_t
         version,         // Version number