在流体合成中使用效果的示例
#包括<stdio.h>
#包括<stdlib.h>
#包括<fluidsynth.h>
结构 fx_data_t {
浮动 获得;
} fx_data_t;
整型 fx_function(虚空*数据, 整型 伦,
整型 宁, 浮动**在
整型 努特, 浮动** 出)
{
结构 fx_data_t * fx_data =(结构 fx_data_t *)数据;
整型 我知道;
浮动* 出_i;
返回 -1;
}
对于 (i = 0;我< 努特; i++) {
出_i = 出[i];
对于 (k = 0; k< 伦; k++) {
出_i[k] *= fx_data->gain;
}
}
返回 0;
}
整型 主要(整型 argc, 烧焦** argv)
{
整型 err = 0;
结构 fx_data_t fx_data;
如果 (argc!= 3){
fprintf(stderr, "用法:fluidsynth_simple [soundfont] [gain] \ n");
返回 1;
}
如果 (设置== NULL){
fprintf(stderr, "无法创建设置\ n");
err = 2;
去 清理;
}
如果 (合成== NULL){
fprintf(stderr, "无法创建合成器\ n");
err = 3;
去 清理;
}
fprintf(stderr, "无法加载SoundFont \ n");
err = 4;
去 清理;
}
fx_data.synth =合成器;
fx_data.gain = atof(argv [2]);
如果 (adriver == NULL){
fprintf(stderr, "创建音频驱动程序失败\ n");
err = 5;
去 清理;
}
printf("Press \"Enter\" to stop: ");
fgetc(stdin);
printf("done\n");
清理:
如果 (一个司机) {
}
如果 (合成){
}
如果 (设置){
}
返回 呃;
}