Home Download Musics Developers
API Sources Tools File Format Technicals

api68.h File Reference


Detailed Description

sc68 API.

Author:
Benjamin Gerard <ben@sashipa.com>
Date:
2003/08/07
Id
api68.h,v 2.11 2003/11/10 19:10:38 benjihan Exp

#include "file68/istream68.h"
#include "file68/debugmsg68.h"
#include "api68/conf68.h"

Go to the source code of this file.

Data Structures

struct  api68_init_t
 API initialization. More...

struct  api68_music_info_t
 Music information. More...


Process status (as returned by api68_process() function)

#define API68_IDLE_BIT   1
 Set if no emulation pass has been runned.

#define API68_CHANGE_BIT   2
 Set when track has changed.

#define API68_LOOP_BIT   4
 Set when track has loop.

#define API68_END_BIT   5
 Set when finish with all tracks.

#define API68_IDLE   (1<<API68_IDLE_BIT)
#define API68_CHANGE   (1<<API68_CHANGE_BIT)
#define API68_LOOP   (1<<API68_LOOP_BIT)
#define API68_END   (1<<API68_END_BIT)
#define API68_MIX_OK   0
 Not really used.

#define API68_MIX_ERROR   -1
 Error.


API control functions.

api68_tapi68_init (api68_init_t *init)
 Initialise sc68 API.

void api68_shutdown (api68_t *api)
 Shutdown sc68 API.

unsigned int api68_sampling_rate (api68_t *api, unsigned int f)
 Set/Get sampling rate.

void api68_set_share (api68_t *api, const char *path)
 Set share data path.

void api68_set_user (api68_t *api, const char *path)
 Set user data path.

const char * api68_error (void)
 Pop and return last stacked error message.

void api68_debug (const char *fmt,...)
 Display debug message.


Music control functions.

int api68_process (api68_t *api, void *buf, int n)
 Fill PCM buffer.

int api68_play (api68_t *api, int track, int loop)
 Set/Get current track.

int api68_stop (api68_t *api)
 Stop playing.

int api68_seek (api68_t *api, int time_ms, int *is_seeking)
 Set/Get current play position.

int api68_music_info (api68_t *api, api68_music_info_t *info, int track, api68_disk_t disk)
 Get disk/track information.


File functions.

int api68_verify (istream_t *is)
 Verify an sc68 disk.

int api68_verify_file (const char *url)
 Verify an sc68 disk.

int api68_verify_mem (const void *buffer, int len)
 Verify an sc68 disk.

int api68_is_our_file (const char *url, const char *exts, int *is_remote)
 Verify an sc68 disk.

int api68_load (api68_t *api, istream_t *is)
 Load an sc68 disk for playing.

int api68_load_file (api68_t *api, const char *url)
 Verify an sc68 disk.

int api68_load_mem (api68_t *api, const void *buffer, int len)
 Verify an sc68 disk.

api68_disk_t api68_load_disk (istream_t *is)
 Load an sc68 disk outside the API.

api68_disk_t api68_load_disk_file (const char *url)
 Verify an sc68 disk.

api68_disk_t api68_disk_load_mem (const void *buffer, int len)
 Verify an sc68 disk.

int api68_open (api68_t *api, api68_disk_t disk)
 Change current disk.

void api68_close (api68_t *api)
 Close current disk.

int api68_tracks (api68_t *api)
 Get number of tracks.


Configuration functions

int api68_config_load (api68_t *api)
 Load config file.

int api68_config_save (api68_t *api)
 Save config file.

int api68_config_idx (api68_t *api, const char *name)
 Get config variable idex.

SC68config_type_t api68_config_get (api68_t *api, int *idx, const char **name)
 Get config variable value.

SC68config_type_t api68_config_range (api68_t *api, int idx, int *min, int *max, int *def)
 Get type and range of a config entry.

SC68config_type_t api68_config_set (api68_t *api, int idx, const char *name, int v, const char *s)
 Set config variable value.

void api68_config_apply (api68_t *api)
 Apply current configuration to api.


Dynamic memory access.

void * api68_alloc (unsigned int n)
 Allocate dynamic memory.

void api68_free (void *data)
 Free dynamic memory.


Typedefs

typedef _api68_s api68_t
 API information.

typedef void * api68_disk_t
 API disk.