ГОСТ Р 53556.5—2013
Любая шина, за исключением специальной шины
output_bus.
может быть отправлена больше чем
одному инструменту эффекта и/или инстанцированиям. В случае, когда простой идентификатор не исполь
зуется, недопустимо обратиться к шине с более одной длиной. Специальная шина
output_bus
представля ет
обработку
second-to-fmalmost
звукового потока. Это может бытьотправлено только одному инструменту
эффекта. Если инструмент самостоятельно направляется или используется
outbus
оператором, тоэто син
таксическая ошибка. Если
output_bus
не отправляется инструменту, он превращается в звук в конце цикла
оркестра. Если
output_bus
отправляется инструменту, вывод этого инструмента превращается в звук в
конце передачи оркестра. Этому инструменту не разрешают использовать
turnoff
оператор.
В случав если число каналов ввода, полученных инструментальным экземпляром, отличается от
ширины шины
input
и
inGroup.
используют прежнее значение
inchan.
В случае если
inchan
меньше, чем
число каналов на шинах, обеспечивающих ввод, используются только первые каналы
inchan.
В этом слу
чае "дополнительные" каналы являются нулевыми и для
input
и для
inGroup.
По крайней мере одно имя шины должно быть обеспечено в
send
инструкции.
8.5.6 Спецификация последовательности
<sequence specification>
->
sequence ( <identlist>);
<identlist>.
Оператор
sequence
позволяетвыполнитьспецификацию упорядочиваниявыполнения инструментальных
инстанцирований планировщиком времени. Оператор
identlist
описывает частичное упорядочивание при
наборе инструментов. Если на инструмент а и инструмент
b
ссылаются в том же самом операторе
sequence
с
предыдущим
Ь,
то инстанцирования инструмента выполняются строго перед инстанцированиями инстру
мента
Ь.
Есть несколько правил последовательности по умолчанию:
1. Специальный инструментальный
startup
инстанцируют, и инстанцирование
i-rate
выполняется в
самом начале оркестра.
2. Любые инструментальные экземпляры, соответствующие инструменту
startup,
выполняются сна
чала вопределенном цикле оркестра.
3. Если
output_bus
отправляется инструменту, инструментальное инстанцирование, соответствующее
sendоператору является последним инстанцированием, выполняемым в цикле оркестра.
4. Для каждого инструмента, направленного к шине, которая отправляется инструментом эффекта,
инстанцирования направленного инструмента выполняются перед инстанцированиями инструмента эффек
та. Если циклы создаются, используя
route
и
send
операторы, упорядочивание разрешается синтаксичес
ки. Если
send
оператор последний, то инструментальное инстанцирование выполняется последним.
Правила 2.3 по умолчанию и 4 могут быть переопределены при помощи оператора
sequence.
Прави
ло 1не может быть переопределено.
Если операторы
sequence
создают циклы в упорядочивании, то это синтаксическая ошибка. Любые
send
операторы, которые являются "обратной” частью неявного
send
цикла не имеют никакого эффекта.
Если последовательностьдвух инструментов не определяется правилами последовательности по
умолчанию, их инстанцирования могут быть выполнены влюбом порядке или параллельно.
Невозможно определить упорядочивание многократных инстанцирований того же самого инструмен
та. Эти инстанцирования могут быть выполнены влюбом порядке или параллельно.
8.6 Инструментальное определение
8.6.1 Синтаксическая форма
instrument definition> ->instr <ident> ( <dentlist>) [ preset <int> [ <int>...]]{
<instr variable declarations> <block> }
У инструментального определения есть несколько элементов.
1. Идентификатор, который определяет имя инструмента,
2. Список нуля или большего количества идентификаторов, которые определяют имена для полей
параметра, также названных
pftelds
инструмента,
3. Дополнительный список предварительно установленных значенийдля того, чтобы определить
MIDI
отображения.
4. Списокнуля или большего количества инструментальных объявлений переменной.
5. Блокоператоров, определяющих исполнимую функциональность инструмента.
8.6.2 Инструментальное имя
Любой идентификатор может служить инструментальным именем за исключением того, что инстру
ментальное имя недолжно бытьзарезервированным словом, именем базового кода операции или именем
19