Changeset 3983:410496b49fbf in roaraudio


Ignore:
Timestamp:
06/27/10 22:54:33 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added some basic commands

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • plugins/roard/protocol-rplay.c

    r3979 r3983  
    3434 {"find",        NULL,  1,  1, NULL}, 
    3535 {"get",         NULL,  1,  1, NULL}, 
    36  {"help",        NULL, -1, -1, NULL}, 
     36 {"help",        NULL, -1, -1, emul_rplay_on_help}, 
    3737 {"info",        NULL,  1,  1, NULL}, 
    3838 {"list",        NULL,  0,  1, NULL}, 
     
    4242 {"play",        NULL,  1, -1, NULL}, 
    4343 {"put",         NULL,  2, -1, NULL}, 
    44  {"quit",        NULL,  0,  0, NULL}, 
     44 {"quit",        NULL,  0,  0, emul_rplay_on_quit}, 
    4545 {"reset",       NULL,  0,  0, NULL}, 
    4646 {"set",         NULL,  1, -1, NULL}, 
    4747 {"skip",        NULL,  1,  1, NULL}, 
    48  {"status",      NULL,  0,  0, NULL}, 
     48 {"status",      NULL,  0,  0, emul_rplay_on_status}, 
    4949 {"stop",        NULL,  1, -1, NULL}, 
    5050 {"version",     NULL,  0,  0, NULL}, 
     
    163163} 
    164164 
     165 
     166int emul_rplay_on_status(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) { 
     167 const char * hostname  = "localhost"; 
     168 const char * version   = "RoarAudio"; 
     169       char   uptime[16]; 
     170 const char * byteorder = "native"; 
     171       int    fragsize  = ROAR_OUTPUT_CALC_OUTBUFSIZE(g_sa); 
     172       int    h, m, s; 
     173 
     174 s  = g_pos / g_sa->rate / g_sa->channels; 
     175 h  = s / 3600; 
     176 s -= h * 3600; 
     177 m  = s / 60; 
     178 s -= m * 60; 
     179 
     180 sprintf(uptime, "%.2i:%.2i:%.2i", h, m, s); 
     181 
     182 switch (ROAR_CODEC_BYTE_ORDER(g_sa->codec)) { 
     183  case ROAR_CODEC_LE: 
     184    byteorder = "little-endian"; 
     185   break; 
     186  case ROAR_CODEC_BE: 
     187    byteorder = "big-endian"; 
     188   break; 
     189  case ROAR_CODEC_PDP: 
     190    byteorder = "pdp-endian"; 
     191   break; 
     192 } 
     193 
     194 roar_vio_printf(vio, 
     195                 "+host=%s version=%s uptime=%s " 
     196                 "audio-bits=%i audio-byte-order=%s audio-channels=%i " 
     197                 "audio-device=internal-mixer " 
     198                 "audio-format=linear-%i " 
     199                 "audio-fragsize=%i " 
     200                 "audio-port=speaker,headphone,lineout audio-rate=10 " 
     201                 "audio-sample-rate=%i " 
     202                 "volume=254 " 
     203                 "curr-rate=10 priority-threshold=0 audio-close=0 audio-device-status=open" 
     204                 "\n", 
     205                      hostname, version, uptime, 
     206                      g_sa->bits, byteorder, g_sa->channels, 
     207                      g_sa->bits, 
     208                      fragsize, 
     209                      g_sa->rate 
     210                ); 
     211 
     212 return 0; 
     213} 
     214 
     215 
     216int emul_rplay_on_quit(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) { 
     217 clients_delete(client); 
     218 return -1; 
     219} 
     220 
     221int emul_rplay_on_help(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) { 
     222 struct emul_rplay_command * c; 
     223 
     224 roar_vio_printf(vio, "+message=\"command summary\" command=help\n"); 
     225 
     226 for (c = emul_rplay_commands; c->name != NULL; c++) { 
     227  roar_vio_printf(vio, "%-8s %s\n", c->name, c->usage == NULL ? "" : c->usage); 
     228 } 
     229 
     230 roar_vio_printf(vio, ".\n"); 
     231 
     232 return -1; 
     233} 
     234 
    165235//ll 
  • roard/include/emul_rplay.h.OLD

    r3976 r3983  
    4545int emul_rplay_send_error    (int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen, const char * msg); 
    4646 
     47int emul_rplay_on_status(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 
     48int emul_rplay_on_quit(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 
     49int emul_rplay_on_help(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 
     50 
    4751#endif 
    4852 
Note: See TracChangeset for help on using the changeset viewer.