Как я могу построить UGens с более чем 5 аргументами в JCollider - PullRequest
0 голосов
/ 26 марта 2011

JCollider - это Java-клиент для сервера синтеза звука SuperCollider.

У него тупой произвольный предел в 5 аргументов при построении UGens. (см. Документацию по UGen здесь ) Я имею в виду метод 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, но он, видимо, «не виден» там, где я пытаюсь его использовать (в другом пакете).

Затем я попытался исправить это в исходном коде JCollider, просто расширив вспомогательные методы до столь же глупого произвольного предела в 7, но, увы, я не смог скомпилировать его из-за проблемы со скриптом ant.

Как правильно использовать UGen.ar () с более чем 5 аргументами?

Ответы [ 2 ]

1 голос
/ 06 апреля 2011

В то время я писал, что это была Java 1.4.Поэтому я решил, что 5 было хорошим числом :) (на самом деле оно покрывает некоторый разумный процент, например, около 98% угенов).Вы все еще можете использовать внутреннюю часть того, что вы вставили, чтобы обойти это, не касаясь источника, например, позвоните UGen.construct( name, kControlRate, -1, new GraphElem[] { in1, in2, in3, in4, in5, in6, in7, ... }); Очевидно, что в настоящее время вы будете использовать varargs в стиле Java 5.

Если вы хотите использовать другой язык, попробуйте ScalaCollider , это намного более плавный опыт.

0 голосов
/ 26 марта 2011

Мне удалось обойти проблему сборки муравья и перекомпилировать JCollider с увеличенным лимитом 7.

...