view src/xs_length.h @ 673:537240c47d18

It was the dawn of the third age of SID-kind, several years after the XMMS-BMP War. The Unified Audacious+XMMS-SID Project was a dream given form. Its goal: to prevent another war by creating a SID-plugin which would be functional for both worlds, where Audacious and XMMS -related code could work out their differences peacefully. It's a port of call, home away from home for coders, users, entrepreneurs, and wanderers. Humans and aliens wrapped in two million, five hundred thousand tons of spinning code, all alone in the night. It can be a dangerous place, but it's our last, best hope for peace. This is the story of the last of the XMMS-SID releases. The year is 2008. The name of the place is XMMS-SID 0.8.0rc2.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 21 Apr 2008 18:53:55 +0300
parents b0743dc9165d
children 4bf845090a25
line wrap: on
line source

#ifndef XS_LENGTH_H
#define XS_LENGTH_H

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

#ifdef __cplusplus
extern "C" {
#endif

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


typedef struct {
    sldb_node_t    *nodes,
            **pindex;
    size_t        n;
} xs_sldb_t;


/* Functions
 */
gint        xs_sldb_read(xs_sldb_t *, const gchar *);
gint        xs_sldb_index(xs_sldb_t *);
void        xs_sldb_free(xs_sldb_t *);
sldb_node_t *    xs_sldb_get(xs_sldb_t *, const gchar *);

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