46 lines
1.2 KiB
C
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 */
|