$repeat не всегда работает? [PlayList Single Column]

Список разделов Аудиоплеер foobar2000 Секреты foobar2000

Описание: Кнопочки, конфиги, секреты, советы.

Сообщение #1 Shonn » 24.03.2007, 05:47

Проблема такая.
Хотел реализовать простую по сути вещь: выводить название песни в PlayList Single Column в одну строку. Если оно не помещается, то обрезать все буквы вконце до нужной ширины, добавив в конце "..."

Странно, что когда я пытаюсь воспользоваться командой $repeat, она срабатывает только один раз! А писать кучу строчек очень даже не хочется и глупо (хотя проверял - так работает), если есть специальная команда.

Вот кусок кода:

Код: Выделить всё
$if($greater($calcwidth($get(txt.title)),$get(txt.titleAreaW)), //если текст не помещается в одну строку
$repeat(  //открываем блок повтора
$if($greater($calcwidth($get(txt.title)),$get(txt.titleAreaW2)), //если текст не помещается в строку вместе с многоточием
    $puts(txt.title,$substr($get(txt.title),1,$sub($len($get(txt.title)),1))),),50) //обрезаем одну букву. повтор 50 раз
$puts(txt.title,$get(txt.title)...),)//сохраняем обрезанный результат с многоточием

комментарии вписал тут - в коде их нет.
В принципе, не так важно, что выполняется. Важно, какие команды используются, что $repeat не срабатывает.
В данном случае внутре оператора $if вызывается $repeat, в котором единственная команда $if (в свою очередь уже тоже составная - но в сам $repeat по сути передается только одна команда)

пробовал писать все в однй строчку - та же фигня.
повторюсь, что если вместо $repeat проставить кучу одинаковых сточек, то все работает. но я хотел скопировать блок $repeat 5 раз по 50 повторов, чтоб сэкономить ресурсы (зачем выполнять очередной блок $repeat из 50-ти итераций, когда уже нет необходимости?)

Ну и вопрос. Ошибка в коде? Ограничения на использование $repeat? Или баг в интерпритаторе команд панели либо в самом foobar?
А хотя бы я и жадничаю - зато от чистого сердца!
Shonn M
Автор темы
Аватара
Репутация: 0
С нами: 15 лет

Вернуться в Секреты foobar2000