ocarina/include/callback.h

46 lines
1.2 KiB
C

/*
* Copyright 2014 (c) Anna Schumaker.
*/
#ifndef OCARINA_CALLBACK_H
#define OCARINA_CALLBACK_H
#include <library.h>
#include <playqueue.h>
struct Callbacks {
/* Audio callbacks */
void (*on_play)();
void (*on_pause)();
void (*on_track_loaded)(library :: Song &);
void (*on_pause_count_changed)(bool, unsigned int);
/* Deck callbacks */
void (*on_pq_created)(Playqueue *, unsigned int);
void (*on_pq_removed)(Playqueue *);
/* Library callbacks */
void (*on_library_add)(unsigned int, library :: Library *);
void (*on_library_update)(unsigned int, library :: Library *);
void (*on_library_track_add)(unsigned int);
void (*on_library_track_del)(unsigned int);
void (*on_library_track_updated)(unsigned int);
void (*on_library_import_ban)(unsigned int);
/* Playlist callbacks */
void (*on_playlist_ban)(unsigned int);
void (*on_playlist_unban)(unsigned int);
/* Playqueue callbacks */
void (*on_queue_track_add)(Playqueue *, unsigned int);
void (*on_queue_track_del)(Playqueue *, unsigned int);
void (*on_queue_track_changed)(Playqueue *, unsigned int);
void (*on_queue_changed)();
};
struct Callbacks *get_callbacks();
#endif /* OCARINA_CALLBACK_H */