sync_update is the only code-path that can end up calling any of the callbacks, so there's no need to store it in the device. This is a breaking change, so all users needs to update their code accordingly.
38 lines
930 B
C
38 lines
930 B
C
/* Copyright (C) 2010 Erik Faye-Lund and Egbert Teeselink
|
|
* For conditions of distribution and use, see copyright notice in COPYING
|
|
*/
|
|
|
|
#ifndef SYNC_H
|
|
#define SYNC_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
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 *);
|
|
#endif /* !defined(SYNC_PLAYER) */
|
|
|
|
const struct sync_track *sync_get_track(struct sync_device *, const char *);
|
|
float sync_get_val(const struct sync_track *, double);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* !defined(SYNC_H) */
|