char *mus_current_identifier;
};
-struct ArtworkConfigInfo
+struct ConfigInfo
+{
+ char *token;
+ char *value;
+};
+
+struct FileInfo
{
char *token;
- char *default_filename;
+ char *default_filename;
char *filename;
+
+ int *default_parameter; /* array of file parameters */
+ int *parameter; /* array of file parameters */
};
-struct ArtworkListNodeInfo
+struct ListNodeInfo
{
- char *source_filename;
+ char *source_filename; /* primary key for node list */
int num_references;
};
struct ArtworkListInfo
{
int type; /* type of artwork */
- int num_list_entries;
- struct ArtworkConfigInfo *config_list; /* static config list */
- struct ArtworkListNodeInfo **artwork_list; /* static artwork list */
- ListNode *file_list; /* dynamic artwork list */
+
+ int num_file_list_entries;
+ int num_suffix_list_entries;
+
+ struct FileInfo *file_list; /* static artwork file array */
+ char **suffix_list; /* parameter suffixes array */
+
+ struct ListNodeInfo **artwork_list; /* static artwork node array */
+
+ struct ListNode *content_list; /* dynamic artwork node list */
+
void *(*load_artwork)(char *); /* constructor function */
void (*free_artwork)(void *); /* destructor function */
};