XMMS2
Data Structures | Macros | Enumerations | Functions
Visualization

Feeds playing data in various forms to the client. More...

Data Structures

struct  xmmsc_vischunk_t
 Package format for vis data, encapsulated by unixshm or udp transport. More...
 
struct  xmmsc_vis_udp_data_t
 UDP package descriptor to deliver a vis chunk. More...
 
struct  xmmsc_vis_udp_timing_t
 UDP package descriptor to synchronize time. More...
 
struct  xmmsc_vis_properties_t
 Properties of the delivered vis data. More...
 
struct  xmmsc_vis_unixshm_t
 data describing a unixshm transport More...
 
struct  xmmsc_vis_udp_t
 data describing a udp transport More...
 

Macros

#define XMMSC_VISUALIZATION_WINDOW_SIZE   512
 
#define XMMS_VISPACKET_VERSION   1
 
#define XMMS_VISPACKET_SHMCOUNT   500
 
#define XMMSC_VIS_UNALIGNED_WRITE(dst, src, typ)
 
#define XMMSC_VIS_UNALIGNED_READ(dst, src, typ)
 
#define XMMS_VISPACKET_UDP_OFFSET   (1 + sizeof (uint16_t))
 

Enumerations

enum  xmmsc_vis_data_t { VIS_PCM, VIS_SPECTRUM, VIS_PEAK }
 Possible data modes. More...
 
enum  xmmsc_vis_transport_t { VIS_UNIXSHM, VIS_UDP, VIS_NONE }
 Possible vis transports. More...
 
enum  xmmsc_vis_state_t {
  VIS_NEW, VIS_TRYING_UNIXSHM, VIS_TO_TRY_UDP, VIS_TRYING_UDP,
  VIS_ERRORED, VIS_WORKING
}
 

Functions

xmms_vis_client_tget_client (int32_t id)
 
void delete_client (int32_t id)
 
xmms_visualization_txmms_visualization_new (xmms_output_t *output)
 Initialize the Vis module. More...
 
void send_data (int channels, int size, short *buf)
 
double tv2ts (struct timeval *t)
 
double net2ts (int32_t *s)
 
void ts2net (int32_t *d, double t)
 
void tv2net (int32_t *d, struct timeval *t)
 
char * packet_init_data (xmmsc_vis_udp_data_t *p)
 
char * packet_init_timing (xmmsc_vis_udp_timing_t *p)
 

Detailed Description

Feeds playing data in various forms to the client.

Common structs for the visualization client and server.

Macro Definition Documentation

◆ XMMS_VISPACKET_SHMCOUNT

#define XMMS_VISPACKET_SHMCOUNT   500

Definition at line 54 of file xmmsc_visualization.h.

◆ XMMS_VISPACKET_UDP_OFFSET

#define XMMS_VISPACKET_UDP_OFFSET   (1 + sizeof (uint16_t))

Definition at line 91 of file xmmsc_visualization.h.

Referenced by write_udp().

◆ XMMS_VISPACKET_VERSION

#define XMMS_VISPACKET_VERSION   1

Definition at line 47 of file xmmsc_visualization.h.

◆ XMMSC_VIS_UNALIGNED_READ

#define XMMSC_VIS_UNALIGNED_READ (   dst,
  src,
  typ 
)
Value:
do { \
typ *__s = (src); \
memcpy (&(dst), __s, sizeof (typ)); \
} while (0)

Definition at line 84 of file xmmsc_visualization.h.

◆ XMMSC_VIS_UNALIGNED_WRITE

#define XMMSC_VIS_UNALIGNED_WRITE (   dst,
  src,
  typ 
)
Value:
do { \
typ *__d = (dst); \
typ __s = (src); \
memcpy (__d, &__s, sizeof (typ)); \
} while (0)

Definition at line 78 of file xmmsc_visualization.h.

Referenced by write_udp().

◆ XMMSC_VISUALIZATION_WINDOW_SIZE

#define XMMSC_VISUALIZATION_WINDOW_SIZE   512

Definition at line 27 of file xmmsc_visualization.h.

Enumeration Type Documentation

◆ xmmsc_vis_data_t

Possible data modes.

Enumerator
VIS_PCM 
VIS_SPECTRUM 
VIS_PEAK 

Definition at line 112 of file xmmsc_visualization.h.

◆ xmmsc_vis_state_t

Enumerator
VIS_NEW 
VIS_TRYING_UNIXSHM 
VIS_TO_TRY_UDP 
VIS_TRYING_UDP 
VIS_ERRORED 
VIS_WORKING 

Definition at line 150 of file xmmsc_visualization.h.

◆ xmmsc_vis_transport_t

Possible vis transports.

Enumerator
VIS_UNIXSHM 
VIS_UDP 
VIS_NONE 

Definition at line 144 of file xmmsc_visualization.h.

Function Documentation

◆ delete_client()

void delete_client ( int32_t  id)

Definition at line 84 of file object.c.

Referenced by write_start_shm(), and write_udp().

◆ get_client()

xmms_vis_client_t* get_client ( int32_t  id)

Definition at line 73 of file object.c.

◆ net2ts()

double net2ts ( int32_t *  s)

Definition at line 14 of file timestamp.c.

◆ packet_init_data()

char* packet_init_data ( xmmsc_vis_udp_data_t p)

Definition at line 8 of file udp.c.

Referenced by write_udp().

◆ packet_init_timing()

char* packet_init_timing ( xmmsc_vis_udp_timing_t p)

Definition at line 22 of file udp.c.

◆ send_data()

void send_data ( int  channels,
int  size,
short *  buf 
)

Definition at line 316 of file object.c.

◆ ts2net()

void ts2net ( int32_t *  d,
double  t 
)

Definition at line 20 of file timestamp.c.

◆ tv2net()

void tv2net ( int32_t *  d,
struct timeval *  t 
)

Definition at line 29 of file timestamp.c.

Referenced by write_shm().

◆ tv2ts()

double tv2ts ( struct timeval *  t)

Definition at line 8 of file timestamp.c.

◆ xmms_visualization_new()

xmms_visualization_t* xmms_visualization_new ( xmms_output_t output)

Initialize the Vis module.

Definition at line 113 of file object.c.