view src/xs_length.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 84394ee26545
children
line wrap: on
line source

#ifndef XS_LENGTH_H
#define XS_LENGTH_H

#include "xmms-sid.h"
#include "xs_support.h"

#ifdef __cplusplus
extern "C" {
#endif

/* Types
 */
typedef struct _XSSLDBNode
{
    xs_md5hash_t    md5Hash;    /* 128-bit MD5 hash-digest */
    gint            nlengths;   /* Number of lengths */
    gint            *lengths;   /* Lengths in seconds */
    struct _XSSLDBNode *prev, *next;
} XSSLDBNode;


typedef struct
{
    XSSLDBNode     *nodes,
                    **pindex;
    size_t          n;
} XSSLDB;


/* Functions
 */
gint            xs_sldb_read(XSSLDB *, const gchar *);
gint            xs_sldb_index(XSSLDB *);
void            xs_sldb_free(XSSLDB *);
XSSLDBNode *    xs_sldb_get(XSSLDB *, const gchar *);

#ifdef __cplusplus
}
#endif
#endif /* XS_LENGTH_H */