view src/xs_stil.h @ 957:0e60e5d56fdd

Change how the backend emulator library is initialized for libSIDPlay2 and FP, as it seems the engine configuration has some persistence despite reconfiguration between loaded files if same engine object is retained. This caused, for example, 2SID stereo tunes being played "mono" if played after a normal 1-SID tune. Duh.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 20 Nov 2012 22:13:48 +0200
parents 693594421516
children
line wrap: on
line source

#ifndef XS_STIL_H
#define XS_STIL_H

#include "xmms-sid.h"

#ifdef __cplusplus
extern "C" {
#endif

/* Types
 */
typedef struct {
    gchar *name,
          *author,
          *title,
          *info;
} XSSTILSubNode;


typedef struct _XSSTILNode {
    gchar              *filename;
    gint               nsubTunes;
    XSSTILSubNode      **subTunes;
    struct _XSSTILNode *prev, *next;
} XSSTILNode;


typedef struct {
    XSSTILNode  *nodes,
                **pindex;
    size_t      n;
} XSSTILDB;


/* Functions
 */
gint            xs_stildb_read(XSSTILDB *, gchar *);
gint            xs_stildb_index(XSSTILDB *);
void            xs_stildb_free(XSSTILDB *);
XSSTILNode *    xs_stildb_get_node(XSSTILDB *, gchar *);

#ifdef __cplusplus
}
#endif
#endif /* XS_STIL_H */