view src/xs_player.h @ 751:55eea3fa8868

Rename some structures.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 05 Nov 2012 18:42:57 +0200
parents d9d769b5dbe2
children 36c6a6e629bb
line wrap: on
line source

#ifndef XS_PLAYER_H
#define XS_PLAYER_H

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

#ifdef __cplusplus
extern "C" {
#endif

struct XSEngineState;

typedef struct {
    gint        plrIdent;
    gboolean    (*plrProbe)(XSFile *);
    gboolean    (*plrInit)(struct XSEngineState *);
    void        (*plrClose)(struct XSEngineState *);
    gboolean    (*plrInitSong)(struct XSEngineState *);
    guint       (*plrFillBuffer)(struct XSEngineState *, gchar *, guint);
    gboolean    (*plrLoadSID)(struct XSEngineState *, gchar *);
    void        (*plrDeleteSID)(struct XSEngineState *);
    XSTuneInfo*    (*plrGetSIDInfo)(const gchar *);
    gboolean    (*plrUpdateSIDInfo)(struct XSEngineState *);
    void        (*plrFlush)(struct XSEngineState *);
} XSEngine;


typedef struct XSEngineState {
    gint        audioFrequency,     /* Audio settings */
                audioChannels,
                audioBitsPerSample;
    AFormat     audioFormat;

    void        *sidEngine;         /* SID-emulation internal engine data */
    XSEngine *sidPlayer;         /* Selected player engine */
    gboolean    isError,
                isPlaying,
                isInitialized;
    gint        currSong,           /* Current sub-tune */
                lastTime;

    XSTuneInfo *tuneInfo;
} XSEngineState;


/* Global variables
 */
extern InputPlugin    xs_plugin_ip;

extern XSEngineState    xs_status;
XS_MUTEX_H(xs_status);

gboolean xs_init_emu_engine(int *configured, XSEngineState *status);

#ifdef __cplusplus
}
#endif
#endif /* XS_PLAYER_H */