All pastes #1770344 Raw Edit

Miscellany

public c v1 · immutable
#1770344 ·published 2010-01-29 04:55 UTC
rendered paste body
#include <stdio.h>#define PCM_MAX_CH 9enum CH_{  CH_FL = 0,  CH_FR,  CH_LF,  CH_CT,  CH_BL,  CH_BR,  CH_BC,  CH_SL,  CH_SR};static const char* szCh[] ={  [CH_FL] = "Front left",  [CH_FR] = "Front right",  [CH_LF] = "Low frequency",  [CH_CT] = "Center",  [CH_BL] = "Back left",  [CH_BR] = "Back right",  [CH_BC] = "Back center",  [CH_SL] = "Surround left",  [CH_SR] = "Surround right"};enum CONV_{  CONV_MN_ST = 0,  CONV_ST_MN};static const char* szConv[] ={  [CONV_MN_ST] = "Stereo to mono",  [CONV_ST_MN] = "Mono to stereo",  NULL};static const float map[][PCM_MAX_CH][PCM_MAX_CH] ={  /* Mono > Stereo */  { // FR    { [CH_CT] = 1.0 },    // FL    { [CH_CT] = 1.0 }  },  /* Stereo > Mono */  {    // CT    {      [CH_FL] = 0.5,      [CH_FR] = 0.5    }  }};#define LEN (sizeof(map)/sizeof(map[0]))int main(){  int i, j, k;  for (i = 0; i < LEN; i++)  {    printf("%s:\n", szConv[i]);    for (j = 0; j < PCM_MAX_CH; j++)    {      printf(" %s = \n", szCh[j]);      for (k = 0; k < PCM_MAX_CH; k++)      {        printf("  %f * %s +\n", map[i][j][k], szCh[k]);      }    }  }  return 0;}