|
發表於 2012年12月14日 12:11 PM
|
顯示全部樓層
原帖由 ej189 於 2012年12月14日 09:39 AM 發表
混合器的曲線圖很容易讓人誤會他會依照圖形的數值輸出,除了"固定"輸出外,其他都以來源數值再加上曲線作運算。
另外我也改過中文翻譯,ADD就是相加、MUL就是相乘的意思,當然多段式一定要有個基底來源,因此第一頁一定要設成 ...
感謝ej189說明~~
(1) 我個人覺得: "相乘" 比 "疊加" 表達的較清楚("乘"字比"加"明確多了).
(2) 後來參照別人的範例並查了原始碼:
"多段式" 確實一定要 "先"有個 基底來源 用"替換"之後再混入其他來源才能正確達到預期效果.
==============/src/mixer.c=============
//4th: multiplex result
switch(mixer->mux) {
case MUX_REPLACE:
break;
case MUX_MULTIPLY:
value = raw[mixer->dest + NUM_INPUTS + 1] * (s32)value / CHAN_MAX_VALUE;
break;
case MUX_ADD:
value = raw[mixer->dest + NUM_INPUTS + 1] + value;
break;
case MUX_MAX:
value = raw[mixer->dest + NUM_INPUTS + 1] > value ? raw[mixer->dest + NUM_INPUTS + 1] : value;
break;
case MUX_MIN:
value = raw[mixer->dest + NUM_INPUTS + 1] < value ? raw[mixer->dest + NUM_INPUTS + 1] : value;
break;
case MUX_LAST: break;
}
.
.
.
raw[mixer->dest + NUM_INPUTS + 1] = value;
=================================== |
|