Ticket #3220: null_audio.patch

File null_audio.patch, 1.9 KB (added by siarzhuk, 15 years ago)

Patch mentioned in the problem description

  • null_multi.c

     
    155155
    156156    parent = create_group_control(data->controls +0, 0, 0, 0, "Record");
    157157    parent = create_group_control(data->controls +1, 1, 0, 0, "Playback");
    158     data->control_count = 2;
     158   
     159    data->controls[2].id = MULTI_AUDIO_BASE_ID + 100;
     160    data->controls[2].parent = parent;
     161    data->controls[2].flags = B_MULTI_MIX_GAIN;
     162    data->controls[2].master = MULTI_AUDIO_MASTER_ID;
     163    data->controls[2].string = S_GAIN;
     164    data->controls[2].u.gain.min_gain = 0.;
     165    data->controls[2].u.gain.max_gain = 100.;
     166    data->controls[2].u.gain.granularity = 1.;
     167   
     168    data->controls[3].id = MULTI_AUDIO_BASE_ID + 200;
     169    data->controls[3].parent = parent;
     170    data->controls[3].flags = B_MULTI_MIX_GAIN;
     171    data->controls[3].master = data->controls[2].id;
     172    data->controls[3].string = S_GAIN;
     173    data->controls[3].u.gain.min_gain = 0.;
     174    data->controls[3].u.gain.max_gain = 100.;
     175    data->controls[3].u.gain.granularity = 1.;
    159176
     177    data->control_count = 4;
     178
    160179    return B_OK;
    161180}
    162181
     
    334353        case B_MULTI_SET_GLOBAL_FORMAT:         return set_global_format(cookie, arg);
    335354        case B_MULTI_GET_CHANNEL_FORMATS:       return B_ERROR;
    336355        case B_MULTI_SET_CHANNEL_FORMATS:       return B_ERROR;
    337         case B_MULTI_GET_MIX:                   return B_ERROR;
    338         case B_MULTI_SET_MIX:                   return B_ERROR;
     356        case B_MULTI_GET_MIX:                   return B_OK;
     357        case B_MULTI_SET_MIX:                   
     358        {
     359            multi_mix_value_info *info = (multi_mix_value_info *)arg;
     360            int i = 0;
     361            for(i=0; i < info->item_count; i++) {
     362                dprintf("SET_MIX:item #%d id:%d\n", i, info->values[i].id);
     363            }
     364            return B_OK;
     365        }
    339366        case B_MULTI_LIST_MIX_CHANNELS:         return list_mix_channels(cookie, arg);
    340367        case B_MULTI_LIST_MIX_CONTROLS:         return list_mix_controls(cookie, arg);
    341368        case B_MULTI_LIST_MIX_CONNECTIONS:      return list_mix_connections(cookie, arg);