ocarina/include/callback.h

46 lines
1.1 KiB
C

/*
* Copyright 2014 (c) Anna Schumaker.
*/
#ifndef OCARINA_CALLBACK_H
#define OCARINA_CALLBACK_H
#include <library.h>
#include <queue.h>
struct Callbacks {
/* Audio callbacks */
void (*on_play)();
void (*on_pause)();
void (*on_track_loaded)(Track *);
void (*on_pause_count_changed)(bool, unsigned int);
/* Deck callbacks */
void (*on_pq_created)(Queue *, unsigned int);
void (*on_pq_removed)(Queue *);
/* Library callbacks */
void (*on_library_add)(unsigned int, Library *);
void (*on_library_update)(unsigned int, 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);
/* Queue callbacks */
void (*on_queue_track_add)(Queue *, unsigned int);
void (*on_queue_track_del)(Queue *, unsigned int);
void (*on_queue_track_changed)(Queue *, unsigned int);
void (*on_queue_changed)();
};
struct Callbacks *get_callbacks();
#endif /* OCARINA_CALLBACK_H */