Changeset 2270:168fb15223cf in roaraudio


Ignore:
Timestamp:
08/04/09 12:55:48 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

support to list sources

Location:
roard
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • roard/include/sources.h

    r2268 r2270  
    4848int sources_set_client (int client); 
    4949 
     50void print_sourcelist (void); 
     51 
    5052int sources_add (char * driver, char * device, char * container, char * options, int primary); 
    5153 
  • roard/roard.c

    r2264 r2270  
    8585        " -sP                   - Make souce as primary\n" 
    8686       ); 
     87 printf(" --list-sources        - List all sources\n"); 
    8788 
    8889 printf("\nCodec Filter Options:\n\n"); 
     
    801802   s_drv = "cf"; 
    802803   s_prim = 0; 
     804  } else if ( strcmp(k, "--list-sources") == 0 ) { 
     805   print_sourcelist(); 
     806   return 0; 
    803807 
    804808  } else if ( strcmp(k, "--light-channels") == 0 ) { 
  • roard/sources.c

    r2269 r2270  
    2525#include "roard.h" 
    2626 
    27 struct roar_source g_sources[] = { 
     27struct roar_source g_source[] = { 
    2828 {"raw",  "Old raw source",              "/some/file",     SRC_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, sources_add_raw,  NULL}, 
    2929 {"wav",  "Old RIFF/WAVE source",        "/some/file.wav", SRC_FLAG_NONE, ROAR_SUBSYS_WAVEFORM, sources_add_wav,  NULL}, 
     
    3737 return 0; 
    3838} 
     39 
     40void print_sourcelist (void) { 
     41 int i; 
     42 char subsys[7] = "      "; 
     43 
     44 printf("  Source   Flag Subsys - Description (devices)\n"); 
     45 printf("------------------------------------------------------\n"); 
     46 
     47 for (i = 0; g_source[i].name != NULL; i++) { 
     48  strncpy(subsys, "      ", 6); 
     49 
     50  if ( g_source[i].subsystems & ROAR_SUBSYS_WAVEFORM ) 
     51   subsys[0] = 'W'; 
     52  if ( g_source[i].subsystems & ROAR_SUBSYS_MIDI ) 
     53   subsys[1] = 'M'; 
     54  if ( g_source[i].subsystems & ROAR_SUBSYS_CB ) 
     55   subsys[2] = 'C'; 
     56  if ( g_source[i].subsystems & ROAR_SUBSYS_LIGHT ) 
     57   subsys[3] = 'L'; 
     58  if ( g_source[i].subsystems & ROAR_SUBSYS_RAW ) 
     59   subsys[4] = 'R'; 
     60 
     61  printf("  %-9s %c%c%c %6s - %s (devices: %s)\n", g_source[i].name, 
     62                g_source[i].flags & DRV_FLAG_FHSEC      ? 's' : ' ', 
     63                g_source[i].old_open != NULL            ? 'S' : ' ', 
     64                g_source[i].new_open != NULL            ? 'N' : ' ', 
     65                subsys, 
     66                g_source[i].desc, g_source[i].devices); 
     67 } 
     68} 
     69 
    3970 
    4071int sources_set_client (int client) { 
Note: See TracChangeset for help on using the changeset viewer.