diff sidlib.h @ 311:ee56f1f2b528

Change how the STIL subtune are handled internally. Also fix a bug that caused the _last_ STIL field of each subtune not to be printed at all :S
author Matti Hamalainen <ccr@tnsp.org>
date Sat, 11 Jan 2020 14:25:23 +0200
parents 8a489e5a81d7
children 6d0143e43edf
line wrap: on
line diff
--- a/sidlib.h	Sat Jan 11 13:51:02 2020 +0200
+++ b/sidlib.h	Sat Jan 11 14:25:23 2020 +0200
@@ -90,6 +90,7 @@
 
 typedef struct
 {
+    int tune; // Subtune number this structure contains information for
     SIDLibSTILField fields[STF_LAST];
 } SIDLibSTILSubTune;
 
@@ -98,9 +99,9 @@
 {
     th_llist_t node;
 
-    char *filename;
-    int nsubtunes;
-    SIDLibSTILSubTune **subtunes;
+    char *filename; // HVSC path/filename
+    size_t nsubtunes;  // Number of subtune information structures
+    SIDLibSTILSubTune *subtunes;
 
     // Internal use only
     SIDLibSLDBNode *lengths;
@@ -173,6 +174,7 @@
 int              sidlib_stildb_build_index(SIDLibSTILDB *dbh);
 void             sidlib_stildb_free(SIDLibSTILDB *dbh);
 SIDLibSTILNode * sidlib_stildb_get_node(SIDLibSTILDB *dbh, const char *filename);
+SIDLibSTILSubTune *sidlib_stildb_find_subtune(SIDLibSTILNode *node, const int nsubtune);
 
 
 #ifdef __cplusplus