rocket/sync/sync.h
Erik Faye-Lund 5bfd04f55b player: pass callback directly to sync_update
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.
2011-01-25 04:10:39 +01:00

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) */