aboutsummaryrefslogtreecommitdiff
path: root/moc_library.h
blob: c545927fcfc0619bbdb53158f91ee659a7904df6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>  //Header file for sleep(). man 3 sleep for details.
#include <errno.h>
 
#include <pthread.h>
#include <sys/socket.h>
#include <sys/un.h>


/* Flags for the info decoder function. */
enum tags_select
{
  TAGS_COMMENTS	= 0x01, /* artist, title, etc. */
  TAGS_TIME	= 0x02 /* time of the file. */
};

enum moc_state {
  STOPPED,
  PLAYING,
  PAUSED
};

enum moc_status {
  INITIALIZING,
  CONNECTED,
  FAILED_TO_CONNECT,
  ERROR
};

struct moc { 
  pthread_mutex_t lock;
  enum moc_status status;
  enum moc_state state;

  char *filename;
  char *title;
  char *album;
  char *artist;
  int track;
  int time;
  int filled;
  int length;
};

extern const char * moc_str_status(enum moc_status s);
extern const char * moc_str_state(enum moc_state s);
extern struct moc * moc_init();