Javascript/MaxMSP - Новое в javascript, создание циклов

Я использую приведенный ниже код js, чтобы сделать следующее:

  1. Посмотрите, существуют ли какие-либо объекты с именем.varname
  2. Удалите их, если они это сделают
  3. Создавать новые с определенным.varname
  4. Соедините объекты вместе

Код работает для одной итерации, но я бы хотел настроить цикл, чтобы он повторял функцию от значения 1 до значения глобальной переменной (g.channelcount) включительно.

Любая помощь приветствуется!

function bang(){
  g.channelCount = buff.channelcount();//gets buffer channel count

  var deleteWaveform = this.patcher.getnamed("waveform");//delete waveform and fromsymbol objects
  var deleteSymbol = this.patcher.getnamed("symbol");
  this.patcher.remove(deleteWaveform);
  this.patcher.remove(deleteSymbol);

  var waveform = this.patcher.newdefault(96, 756, "waveform~");//creates new waveform and fromsymbol objects and gives them a scripting name
  var symbol = this.patcher.newdefault(186, 698, "fromsymbol");
  waveform.varname = "waveform";
  symbol.varname = "symbol";
  post(g.channelCount);

  var jsBox = this.patcher.getnamed("js_wave");//connects the objects together
  this.patcher.connect(jsBox, 0, waveform, 0);
  this.patcher.connect(jsBox, 1, symbol, 0);
  this.patcher.connect(symbol, 0, waveform, 0);

  outlet(1, "name loop");//loads the loop buffer into the waveform object
  }
}

0 ответов

Как упоминалось в @FrostyZombi3, вы можете сделать это с помощью цикла for:

var channelCount = buff.channelcount();

for (var channel = 1; channel <= channelCount; channel++) {
  post(channel, '\n');
  // do the delete/create work using the channel variable
}
Другие вопросы по тегам