47 lines
1.2 KiB
C
47 lines
1.2 KiB
C
/* Copyright (C) 2010 Contributors
|
|
* For conditions of distribution and use, see copyright notice in COPYING
|
|
*/
|
|
|
|
#ifndef SYNC_H
|
|
#define SYNC_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <stddef.h>
|
|
|
|
struct sync_device;
|
|
struct sync_track;
|
|
|
|
struct sync_device *sync_create_device(const char *);
|
|
void sync_destroy_device(struct sync_device *);
|
|
|
|
#ifndef SYNC_PLAYER
|
|
struct sync_cb {
|
|
void (*pause)(void *, int);
|
|
void (*set_row)(void *, int);
|
|
int (*is_playing)(void *);
|
|
};
|
|
#define SYNC_DEFAULT_PORT 1338
|
|
int sync_connect(struct sync_device *, const char *, unsigned short);
|
|
int sync_update(struct sync_device *, int, struct sync_cb *, void *);
|
|
void sync_save_tracks(const struct sync_device *, int row);
|
|
#else /* defined(SYNC_PLAYER) */
|
|
struct sync_io_cb {
|
|
void *(*open)(const char *filename, const char *mode);
|
|
size_t (*read)(void *ptr, size_t size, size_t nitems, void *stream);
|
|
int (*close)(void *stream);
|
|
};
|
|
void sync_set_io_cb(struct sync_device *d, struct sync_io_cb *cb);
|
|
#endif /* defined(SYNC_PLAYER) */
|
|
|
|
const struct sync_track *sync_get_track(struct sync_device *, const char *);
|
|
double sync_get_val(const struct sync_track *, double);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* !defined(SYNC_H) */
|