Visualization
[XMMSServer]

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

Defines

#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_CMD_DEFINE (query_version, xmms_visualization_version, xmms_visualization_t *, INT32, NONE, NONE)
 XMMS_CMD_DEFINE (registercl, xmms_visualization_register_client, xmms_visualization_t *, INT32, NONE, NONE)
 XMMS_CMD_DEFINE (init_shm, xmms_visualization_init_shm, xmms_visualization_t *, INT32, INT32, STRING)
 XMMS_CMD_DEFINE (init_udp, xmms_visualization_init_udp, xmms_visualization_t *, INT32, INT32, NONE)
 XMMS_CMD_DEFINE3 (property_set, xmms_visualization_property_set, xmms_visualization_t *, INT32, INT32, STRING, STRING)
 XMMS_CMD_DEFINE (properties_set, xmms_visualization_properties_set, xmms_visualization_t *, INT32, INT32, DICT)
 XMMS_CMD_DEFINE (shutdown, xmms_visualization_shutdown_client, xmms_visualization_t *, NONE, INT32, NONE)
int32_t create_client ()
xmms_vis_client_tget_client (int32_t id)
void delete_client (int32_t id)
void xmms_visualization_init (xmms_output_t *output)
 Initialize the Vis module.
void xmms_visualization_destroy ()
 Free all resoures used by visualization module.
int32_t xmms_visualization_version (xmms_visualization_t *vis, xmms_error_t *err)
int32_t xmms_visualization_register_client (xmms_visualization_t *vis, xmms_error_t *err)
int32_t xmms_visualization_property_set (xmms_visualization_t *vis, int32_t id, const gchar *key, const gchar *value, xmms_error_t *err)
int32_t xmms_visualization_properties_set (xmms_visualization_t *vis, int32_t id, xmmsv_t *prop, xmms_error_t *err)
int32_t xmms_visualization_init_shm (xmms_visualization_t *vis, int32_t id, const char *shmidstr, xmms_error_t *err)
int32_t xmms_visualization_init_udp (xmms_visualization_t *vis, int32_t id, xmms_error_t *err)
void xmms_visualization_shutdown_client (xmms_visualization_t *vis, int32_t id, xmms_error_t *err)
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.


Define Documentation

#define XMMS_VISPACKET_SHMCOUNT   500

Definition at line 54 of file xmmsc_visualization.h.

#define XMMS_VISPACKET_UDP_OFFSET   (1 + sizeof (uint16_t))

Definition at line 91 of file xmmsc_visualization.h.

Referenced by write_udp().

#define XMMS_VISPACKET_VERSION   1

Definition at line 47 of file xmmsc_visualization.h.

Referenced by xmms_visualization_version().

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

#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().

#define XMMSC_VISUALIZATION_WINDOW_SIZE   512

Definition at line 27 of file xmmsc_visualization.h.


Enumeration Type Documentation

Possible data modes.

Enumerator:
VIS_PCM 
VIS_SPECTRUM 
VIS_PEAK 

Definition at line 112 of file xmmsc_visualization.h.

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.

Possible vis transports.

Enumerator:
VIS_UNIXSHM 
VIS_UDP 
VIS_NONE 

Definition at line 144 of file xmmsc_visualization.h.


Function Documentation

int32_t create_client (  ) 

Definition at line 45 of file object.c.

Referenced by xmms_visualization_register_client().

void delete_client ( int32_t  id  ) 
xmms_vis_client_t* get_client ( int32_t  id  ) 

Definition at line 70 of file object.c.

Referenced by xmms_visualization_register_client().

double net2ts ( int32_t *  s  ) 

Definition at line 14 of file timestamp.c.

char* packet_init_data ( xmmsc_vis_udp_data_t p  ) 

Definition at line 8 of file udp.c.

Referenced by write_udp().

char* packet_init_timing ( xmmsc_vis_udp_timing_t p  ) 

Definition at line 22 of file udp.c.

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

Definition at line 327 of file object.c.

void ts2net ( int32_t *  d,
double  t 
)

Definition at line 20 of file timestamp.c.

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

Definition at line 29 of file timestamp.c.

Referenced by write_shm().

double tv2ts ( struct timeval *  t  ) 

Definition at line 8 of file timestamp.c.

XMMS_CMD_DEFINE ( shutdown  ,
xmms_visualization_shutdown_client  ,
xmms_visualization_t ,
NONE  ,
INT32  ,
NONE   
)
XMMS_CMD_DEFINE ( properties_set  ,
xmms_visualization_properties_set  ,
xmms_visualization_t ,
INT32  ,
INT32  ,
DICT   
)
XMMS_CMD_DEFINE ( init_udp  ,
xmms_visualization_init_udp  ,
xmms_visualization_t ,
INT32  ,
INT32  ,
NONE   
)
XMMS_CMD_DEFINE ( init_shm  ,
xmms_visualization_init_shm  ,
xmms_visualization_t ,
INT32  ,
INT32  ,
STRING   
)
XMMS_CMD_DEFINE ( registercl  ,
xmms_visualization_register_client  ,
xmms_visualization_t ,
INT32  ,
NONE  ,
NONE   
)
XMMS_CMD_DEFINE ( query_version  ,
xmms_visualization_version  ,
xmms_visualization_t ,
INT32  ,
NONE  ,
NONE   
)
XMMS_CMD_DEFINE3 ( property_set  ,
xmms_visualization_property_set  ,
xmms_visualization_t ,
INT32  ,
INT32  ,
STRING  ,
STRING   
)
void xmms_visualization_destroy (  ) 

Free all resoures used by visualization module.

TODO: Fill this in properly, unregister etc!

Definition at line 149 of file object.c.

Referenced by xmms_visualization_init().

void xmms_visualization_init ( xmms_output_t output  ) 

Initialize the Vis module.

Definition at line 110 of file object.c.

Referenced by main().

int32_t xmms_visualization_init_shm ( xmms_visualization_t vis,
int32_t  id,
const char *  shmidstr,
xmms_error_t err 
)

Definition at line 287 of file object.c.

int32_t xmms_visualization_init_udp ( xmms_visualization_t vis,
int32_t  id,
xmms_error_t err 
)

Definition at line 301 of file object.c.

int32_t xmms_visualization_properties_set ( xmms_visualization_t vis,
int32_t  id,
xmmsv_t *  prop,
xmms_error_t err 
)

Definition at line 254 of file object.c.

int32_t xmms_visualization_property_set ( xmms_visualization_t vis,
int32_t  id,
const gchar *  key,
const gchar *  value,
xmms_error_t err 
)

Definition at line 236 of file object.c.

int32_t xmms_visualization_register_client ( xmms_visualization_t vis,
xmms_error_t err 
)

Definition at line 214 of file object.c.

void xmms_visualization_shutdown_client ( xmms_visualization_t vis,
int32_t  id,
xmms_error_t err 
)

Definition at line 308 of file object.c.

int32_t xmms_visualization_version ( xmms_visualization_t vis,
xmms_error_t err 
)

Definition at line 167 of file object.c.


Generated on 29 Dec 2009 for XMMS2 by  doxygen 1.6.1