Home | Download | Musics | Developers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sc68 main API |
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_t * | api68_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. |
|
|
|
|
|
|
|
|
|
Initialise sc68 API.
|
|
Shutdown sc68 API.
|
|
Set/Get sampling rate.
|
|
Set share data path.
|
|
Set user data path.
|
|
Pop and return last stacked error message.
|
|
Display debug message.
|
|
Fill PCM buffer. The api68_process() function fills the PCM buffer with the current music data. If the current track is finished and it is not the last the next one is automatically loaded. The function returns status value that report events that have occured during this pass.
|
|
Set/Get current track. The api68_play() function get or set current track. If track == -1 and loop == 0 the function returns the current track or 0 if none. If track == -1 and loop != 0 the function returns the current loop counter. If track >= 0 the function will test the requested track number. If it is 0, the disk default track will be use. If the track is out of range, the function fails and returns -1 else it returns 0. To avoid multi-threading issus the track is not changed directly but a change-track event is posted. This event will be processed at the next call to the api68_process() function. If loop is -1 the default music loop is used. If loop is 0 does an infinite loop.
|
|
Stop playing. The api68_stop() function stop current playing track. Like the api68_play() function the api68_stop() function does not really stop the music but send a stop-event that will be processed by the next call to api68_process() function.
|
|
Set/Get current play position. The api68_seek() functions get or set the current play position. If time_ms == -1 the function returns the current play position or -1 if not currently playing. If time_ms >= 0 the function tries to seek to the given position. If time_ms is out of range the function returns -1. If time_ms is inside the current playing track the function does not seek backward. Else the function changes to the track which time_ms belong to and returns the time position at the beginning of this track. The returned time is always the current position in millisecond (not the goal position).
|
|
Get disk/track information.
|
|
Load an sc68 disk outside the API. Free it with api68_free() function. |
|
Change current disk.
|
|
Close current disk.
|
|
Get number of tracks.
|
|
Load config file.
|
|
Save config file.
|
|
Get config variable idex.
|
|
Get config variable value.
|
|
Get type and range of a config entry.
|
|
Set config variable value.
|
|
Apply current configuration to api.
|
|
Allocate dynamic memory. The api68_alloc() function calls the SC68alloc() function.
|
|
Free dynamic memory. The api68_free() function calls the SC68free() function.
|