XMMS2
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.
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

◆ XMMS_VISPACKET_UDP_OFFSET

#define XMMS_VISPACKET_UDP_OFFSET   (1 + sizeof (uint16_t))

Referenced by write_udp().

◆ XMMS_VISPACKET_VERSION

#define XMMS_VISPACKET_VERSION   1

◆ XMMSC_VIS_UNALIGNED_READ

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

◆ 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)

Referenced by write_udp().

◆ XMMSC_VISUALIZATION_WINDOW_SIZE

#define XMMSC_VISUALIZATION_WINDOW_SIZE   512

Enumeration Type Documentation

◆ xmmsc_vis_data_t

Possible data modes.

Enumerator
VIS_PCM 
VIS_SPECTRUM 
VIS_PEAK 

◆ xmmsc_vis_state_t

Enumerator
VIS_NEW 
VIS_TRYING_UNIXSHM 
VIS_TO_TRY_UDP 
VIS_TRYING_UDP 
VIS_ERRORED 
VIS_WORKING 

◆ xmmsc_vis_transport_t

Possible vis transports.

Enumerator
VIS_UNIXSHM 
VIS_UDP 
VIS_NONE 

Function Documentation

◆ delete_client()

void delete_client ( int32_t id)

Referenced by write_start_shm(), and write_udp().

◆ get_client()

xmms_vis_client_t * get_client ( int32_t id)

◆ net2ts()

double net2ts ( int32_t * s)

◆ packet_init_data()

char * packet_init_data ( xmmsc_vis_udp_data_t * p)

Referenced by write_udp().

◆ packet_init_timing()

char * packet_init_timing ( xmmsc_vis_udp_timing_t * p)

◆ send_data()

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

◆ ts2net()

void ts2net ( int32_t * d,
double t )

◆ tv2net()

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

Referenced by write_shm().

◆ tv2ts()

double tv2ts ( struct timeval * t)

◆ xmms_visualization_new()

xmms_visualization_t * xmms_visualization_new ( xmms_output_t * output)

Initialize the Vis module.

Referenced by main().