All pastes #745237 Raw Edit

Stuff

public text v1 · immutable
·published 2007-10-22 06:02 UTC
rendered paste body
/*
 * UPSE: the unix playstation sound emulator.
 *
 * Filename: upse.h
 * Purpose: libupse development header
 *
 * Copyright (c) 2007 William Pitcock <nenolod@sacredspiral.co.uk>
 *
 * UPSE is free software, released under the GNU General Public License,
 * version 2. 
 * 
 * A copy of the GNU General Public License, version 2, is included in
 * the UPSE source kit as COPYING.
 *
 * UPSE is offered without any warranty of any kind, explicit or implicit.
 */

#ifndef __UPSE_LIBUPSE_UPSE_H_GUARD 
#define __UPSE_LIBUPSE_UPSE_H_GUARD

#include <upse-types.h>

typedef struct _upse_psftag {
        struct _upse_psftag *next;
        char *key;
        char *value;
} upse_psftag_t;

typedef struct {
        u32 length;
        u32 stop;
        u32 fade;
        char *title;
        char *artist;
        char *game;
        char *year;
        char *genre;
        char *psfby;
        char *comment;
        char *copyright;
        upse_psftag_t *taglist;
} upse_psf_t; 

int upse_seek(u32 t);
void upse_stop(void);
void upse_execute(void);

upse_psf_t *upse_load(char *path);
upse_psf_t *upse_get_psf_metadata(char *path);
void upse_free_psf_metadata(upse_psf_t *info);

typedef void (*upse_audio_callback_func_t)(unsigned char *, long);
void upse_set_audio_callback(upse_audio_callback_func_t func);

#endif