2011-03-26 45 views
0

JCollider對於SuperCollider聲音合成服務器的Java客戶端。怎樣才能構建UGens有超過5個參數的JCollider

它構建UGens時,有5個參數的一個愚蠢的任意限制。 (see Documentation for UGen here)我指的是ar方法。他們爲可變數量的參數製作了多個副本,但他們停在5,我需要7個。這些便利函數看起來像這樣,他們被定義。

public static GraphElem kr(String name, GraphElem in1, GraphElem in2, GraphElem in3, GraphElem in4, GraphElem in5) 
{ 
    return UGen.construct(name, kControlRate, -1, new GraphElem[] { in1, in2, in3, in4, in5 }); 
} 

我試着只是用UGen.construct方法我自己,但它顯然是從那裏我試圖使用它(在不同的包)「不可見」。

然後我試圖只是延長了方便的方法來的7同樣愚蠢的任意限制在JCollider源安裝這個,但很可惜我不能把它編譯由於ant腳本的問題。

什麼是有超過5個參數使用UGen.ar()的正確方法?

回答

1

增大的限制。在我寫的,這是Java 1.4的時候重新編譯JCollider。所以我決定5是一個很好的數字:)(實際上它涵蓋了一些合理的百分比,比如98%左右的ugens)。您仍然可以使用粘貼的內部部分來解決該問題,而無需觸摸源,例如請致電UGen.construct(name, kControlRate, -1, new GraphElem[] { in1, in2, in3, in4, in5, in6, in7, ... });顯然現在你會選擇Java 5風格的可變參數。

如果你願意用另一種語言,給ScalaCollider一個嘗試,它是一個更流暢的體驗。

+0

謝謝,我知道這是一個老項目,但它意味着很多,你仍然回答有關它的問題。如果你想知道我使用JCollider做了什麼,請看http://nathannifong.com/NetworkChimes/如果你在使用JCollider的項目列表中使用它,我將很榮幸。 – Nathan 2011-04-06 04:09:35

+0

嘿,不錯的項目!一旦我開始更新,我會添加一個鏈接! – 2011-04-11 02:51:39

0

我設法繞過螞蟻構建問題,並與7