En ^ Ru

AVS for Winamp: Tutorial v.2.0
 by Pierre Charpenay
 
http://avs.chat.ru/avstut.htm
http://avs.chat.ru/avstut.zip
 
============
Presentation
============
 
Сейчас AVS 2.81 несколько больше обеспечен помощью, чем это было раньше, но она доступна только для динамических эффектов (dynamic effects), и там совсем ничего нет для других эффектов. Следовательно, также как я, в своё время, сделал руководство для предшествующей версии AVS 2.51, такое же новое специальное руководство сделано и для новой версии 2.81.
 
Внимание. Пожалуйста, прочитайте это внимательно:
 1) Это всё еще неофициальная версия, которая не имеет ничего общего с авторами AVS.
 2) Даже, если не потребуется никаких специальных базовых знаний, для того, чтобы правильно использовать некоторые эффекты AVS, нужно иметь хотя бы минимальные познания в математике. Для таких эффектов предполагается, что читатель имеет, по крайней мере, минимальные знания в данной области (другими словами, вы здесь не найдёте какую-либо подробную математическую помощь).
 3) Как и прежде, руководство сначала было написано на французском, и опубликовано на моём персональном сайте. Чтобы удовлетворить не говоящих по-французски пользователей, я решил перевести его на английский. Надеюсь, что этот перевод всех удовлетворит (должен снова поблагодарить Tuggummi, Anubis и UnConeD за их очень важную помощь в первой версии). 
 4) В этом руководстве я буду неоднократно использовать выражение "Папка AVS (AVS folder)". Всякий раз, когда вы увидите эти слова, то должны понимать, что речь идёт о папке и подпапках в папке установки Winamp:
 C:\Progam Files\Winamp\Plugins\avs (все версии, кроме 2.51) или
 C:\Progam Files\Winamp\Wacs\data\avs (версия 2.51 с Winamp 3).
 
Данное руководство и скриншоты основаны на AVS 2.81 (Winamp 5.01). Пользователи предшествующих версий тоже могут использовать всё представленное, но им следует быть внимательнее с пометкой {2.8}, которая использована для обозначения нового в данной редакции руководства. Во всяком случае, настоятельно рекомендую использовать именно эту замечательную последнюю версию 2.81!
 

===============
The main window
===============
 
Когда вы запустите Студию Визуализации (используя Ctrl+Shift+K в Winamp), где-то на экране появится окно, которое выглядит приблизительно так {2.8}:
 
(1) Прикреплённое к Winamp.
(2) Отделённое от Winamp.
 
Функциональное назначение каждой кнопки дано ниже:
 1) Открывает выпадающее меню Winamp.
 2) Закрывает окно визуального наблюдения.
 3) Открывает выпадающее меню AVS (см. следующий параграф).
 4) Переводит дисплей в полноэкранный режим (один клик, чтобы вернуться в предыдущий режим).
 5) Загружает предшествующий пресет из папки AVS.
 6) Загружает следующий пресет из папки AVS.
 7) Автоматически загружает произвольный пресет, выбранный в папке AVS.
 8) Прикрепляет или отделяет окно визуализации к/от Winamp.
 

==========
The editor
==========
 
Этот параграф представляет окно редактора пресетов, его функциональное назначение и рекомендации по его использованию.
 
The popup menu of AVS
 
Чтобы открыть preset editor window, необходимо использовать выпадающее меню AVS (см. предшествующий параграф):
 
(3) Выпадающее меню AVS.
 
Fullscreen mode
Presets subfolder
Open presets editor
Attach/Detach to/from the editor
Preset
 
Как можно заметить, меню предлагает некоторые функциональные режимы, которые уже представленные на рабочей панели окна визуального наблюдения. Вы также можете использовать это меню, чтобы загружать пресеты, установленные в папке AVS. Необходимо просто щелкнуть на имени пресета. В случае вложенной подпапки, установите мышь на её имени, чтобы открылось другое субменю, со всеми содержащимися там пресетами. Также данное меню необходимо, если вы хотите установить окно визуального наблюдения в небольшое служебное окно редактора. Наконец, это меню нужно, чтобы непосредственно открывать знаменитое окно редактора.
 
The editor window
 
Если вы кликните по соответствующему пункту в выпадающем меню AVS, то получите такое окно:
 
List of the effects
Parameters window
Place of the little visualization window
 
(4) Окно редактора.
 
Представленный выше скриншот (вырезанный в середине), показывает основные части этого окна: зона меню наверху, список эффектов, использованных в пресете, слева, и, ниже, место, которое может быть использовано, чтобы показывать небольшое окно визуального наблюдения (деактивизируйте его двойным щелчком или через выпадающее меню AVS). Справа есть место, где будет находиться окно, в котором устанавливаются параметры эффекта, различные для разных эффектов. Внизу окна, AVS даёт некоторую информацию (дисплейный показатель (display rate), размер окна визуального наблюдения, имя текущего пресета).
 
The list of the effects
 
Список эффектов является древовидной структурой, где помещаются различные используемые эффекты. Чтобы выбрать эффект, нужно просто щелкнуть по его имени. Для того, чтобы переместить эффект, просто щелкните по нему, и удерживайте кнопку мыши, пока перемещаете эффект вверх или вниз. В списке можно видеть линию <Move here>, которая указывает, где эффект упадёт, если вы отпустите кнопку мыши.
 
Чтобы понять, как работает AVS, вы должны иметь ввиду, что анимация строится путём применения каждого эффекта из списка циклическим образом. Другими словами, все эффекты списка дают один кадр анимации, следующий кадр строится новым чтением этого того же списка, и так далее.
 
Таблица ниже иллюстрирует то, что я пытаюсь объяснить. Здесь содержится список эффектов, который включает обычное рисование круга (circle draw), следом сквозное рисование (cross draw), компенсация образа (offset), и, наконец, затухание (fading), которое вы можете видеть в таблице на последней строке).
 
[рисунок]
 
Если вы используете чекбокс (check box) "Очищать каждый фрейм (Clear every frame)", который появляется при выборе самого верхнего эффекта Main, то каждый новый фрейм строится на чистом экране, и это означает, что вы получите фреймы, только подобно первому фрейму (1st frame) в таблице.
 

The menu bar
 
Давайте начнём с быстрого обзора этих меню. Сначала посмотрим на меню Preset:
 
Preset
 Load
 Save...
 New
 
(5) Меню Шаблон.
 
Отсюда вы можете загрузить (Load) существующие пресеты. Причём, пресет может располагаться где угодно на вашем компьютере, но советую помещать все пресеты в папке AVS (просто поскольку окно выбора всегда открывается именно там). Когда выбор сделан, пресет загружен (вместо предшествующего), тогда анимация запускается. {2.8} Перед загрузкой, AVS проверяет изменение текущего пресета, и если оно было, то спрашивает вас, хотите ли вы сохранить изменения. Разумеется, вы можете сохранить (Save) свой собственный пресет (заметьте, что нужно всегда подтверждать перезапись существующего пресета). Последний пункт этого меню даёт вам возможность создать совершенно новый (New) пресет. Фактически, он просто стирает (только на экране) отредактированный к настоящему времени пресет и его имя. {2.8} Соответственно, если AVS обнаруживает любые изменения в текущем пресете, то спрашивает вас, не хотите ли вы прежде сохранить его.
 
{2.8} Следующее меню используется для управления редактированием пресета:
 
Edit
 Undo
 Redo
 
(6) Меню Правка.
 
Первый пункт Отменить (Undo) позволяет отменять последнее изменение, которым вы сделали в списке эффектов, или в их параметрах (в этом случае, текущий эффект больше не выбран). Второй пункт Повторить (Redo) позволяет выстроить снова то, что было отменено по Undo.
 
Следующим меню является Настройка (Settings). Не буду подробно описывать каждый из этих пунктов, но вы должны знать, что каждый из них даёт вам специфическое окно для устанавки различных параметров:
 
Settings
 Display
 Fullscreen
 Presets/Hotkeys
 Beat Detection
 Transitions
 Debug Window...
 
(7) Меню Настройка.
 
 Пункт "Отображение" (Display) даёт доступ к параметрам показа анимации в окне (за исключением transparency и priority, которые прилагаются в fullscreen mode).
 Пункт "Полный экран" (Fullscreen) позволяет устанавливать аналогичные параметры, но именно для fullscreen display mode.
 Пункт "Шаблоны" (Presets/Hotkeys) позволяет определять горячие клавиши для загрузки определенных пресетов, или для активизирования автоматической подгрузки произвольных пресетов, и, если нужно устанавить задержку между каждым пресетом.
 Пункт "Ударные" (Beat Detection) позволяет устанавливать правила обнаружения ударных для музыки, которую вы слушаете.
 Пункт "Переходы" (Transitions) даёт выбор из 15 способов перехода (визуального эффекта, который используются, когда AVS переходит от одного пресета к другому).
 
{2.8} Пункт "Отладка" (Debug Window) открывает новое окно, которое даёт информацию об использовании данных в динамических эффектах текущего пресета:
 - текущая величина 8 глобальных переменных (oбщие peгиcтpы от reg00 до reg99),
 - последние зафиксированные ошибки,
 - статистика кода.
 
Последнее меню, громко названное Справка (Help), имеет только один пункт:
 
Help
 About...
 
(8) Меню Справка.
 
Пункт "Авторы" просто показывает вам небольшую панель, представляющий версию AVS и её авторов.
 

The buttons
 
Вы вероятно заметили присутствие трёх кнопок ниже зоны меню. Они очень важны, так как позволят управлять списком эффектов вашего пресета.
 
Winamp AVS Editor
 '+'
 'x2'
 '-'
 
(9) Кнопки.
 
Давайте начнём с последний. Кнопка "-" используется, чтобы удалять выбранный эффект. Если этот эффект является Списком эффекта, то она также удалит все эффекты, которые там содержатся (соответственно, применённая к Main, она удалит все эффекты в пресете!). Кнопка "x2" используется, чтобы просто делать копии выбранного эффекта (или Списка эффекта). Копия размещается непосредственно ниже подлинника (все установки также копируются). И, конечно, самое интересное в конце, - это кнопка "+". Если вы щелкните по ней, то получите выпадающее меню подобно этому:
 
'+' button
 Presets
 Render APE
 Misc
 Trans
 Render
 Effect list
 
(10) Меню эффекта.
 
Фактически, эта кнопка является единственной, которую вы используете, чтобы добавлять эффекты в ваш список и, чтобы строить ваш пресет. Все эти пункты подробно описаны на следующих страницах... 
 

==============================
First items of the effect menu
==============================
 
Несмотря на названия этой главы, я объясню все эти пункты не в порядке их появления, а преимущественно в порядке сложности. Тем не менее, думаю, это не станет для вас проблемой.
 
Presets
 
Если Вы устанавите мышь на этом пункте, то получите почти то же самое выпадающее меню, которое появится, если кликнуть правой кнопкой мыши в окне визуального наблюдения. Оно содержит все пресеты, представленные в папке AVS. Если кликнуть на одном из их, то именно он будет целиком добавлен к вашему пресету, в виде нового Списка эффекта.
 

Render APE
 
Субменю, которое появляется, когда вы поместили мышь над этим пунктом, содержит APE (AVS Plug-in Effect) из папки AVS. Это небольшие файлы .ape, которые добавляют новые визуальные эффекты к вашему пресету.
 
Фактически, есть три сорта APE:
 - те, которые рисуют что-либо и могут появиться в субменю Render,
 - те, которые изменяют текущий образ и могут появиться в субменю Trans,
 - и все остальные, эффект от которых может быть весьма разнообразным и которые могут появиться в Render APE субменю (или даже в новом специфическом субменю).
 
AVS предусматривает наличие шести APE:
 - FyrewurX, который добавляет на экран некоторые фейерверки (в Render APE);
 - Color Map, которая позволяет вам изменять цвета, в зависимости от интенсивности оригинального образа (в Trans);
 - Convolution Filter, который может быть использован для создания различного рода смазывания (blur) или эффектов бордюра (border effects), и так далее (в Trans);
 - Multi Filter, который применяет хроматический фильтр к вашему образу (в Trans);
 - Texer, который может быть использован, чтобы заменить единичную точку небольшим изображением (в Trans);
 - Texer II, который может динамически разместить небольшую картинку на экране (в Render).
 
Есть много других APE, но, обычно, AVS художники практикуют присоединение их к своему пресету, только когда это необходимо. Другими словами, чем больше вы получаете пресетов (особенно в пакетах AVS packs), тем больше у вас шансов получить новые APE.
 

Misc
 
Этот пункт показывает вам следующее субменю:
 
Misc
 Buffer Save
 Comment
 Custom BPM
 Set render mode
 
(11) Субменю Misc.
 
Каждый из этих пунктов даёт вам смешанные эффекты (соответственно его имени). Я опишу их на следующих нескольких страницах.
 

Buffer Save
 
Буфер является местом, где вы можете сохранить образ пресета (или Списка Эффекта), чтобы восстановить его позже (с другим Сохранением Буфера или с тем же самым). С ним вы можете построить образ в одном Списке Эффекта, а использовать его многократно в другом (или более), не проходя пресет заново.
 
Misc / Buffer Save
 Save framebuffer
 Restore framebuffer
 Alternate Save/Restore
 Alternate Restore/Save
Nudge parity
Clear buffer
Buffer from 1 to 8
Blending
 
(12) Параметры Buffer Save.
 
Первая вещь, которую необходимо сделать, - выбрать, что делать этим буфером:
 Coxpaнить буфep (Save framebuffer) сохраняет образ в определенный буфер.
 Boccтaнoвить буфep (Restore framebuffer) копирует указанный буфер на экран.
 Зaмeнa Coxpaнить/Boccтaнoвить (Alternate Save/Restore) сохраняет образ из этого фрейма, и восстанавливает его в следующем фрейме, и так далее.
 Зaмeнa Boccтaнoвить/Coxpaнить (Alternate Restore/Save) делает то же самое, но в обратном порядке.
 
Кнопка Чeтнocть (Nudge parity), размещённая справа от двух последних пунктов, позволяет сдвигать операции сохранения и восстановления (to shift the save and restore operations). Кнопка Oчиcтить буфep (Clear buffer), размещённая сверху, стирает содержимое текущего буфера. При помощи комбинированного бокса, размещённого ниже, вы можете выбрать один из восьми буферов, который хотите использовать, от Буфер 1 до Буфер 8.
 
Затем вы можете выбрать Смешивание (Blending), чтобы использовать его для сохранения или восстановления. Таблица на странице 15 (только подчеркнутые линии) даст вам некоторые объяснения этих методов ("B" - это источник, а "A" - размещение).
 

Comment
 
Этот эффект является несколько специфическим, и это вообще не эффект!
 
Misc / Comment
 
(13) Окно комментария.
 
Это окно просто позволяет вам написать различные комментарии относительно вашего пресета (или что-нибудь ещё). Оно будет сохранено с вашим пресетом.
 

Custom BPM
 
Эффект даёт вам контроль над обнаружением ударных (beat detection) во всех последующих эффектах, вплоть до того момента, пока не будет достигнут конец пресета (или текущиго Списка Эффекта), или же до другого Custom BPM.
 
Misc / Custom BPM
 Enable BPM Customizer (Bключить BPM нacтpoйщикa)
 Arbitrary
 Skip
 Reverse
 First skip
 In
 Out
 
(14) Параметры Custom BPM.
 
Вы должны выбрать между тремя опциями:
 "Любoй" (Arbitrary) - позволяет, перемещением ползунка вправо, устанавливать ритм на специфический bpm, независимо от того, что есть в действительности.
 "Пропуск" (Skip) - позволяет брать в рассмотрение только один beat из каждого n (n установливается движком вправо).
 "Пepeмeнa" (Reverse) - просто переворачивает beat-обнаружение (Реверс означает, что последующий эффект будет думать, будто есть ритм, когда его нет, и что ритма нет, когда он есть).
 "1ый пропуск" (First skip) - позволяет устанавливать минимальное количество ударов (после того, как пресет будет загружен) и до того момента, когда эффект будет активирован.
 "В" (In) и "Из" (Out) - два последних ползунка, которые просто показывают входящие биты из музыки (input beats) и выходные биты, созданное эффектом (output beats), соответственно.
 

Set render mode
 
В некотором смысле, этот эффект работает подобно Custom BPM, с того момента как эффект начинает выполняться, и пока не будет достигнут конец пресета (или текущего Списка Эффекта), или же до другого эффекта Set render mode.
 
Misc / Set render mode
 Enable mode change
 Set blend mode to
 Line width (pixels)
 
(15) Параметры Set render mode.
 
Чекбокс Bключить peжим измeнeния (Enable mode change) активизирует или деактивизирует эффект. Затем следует комбобокс Peжим cмeшивaния (Set blend mode to). Он консолидирует все эффекты, которые не имеют своего способа cмeшивaния (кроме тех случаев, когда доступно Default blend). Этот параметр говорит о том, как рисунок будет добавлен к существующему образу (проще говоря, что нарисованное в действительности не есть фон). Доступные методы (только разделы, помеченные серым цветом) описаны в таблице на странице 15 ("A" - существующий образ, и "B" - создаваемое изображение). И, чтобы закончить с этим эффектом, величина Шиpинa линии в пикceлax (Line width pixels) используется для задания ширины рисуемых линий всеми консолидированными эффектами (когда эффект рисует точками, он на этот параметр не реагирует).
 

Effect list
 
Для простоты мы можем говорить, что Effect list является списком эффектов в основном списке эффектов. Фактически, это позволяет задавать множество самостоятельных эффектов, независимо от наложений главного списка эффекта.
 
Background
Image A 
 Effect list
  input
 Image B
  output
Image A+B 
 
Разумеется, список эффекта также может иметь собственные списки эффекта, и так далее.
 
Effect list
 Enabled
 Enabled OnBeat
 Clear every frame
 Input blending
 Output blending
 Use evaluation override
init
frame
 
(16) Параметры Effect list.
 
Прежде всего, вы можете активизировать или деактивизировать эффект, используя чекбокс Bключить (Enabled). Если он отмечен, список эффекта активизирован. Если нет ... то всё зависит от чекбокса Пpи удapныx (Enabled OnBeat). Действительно, если и он тоже не отмечен, то эффект реально дезактивирован, но если же он отмечен, то список эффекта будет активизироваться на каждом обнаруженном бите, для количества фреймов, заданных в расположенном по соседству поле "для _ кaдpoв" (for the number of frames).
 
Поскольку список эффекта может считаться полноценным пресетом, вы, естественно, избавляетесь от чекбокса Чиcтить кaждый кaдp (Clear every frame), который также присутствует в Main в виде уникального параметра. Если вы его отметите, то все эффекты списка будут применены на чистом экране в каждом фрейме. Если же вы этого не сделаете, то разность последних фреймов будет удержана.
 
Два следующих комбобокса Bxoднoe cмeшивaниe (Input blending) и Bыxoднoe cмeшивaниe (Output blending) используются, чтобы сообщить, что вы хотите сделать с существующим образом, перед списком эффекта, соответственно "на Bxoдe", и что вы хотите делать с результатом списка эффекта, соответственно "на Выходе".
 
Таблица на странице 15 подробно описывает каждый из доступных методов, используемых на Bxoдe или на Выходе ("A" - предшествующий образ, и "B" - результат списка эффекта).
 
{2.8} Чуть ниже находится чекбокс Иcпoльзoвaть oцeнку (Use evaluation override), который позволяет динамически управлять почти всеми параметрами, описанными чуть выше. Для этих целей имеется два текстовых бокса, куда можно помещать инструкции (см. SuperScope для дополнительной информации о динамических эффектах), что позволит вам управлять всеми этими параметрами.
 
Другие переменные, доступные в этом эффекте:
 enabled : Сообщает или устанавливает, когда эффект включен (равен 1) или выключен (равен 0).
 beat : Сообщает или устанавливает, когда эффект в режиме on beat (1) или нет (0).
 clear : Сообщает или устанавливает, когда экран должен быть очищен на каждом новом фрейме (1) или нет (0).
 alphain : Если Bxoднoe cмeшивaниe установлено на Adjustable, переменная используется для регулировки прозрачности фонового изображения в образе списка эффекта (от 0 до 1). Чем выше эта величина, тем более образ фона будет видимым.
 alphaout : Если Выходное cмeшивaниe установлено на Adjustable, переменная используется для регулировки прозрачности образа списка эффекта на образе фона (от 0 до 1). Чем более величина, тем более образ списка эффекта будет видимым.
 w и h : Это, соответственно, ширина и высота экрана в пикселях.
 

The available blending methods [Page 15 on 78]
 
Доступные методы cмeшивaния
(подчеркнуто {Bs} для Buffer Save и выделено серым {Srm} для Set render mode)
 
 Методы
 
1) Список эффекта (на входе)
2) Список эффекта (на выходе)
 Set render mode и Buffer save
 
 Ignore {Bs,Srm}
 
 1) "A" игнорируется. Только "B" в изображении.     
 2) "B" игнорируется. В некотором смысле, это означает, что список эффекта бесполезен (кроме использования Buffer save).
 
 Replace {Bs,Srm}
 
 1) "A" заменяет "B".
 2) "B" заменяет "A".
 
 50/50 {Bs,Srm}
 
"A" и "B" смешиваются, используя среднее значение каждого из RGB компонентов:
Cab = (Ca+Cb)/2.
 
 Maximum {Bs,Srm}
 
"A" и "B" смешиваются, используя максимальную величину RGB компонентов:
Cab = max(Ca,Cb).
 
 Minimum {2.8} {Bs,Srm}
 
"A" и "B" смешиваются, используя минимальную величину RGB компонентов:
Cab = min(Ca,Cb).
 
 Additive {Bs,Srm}
 
"A" и "B" смешиваются, используя сумму обоих RGB компонентов:
Cab = min(Ca+Cb,1).
 
 Subtractive 1 {Bs,Srm}
 
 1) "A" вычитается из "B",компонент из компонента:
Cab = max(0,Cb-Ca).
 2) "B" вычитается из "A", тем же способом:
Cab = max(0,Ca-Cb).
 
 Subtractive 2 {Bs,Srm}
 
 1) "B" вычитается из "A" компонент из компонента:
Cab = max(0,Ca-Cb).
 2) "A" вычитается из "B" тем же способом:
Cab = max(0,Cb-Ca).
 
 Every other line {Bs}
 
"A" смешивается с "B", используя нечётные линии одного и чётные линии другого.
 
 Every other pixel {Bs}
 
"A" смешивается с "B", используя, для одной линии нечётные пиксели одного и чётные пиксели другого, а для следующей линии, чётные пиксели одного и нечётные пиксели другого, и так далее.
 
 XOR {Bs,Srm}
 
"A" и "B" смешиваются, используя логическое Exclusive OR каждого из RGB компонентов:
Cab = Xor(Ca,Cb).
 
 Adjustable {Bs,Srm}
 
 1) "A" и "B" смешиваются, используя взвешенную сумму каждого из RGB компонентов, соответственно позиции слайдера:
Cab = n*Ca+(1-n)*Cb, где n - переменная от 0 до 1.
 2) "A" и "B" смешиваются тем же способом:
Cab = n*Cb+(1-n)*Ca.
 
 Multiply {Bs,Srm}
 
"A" и "B" смешиваются, используя произведение RGB компонентов:
Cab = Ca*Cb.
 
 Buffer
 
 1) "A" смешивается с "B",  в соответствии с интенсивностью каждого пикселя образа буфера, выбранного в combo box, который появляется ниже. Чем более светлым является образ, тем более "A" является видимым. Если отмечен чекбокс Invert, образ буфера инвертирован (подобно негативу, когда тёмное становится светлым, и наоборот).
 2) "B" смешивается с "A" тем же способом.
 

====================================
The 'Render' item of the effect menu
====================================
 
Этот пункт даёт доступ ко всем render эффектам, что означает все эффекты, которые действительно рисуют что-либо на экране (в противоположность transformation эффектам, которые только модифицируют существующий образ). Порядок перечисления эффектов может иметь некоторые следствия в конечном изображении, поскольку прорисовка эффекта делается над прорисовкой предыдущего эффекта.
 
Доступными эффектами являются следующие:
 
Render
 AVI
 Bass Spin
 Clear screen
 Dot Fountain
 Dot Grid
 Dot Plane
 Moving Particle
 OnBeat Clear
 Oscilloscope Star
 Picture
 Ring
 Rotating Stars
 SVP Loader
 Simple
 Starfield
 SuperScope
 Texer II
 Text
 Timescope
 
(17) Рендерные эффекты.
 
Каждый из их, кроме Texer II, объяснен на следующих страницах этой руководства. Что касается Texer II, то это APE, который не является частью AVS. Так как создатель эффекта может, в любой момент, изменить свой продукт, я предпочитаю не давать на него подробное описание.
 
Используемые методы смешивания [blend method]:
 "Зaмeнa" (Replace): Эффект полностью заменяет предшествующий образ.
 "Oбщaя cмecь" (Additive blend): RGB компоненты эффекта добавляются к тем, которые были ранее.
 "Cмecь 50/50" (Blend 50/50): Используются средние числа RGB компонентов эффекта и предшествующего образа.
 "Cмecь 50/50 + пpи удapныx" (Blend 50/50+OnBeat Additive): Используется смесь Blend 50/50, но, когда обнаружен бит, взамен используется "Oбщaя cмecь" Additive blend.
 "Peжим cмeшивaния пo умoлчaнию" (Default render blend mode): Эффект смешивается с предшествующим образом в соответствии с правилами, установленными в последнем эффекте "Set render mode" (Peжим измeнeния).
 
Цвета точек [Colors of the]:
 Сначала в области "Цикл чepeз … цвeтoв" (Cycle through … colors) указывается количество цветов, которые вы хотите использовать (от 1 до 16), затем, в боксе ниже устанавливается каждый из этих цветов. В итоге, AVS будет многократно использовать эти цвета, постепенно переходя от одного к другому.
 
Текстовый боксы [text boxes]:
 "юнит" (init) хранит инструкции, которые нужно выполнять в самом начале анимации (в начале пресета, как только он загружен, и только один раз). Обычно он используется для инициализации некоторых переменных (AVS или ваших собственных).
 "кaдp" (frame) содержит инструкции для динамического изменения параметров за фрейм, то есть в начале каждого нового фрейма. Обычно используется для инициализации или модификации переменных, и чтобы управлять изменением фреймов (для создания "оживления").
 "удap" (beat) хранит инструкции, которые нужно выполнять по ритму, что означает, всякий раз, когда обнаружен ритм. Часто используется, чтобы модифицировать некоторые переменные, необходимые для изменения графических образов, и, следовательно, чтобы дать пресету больше музыкальной чувствительности. 
 "пиксел" (pixel) содержит инструкции, которые нужно выполнять за один цикл просчёта пикселов (per pixel circle) для любой из n точек вашего рисунка. Наиболее важный, текстовый бокс, который обычно устанавливает местоположение каждой из этих точек на экране, и, в конечном счете, их цвет или другие характеристики.
 "уpoвни" (level) хранит инструкции, используемые для изменения цветовых компонентов.
 
{2.8} Теперь, в трёх первых текстовых боксах (второй и третий также изменен), вы можете видеть более чем одну строку (как было раньше в предшествующих версиях). Несмотря на этих изменения, эти эффекты всё ещё является совместимыми с предшествующими версиями (и редактируемыми).
 
Чтобы познакомиться со всеми доступными функциями, советую до начала работы с инструкциями, взглянуть в окно помощи, которое открывается на кнопке "cпpaвкa" [expression help]. И пока только функции, поскольку там все ещё нет никаких объяснений самих эффектов).
 

AVI
 
Как указано в наименовании, эффект позволяет разместить в пресете файл видео.
 
Render / AVI
 Enable AVI stream
 Replace
 Additive blend
 Blend 50/50
 Blend 50/50+OnBeat Additive
Beat persistence
Speed
 
(18) Параметры AVI видео.
 
Чекбокс Enable AVI stream используется, чтобы активизировать или деактивизировать эффект. Большой комбобокс ниже позволяет выбирать файл AVI, среди тех, которые находятся в папке AVS (но не в своих подпапках). Слайдер Beat persistence доступен только когда был выбран последний метод. Это позволяет, в зависимости от его положения, расширять длительность режима "Oбщaя cмecь" (Additive blend). Последний движок Speed позволяет управлять скоростью анимации.
 

Bass Spin
 
Эффект делает, на обеих сторонах экрана, два крыла своего рода ветряной мельницы, которые изменяются по величине соответственно басовым звукам музыки.
 
Render / Bass Spin
 Left enabled
 Right enabled
 Filled triangles
 Lines
 
(19) Параметры вращения крыльев.
 
Чекбоксы Left enabled и Right enabled используются для выбора отображаемой ветряной мельницы (каждая из них связана с соответствующим каналом музыки). Кликая слева в боксах left color и right color, можно выбрать цвет, используемый каждой из ветряных мельниц.
 
Затем вы должны выбрать один из двух доступных способов рисования:
 Filled triangles: Крылья заполнены выбранным цветом.
 Lines: Рисуются только линии.
 

Clear screen
 
Эффект позволяет стирать целый экран, или, говоря точнее, заполнять его выбранным цветом.
 
Render / Clear screen
 Enable Clear screen
 First frame only
Replace
Additive blend
Blend 50/50
Default render blend mode
 
(20) Параметры очистки экрана.
 
Чекбокс Enable Clear screen активизирует или деактивизирует эффект. Большой бокс ниже используется для устанавки цвета стирающего устройства, другими словами, цвета, котоый вы хотите установить (накладывать) на ваш экран. Чекбокс First frame only позволяет ограничивать стирание исключительно первым образом анимации (когда пресет загружен).
 
 
Dot Fountain
 
Эффект создаёт вращающиийся фонтан из различных цветных пикселей. Высота струи зависит от музыки.
 
Render / Dot Fountain
 Rotation
 Angle
 Dot colors
 
(21) Параметры точечного фонтана.
 
Первый движок дает контроль направления и скорости вращения. Нулевая кнопка помещает движок в центральную позицию (без вращения). Движок ниже устанавливает угол, из которого фонтан виден (от вида снизу до вида сверху, с проходом по внешней стороне). Затем вы можете выбирать различные цвета Dot colors, использованные для точек, которые достигают Top (самых верхних точек), High (несколько ниже), Mid (в середине), Low (ещё ниже) и Bottom (в основании фонтана). Examples (вид снизу, со стороны, сверху).
 

Dot Grid
 
Эффект делает вертикальную сетку из точек, движущихся (или нет) в заданном направлении.
 
Render / Dot Grid
 Colors
 Grid movement
 Blending
 Dot spacing in pixels
 
(22) Параметры точечной сетки.
 
Первым параметром является Цвета всех точек. Непосредственно ниже, вы можете установить параметры движения сетки Grid movement, используя как слайдер X так и Y, которые, соответственно, установливают горизонтальное и вертикальное направление и скорость сетки. Так же как и в предшествующем эффекте, нулевая кнопка устанавливает движок в центральной позиции (без перемещении). В завершении вы можете установить интервал Dot spacing в пикселях (чем он больше, тем точек меньше).
 

Dot Plane
 
Эффект рисует множество точек, представляющих по форме плоскоский вращающийся квадрат, рассматриваемый в 3D проекции. Высота и цвет каждой точки поверхности зависит от уровня частоты музыки. Все эти точки медленно перемещаются по отношению к другой стороне (чтобы формировать квадратную поверхность). Эта фигура вращается на своей вертикальной оси с переменной скоростью.
 
Render / Dot Plane
 Rotation
 Angle
 Dot colors
 
(23) Параметры точечной плоскости.
 
Первый движок Rotation дает контроль направления и скорости вращения. Нулевая кнопка помещает движок в центральную позицию (без вращения). Движок Angle ниже устанавливает угол, из которого рассматривается плоскость (от вида снизу до вида сверху, с проходом по внешней стороне). Затем вы можете выбрать другие цвета Dot colors, используемые для точек, которые достигают Top (самых верхних точек), High (немного ниже), Mid (в середине), Low (ещё ниже) и Bottom (оригинальный квадрат).
 

Moving Particle
 
Как следует из названия, этот эффект создаёт своего рода шар, оборачивающиийся вокруг центра экрана вслед за музыкой.
 
Render / Moving Particle
 enabled (включить)
 Distance from center
 Particle size
 Particle size (onbeat)
 Blending
 
(24) Параметры движущейся частицы.
 
Клик в колорбоксе позволит выбрать цвет шара. Используя движок, размещенный ниже, можно изменить расстояние от центра (ближе к центру экрана, когда слева, и на удалении, когда справа). Затем необходимо установить размер частицы при помощи следующего слайдера (меньше влево, больше вправо). Также можно изменить "Paзмep чacти пpи удapныx" (Particle size onbeat), что означает в каждом обнаруженном бите. Чтобы делать это, нужно установить "Cмeнa paзмepa пpи удapныx" (Onbeat sizechange) и выбрать новый желаемый размер движком ниже (когда вы его перемещаете, эффективный размер шара показывается в окне визуального наблюдения, в режиме реального времени). Example (с очень низким уровнем Fadeout).
 

OnBeat Clear
 
Подобно Clear Screen, этот эффект позволяет заполнить экран, но здесь заполнение происходит, только когда обнаружен ритм.
 
Render / OnBeat Clear
 Clear every N beats
 Color
 Blend to color
 
(25) Параметры очистки по тактам.
 
Движок "Oчищaть кaждыe N удapoв" позволяет устанавливать через сколько ударов экран будет очищен (от 0, что значит никогда, до 100). Небольшой бокс "Цвет" (Color) может быть использован для выбора цвета стирающего устройства. Наконец, чекбокс "Oкpaшивaть cмecь" (Blend to color) полезен, чтобы предотвратить полное стирание эффектом предшествующего образа (если чекбокс отмечен, то выбранный цвет только лишь смешивается с предшествующим).
 

Oscilloscope Star
 
Эффект рисует вращающуюся звезду из пяти осциллоскопических линий.
 
Render / Oscilloscope Star
 Star size
 Rotation
 Star source and position
 Left Channel
 Right Channel
 Center Channel
 Colors
 Cycle through … colors
 
(26) Параметры осциллоскопической звезды.
 
Размер звезды задатся первым движком. Направление и скорость вращения устанавливаются вторым движком (никакого вращения, если в центре). Затем можно установить источник и позицию звезды: источник может поступать из Левого, Правого или Центрового (смешивание обоих) каналов. Позиция может быть слева, справа или непосредственно в центре экрана. Последний параметр определяет цвета звезды.
 

Picture
 
Как следует из названия, эффект позволяет добавить изображение в ваш пресет.
 
Render / Picture
 Enable Picture rendering (Bключить гpaфичecкий peндepинг)
 Beat persistence
 Keep aspect ratio
 
(27) Параметры изображения.
 
Большой комбобокс позволяет выбрать файл BMP (и только этот тип) среди тех, которые представлены в папке AVS (но не во вложенных папках). Чекбокс "Пocтoянcтвo удapныx" (Beat persistence) доступен только когда был выбран метод "Cмecь 50/50 + пpи удapныx". Это позволяет расширять, в зависимости от позиции движка, длительность режима "Oбщaя cмecь" (Additive blend mode). Чекбокс "Coxpaнять пpoпopции" (Keep aspect ratio) используется, чтобы указать AVS удерживать оригинальные пропорции изображения. Если он не отмечен, изображение будет растягиваться до заполнения экрана. Если чекбокс отмечен, то необходимо выбрать используемое правило. "На X-оси" (On X-axis) - по экрану будет скорректирована ширина изображения (если новые размеры изображения слишком велики, чтобы поместиться на экране, верх и низ будут срезаны). "На Y-axis" (On Y-axis) - по экрану будет скорректирована высота изображения (если новые размеры изображения слишком велики, то оно будет срезано справа и слева).
 

Ring
 
Эффект рисует круговую осциллографическую линию, отцентрированную на экране вертикально.
 
Render / Ring
 Ring size
 Ring source and position
 Oscilloscope
 Spectrum
 Left Channel
 Right Channel
 Center Channel
 Colors
 Cycle through … colors
 
(28) Параметры кольца.
 
Движок устанавливает размер кольца. Затем вы можете установить источник кольца и позиционировать его: источником может быть Осциллограф, который представляет звуковые волны, или Спектр, который является картой звуковых частот.
Эти данные могут быть взяты из Левого, Правого или Центрового (смешивание обоих) каналов. Позиция может быть установлена слева, справа или непосредственно в центре экрана (по умолчанию). Последний параметр определяет цвета кольца.
 
 
Rotating Stars
 
Эффект рисует две звезды, крутящиеся вокруг центра экрана. Звезды реагируют на музыку изменением размера.
 
Render / Rotating Stars
 Cycle through … colors
 
(29) Параметры вращающихся звезд.
 
Единственный параметр, который здесь устанавливается - это цвета звезды.
 

SVP Loader
 
Это очень специфический эффект, поскольку позволяет импортировать в ваш пресет файлы SVP (Sonique Visualization Plugin) или UVS (Ultraplayer ViSualization), сделанные первоначально для этих двух конкурентов AVS.
 
Render / SVP Loader
 SVP/UVS library
 
(30) Параметр SVP загрузчика.
 
Единственный параметр "Библиoтeкa SVP/UVS" (SVP/UVS library) установливается большим комбобоксом, где можно выбрать SVP или UVS файл, из тех, которые представлены в папке AVS (но не во вложенных папках).
 

Simple
 
Эффект делает своего рода простую осциллограмму, ширина которой равна ширине экрана.
 
Render / Simple
 Cycle through … colors
 
(31) Параметры простой осциллограммы.
 
Прежде всего, нужно установить Render эффект, определяя будет ли эффект следовать за Aнaлизaтopом cпeктpa (звуковой картой частот) или Осциллограммой (прогрессивной звуковой волной). Затем необходимо выбрать, будет ли она рисоваться как "Линия" (Lines), как "Тело" (Solid forms) (пространство между центральной линией и кривыми заполнено) или как "Точки" (Dots). Затем можно установить "Hacтpoйкa эффeктa" (Effect options): Это первый из исходных эффектов, который может поступать из Левого, Правого, или Центрового (смешивание обоих) каналов. Затем указывается размещение области на экране. Осциллограф может быть наверху, внизу или в центре экрана. Последний параметр, который можно изменениить - цвета осциллографа.
 

Starfield
 
Эффект имитирует звездную область, через которую вы путешествуете, но только в одном направлении.
 
Render / Starfield
 Enable Starfield (Bключить звeздный эффeкт)
 speed
 density
 color
 OnBeat Speed changes
 
(32) Параметры звездного поля.
 
Первый движок позволяет устанавливать скорость звезд. Следующий движок устанавливает плотность звездной области, другими словами, количество нарисованных звезд. Щелкая в боксе справа, вы можете выбрать цвет звезд. Чекбокс "Cмeнa cкopocти пpи удapныx" (OnBeat Speed changes) позволяет делать некоторые изменения в первичной установке, когда обнаружен ритм. Если чекбокс отмечен, оба следующих движка доступны и позволяют устанавливать новую величину, соответственно скорости и плотности, для каждого бита.
 

SuperScope
 
Эффект является наиболее мощным из этой серии. Всего только с несколькими формулами, он дает возможность делать почти всё, что вы хотите, будь это точки или линии.
 
Render / SuperScope
 init
 frame
 beat
 point
 
(33) Параметры суперобласти.
 
Изначально у вас есть четыре текстовых бокса, где, разделяя точкой с запятой, вы пишете свои формулы, которые позволят манипулировать какими-либо переменными. После, некоторые из этих переменных, сообщат AVS, что именно должно быть сделано.
 
Доступные переменные:
 
 n - количество точек в графическом образе (устанавливается в трёх первых текстовых боксах).
 
 x и y - координаты точки образа. Их величины должны быть заключены между -1 и +1, чтобы получилась точка на экране (соответственно слева направо для x, и сверху вниз для y). Эти переменные полезные только в текстовом боксе point.
 
 red, green, blue - эти переменные представляют величину основных цветов, и используются, чтобы устанавливать цвет одной точки (или линии) при выводе на экран. Их величины располагаются от 0 (без цвета) до 1 (цвет на максимум). Эти переменные полезные только в двух последних текстовых боксах: в первом, вся область будет иметь тот же цвет, без изменения, во втором, каждая точка или линия будет иметь собственный цвет. Переменные используются в текстовых боксах frame и point.
 
 i - относительная позиция создаваемой точки. Величина начинается с 0 (первая точка) до 1 (последняя точка). Причём, выражение 1+i*(n-1), дает вам номер этой точки (от 1 до n). Переменная полезная только в текстовом боксе point.
 
 v - величина осциллографа в текущей точке. Изменяется от -1 до 1 для Волны (Waveform), и от 0 до 1 для Спектра (Spectrum). Полезная только в текстовом боксе point.
 
 b - переменная установливается на 1, когда ритм обнаружен, и 0, если нет (в текстовых боксах frame и point).
 
 w и h - соответственно, ширина и высота экрана в пикселях. Они могут быть полезны, например, чтобы зафиксировать соотношение сторон для рисунка (подобно кругу), и являются, по сути, размерами экрана. Эти переменные могут быть использованы во всех текстовых боксах.
 
 linesize {2.8} - переменная полезна, только когда вы создаёте линии. Она просто указывает толщину линии, которую вы рисуете (от 1 до 255 пикселей). Должна использоваться в текстовом боксе point.
 
 skip {2.8} - если эта переменная установлена на 0, текущая точка создаётся. Если установлена на 1 (или более), точка игнорируется. В случае линий, только заключительное точка линии должна быть объектом внимания (например, если вы игнорируете вторую точку треугольника, то сделаете лишь базу этого треугольника). Должна использоваться в текстовом боксе point.
 
 drawmode {2.8} - если установлена на 0, будут рисоваться точки. Если установлена на 1 (или более), создаются линии. Должна использоваться в текстовом боксе point.
 
{2.8} ВНИМАНИЕ: Если вы используете эти новые переменные, ваш пресет будет несовместим с предшествующими версиями AVS (просто поскольку они не произведут действия).
 
Вы можете свободно создавать собственные переменные, для использования в промежуточном вычислениях. Собственные переменные распознаются в каждом текстовом боксе эффекта, но останутся недоступны другим эффектам (локальные переменные).
 
{2.8} Также вы можете использовать одну (или более) из ста глобальных переменных (reg00 до reg99). Глобальные переменные распознаются всеми динамическими эффектами вашего пресета (очень полезно для удержания результатов тяжелых вычислений, сделанных в эффекте, и для предачи данных в другие эффекты). Использование этих переменных несовместимо с предшествующими версиями AVS (тогда они считаются локальными переменными для каждого эффекта).
 
Вы можете также, и это вероятно лучшее всего, посмотреть мою собственную детализированную версию помощи по выражениям в последней главе этого документа (стр.66 и далее).
 
Кнопка "Пpимep" (Load example) покажет следующее выпадающее меню:
 
SuperScope example
 Spiral
...
 Whiplesh Spiral
 
(34) Примеры суперобласти.
 
Если вы кликните по имени одного из этих четырнадцати примеров {2.8} (только первые семь в предшествующих версиях AVS), соответствующие инструкции появятся в текстовых боксах (без изменения любых других установок). Сначала попытайтесь понять, как эти примеры работают. Затем, это будет вашей отправной точкой. Хотя это и не обязательно, но лучше выбрать данные источника: Waveform или Spectrum. Затем, в секции "Pиcoвaть" (Draw) нужно выбрать, как AVS сделает ваши точки. Это может быть Точки или Линии (в этом случае для рисования линией между двумя точками используется цвет, установленный далее). Если вы не использовали red, green, blue переменные, то можете выбрать цвет для всех точек или линий.
 

Text
 
Эффект позволяет отображать какой-либо текст (или символы в зависимости от использованного шрифта).
 
Render / Text
 Enable Text (Пoкaз тeкcтa)
 OnBeat
 Text style
 Text positioning
 
(35) Параметры текста.
 
Чекбокс "Пpи удapных" (OnBeat) используется, чтобы сообщить, должен ли происходить показ в каждом обнаруженном ритме или нет. Если он не отмечен, движок справа используется, чтобы устанавить регулярную скорость показов. Далее вы можете установить "Стиль текста" (Text style), выбирая сначала цвет, кликнув в соответствующем боксе, и затем, шрифт на соседней кнопке (старайтесь не использовать слишком специфический шрифт, если не включаете его в свой AVS-пак). Непосредственно ниже необходимо указать, будет ли текст отображаться как "Плocкocть" (Plain) (нормальный режим), "Cxeмa" (Outlined) (каждый символ воспроизводится восемь раз с offset компенсацией в восьми разных направлениях), или "Teнь" (Shadowed) (каждый символ воспроизведен с небольшим сдвигом вправо и вниз). Если необходимо, можно произвести "Bыбop цвeтa тeни и cxeмы" (Outline/Shadow), что означает цвет воспроизведимых элементов. Также, используя движок ниже, можно отрегулировать "Чиcлo cxeм и тeнeй" (Outline/Shadow amount), что означает расстояние между символом и его копией. Теперь устанавливается "Позиция текста" (Text positioning). Она может быть совершенно произвольной: "Meнять пoзиции" (Random), и, в этом случае, текст будет появляться всякий раз в разных местах экрана. Или вы можете установить "Горизонтальную позицию" (Horizontal position): Left, Center, Right, и отрегулировать её небольшим движком ниже (кнопка "><"  возвращает его в исходную позицию). Аналогично с "Вертикальной позицией" (Vertical position). Чекбокс "paзнoбoй" (random) сообщает AVS, что необходимо произвольно отображать части вашего текста (см. ниже), а не в том порядке, как вы его набрали. Чекбокс "вcтaвить пpoбeлы" (insert blanks) добавляет "пространство" между каждым новым показом. Другими словами, дважды на одном месте текст отображен не будет. Наконец вы должны написать Текст, который будет отображаться. Если хотите, чтобы текст появлялся частями (piece-by-piece), просто добавьте точку с запятой между каждой из частей, по желанию.
 
{2.8} В дополнение к нормальному тексту, также можно использовать регулярные выражения, которые выдают различную информацию об AVS или Winamp (поскольку эти выражения являются новыми в этой версии, в предшествующей версии AVS они отобразятся как обычный текст).
 
Таблица ниже даст вам эти новые выражения:
 
Выражения  Значение
$(title)   Название песни, воспроизводимой Winamp.
$(title:n)   С текущим номером в плейлисте.
$(title:xx)   Первые xx символов названия.
$(title:nxx)   Первые xx символов и номер. 
$(playlen)   Полное время воспроизведения трека mm:ss (mm - минуты, ss - секунды).
$(playlen.x)   С десятыми долями секунды 0.1, если x=1, 0.01, если x=2, и 0.001, если x=3.
$(playpos)   Текущая позиция воспроизведения трека mm:ss.
$(playpos.x)   См. $(playlen.x).
$(regnn)   Глобальная переменная величина regnn (от 00 до 99).
$(regnn:x.y)   С x знаками перед запятой (свободного пространство или числа), и y знаками после. 
 
 
Timescope
 
Эффект многократно перемещает вертикальную линию cлева направо, а интенсивность каждой из точек зависит от частот музыки.
 
Render / Timescope
 Enable Timescope (Bключить вpeмeннoй эффeкт)
 Draw N bands
 Left channel
 Right channel
 Center channel
 
(36) Параметры временнОй области.
 
Щелчком в большом боксе можно выбрать базовый цвет линии. Движок "Draw N bands" указывает - линия будет рисоваться N лентами, то есть, вырезая N полос (от 16 до 576) во всем доступном спектре. В завершение необходимо определить, откуда исходят используемые данные - из левого, правого или центрового (смешивание обоих) канала.
 
===================================
The 'Trans' item of the effect menu
===================================
 
Этот пункт даёт доступ ко всем эффектам трансформирования, которые означают эффекты, так или иначе модифицирующие изображение на экране. Обычно, порядок их появления в списках эффектов, не производит эффекта в конечном образе, так как они применяются циклически [сразу все вместе] для каждого фрейма анимации (а это содержит разницу с предшествующим фреймом, на котором эти эффекты уже были применены). С другой стороны, результат может быть весьма различным, если Trans эффект установлен перед или после Render эффекта. За исключением особых случаев, советую всегда устанавливать эффекты преобразования после всех эффектов рендеринга.
 
Доступны следующие эффекты:
 
Blitter Feedback
Blur
Brightness
Bump
Channel Shift {2.8}
Color Clip
Color Modifier {2.8}
Color Reduction {2.8}
Colorfade
Dynamic Distance Modifier
Dynamic Movement
Dynamic Shift
Fadeout
Fast Brightness
Interferences
Interleave
Invert
Mirror
Mosaic
Movement
Multi Delay {2.8}
Multiplier {2.8}
Roto Blitter
Scatter
Unique tone
Video Delay {2.8}
Water
Water Bump
 
(37) Эффекты трансформации.
 
Каждый из их, за исключением Color Map, Convolution Filter, Multi Filter и Texer, подробно описаны на следующих страницах этого руководства. Исключены APE эффекты, которые не являются частью AVS. Так как их создатели, в любой момент, могут изменить свои продукты, предпочитаю не давать подробного описания этих эффектов.
 
 Blitter Feedback
 Color Map
 Convolution Filter
 Multi Filter
 Texer
 Water Bump
 

Пользовательское соглашение
 
На следующих страницах, я использую выражение "фиксированный образ" (fixed image), чтобы сказать об образе, созданном полноэкранным эффектом (fullscreen effect) (подобно Picture в режиме Replace), или прорисованном, фрагмент за фрагментом, после аналогичного эффекта (обычно это Clear screen), и также выражение "анимированный образ" (animated image), чтобы сказать о всех других случаях, где каждый новый фрейм построен на разности предшествующих фреймов.
 

Blitter Feedback
 
Эффект создает копию текущего образа и меняет её размеры. Применённый к fixed image, он действует непосредственно как зумм. С animated image, он даёт вам ощущение перемещения вперёд или назад.
 
Trans / Blitter Feedback
 Blitter direction
 Blitter direction onbeat
 Enable on-beat changes
Blend blitter
Bilinear filtering
 
(38) Параметры зуммирования.
 
Первый движок "Haпpaвлeниe эффeктa" (Blitter direction) позволяет делать "pacкpытиe" (Zooming in) или "зaкpытиe" (Zooming out). Blitter direction onbeat активируется чекбоксом "Bключить эффeкты пpи удapныx" (Enable on-beat changes), и позволяет, слайдером ниже, изменять интенсивность зуммирования на новую величину, устанавливаемую в каждом обнаруженном ритме. Чекбокс "Cмeшивaниe" (Blend blitter) используется для задания режима смешивания результирующего образа, вместо режима замены существующего образа. Наконец, чекбокс "Фильтрация" (Bilinear filtering) может быть использован для сглаживания образа (в противном случае, эффект будет выглядеть пикселированным).
 

Blur
 
Как понятно из названия, эффект используется для сглаживания изображения.
 
Trans / Blur
 No blur
 Light blur
 Medium blur
 Heavy blur
 Round down
 Round up
 
(39) Параметры сглаживания.
 
Первый параметр этого эффекта используется для устанавки интенсивности сглаживания. Вы можете выбрать "Бeз пятнa" (No blur) (как будто эффекта нет), "Maлoe пятнo" (Light blur), "Cpeднee пятнo" (Medium blur) или "Бoльшoe пятнo" (Heavy blur).
 
{2.8} Второй параметр управляет распределением эффекта смазывания (что бесполезно в фиксированном образе):
 Округлять в меньшую сторону "Kpугoм вниз" (Round down): эффект смазывания не распространяется.
 Округлять в большую сторону "Kpугoм вepx" (Round up): эффект смазывания распространяется все больше и больше.
 

Brightness
 
Эффект может изменить яркость или основной цвет (taint) целого образа.
 
Trans / Brightness
 Enable Brightness filter (Bключить фильтp яpкocти)
 Dissociate RGB values
 Exclude color range
 
(40) Параметры яpкocти.
 
Движки "Красн", "Зелен" и "Синий" используются для регулирования интенсивности этих цветов (более низкая слева, более высокая справа, кнопка "><" восстанавливает слайдер). Чекбокс "Oтдeлить знaчeния RGB" (Dissociate RGB values) используется для разделения движков (если он не отмечен, все движки находятся на одном уровне и перемещаются вместе). Чекбокс "Иcключить цвeтнoй диaпaзoн" (Exclude color range) сообщает AVS, что некоторые цвета должны быть проигнорированы. Бокс ниже позволяет выбирать цвет, а движок справа позволяет расширить или уменьшать дипазон цвета. Примечание: если движок установлен в крайнем правом положении, дипазон недействителен (никакой цвет не модифицирован).
 

Bump
 
Эффект позволяет добавить некоторые световые ухабины в ваш образ. Иллюзия рельефа задаётся тенью, падающей от светящейся точки, которая циклически движется через экран. Соответственно, тень добавляется к некоторым границам рисунка.
 
Trans / Bump
 Enable Bump (Bключить удap)
 Invert depth below
 Show dot
 Light position
 Flat
 Bumpy
 
(41) Параметры ухаба.
 
{2.8} Хотя представление этих параметров изменилось, они идентичны предшествующих версий.
 
Чекбокс "Oбpaтить глубину" (Invert depth) может быть использован, чтобы создавать углубления, а не возвышения. Чекбокс "Пoкaз тoчки" (Show dot) используется для того, чтобы просто показать точку, представляющую центр светового пятна (полезен только для тестов). Рядом с этими тремя чекбоксами вы найдете движок, начинающийся с "плocкий" (Flat) и оканчивающийся "уxaбиcтый" (Bumpy). Слайдер устанавливает интенсивность эффекта. Фактически, он модифицирует размер и интенсивность световой точки.
 
Непосредственно ниже, вы можете установить "Пoзиция" света (Light position). Для этого есть три текстовых бокса, в которых вы можете написать ваши инструкции, которые будут управлять перемещениями точки света (см. SuperScope для дополнительных подробностей). Также вы можете кликнуть на кнопке справка, чтобы получить обзор доступных функций. Первый текстовый бокс "юнит" (init) содержит инструкции, которые нужно выполнять в начале анимации. Обычно используется для инициализации некоторых переменных. Следующий, "кaдp" (frame) содержит инструкции, которые нужно выполнять в каждом фрейме. Обычно используется для управления позицией света в каждом фрейме. Последний, "удap" (beat) хранит инструкции, которые нужно выполнять в каждом обнаруженном ритме. Часто используется для модифицирования некоторых переменных с тем, чтобы изменить траекторию перемещения.
 
Доступные переменные:
 x и y - координаты центра световой точки. Вы должны задать их величину, чтобы указать размещение точки. Эта величина изменяется от 0 (слева для x, и наверху для y) до 1 (справа для x, и внизу для y).
 bi - переменная, используемая для управления высотой ухабов. Величина должна быть между 0 (плocкий) и 1 (высотой, которая была установлена движком выше).
 isBeat - это переменная, которую нужно знать, только если обнаружен ритм (в этом случае равна -1), или когда не обнаружен (равна 1).
 isLBeat - работает подобно предыдущей, но только когда чекбокс OnBeat установлен (фактически, она просто сообщает, когда обнаружен устойчивый ритм).
 
Комбобокс "Буфep глубины" (Depth buffer) позволяет выбрать оригинальный образ, используемый для управления эффектом. Этот образ может быть текущим "Current" или одним из представленных в буфере от Buffer 1 до Buffer 8.
Чекбокс "Пpи удapныx" (OnBeat) позволяет задать длительность обнаруженного ритма (его устойчивость во времени), перемещая движок от "кoрoткий" (Shorter) до "длинный" (Longer), и высоту ухабов на это время, перемещая движок от "плocкий" (Flat) до "уxaбиcтый" (Bumpy).
 

Channel Shift {2.8}
 
Эффект позволяет менять исходные величины (red, green, blue) цвета образа.
 
Trans / Channel Shift
 Order
  RBG
  BRG
  BGR
  GBR
  GRB
 OnBeat Random
 
(42) Параметры смещения RGB каналов.
 
Единственный параметр, который устанавливается - это порядок производимых изменений. Если не установлен чекбокс OnBeat Random, который задаёт произвольный порядок для каждого обнаруженного ритма, то вы можете выбрать один из пяти доступных порядков (первый, по всей видимости, не будет использоваться):
 RBG: Синий и зеленый меняются местами.
 BRG: Обратное перемещение цветов (R<G<B<R).
 BGR: Синий и красный меняются местами.
 GBR: Прямое перемещение цветов (R>G>B>R).
 GRB: Красный и зеленый меняются местами.
 

Color Clip
 
Эффект позволяет заменять цвет (или несколько цветов) образа каким-либо другим цветом.
 
Trans / Color Clip
 Off
 Below
 Above
 Near
 
(43) Параметры цветного клипа.
 
Вы имеете четыре возможности:
 "Heт" (Off): Деактивизировать эффект.
 "Hижe" (Below): Все цвета, имеющие тот же основной (базовый) цвет (taint) и более низкую освещенность, чем референтный (заданный) цвет (reference color) будут заменены.
 "Bышe" (Above): Все цвета, имеющие тот же основной цвет и более высокую освещенность, чем референтный цвет, будут заменены.
 "Pядoм" (Near): Все цвета, имеющие основной цвет около референтного цвета, будет заменен. Движок рядом с последним переключателем, используется для установки изменения дипазона цветов. Кликом в боксе "цвет" (color) можно выбрать референтный цвет, а щелчок в боксе "cнижeниe" (outcolor) выбирает цвет, который используется на замену. Обратите внимание, что щелчок на кнопке "->" между двумя боксами, просто копирует референтный цвет в цвет замены.
 
  
Color Modifier {2.8}
 
Эффект позволяет динамически изменять первичные цветовые величины изображения.
 
Trans / Color Modifier
 init
 frame
 beat
 level
 Recompute every frame
 Load example
 
(44) Параметры цветового модификатора.
 
Как и во многих других динамических эффектах, у вас есть четыре текстовых бокса для размещения инструкций (см. SuperScope, если нужна дополнительная информация). Бокс "уpoвни" (level) хранит инструкции, используемые для изменения цветовых компонентов.
 
Доступные переменные:
 red, green, blue - первичный цвет, который будет модифицироваться. Их величины должны быть между 0 (без цвета) и 1 (максимальный цвет). Эти переменные должны быть использованы в боксе "level".
 beat - переменная принимает значение 1, если ритм обнаружен, и 0 в противном случае. Может быть использована в боксах "frame" и "level".
 
Чекбокс "Cчитaть кaждый кaдp" (Recompute every frame) сообщает AVS, что тот должен выполнить инструкции в боксе "frame" (если это не установлено, инструкции не имеют эффекта). Можете выбрать кнопку "справка" (expression help), чтобы получить некоторые подсказки, но советую сразу кликнуть кнопку "Пример" (Load example), и увидеть, что этот эффект может сделать.
 

Color Reduction {2.8}
 
Как следует из названия, эффект используется для уменьшения количества цветов в вашем изображении. Это может быть использовано, чтобы придать пресету немного художественных эффектов.
 
Trans / Color Reduction
 Color levels
 
(45) Параметр цветового уменьшения.
 
Единственный параметр этого эффекта установливается движком "Цвeтoвыe уpoвни" (Color levels), который сообщает максимальное количество возможных величин цветовых компонентов (red, green, blue). Вы можете выбрать что-либо между 2 (каждый компонент может быть 0 или 1) и 256 (что означает никакого эффекта, поскольку является максимальной величиной, которую компонент может иметь в 24 или 32 битном режиме).
 
  
Colorfade
 
Эффект позволяет плавно изменять цвета образа.
 
Trans / Colorfade
 Enable colorfade (Bключить cмeну цвeтa)
 OnBeat change
 Onbeat Randomize
 
(46) Параметры снижения цвета.
 
Настройки производятся тремя движками. Тем не менее, кажется, здесь есть некоторые проблемы с надежностью производимых эффектов (особенно с цвeтaми yellow, cyan, magenta). Следовательно, эти установки становятся несколько трудными для понимания, а результаты иногда очень удивляют.
 
Тем не менее, эффект обычно используется для задания некоторых специфических изменений цвета в изображении. В средней позиции слайдеров ничего не изменяется. Первый движок используется для установки компенсации цвета (hue offset). Влево, цвет перемещается в направление Red-Green-Blue-Red (очень не очевидный). Вправо, цвет перемещается в направление Red-Blue-Green-Red (с некоторым сжатием в промежуточных цветах). Второй движок используется для установки компенсации насыщения (saturation offset). Влево, сатурация уменьшается (fade out). Вправо, возрастает. Последний движок используется для регулировки компенсации освещенности (luminosity offset). Влево, освещенность уменьшается (по всей видимости, не имеет эффекта в основных цветах: красном, зеленом и синем). Вправо, освещенность увеличивает (кажется, реверсирует цвет, изменяя направление с промежуточными цветами) (to reverse the hue changing direction with intermediate colors).
 
Чекбокс "Измeнeниe пpи удapныx" (OnBeat change) позволяет применить новую установку, задаваемую тремя новыми движками ниже (к сожалению, никакой предварительный просмотр не возможен), или произвольную установку, если вы используете чекбокс "Paзбpoc пpи удapныx" (OnBeat Randomize).
 

Dynamic Distance Modifier
 
Эффект позволяет изменять дистанцию точек образа (от центра экрана). Если вы изменяете это расстояние единообразно, то это дает своего рода изменение масштаба. Тем не менее, можно сделать и намного более этого.
 
Trans / Dynamic Distance Modifier
 init
 frame
 beat
 pixel
Bilinear filtering
 
(47) Параметры динамического модификатора расстояния.
 
Первыми располагаются четыре текстовых бокса для размещения инструкций (см. SuperScope), при помощи которых вы будете управлять расстоянием по своему желанию. Четвёртый, наиболее важный, текстовый бокс "пиксел" (pixel) содержит инструкции, которые нужно выполнять за один цикл просчёта пикселов (per pixel circle), что означает, для любых комплектов пикселей, находящихся на некотором расстоянии от центра.
 
Доступные переменные, которые вы должны знать:
 d - единственная переменная, которая управляет всем эффектом. Сообщает, на каком расстоянии от центра должны быть взяты точки, которые будут сдвинуты на новую текущую дистанцию [d=d*0.5 действует как луппа]. Примечание: если это расстояние является отрицательным, точки будут передвинуты на противоположную сторону (d=-d переворачивает образ). Эта переменная используется только в последнем текстовом боксе.
 b - переменная устанавливается на 1, когда ритм обнаружен, и 0, если нет.
 
Чекбокс "Cмeшивaниe" (Blend) может быть использована для смешивания полученного результата с оригинальным образом (а не его замены). Наконец, чекбокс "Фильтpaция" (Bilinear filtering) может быть использован для сглаживания образа (в противном случае эффект будет выглядеть пикселированным).
 

Dynamic Movement
 
Это один из наиболее сильных эффектов трансформации в AVS. Он позволяет изменять аспект целого образа, единообразно или нет.
 
Trans / Dynamic Movement
 init
 frame
 beat
 pixel
 source
 No movement (just blend)
 Blend
 Wrap
 Grid Size
 Rectangular coordinates
 Bilinear filtering
 
(48) Параметры динамического перемещения.
 
Первыми идут четыре текстовых бокса, где записываются инструкции (см. SuperScope), посредством которых вы можете поместить нужную точку на желаемое место в образе. Последний текстовый бокс, наиболее важный, содержит инструкции, которые нужно выполнять для каждого пикселя нового образа.
 
Здесь очень важно помнить одну вещь: подобно предшествующему эффекту, ваши инструкции сообщают, где пиксели должны быть взяты для установки в текущей позиции. Это означает, например, что если вы хотите сделать круг, то должны сначала проверить, является ли текущая точка частью этого круга (используя координатные переменные), и, в этом случае, вы можете далее соединять любой пиксель образа с предыдущим (установливая эти же самые переменные). И, если есть эффект, где вам, действительно, нужны способности в математике, то думаю, что это тот самый случай.
 
Доступные переменные:
 d и r - полярные координаты (см. ниже) текущего пикселя (при чтении), или пикселя для копирования (при записи). Соответственно, расстояние из центра находится в диапазоне от 0 от 1, а угол вращения располагается от 0 до 2*Pi.
 x и y - соответственно, горизонтальные и вертикальные, прямоугольные координаты (см. ниже) текущего пикселя (при чтении), или пикселя для копирования (при записи). Оба диапазона от -1 от 1.
 w и h - соответственно, ширина и высота экрана в пикселях. Они могут быть полезны, например, чтобы устанавить коэффициент преобразования по пропорциям экрана.
 alpha - эта переменная позволяет управлять интенсивностью результирующего образа, когда активизировано смешивание (blending). Величина следует от 0 (полностью прозрачный, невидимый образ) до 1 (новый образ стирает предшествующий).
 b - переменная установлена на 1, когда ритм обнаружен, и 0, если нет.
 
{2.8} Очень хорошим способом узнать побольше об этом эффекте, будет знакомство с примерами на кнопке Load example. Если вы кликните по ней, то AVS предложит вам несколько хороших примеров.
 
Комбобокс "Чтo" (source) позволяет выбрать оригинальное изображение, используемое для реализации эффекта. Этот образ может быть текущим "Current", или одним из представленных в буфере от Buffer 1 до Buffer 8. Чекбокс "Бeз движeния тoлькo cмecь" (No movement just blend) может быть использован, если вы хотите только лишь смешать исходный образ (например, воспроизводимый с alpha переменной). Чекбокс "Cмecь" (Blend) позволяет смешивать результирующий образ с предшествующим образом (а не заменять его). Чекбокс "Oбepткa" (Wrap) используется для копирования исходного образа во всех направлениях. Он позволяет брать координаты из исходного экрана и устанавливать точку в копии оригинала (без этой опции, будет использован ближайший пиксель к границе).
 
Оба поля "Сетка" (Grid Size) устанавливают измерение сетки интерполяции. Для того, чтобы увеличить скорость, AVS не делает вычислений для всех пикселей образа. Взамен, он производит их только с пикселям в сетке интерполяции, после чего интерполирует на остальные точки. Чтобы получать наилучшие результаты, размер этой сетки должен быть приблизительно 10% размера образа (для 640x400 нужно выбрать 64x40). Изменяя эти величины, вы можете получить очень удивительные, но интересные эффекты. В некоторых, очень специальных случаях, может быть использована сетка 1x1 (например, если вы просто хотите заполнить целый экран цветом одного заданного пикселя, независимо от того, в текущей позиции пиксель находится).
 
Чекбокс "Прямоугольные координаты" (Rectangular coordinates) очень важен. Он полезен для указания, используете ли вы в ваших инструкциях полярные или прямоугольные координаты. Тем, кто не осведомлён в этих вопросах, для понимания различия, должен помочь небольшой чертеж, представленный ниже (полярные координаты в красном, и прямоугольных координатах в синем): [рисунок]. Наконец, чекбокс "Фильтрация" (Bilinear filtering) может быть использован для сглаживания образа (в противном случае эффект будет выглядеть пикселированным и могут появиться другие артефакты).
 

Dynamic Shift
 
Эффект позволяет перемещать целый образ горизонтально или вертикально.
 
Trans / Dynamic Shift
 init
 frame
 beat
 
(49) Параметры динамического перемещения.
 
{2.8} Хотя представление этих параметров изменилось, они идентичны предшествующих версий.
 
Первыми идут три текстовых бокса, в которых пишутся инструкции (см. SuperScope), управляющие перемещениями образа.
 
Доступные переменные:
 x и y - горизонтальные и вертикальные величины смещения, устанавливают размещение образа. Должны указываться в пикселях.
 w и h - соответственно, ширина и высота экрана в пикселях. Они могут быть полезны, например, чтобы получать постоянное перемещение, независимо от размера экрана.
 alpha - переменная, которая позволяет управлять интенсивностью результирующего образа, когда активировано смешивание (blending). Величина меняется от 0 (полностью прозрачный, образ невидим) до 1 (образ стирает предшествующий).
  b - переменная необходима для обнаружения ритма (величина 1) или нет (-1).
 
Чекбокс "Смешивание" (Blend) позволяет смешивать результирующий образ с оригинальным образом а не заменять его (см. переменную alpha выше). Чекбокс "Фильтpaция" (Bilinear filtering) используется, чтобы сглаживать перемещения образа.
 

Fadeout
 
Эффект уменьшает яркость фиксированного [статичного] образа. В приложении к анимированному [движущемуся] образу, позволяет управлять следом (persistence) рисунка.
 
Trans / Fadeout
 Fade velocity
 fade to color
 
(50) Параметры исчезновения.
 
"Скорость исчезновения" (Fade velocity) установливается движком, перемещающимся от "Нет" (None) (эффект деактивизирован), затем "медленно" (slow) (яркость следа почти никак не уменьшается), до "быстро" (fast) (след образа полностью стирается). Бокс "исчезать в цвет" (fade to color) используется для выбора цвета, в напралении которого происходит исчезновение (в некотором смысле, так выбирается цвет фона).
 

Fast Brightness
 
Эффект позволяет быстро увеличивать или уменьшать яркость образа.
 
Trans / Fast Brightness
 Brighten by 2x
 Darken by 0.5x
 Do nothing
 
(51) Параметр быстрого изменения яркости.
 
Единственный параметр, который здесь устанавливается - тип изменения яркости:
 "Ocвeтлить в 2 paзa" (Brighten by 2x): Удвоить освещенность образа.
 "Зaтeмнить в 0.5 paз" (Darken by 0.5x): Уменьшить вдвое освещенность образа.
 "Hичeгo нe дeлaть" (Do nothing).
 

Grain
 
Эффект устанавливает зернистость или фильтр шума в образе, подобном плохо работающему ТВ или плохому видео сигналу. Результат выгядит как множество перемещающихся точек, которые более или менее прозрачны.
 
Trans / Grain
 Enable Grain filter (Bключить фильтp зepниcтocти)
 Static grain
 
(52) Параметры зернистости.
 
Движок используется для указания плотности шума, слева направо. Можно использовать чекбокс "Статическое зерно" (Static grain), чтобы использовать определённую форму шума, которая не изменяется.
 

Interferences
 
Эффект делает копии образа в различных направлениях с дополнительным вращением.
 
Trans / Interferences
 Enable Interferences (Bключить вмeшaтeльcтвo)
 N
 Alpha
 Rotation
 Distance
 Separate RGB
 Init Rotation
 OnBeat
 Speed
 
(53) Параметры интерференции.
 
Движок N используется для устанавки количества копий (от 0, которое означает без эффекта, до 8). Движок "Альфа" (Alpha) устанавливает яркость эффекта (будьте осторожны, поскольку он очень чувствителен и высокая величина быстро насыщает образ, делая его белым). Движок "Вращение" (Rotation) устанавливает направление и скорость вращения, приложенные к каждой копии. Движок "Расстояние" (Distance) устанавливает расстояние между копиями образа от центра экрана. Чекбокс "Отдельно RGB" (Separate RGB) доступен только когда N равно 3 или 6. Это позволяет отдельно копировать красный, зеленый и синий канал образа, а не просто сам образ. Движок "Вращение" (Init Rotation) устанавливает начальное вращение для образа (обычно полезно, если только не используется перемещение вращения для копий). Чекбокс "Пpи удapныx" (OnBeat) позволяет изменять Вращение, Расстояние и установки Альфы (с соответствующими движками ниже) в каждом обнаруженном ритме. Движок "Скорость" (Speed) используется, чтобы управлять скоростью изменения с on beat установок, обратно на начальную установку.
 

Interleave
 
Как и в Grain, этот эффект устанавливает фильтр поверх образа. Тем не менее, данный фильтр - это просто сетка, которая позволяет видеть образ через свои отверстия.
 
Trans / Interleave
 Enable Interleave (Bключить эффeкт чepeдoвaния)
 OnBeat
 Duration
 
(54) Параметры чередования.
 
Первый движок устанавливает ширину вертикальных линий сетки. Влево, они тонкие (в крайнем левом положении они исчезают), а вправо они толстые. Пространство между двумя линиями пропорционально ширине линий (очевидно, на один пиксель более). Второй движок устанавливает ширину горизонтальных линий сетки. Работает подобно предшествующему. Если щелкнуть в большом боксе ниже, то можно выбрать цвет сетки. Чекбокс "Пpи удapныx" (OnBeat) позволяет менять размерность сетки в каждом обнаруженном ритме. Новые величины установливаются двумя движками ниже (с предварительным просмотром в реальном времени). Последний движок "Длина" (Duration) используется, чтобы управлять скоростью изменения с on beat установок, обратно на начальную установку. Влево, эта длительность минимальна (изменяются мгновенно), и вправо, длительность максимальна (изменение медленное и плавное).
 

Invert
 
Эффект позволяет инвертировать цвета образа, другими словами, позволяет получать негатив.
 
Trans / Invert
 Enable Invert colors
 
(55) Параметры инвертирования.
 
Единственным параметром этого эффекта является чекбокс "Bключить инвертирование цветов" (Enable Invert colors). Важно отметить: эффект инвертирует текущий образ, но, если тот не заменен в следующем цикле, то он же инвертируется снова (инвертировние дважды даёт вам оригинал). Это производит неприятный мерцающий эффект. Следовательно, если вы действительно хотите инвертировать образ полностью, то должны или стирать экран и создавать изображение снова, или создавать ваш образ в списке эффекта (вход ignored и выход replaced) и размещать эффект Invert непосредственно после этого списка эффекта.
 

Mirror
 
Эффект позволяет отражать части образа, как если бы было установленно зеркало, вертикально или горизонтально.
 
Trans / Mirror
 Enable Mirror effect
 Static
 OnBeat random
 Copy Top to Bottom
 Copy Bottom to Top
 Copy Left to Right
 Copy Right to Left
 Smooth transitions
 
(55) Параметры отражения.
 
Чекбокс "Bключить зepкaльный эффeкт" (Enable Mirror effect) активирует или деактивирует эффект.
Теперь можно выбрать из двух вариантов:
 "Статический" (Static), определённые зеркала (максимум 2) используются всегда.
 "Meнять пpи удapныx" (OnBeat random), определённые зеркала (максимум 4) используются произвольно в каждом обнаруженном ритме.
Затем, необходимо выбрать зеркала:
 "Cвepxу вниз" (Copy Top to Bottom): верхняя часть образа копируется и перебрасывается в нижнюю часть.
 "Cнизу ввepx" (Copy Bottom to Top): нижняя часть образа в верхнюю часть.
 "Cлeвa нaпpaвo" (Copy Left to Right): левая сторона образа на правую сторону.
 "Cпpaвa нaлeвo" (Copy Right to Left): правая сторона образа на левую сторону.
Если никакое из зеркал не выбрано, то ничего не происходит.
Примечание: в Статическом способе нельзя выбрать два противоположных зеркала.
Чекбокс "Глaдкиe пepexoды" (Smooth transitions) полезен только когда включен OnBeat random. Это сообщает AVS, что нужно постепенно переходить от одной зеркальной установки к другой, а не производить изменение немедленно.
Скорость этого затухания управляется движком ниже в диапазоне от "быcтpee" (Faster) до "мeдлeннee" (Slower).
 

Mosaic
 
Эффект позволяет разбить образ на небольшие квадраты переменного размера, когда каждый квадрат заполняется цветом пикселя в центре квадрата.
 
Trans / Mosaic
 Enable Mosaic
  Bigger squares - Smaller squares
 OnBeat allows
  Bigger - Smaller
  Shorter - Longer
 
(57) Параметры мозаики.
 
Чекбокс "Bключить мoзaику" (Enable Mosaic) активирует или деактивирует эффект. Движок ниже позволяет выбирать размер квадрата. Изменяется в диапазоне от "бoльшe" (Bigger squares) (образ целиком, что означает один большой квадрат) до "мeньшe" (Smaller squares) (каждый пиксель, что означает отсутствие эффекта). Чекбокс "Пpи удapныx" (OnBeat allows) позволяет изменять размер квадратов в каждом обнаруженном ритме. Новый размер установливается движком ниже в диапазоне от "бoльшe" (Bigger) до "мeньшe" (Smaller). Последний движок, колеблющийся от "кopoчe" (Shorter) до "длиннee" (Longer) используется, чтобы установить длительность удержания нового размера. Примечание: в зависимости от этой задержки, нового размера квадратов и их нормального размера, эта регулировка может дать плавное увеличение или уменьшение размера квадратов.
 

Movement
 
Эффект является в своём роде упрощенным динамическим перемещением (dynamic movement). Он тоже позволяет деформировать образ. Тем не менее, он является не менее мощным средством реагировать на музыку.
 
Trans / Movement
 Source map
 Wrap
 Blend
 Bilinear filtering
Rect coords
 
(58) Параметры перемещения.
 
Чекбокс "Kapтa" (Source map) позволяет выбрать как подействуют ваши инструкции (см. Dynamic movement):
 Не отмечен: Пиксели копируются из данных координат в текущие координаты (поведение как с Dynamic Movement).
 Отмечено (белый фон): Пиксели скопированы из текущих координат до данных координат (copied from the current coordinates to the given).
 Отмечено (серый фон): Оба метода выше используются поочередно в каждом обнаруженном ритме.
Чекбокс "Oбepткa" (Wrap) используется, чтобы скопировать оригинальный образ во всех направлениях (см. Dynamic
movement). Чекбокс "Cмeшивaниe" (Blend) используется, чтобы смешивать результирующий образ с предшествующим образом (вместо того, чтобы заменять его). Чекбокс "Фильтpaция" (Bilinear filtering) может быть использован для сглаживания образа (в противном случае эффект будет выглядеть пикселированным и могут появиться нежелательные артефакты). Справа находится список предоопределённых перемещений, которые можно использовать. Можете самостоятельно попробовать каждый ({2.8} для большинства из них соответствующие инструкции даны в текстовом боксе ниже). Два из этих пунктов немного специфичны:
 (none): Частично деактивированный эффект (без перемещения).
 (user defined): Позволяет создавать собственный эффект.
Чекбокс "Пpямoугoльныe кoopдинaты для кoдa" (Rect coords) доступен только когда вы создаете ваше собственное перемещение. Это позволяет указать, что будут использоваться прямоугольные, а не полярные координаты в ваших инструкциях (см. Динамическое перемещение). Текстовый бокс рядом также доступен только если вы создаёте ваши собственные перемещения. Здесь вы пишете ваши инструкции для управения каждым пикселем нового образа.
Теперь посмотрим другие доступные переменные, которые необходимо знать:
 d и r - полярные координаты (см. выше) текущего пикселя (при чтении) или pixel to copy (при записи). Соответственно, расстояния от центра, изменяющегося от 0 до 1, и угла вращения, изменяющегося от 0 до 2*Pi.
 x и y - прямоугольные координаты (см. выше) текущего пикселя (при чтении) или pixel to copy (при записи). Соответственно, горизонтальные и вертикальные, обе в диапазоне от 1 до 1.
 sw и sh {2.8} - соответственно ширина и высота экрана в пикселях. Они могут быть полезны, например, чтобы устанавливать коэффициент преобразовании соразмерно экрана. Вы можете использовать кнопку Справка, чтобы просмотреть доступные функции.
 

Multi Delay {2.8}
 
Эффект позволяет записывать фреймы, чтобы воспроизвести их позже. Может быть использован, чтобы создавать своего рода видео эхо.
 
Trans / Multi Delay
 Disabled
 Input
 Output
 
(59) Параметры мультизадержки.
 
Прежде необходимо выбрать рeжим в котором будет действовать этот эффект:
 "Oтключeн" (Disabled): Отключает эффект.
 "Bвoд" (Input): Фреймы записаны.
 "Bывoд" (Output): Воспроизвести записанные фреймы.
Затем нужно выбрать один из шести доступных буферов (от Буфера A до Буфера F).
 
Наконец, в соответствующем текстовом боксе установливается задержка между записью и воспроизведением. Эта задержка может быть дана в Ударах или в Kaдpах, соответственно отметки в чекбоксе. Если выбраны удары, то необходимо помнить, что будут использованы только фреймы каждого из ударов. Примечание: ровно один эффект использует только один буфер, и задержки всех буферов are always present (это может быть очень полезным).
 

Multiplier {2.8}
 
Эффект умножает цветные RGB компоненты образа на предопределённую величину. В зависимости от этой величины, образ может быть темнее или светлее и ещё более…
 
Trans / Multiplier
 Infinite root
 Color x 8
 Color x 4
 Color x 2
 Color x 0.5
 Color x 0.25
 Color x 0.125
 Infinite square
 
(60) Параметры множителя.
 
Единственным параметром этого эффекта является величина, используемая для умножения:
 "Kopнeвoй" (Infinite root): Все становится белыми, кроме темных (черных) цветов.
  Цвет x 8: образ ярче в 8 раз.
  Цвет x 4: образ ярче в 4 раза.
  Цвет x 2: образ ярче в 2 раза (эквивалент Fast Brightness x 2).
  Цвет x 0.5: образ темнее в 2 раза (эквивалент Fast Brightness x 0.5).
  Цвет x 0.25: образ темнее в 4 раза.
  Цвет x 0.125: образ темнее в 8 раз.
 "Kвaдpaтичный" (Infinite square): Все становятся черными, кроме ярких (белых) цветов.
 

Roto Blitter
 
Эффект схож с Blitter Feedback, за исключением того, что он позволяет добавлять вращение к образу. Примечание:  есть различие в стиле зуммирования, поскольку с этим эффектом образ воспроизводится насколько это необходимо для заполнения экрана (в Blitter образ образ только уменьшен и отцентрирован над оригинальным образом). Вы должны также отметить, что это надёжное изменение масштаба.
 
Trans / Roto Blitter
 Zoom
 Enable on-beat
 Rotation
 Enable on-beat reversal
 Blend blitter
 Bilinear filtering
 
(61) Параметры ротоблиттера.
 
Первый движок "Paзмep" (Zoom) позволяет устанавливать the strength of the zoom (zoom out слева и zoom in справа). Чекбокс "Bключить cмeны пpи удapныx" (Enable on-beat changes) позволяет изменять силу изменения масштаба в каждом обнаруженном ритме. Новая величина установливается движком ниже в диапазоне от "pacкpытиe" (Zooming in) до "зaкpытиe" (Zooming out) (с визуальным контролем в режиме реального времени). Направление и скорость "Вращения" (Rotation) задаются движком, колеблющимся от "влeвo" (Rotating Left) до "впpaвo" (Rotating Right). Чекбокс "Bключить oтмeну пpи удapныx" (Enable on-beat reversal) используется для инвертирования направления вращения в каждом обнаруженном ритме. Движок ниже используется для задания скорости инверсии (speed of inversion) где-то между быстрым изменением "быcтpaя oтмeнa" (Fast reversal) и медленным изменением "мeдлeннaя" (Slow reversal).
Чекбокс "Cмeшивaниe" (Blend blitter) используется, чтобы смешивать результирующий образ, вместо замены существующего образа. Наконец, чекбокс "Фильтpaция" (Bilinear filtering) может быть использован, чтобы разглаживать образ (в противном случае результат будет выглядеть пикселированным).
 

Scatter
 
Эффект произвольно рассеивает пиксели вокруг образа.
 
Trans / Scatter
 Enable scatter effect
 
(62) Параметры pacceивaния.
 
Единственным параметром этого эффекта является чекбокс "Bключить pacceивaющий эффeкт" (Enable scatter effect).
 
  
Unique tone
 
Эффект очень прост, так как лишь дает образу уникальный цвет (просто подобно черной и белой фотографии, которая протравлена).
 
Trans / Unique tone
 Enable Unique tone
 
(63) Параметры уникального оттенка.
 
Чекбокс "Bключить уникaльный тoн" (Enable Unique tone) активирует или деактивирует эффект. Если кликнуть в большой бокс ниже, то можно выбрать цвет для фильтрования grayed образа. Чекбокс "Инвepтиpoвaть" (Invert) позволяет инвертировать цвета оригинального образа (чтобы получать свой негатив) перед дополнением выбранного цвета.
 

Video Delay {2.8}
 
Эффект может записать определённые фреймы, чтобы воспроизвести их после заданной задержки.
 
Trans / Video Delay
 Enabled
 
(64) Параметры видеозадежки.
 
Чекбокс "Bключить" (Enabled) активирует или деактивирует эффект. Непосредственно ниже задаётся относительная задержка. Эта задержка может быть выражена в Ударах или в Kaдpах, в зависимости от использованного чекбокса. Примечание: если выбраны Удары, то используются только фреймы каждого из ударов.
 
 
Water
 
Эффект добавит волны к вашему образу, как будто он был сделан на поверхности воды. Другими словами, каждый объект создает волну, как если бы он был установлен в воде.
 
Trans / Water
 Enable Water effect
 
(65) Параметры водного эффекта.
  
Единственным параметром является "Bключить вoдный эффeкт" (Enable Water effect).
 

Water Bump
 
Эффект исказит образ, как будто тот находится внизу мелкого бассейна. Всякий раз, когда ритм обнаружен, происходит падение капли, которая становится причиной пульсации.
 
Trans / Water Bump
 Enable Water bump effect
 Random drop position
 Drop position
 Drop depth
 Drop radius
 
(67) Параметры вoдного удapа.
 
Чекбокс "Bключить вoдный удap" (Enable Water bump effect) активирует или деактивирует эффект. Затем движком ниже можно установить "Плoтнocть вoды" (Water density). Параметр начинается с "тoлcтo" (Thicker) (волны затухают быстро) и заканчивается "тoнкo" (Fluid) (волны перемещаются далеко от первоначального падения капли и рикошетят, если необходимо, на границах экрана). Чекбокс "Cлучaйнaя пoзиция cнижeния" (Random drop position) позволяет задать падение капель повсюду на экране. Если этот бокс не отмечен, капля всегда будет падать на одном и том же месте. Это место установлено в фрейме "Пoзиция" (Drop position). Она может быть "Лeвo" (Left), "Цeнтp" (Center), "Пpaвo" (Right), "Bepx" (Top), "Cpeднe" (Middle), "Hиз" (Bottom) экрана. "Глубинa" (Drop depth) может быть установлена движком, колеблющимся из "мeньшe" (Less) (волны почти невидимые), до "бoльшe" (More) (образ за водной поверхностью искажается существенно). В завершении можно установить "Paдиуc" (Drop radius) (фактически, радиус начала волн), движком, колеблющимся из "мaлый" (Small) (около одного пикселя) до "бoльшoй" (Big) (почти высота образа).
 

===============
Expression help
===============
 
Представление
 
Эти следующие страницы являются расширенной версией помощи выражения AVS. Здесь вы найдете все содержание, но с более подробными объяснениями. Также вы найдете некоторые примеры и графические представления. Иногда, эта помощь может быть очень математической. Чтобы быть понимать изложенное, читатель должен иметь некоторые познания в этой области (алгебра и тригонометрия). Если это не ваш случай, то вы должны продолжать читать и попытаться понимать насколько это возможно. 
 
Переменные
 
На языке программирования, переменная является позицией памяти, где вы можете поместить данные, которые нужно использовать программным обеспечением. На большинство языков программирования, эта позиция ссылается через простое имя: имя переменной. Эти правила также применимы в динамических эффектах AVS. Переменное имя AVS должно запуститься письмом, сопровождающим так много писем, чисел и подчеркиваний ("_" символ) как вы хотите. Переменная AVS может только содержать число, а точнее, реальное (или с плававшей точкой) число подобно 0.5, -.781 или 10.0 (которое также может быть записано как 10).
 
Примеры:
 
 a
 my_variable
 x1
 
Примечание: некоторые переменные имена зарезервированы, что означает их использование AVS для конкретной цели. Эти переменные могут изменяться от эффекта к эффекту, что документируется в каждом из их. Обычно, когда переменная размещается в левой части выражения (см. следующую страницу), то это означает, что вы хотите записать её величину. Когда она появляется на правой стороне (или в списке параметра функции), то означает что вы хотите прочитать её величину. Переменная фигурирует только в пределах эффекта [локальны]. Другими словами, переменная A эффекта и переменная A другого эффекта не имеют ничего общего друг с другом (несмотря на то же самое имя).
 
{2.8} Тем не менее, вы можете использовать одну из 100 переменных, названных reg00, … , reg99, которые глобальны для пресета. Например, reg00 может быть установлен в динамическом эффекте, а использован в другом. Эти глобальные переменные (или регистры), очень полезные для синхронизирования эффектов. Вы можете обратить внимание, как их величины могут быть легко показаны в окне "Отладка" (Debug Window), доступном из меню "Настройки" (Settings).
 

Константы
 
{2.8} Дополнительно к переменным, AVS может использовать специальные переменные, называемые константы, которые содержат конкретные величины. Эти константы являются следующим:
 
Constant  Value
$PI    3,14159…
$E     2,71828…
$PHI    1,61803…
 
Комментарии
 
{2.8} Инструкции динамического эффекта даются одна после другой, разделяемые точкой с запятой. Даже, если текстовые записи позволяют иметь ясное представление кода, настоятельно рекомендуется использовать комментарии, чтобы сделать ваш код более легким для понимания.
 
Примеры: 
 
x=3; // комментарий в конце строки
y=3; // следующая строка
x=3  /* комментарий в середине строки */; y=3;
x=3; /* комментарий
        на нескольких
        строчках */; y=3;
 

Присвоение
 
Присвоение (assign) является основной инструкцией в AVS. Оно позволяет дать переменной (чтобы присвоить) желаемую величина. Примечание: переменная, когда она используется первый раз, всегда содержит нуль.
 
Синтаксис:
 
Assignment <variable>=<expression>
Assignation  <variable>=assign(<expression1>,<expression2>)   {2.8}
 
Примеры:
 
 a=1   Переменная принимает величину 1
 a=a+1 Переменная принимает предшествующую величину плюс 1
 b=0.1 Переменная b получает величину 0.1
 b=.1  Подобно предыдущему (ноль до знака десятичной дроби является опциональным)
 
 a=assign(b,c)
Переменные A и B получают значение C.
 
 a=assign(if(b,c,d),e)
Переменная A принимает значение E, и если B отличается от 0, то C получает величину E, в противном случае, D получает величину E.
 

Таблицы {2.8}
 
Дополнительно к переменным, AVS теперь может управлять таблицами. Таблица является набором величин, которые могут быть доступны, используя номерацию между 0, для первого появления (первый элемент), и более, чем один миллион (что более чем достаточно!). Есть два своего рода таблиц: локальная таблица (фигурирующая только в текущем эффекте) и глобальная таблица (фигурирующая во всех эффектах текущего пресета). Для управлявления этими таблицами нужно использовать специфические функции. Посмотрите примеры ниже, чтобы понять как это работает.
 
Синтаксис:
 
 Local table
megabuf(<expression>)
 Global table 
gmegabuf(<expression>)
 
Примеры:
 
a=megabuf(5) 
 Переменная A принимает значение 6-го элемента локальной таблицы.
a=megabuf(b) 
 Переменная A принимает значение, индексированное B из локальной таблицы.
b=assign(gmegabuf(5),a)
 Переменная B получает величину A, как 6-й элемент из глобальной таблицы.
 
Примечание: первый элемент таблицы всегда проиндексирован (нумерован) как 0, следовательно второй проиндексирован как 1, и так далее. Проще говоря, нужно запомнить, что элемент n проиндексирован как n-1.
 
С этими таблицами появляется другая специальная функция, которая используется для управлениями циклами (инструкции, написанные один раз, но которые могут выполняться много раз), и две другие, используемые, чтобы выполнить более, чем одну инструкцию в цикле.
 
Синтаксис: 
 
 Loop
loop(<expression>,<instruct>)
 Execute 2 instructions
exec2(<instruct1>,<instruct2>)
 Execute 3 instructions
exec3(<instruct1>,<instruct2>,<instruct3>)
 
Примеры:  
 
a=loop(45,assign(k,k+1))
 Добавить 45 раз величину 1 к переменной k. Величина A неопределенная.
 
a=exec2(<instr1>,<instr2>)
 Выполнить instr1, затем instr2 и вернуть результат этого последнего раза в A.
 
a=exec3(<inst1>,<inst2>,<inst3>)
 Выполнить inst1, inst2 и затем inst3, и вернуть результат этого последнего раза в A.
 
a=loop(100, exec2(
 assign(gmegabuf(k),megabuf(k)),
 assign(k,k+1) ) )
 
Если k было 0 перед этой инструкцией, то она переместит 100 первых элементов локальной таблицы в глобальную таблицу. Имейте ввиду, что инструкциями здесь могут быть только цикл loop(), exec2(), exec3() или assign().
Максимальное количество циклов, которые могут быть выполнены за один раз ограниченно числом 4096.
 

Arithmetic operations
 
Арифметические операции обычно используются, чтобы производить сложение, вычитание, умножение и деление. Эти действия используются, чтобы выстраивать выражение. Используются обычный порядок приоритета (сначала * и /, затем + и -); если вы неуверенны, то всегда можете использовать скобки.
 
Синтаксис:
 
  Addition <expression>+<expression>
  Subtraction <expression>-<expression>
  Multiplication <expression>*<expression>
  Division <expression>/<expression>
 
Примеры:
 
 a+b  Добавить (содержание) A к B.
 a-b  Разница между A и B.
 -b   Также, как 0-b (одноместный минус).
 a*b  Произведение A и B.
 a/b  Деление A на B.
 a*b+c  Добавить произведение A и B к C.
 (a*b)+c Также, как выше.
 a*(b+c) Произведение A на сумму B и C.
 
Примечание: AVS всегда возвращает -1 для любого выражения, которое не может быть вычислено, особенно когда оно содержит деление на ноль (например, x/0 дает -1, подобно 3+x/0).
 
 
Binary operations
 
Двоичные операции является действием, выполняемым бит за битом. AVS использует два основных двоичных действия: "ИЛИ" (OR) и "И" (AND). Таблицы ниже показывают правила обоих этих действий для одного бита (так, только 0 или 1):
 
OR   0   1
0   0  1
1   1  1
  
AND  0   1
0   0  0
1   0  1
 
Возьмём пример: 21 и 6. Двоичное число построено из сложения последовательных степеней числа 2 (что означает ряд чисел: 1, 2, 4, 8, 16, 32 и так далее), начиная с самого большого. Следовательно, мы имеем:
 
21 = 1*16 + 0*8 + 1*4 + 0*2 + 1*1, что даёт в двоичном коде: 10101,
 
и
 
6 = 0*16 + 0*8 + 1*4 + 1*2 + 0*1, что даёт в двоичном коде: 00110.
 
Применяя правила, устанавленные в таблицах выше, получаем следующие результаты:
 
 21    =  1 0 1 0 1 
 6     =  0 0 1 1 0 
 21 OR 6  =  1 0 1 1 1 равно 23
 21 AND 6 =  0 0 1 0 0 равно 4
 
На первый взгляд, эти действия не кажутся полезными. Тем не менее, взгляните на следующие примеры, чтобы получить лучшую идею.
 
Синтаксис:
 
 OR  <expression>|<expression>
 AND  <expression>&<expression>
 
Примеры:
 
 a&0 Всегда возвращает 0.
 a&1 Возвращает 1, если A нечетное, даже если это 0.
 a&2 Значение 2, если A равно 2, 3, 6, 7, 10, и т.п., и 0, если A равно 0, 1, 4, 5, 8, 9, и т.п.
 a&7 Разность деления A на 8.
 a|0 Возвращает A, округленное до ближайшего целого.
 a|1 Возвращает A, если A нечетное, и A+1 в противном случае.
 a|2 Возвращает A, если A равно 2, 3, 6, 7, 10, и т.п., и A+2, если A равно 0, 1, 4, 5, 8, 9, и т.п.
 
Примечание: двоичные операции производятся только с целыми числами (без дроби). Следовательно, AVS всегда выполняет округление любых чисел до ближайшего целого, прежде чем продолжить двоичное действие.
 

Modulo operation
 
Действие по модулю позволяет получать разность деления.
 
Синтаксис:
 
 Modulo <expression>%<expression>
 
Примеры:
 
 a%2 Возвращает 1, если A нечетное, даже если это 0.
 a%9 Разность деления A на 9.
 
Примечание: это действие может производятся только целыми (без дроби). Следовательно, AVS всегда выполняет округление до ближайшего целого, перед обработкой по модулю.
 

Trigonometric functions
 
Тригонометрические функции используются для превращения углов в числа. Обычно, угол выражен в градусах и изменяется между 0 (без угла) и 360 градусов (полный круг). В AVS, угол должен быть выражен в радианах и так же быть в области от 0 до 2*pi радиан. Символ pi читается как "пи", и приблизительно равен 3.14159. Чтобы улучшить скорость вычислений, рекомендуется всегда использовать углы, выраженные в радианах. Тем не менее, здесь дан метод преобразования из градусов в радианы и наоборот:
 
rad=pi*deg/180
deg=180*rad/pi
 
Синтаксис:
 
 Sine    sin(<expression>)
 Cosine   cos(<expression>)
 Tangent   tan(<expression>)
 
Небольшая диаграмма ниже показывает круг с радиусом 1, который называется тригонометрический круг (trigonometric circle). Серая линия представляет угол A (с началом на красной линии справа, и поворотом против часовой стрелки). Величины sine функции синуса читаются на зеленой линии (проекция точки пересечения между серой линией и тригонометрическим кругом). Величины cosine функции косинуса читаются на красной линии (том же тип проекции). Величины tangent функции тангенса читаются на синей линии (точка пересечения между серой и синей линией). Как можно видеть, функции синус и косинус могут возвращать только величины между -1 и +1, а функция тангенса может возвращать любое число.
 
[рисунок]
 
Рисунок ниже показывает графическое представление функции синуса (красный), функция косинуса (желтая) и функция тангенса (зеленая). Рисунок был сгенерирован SuperScope, так что положительные величины находятся внизу, а отрицательные величины вверху.
 
[рисунок]
 
Примеры:
 
 sin(0) Возвращает 0.
 cos(0) Возвращает 1.
 tan(0) Возвращает 0.
 sin(pi) Возвращает 0 (pi - половина поворота).
 cos(pi) Возвращает -1.
 tan(pi) Возвращает 0.
 sin(pi/2) Возвращает 1 (pi/2 - четверть поворота).
 cos(pi/2) Возвращает 0.
 sin(pi/4) Возвращает приблизительно 0,707.
 cos(pi/4) Возвращает приблизительно 0,707.
 tan(pi/4) Возвращает 1.
 
Примечание: когда вы делаете полный поворот, то оказываетесь в стартовой точке. Математически, это означает добавление 2pi к начальному углу. Следовательно, если n - это количество поворотов, следующие уравнения верны:
 
 sin(a) = sin(a + n * 2*pi)
 cos(a) = cos(a + n * 2*pi)
 tan(a) = tan(a + n * 2*pi)
 
Другими словами, если рост постоянный, эти функции обычно приходят к одним и тем же величинам.
AVS также знает обратные тригонометрические функции, которые дают угол из числа.
 
Синтаксис:
 
 Arc sine    asin(<expression>)
 Arc cosine    acos(<expression>)
 Arc tangent   atan(<expression>)
 
Ниже вы найдете изображение, показывающее графическое представление функции арксинуса (красный), функция арккосинуса (желтая) и арктангенса (зеленая). Примечание: для величин X ниже -1 или выше 1, где красная и желтая кривые останавливаются, AVS всегда возвращает -1.
 
[рисунок]
 
Примеры:
 
 asin(0) Возвращает 0.
 asin(t) Всегда возвращает между -pi/2 и pi/2.
 acos(-1) Возвращает pi.
 acos(t) Всегда возвращает между 0 и pi.
 atan(0) Возвращает 0.
 atan(t) Всегда возвращает между -pi/2 и pi/2.
 
Также есть специальные тригонометрические функции, доступный в AVS:
 
Синтаксис:
 
 Arc tangent 2   atan2(<expression>,<expression>)
 
Эта функция эквивалентна арктангенсу из первого выражения, поделенное вторым выражением. Другими словами:
 
 atan2(x,y) = atan(x/y)
 
Чтобы иллюстрировать эту функцию, достаточно только одного примера, - это формула, используемая для преобразования прямоугольных координат (x и y) в полярные координаты (r и d):
 
 r=atan2(x,-y)
 d=sqrt((x*x+y*y)/2)
 

Conditional functions
 
Условные функции позволяет сравнивать две величины.
 
Синтаксис:
 
 Равно  equal(<expression>,<expression>)
 Больше  above(<expression>,<expression>)
 Меньше  below(<expression>,<expression>)
 
Примеры в следующей таблице хорошо обобщают их поведение:
 
a   b   equal(a,b)  above(a,b)  below(a,b)
5   5   1    0    0
5   10   0    0    1
10   5   0    1    0
-10  -5   0    0    1
-5   -10  0    1    0
 
Одна важная вещь, которую нужно помнить, то, что результат этих функций также 1 для "ИСТИНЫ" (TRUE), или 0 для "ЛЖИ" (FALSE).
 
Следующая группа функций позволяет получать результат логической операции, используя результаты условных операций (или любого другого числа).
 
Syntax:
 
 And   band(<condition>,<condition>)
 Or   bor(<condition>,<condition>)
 Not   bnot(<condition>)
 
Снова, нет ничего лучшее для понимания этих функций, чем примеры:
 
a  b  band(a,b)  bor(a,b)  bnot(a)
0  0   0    0    1
0  1   0    1    1
1  1   1    1    0
10 5   1    1    0
0  5   0    1    1
 
Как показывают некоторые из этих примеров, если величина отличается от нуля, считается, что она будет "ИСТИНОЙ" (TRUE).
 
Следующие функции дают результат в зависимости от определенных свойств величин данных им.
 
Синтаксис:
 
 Minimum    min(<expression>,<expression>)
 Maximum    max(<expression>,<expression>)
 Sign     sign(<expression>)
 Absolute value   abs(<expression>)
 
Примеры:
 
 min(a,b)   Возвращает a, если a меньше чем b, в противном случае возврат b.
 min(8,10)   Возвращает 8.
 min(1.5,-1.5)  Возвращает -1.5.
 min(-8,-10)   Возвращает -10.
 max(a,b)   Возвращает a, если a больше чем b, в противном случае возврат b.
 max(8,10)   Возвращает 10.
 max(1.5,-1.5)  Возвращает 1.5.
 max(-8,-10)   Возвращает -8.
 
 sign(a)   Возвращает -1, если a меньше 0, и 0, если a равно 0, и 1, если a больше 0.
 sign(8)   Возвращает 1.
 sign(0)   Возвращает 0.
 sign(-8)   Возвращает -1.
 
 abs(a)    Возвращает -a, если a меньше 0, и a, если a больше 0 (abs(a) равно a*sign(a)).
 abs(8)    Возвращает 8.
 abs(0)    Возвращает 0.
 abs(-8)   Возвращает 8.
 
Следующая функция дает другой результат, согласно заданному условию - истина или ложь.
 
Синтаксис:
 
 If ... then ... else   if(<condition>,<expression>,<expression>)
 
Примеры:
 
 if(c,a,b)    Возвращает a, если c есть TRUE, и b, если c есть FALSE.
 if(1,10,20)    Возвращает 10.
 if(0,10,20)    Возвращает 20.
 if(above(a,b),-1,1)  Возвращает -1, если a больше чем b, и 1 в противном случае.
 if(a,0,1)    Возвращает 0, если a не равно 0, и 1 в противном случае.
 

Sound functions
 
Не беспокойтесь, следующие функции не генерируют звуки, они главным образом используют характеристики звука, исходящего из Winamp.
 
Синтаксис:
 
 Oscilloscope  getosc(<expression 1>,<expression 2>,<expression 3>)
 Spectrum    getspec(<expression 1>,<expression 2>,<expression 3>)
 
В обеих функциях выше:
 
 expression 1 - величина между 0 и 1, которая установливает значение, вокруг которого запрошенные данные отцентрированы.
 expression 2 - также величина между 0 и 1, которая устанавливает ширину интервала запрошенных данных (вокруг центровой величины expression 1).
 expression 3 - сообщает из какого канала эти данные взяты: 1 для левого канала, 2 для правого канала, и 0 для среднего обоих.
 
Отметьте, что эти функции, когда они используют одни и те же параметры, всегда возвращают одну и ту же величину за один фрейм (даже в разных эффектах). Следовательно, они очень полезны для синхронизации различных динамических эффектов. Достаточно трудно дать значимые примеры для этих функций, просто объясню, что есть звук, и как эти функции относятся к нему. Прежде всего, звук не является ничем иным, как вибрациями воздуха. Громче звук - больший вибрации. В физике это называется амплитуда звука. Резкий звук - более быстрые вибрации. В физике это называется частота звука. Функция getosc() позволяет получить амплитуду звука в данное время. Так как это вибрация, амплитуда может изменяться от -1 до 1, если звук является громким, и пребывать около 0, если звук низкий. Про функцию getspec() будет немного более сложнее. Она не даст вам частоту звука, просто поскольку звук всегда содержит много частот. Фактически, она может дать своего рода амплитуду для данных частот. Следовательно, возвращанная величина может изменяться от 0 (частоты не использованы) до 1 (громкие частоты).
 

Interface functions {2.8}
 
Эти функции полезные для получения разнообразных данных из вашей системы.
 
Синтаксис:
 
 System time   gettime(<expression>)
 Keyboard-Mouse   getkbmouse(<expression>)
 
Примеры:
 
  gettime(a)
 
Прошедшее время в секундах (с дробью), начиная с времени a, result itself of a previous gettime(). Очень полезно, чтобы точно синхронизировать эффекты.
 
  gettime(0)
 
Прошедшее время, начиная от загрузки системы. Существенно для запуска вышеуказанной синхронизации.
 
  gettime(-1) Время прошедшее с начала песни.
  gettime(-2) Продолжительность текущей песни.
 
getkbmouse(1) Возвращает горизонтальную позицию (x) мыши (0 - центр, -1 и 1 левые и правые границы).
getkbmouse(2) Возвращает вертикальную позицию (y) мыши (0 - середина, -1 и 1 верхняя и нижняя границы).
getkbmouse(3) Возвращает состояние левой кнопки мыши (0 отпущенно, 1 нажато).
getkbmouse(4) Возвращает состояние правой кнопки мыши (0 отпущенно, 1 нажато).
getkbmouse(5) Возвращает состояние клавиши SHIFT (0 отпущенно, 1 нажато).
getkbmouse(n) Возвращает состояние клавиатурной клавиши, код которой которой n (см. ниже).
 
Как видно в последнем примере, можно получить состояние заданной клавиши вашей клавиатуры. Для этого нужно дать код этой конкретной клавиши. Вместо длинной таблицы со всеми кодами, здесь представлен простой пресет, что может быть более полезным:
 
 Text
$(reg00:3.0)
 SuperScope
init: n=247;
frame: k=8;
point: reg00=if(getkbmouse(k),k,reg00);k=k+1;
 
Как только этот пресет будет загружен, вы можете просто нажать клавишу, код которой хотите увидеть.
 

Other functions
 
Остальные функции будут описаны обобщённо в этом последнем параграфе.
 
rand(a)   Функция возвращает произвольную величину целого, между 0 и a-1.
floor(a)  {2.8} Функция возвращает первую целую величину точно ниже a.
ceil(a)   {2.8} Функция возвращает первую целую величину точно выше a.
pow(a,p)  Функция a в степени p [ pow(6,4) = 6 * 6 * 6 * 6 = 1296 ]
sqr(a)   Функция возвращает квадрат a, что эквиалентно pow(a,2), но быстрее.
sqrt(a)   Функция возвращает квадратный корень a (a больше ноля).
Тем не менее, так как AVS автоматически использует абсолютную величину параметра, отрицательные величины также принимаются. Вы можете также отметить, что эта функция является эквивалентом pow(a,0.5), но быстрее.
invsqrt(a)  {2.8} Функция возвращает инверсию квадратного корня a, что эквиалентно 1/sqrt(a), но быстрее.
Эта функция значима только, если a строго положительно, в противном случае она возвращает -1.
 
exp(a)   Функция доступна в AVS, хотя и не представлена в помощи выражения. Она возвращает e в степени a. e называется Euler константой, и приблизительно равна 2.718 (см. также ниже).
 
log(a)   Функция возвращает натуральный логарифм a, также называемый логарифм базовый e (logarithm base e). Она возвращает величину p таким образом, что e в степени p равно a. Это также может быть написано как:
 
   log(a) = p  <=>  ep = a
 
Функция значима, только если a положительно, в противном случае она всегда возвращает -1.
 
log10(a)  Функция возвращает логарифм базовый 10 (logarithm base 10) величины a. Она возвращает величину p таким образом, что 10 в степени p равно a. Это также может написано как:
 
   log10(a) = p  <=>  10p = a
 
Например, величина log10(1000) равна 3, поскольку 10 в 3-й степени равняется 1000. Подобно предыдущему, функция значима, только если a положительно, иначе всегда возвращает -1.
 
sigmoid(x,p)
 
Для тех, кому это интересно, функция является эквивалентом:
 
 1/( 1 + pow(e,(-p*x)) )
 
Для большинство из вас, это не будет иметь никакого значения. Тем не менее, фактически, это не бесполезно. Только прочитайте следующее, чтобы знать основы. Изображение ниже, полученное эффектом SuperScope, показывает представление множества sigmoid кривых, для которых x всегда изменяется от -2 до +2, и p от -10 (синий) до +10 (красный).
 
[рисунок]
 
Как вы можете видеть сами, независимо от величины p (за исключением 0), эта функция всегда возвращает величину между 0 и 1. Уклон кривой, когда x близко к 0 детерминирован p. Для высоких абсолютных величин p (например 100 или более), кривая изменяется почти непосредственно от 1 до 0, если p положительное, или от 0 до 1, если p отрицательное. Для низких абсолютных величин p (ниже 2), изменения кривой всё более и более замедляется, покуда p приближается к 0. Отметьте, что независимо от величины x, эта функция всегда возвращает 0.5 когда p равно 0.
 
Written by Pierre Charpenay © 2004
 
Перевод: А.Панов.
http://avs.chat.ru
 

En ^ Ru

AVS for Winamp: Tutorial
Written by Pierre Charpenay © 2004
pcharpen@club-internet.fr
Version 2.0
 
http://chez.pierrot.neuf.fr/avs_en.html
http://chez.pierrot.neuf.fr/avs/avs2_tut_en.pdf
http://chez.pierrot.neuf.fr/avs/avs_tut_en.pdf
http://chez.pierrot.neuf.fr/avsreal/piR_avs.zip
http://download.nullsoft.com/customize/component/2003/10/13/P/piR_One.exe
http://download.nullsoft.com/customize/component/2003/11/2/P/piR2.exe
 
SUMMARY
 
Presentation..........................................................2
Warnings...........................................................2
The main window.................................................3
The editor.............................................................4
The popup menu of AVS....................................4
The editor window.............................................4
The list of the effects..........................................5
The menu bar.....................................................6
The buttons........................................................8
First items of the effect menu................................9
Presets...............................................................9
Render APE.......................................................9
Misc................................................................10
Buffer Save...................................................10
Comment......................................................11
Custom BPM................................................11
Set render mode............................................12
Effect list......................................................13
The 'Render' item of the effect menu...................16
AVI.................................................................17
Bass Spin.........................................................18
Clear screen.....................................................19
Dot Fountain....................................................20
Dot Grid..........................................................21
Dot Plane.........................................................22
Moving Particle...............................................23
OnBeat Clear...................................................24
Oscilloscope Star.............................................24
Picture.............................................................25
Ring................................................................26
Rotating Stars..................................................27
SVP Loader.....................................................28
Simple.............................................................28
Starfield...........................................................29
SuperScope......................................................30
Text.................................................................32
Timescope.......................................................35
The 'Trans' item of the effect menu.....................36
Blitter Feedback...............................................37
Blur.................................................................38
Brightness........................................................39
Bump..............................................................40
Channel Shift..................................................42
Color Clip.......................................................42
Color Modifier................................................43
Color Reduction..............................................45
Colorfade........................................................45
Dynamic Distance Modifier.............................46
Dynamic Movement........................................48
Dynamic Shift.................................................50
Fadeout...........................................................51
Fast Brightness................................................52
Grain...............................................................52
Interferences...................................................53
Interleave........................................................54
Invert..............................................................55
Mirror.............................................................56
Mosaic............................................................57
Movement.......................................................58
Multi Delay.....................................................60
Multiplier........................................................61
Roto Blitter.....................................................62
Scatter.............................................................63
Unique tone.....................................................63
Video Delay....................................................64
Water..............................................................64
Water Bump....................................................65
Expression help..................................................66
Presentation....................................................66
Variables.........................................................66
Constants........................................................67
Comments.......................................................67
Assignments....................................................67
Tables.............................................................68
Arithmetic operations......................................69
Binary operations............................................69
Modulo operation............................................70
Trigonometric functions..................................70
Conditional functions......................................73
Sound functions..............................................75
Interface functions...........................................76
Other functions................................................77
 
 
Page 2 on 78
Presentation
AVS 2.81 is now provided with a little bit more help, but it is only available for dynamic
effects, and there is still nothing for the other effects. Therefore, as I have done for the
previous version, this is a special new tutorial for this new version.
Warnings
Please read this carefully:
1) This is still an unofficial version. It has nothing to do with the authors of AVS.
2) Even though no special background knowledge is required, some effects of AVS, in
order to be well used, need a minimal level background in mathematics. For these
effects, this tutorial assumes that the reader has a minimal knowledge in this domain
(in other words, you will not find any help in mathematics).
3) Once again, this tutorial was first written in French and I have published it on my
personal web site. In order to satisfy non-French speaking users, I have decided to
translate it into English. I hope this translation will satisfy you (I would thank again
Tuggummi, Anubis and UnConeD for their precious help on the first version).
4) Many times, in this tutorial, I will use the expression AVS folder. Each time you see
these words, you must know I am talking about a folder and its subfolders of the
installation folder of Winamp:
C:\Progam Files\Winamp\Plugins\avs (all versions but 2.51)
or
C:\Progam Files\Winamp\Wacs\data\avs (version 2.51 with Winamp 3)
This tutorial and the screenshots are based on version 2.81 of AVS (from Winamp 5.01). Users of previous
versions can also used it, but they must take care of the  2.8  icon used to mark up what is new in this version.
Anyway, it is strongly recommended to use this wonderful last version!
 
 
 
Page 3 on 78
The main window
When you launch the Visualization Studio (using Ctrl+Shift+K in Winamp), a window
appears somewhere on your screen that looks like one of these   2.8  :
 
(1) Attached to Winamp
 
(2) Detached from Winamp
The functionality of each button is given below :
1) Open the popup menu of Winamp.
2) Close the visualization window.
3) Open the popup menu of AVS (see the next paragraph).
4) Alter display in fullscreen mode (use a single click to go back in the previous mode).
5) Load the next preset from the AVS folder.
6) Load the previous preset from the AVS folder.
7) Automatically load a random preset chosen in the AVS folder.
8) Attach or detach the visualization window to/from Winamp.
 
 
Page 4 on 78
The editor
This paragraph presents the presets editor window, its functionality and how to use it.
The popup menu of AVS
To open the preset editor window, you must use the popup menu of AVS (see previous
paragraph to know how to get it):
 
(3) Popup menu of AVS
As you can see, this menu offers some functionalities already present on the visualization
window. You can also use it to load a preset placed in your AVS folder. You just have to click
on its name. In case of a subfolder, place the mouse on its name to open an other submenu
with all of the presets it contains. You also need this menu if you want to place the
visualization window in a little window in the editor. Finally, you need this menu to open the
famous editor window.
The editor window
If you click on the right item in the popup menu of AVS, you get this window:
 
(4) Editor window
The screenshot above (cut in the middle) shows you the main parts of this window: the menu
bar at the top, the list of the effects used in the preset on the left, and, below, a place that can
be used to show a little visualization window (deactivate it with a double click or the popup
menu of AVS). On the right you have the place where you will get the windows to set effect
parameters, different for many effects. At the bottom of this window, AVS gives you some
information (display rate, size of the visualization window, name of the current preset).
Fullscreen mode
Presets subfolder
Open presets editor
Attach/Detach
to/from the editor
Preset
List of the effects
Parameters
window
Place of the little
visualization window
 
 
Page 5 on 78
The list of the effects
The list of effects is a tree-like structure where you will find the different effects used.
To select an effect, you just have to click on its name.
To move an effect, just click on it and hold the mouse button as you move it up or down. In
the list, you can see a line <Move here> showing where the effect will be dropped if you
release the mouse button.
To understand how AVS works, you must keep in mind that the animation is built applying
each of the effects of the list in a circular manner. In other words, all the effects of the list
gives one frame of the animation, the next frame is built with a new reading of this same list,
and so on.
The table below illustrates what I am trying to explain. Here, this list of the effects contains a
circle draw, followed by a cross draw, an offset of the image, and finally, a fading (what you
really see on your screen is in the last line).
Effects  1
st
 frame  2
nd
 frame  3
rd
 frame
circle
cross
offset
fading
 
If you use the check box ‘Clear every frame’ that appears when you select the top effect
‘Main’, each new frame is built on a clear screen (that means you will only get frames like
the first frame above).
 
 
Page 6 on 78
The menu bar
Let’s start by going through a quick view of these menus. First, let’s look at the Preset menu:
 
(5) The preset menu
From here, you can Load an existing preset. This preset can be located anywhere on your
computer, but I advise you to put all of them in the AVS folder (simply because the select box
is always opened there). When your choice is made, the preset is loaded (in place of the
previous one) and the animation begins.  2.8  Before loading, AVS checks if the current preset
has been changed, and, if it was, it asks you if you want to save the changes.
Of course, you can Save your own preset (note that you always have to confirm the
overwriting of an existing preset).
The last item of this menu gives you a way to create a totally New preset. In fact, it just erases
(on the screen only) the preset currently being edited and its name.  2.8  One more times, if
AVS detects any changes in the current preset, it asks you if you want to save it before.
 
 2.8  The next menu is used to managed the edition of a preset:
 
(6) The edit menu
The first item, Undo, allows you to cancel the last change you have done in the list of the
effects, or in their parameters (in that case, the current effect is no more selected).
The second item, Redo, allows you to build again what you have cancelled with Undo.
 
The next menu is about Settings. I will not detail each of its items, but you must know that
each of them gives you a specific window to set various parameters:
 
(7) The setting menu
 
 
Page 7 on 78
The Display item gives you access to parameters for the display of the animation in the
window (except from the transparency and the priority which are applicable in fullscreen
mode).
The Fullscreen item allows you to set similar parameters, but for the fullscreen display mode
instead.
The Presets/Hotkeys item allows you to define hotkeys to load defined presets, or to activate
the automatic loading of random presets, and, if needed, to set the delay between each preset.
The Beat Detection item allows you to set rules of beat detection for the music you are
listening to.
The Transitions item gives you a choice of 15 transition modes (visual effects applied when
AVS transition from one preset to the next one).
 2.8  Finally, the Debug Window item opens a new window that gives you information on data
used in the dynamic effects of the current preset:
- The current value of 8 of the global variables (from reg00 to reg99),
- the last errors encountered,
- statistics on the code.
 
The last menu, gracefully named 'Help' has only one item:
 
(8) The help menu
It simply shows you a little box summarily presenting AVS and its authors.
 
 
Page 8 on 78
The buttons
Below the menu bar, you have probably noticed the presence of three buttons. These are very
important as they will allow you to manage the list of the effects of your preset.
 
(9) The buttons
Let’s start with the last one.
The '-' button is used to remove a selected effect. If this effect is an Effect list, it will also
removed all of the effects it contains (in the same way, applied on 'Main', it will remove all
off the effects in the preset!).
The ‘x2’ button is used to simply make a copy of the effect (or Effect list) selected. The copy
is placed directly below the original (all off the settings are also copied).
Of course, I kept the best for last: the '+' button. If you click on it, you will get a popup menu
like this one:
 
(10) The effect pop menu
In fact, this button is the only one you will use to add effects in your list and to build your
preset.
All of these items are detailed in the next pages …
 
 
Page 9 on 78
First items of the effect menu
Despite of the title of this chapter, I will not explain these items in the order of their
appearance, but rather in the order of complexity. However, since there aren’t many, I don’t
think it will be a problem for you.
Presets
If you place the mouse on this item, you will get almost the same popup menu that you would
if you made a right click in the visualization window. It contains all of the presets present in
the AVS folder.
By clicking on one of these, the entire preset will be added to your preset, in a new Effect
List.
Render APE
The submenu, which appears when you put the mouse over this item, contains APEs (AVS
Plug-in Effect) present in the AVS folder.
These are small files (.ape files) that add new visual effects to your preset.
In fact, there are three sort of APE :
- those which draw something and can appear in the Render submenu,
- those which alter the current image and can appear in the Trans submenu,
- and all the others which effect can be widely different and can appear in this Render
APE submenu (or even in a new specific submenu).
AVS provided six APE :
- FyrewurX which adds some fireworks on the screen (in Render APE),
- Color Map which allows you to change colors depending on the intensities of the
original image (in Trans)
- Convolution Filter which can be used to create different sort of blur, or border effects,
and so on (in Trans)
- Multi Filter which apply a chromatic filter on your image (in Trans)
- Texer which can be used to replace single dots by a small picture (in Trans)
- Texer II which can dynamically place a small picture on the screen (in Render)
There are many other APEs, but, generally, AVS’s artists use to join them with their presets
when needed. In other words, the more you get presets (especially AVS packs), the more you
have chances to get new APEs.
 
 
Page 10 on 78
Misc
This item shows you the following submenu:
 
(11) The Misc submenu
Each of these items gives you miscellaneous effects (hence its name). I will describe them in
the next few pages.
Buffer Save
A buffer is a place where you can save an image of the preset (or of an Effect List) to restore
it later (with another Buffer Save or with the same). With this, you can build an image in an
Effect List and reuse it in another (or more) without passing by the preset.
 
(12) Parameters of Buffer Save
The first thing to do is to choose what to do with this buffer:
·  Save framebuffer to save the image into the specified buffer.
·  Restore framebuffer to copy the specified buffer onto the screen.
·  Alternate Save/Restore to save the image of this frame, and to restore it in the next
frame, and so on.
·  Alternate Restore/Save to do the same things but in reverse order.
The Nudge parity button placed on the right of the two last choices allows you to shift the
save and restore operations.
The Clear buffer button placed above erases the content of the current buffer.
 
 
Page 11 on 78
With the combo box below you can choose which of the eight buffer you want to use, from
Buffer 1 to Buffer 8.
You can then select the Blending to use, for the saving or restoring. The table on page 15
(only the underlined lines) will give you some explanations of these methods (B is the source
and A is the destination).
Comment
This effect is a little bit special … since, it is not an effect!
 
(13) Comment window
This window just allows you to write miscellaneous comments about your preset (or anything
else). It will be saved with your preset.
Custom BPM
This effect gives you the control of the beat detection in all of the subsequent effects, either
until the end of the preset (or the current Effect List), or until another Custom BPM.
 
(14) Parameters of Custom BPM
First, you can find the check box Enable BPM Customizer that activates or deactivates this
effect. You must then choose between three options:
·  Arbitrary: allows you, with the slider on the right, to fix a rhythm to a specific bpm,
no matter the real one.
·  Skip: allows you to take in consideration only one beat out of every n (n is set with the
slider on the right),
·  Reverse: to simply reverse the detection (that means that the following effects will
think there is a beat when there is not, and there is no beat when there is one).
·  The slider named First skip allows you to set a minimum number of beats (after the
loading of the preset) to wait before the effect will be active.
The two last sliders In and Out are just there to represent the input beats (the music) and
the output beats (created by the effect), respectively
 
 
Page 12 on 78
Set render mode
In a way, this effect works like Custom BPM, since its effects are available either until the
end of the preset (or the current Effect List), or until another Set render mode.
 
(15) Parameters of Set render mode
The check box Enable mode change is used to activate or deactivate the effect.
Next, you have the combo box of the Set blend mode to. It concerns all of the effects that
have no blend mode (except when Default blend is available). This parameter tells how the
drawing (just what is really drawn not the background) will be added to the existing image.
The available methods are described (only the grayed lines) in the table on page 15 (A is the
existing image, and B is the drawing).
To finish with this effect, the value of Line width (pixels) is used to set the width of the lines
drew by all of the effects concerned (when an effect draws dots, it has no effect on their size).
 
 
Page 13 on 78
Effect list
To simplify, we can say that an Effect list is a list of effects in the list of the effects. In fact, it
allows you to give many effects independently of the remainder of the main list of effect.
Background Effect list
Image A 
  input
 Image B
  output
Image A + B 
Of course, an effect list can also have its own effect lists, and so on.
 
(16) Parameters of Effect list
First of all, you can activate or deactivate the effect by using the check box Enabled. If it is
checked, the effect list is activated. If it is not … it depends on the check box Enabled
OnBeat. Actually, if it is not checked too, the effect is really deactivated, but if it is checked,
this effect list will be activated on each beat detected, for the number of frames given in the
field for … frames below.
As an effect list can be considered as a full preset, you naturally dispose of the check box
Clear every frame (also present in the ‘Main’ as unique parameter). If you check it, all of the
effects of the list are applied on a cleaned screen on each frame. If you do not, the remainder
of the last frames is kept.
 
 
Page 14 on 78
The two next combo boxes are used to tell what you want to do with the existing image before
the effect list, that means, on Input, and what you want to make of the result of the effect list,
that means on Output.
The table page 15 details each of the available methods, used on input or output (A is the
previous image, and B is the result of the effect list).
 2.8 
Just below, the check box Use evaluation override allows you to dynamically manage almost
all the parameters described just above.
For this, you have two text boxes to put the instructions (see SuperScope for more details
about dynamic effects) that will allow you to control these parameters (remember you can
always click on the expression help button to get some help):
·  The first text box, init, holds instructions to be executed on the very beginning of the
preset (when loaded, so just once). It is generally used to initialize some variables.
·  The second one, frame, holds instructions to dynamically change the parameters on
each new frame.
Now, let’s see the different variables available in this effect:
·  enabled: Tells or sets if the effect is enabled (equal to 1) or disabled (equal to 0).
·  beat: Tells or sets if the effect is enabled on beat (1) or not (0).
·  clear: Tells or sets if the screen must be cleared on each new frame (1) or not (0).
·  alphain: If the input blending is set to adjustable, this variable is used to adjust the
transparency of the background image on the effect list image (from 0 to 1). The more
this value is high, the more the background image will be visible.
·  alphaout: If the output blending is set to adjustable, this variable is used to adjust the
transparency of the effect list image on the background image (from 0 to 1). The more
this value is high, the more the effect list image will be visible.
·  w et h: These are respectively the width and the height of the screen in pixels.
 
 
 
Page 15 on 78
The available blending methods 
(underlined for Buffer Save et grayed for Set render mode)
Methods  Effect list (in input)
Effect list (on output)
Set render mode and Buffer save
Ignore  A is ignored. B is alone on the image.
B is ignored. In a way, that means
that the effect list is useless
(except if a Buffer save is used).
Replace  A replaces B. B replaces A.
50/50
A and B are blended using the average of each RGB components:
C
A+B = (C
A + C
B) / 2.
Maximum
A and B are blended using the maximum value of each RGB components:
C
A+B = max(C
A, C
B).
 2.8  Minimum
A and B are blended using the minimum value of each RGB components:
C
A+B = min(C
A,, C
B).
Additive
A and B are blended using the sum of each RGB components:
C
A+B = min(C
A + C
B, 1).
Subtractive 1
A is subtracted from B component by
component: C
A+B = max(0, C
B - C
A).
B is subtracted from A in a same
way: C
A+B = max(0, C
A - C
B).
Subtractive 2
B is subtracted from A component by
component: C
A+B = max(0, C
A - C
B).
A is subtracted from B in a same
way: C
A+B = max(0, C
B - C
A).
Every other line  A is blended with B using odd lines of one and even lines of the other.
Every other pixel
A is blended with B using for a line, odd pixels of one and even pixels of the
other, and for the next line, even pixels of one and odd pixels of the other,
and so on.
XOR
A and B are blended using a logical Exclusive OR on each RGB
components: C
A+B = Xor(C
A, C
B).
Adjustable
A and B are blended using a weighted
sum of each RGB components,
accordingly to the slider position:
C
A+B = n*C
A + (1 - n)*C
B, n varying
from 0 to 1.
A and B are blended in a same
way: C
A+B = n*C
B + (1 - n)*C
A, n
varying from 0 to 1.
Multiply
A and B are blended using the product of each RGB components:
C
A+B = C
A * C
B.
Buffer
A is blended with B considering the
intensities of each pixel of the image of
the buffer chosen in the combo box
which appears below. The more the
image is light, the more A is visible. If
Invert is checked, the image of the
buffer is inverted (like a negative, what
is dark become clear, and vice versa).
B is blended with A in a same
way.
 
 
 
Page 16 on 78
The 'Render' item of the effect menu
This item gives you access to all of the render effects, that means, all of the effects that are
really drawing something on the screen (in opposition with the transformation effects which
only modify the existing image). The appearance order of these effects can have some
repercussions on the final image, since the drawing of an effect is made over the drawing of
the preceding effect.
The available effects are the followings:
 
(17) The render effects
Each of them, except Texer II, is explained in the next pages of this tutorial.
About Texer II : It is an APE that is not part of AVS. As its creator can, at any moment,
change its product, I prefer not giving you a detailed description.
 
 
Page 17 on 78
AVI
As its name clearly indicates, this effect can include in your preset, a Windows animation so
called AVI.
 
(18) Parameters of AVI
The check box Enable AVI stream is used to activate or deactivate the effect.
The large combo box below allows you to choose an AVI file, among those present in the
AVS folder (but not in its subfolders).
You must then choose the blend method to use:
·  Replace: The effect fully replaces the previous image.
·  Additive blend: The RGB components of the effect and those of the previous are
added.
·  Blend 50/50: The averages of the RGB components of the effect and the previous
image are used.
·  Blend 50/50+OnBeat Additive: The Blend 50/50 mode is used, and, when a beat is
detected, the Additive blend mode is used instead.
The slider Beat persistence is only accessible when the last method above had been chosen.
It allows you to extend, depending on its position, the duration of the Additive blend mode.
The last slider gives you a control on the Speed of the animation.
Example (just imagine that he is walking J):
 
 
 
Page 18 on 78
Bass Spin
This effect draws, on the both side of the screen, two sorts of wings of a windmill, which is
changing in size with the bass sounds of the music.
 
(19) Parameters of Bass Spin
The check boxes Left enabled and Right enabled are used to choose the windmills to draw
(each of them is associated with the corresponding channel of the music).
By clicking in the boxes left color and right color on the left, you can choose the color used
by each of the windmills.
You must then select one of the two drawing modes available:
·  Filled triangles: The wings are filled with the color chosen.
·  Lines: Only the outlines are drawn.
Examples (filled and lines):
  
 
 
Page 19 on 78
Clear screen
This effect allows you to erase the entire screen, or, more precisely, to fill in it with a chosen
color.
 
(20) Parameters of Clear screen
The check box Enable Clear screen activates or deactivates the effect.
The large box below is used to set the color of the eraser, in other words, the color you want
to put on your screen.
The check box First frame only allows you to limit the erasing to the very first image of the
animation (when the preset is loaded).
You must then choose the blend method to use:
·  Replace: The effect fully replaces the previous image.
·  Additive blend: The RGB components of the effect and those of the previous are
added.
·  Blend 50/50: The averages of the RGB components of the effect and the previous
image are used.
·  Default render blend mode: The effect is blended with the previous image in respect
of the rule set in the last Set render mode effect.
 
Example: (not very useful in fact J)
 
 
Page 20 on 78
Dot Fountain
This effect draws a rotating fountain of various colored pixels. The height of the jet depends
on the music.
 
(21) Parameters of Dot Fountain
The first slider gives you a control on the direction and the speed of the Rotation. The zero
button put the slider in central position (no rotation).
The slider below sets the Angle from which the fountain is viewed (from below to above
passing by the side).
You can then choose the different Dot colors used for dots that reach the Top (highest dots),
High (just below), Mid (on the middle), Low (just below) and Bottom (the base of the
fountain).
Examples (views from below, on side, from above):
    
 
 
Page 21 on 78
Dot Grid
This effect draws a vertical grid of dots moving (or not) in a given direction.
 
(22) Parameters of Dot Grid
The first parameter is about the Colors of all dots:
·  You must first set, in the field Cycle through … colors, the number of colors you
want to use (from 1 to 16),
·  Then, in the box below, you can set each of these colors.
Finally, AVS will repeatedly use these colors, blending slowly from one to the next between
two of them.
Just below, you can set the Grid movement parameters by using the both sliders X and Y,
which respectively set the horizontal and vertical directions and speeds of the grid. As in the
previous effect, the zero button places the slider in central position (no movement).
You must then choose the blend method to use:
·  Replace: The effect fully replaces the previous image.
·  Additive: The RGB components of the effect and those of the previous are added.
·  50/50: The averages of the RGB components of the effect and the previous image are
used.
·  Default render blend mode: The effect is blended with the previous image in respect
of the rule set in the last Set render mode effect.
To finish you can set the Dot spacing in pixels (the more it is, the less there are dots drawn).
Example:
 
 
 
Page 22 on 78
Dot Plane
This effect draws many dots representing a rotating plane square viewed in 3D. The height
and color of each dot of a side depends on the height of a frequency of the music. All of these
dots are then slowly moved toward the other side (to form a square surface). This figure is
rotating on its vertical axis at a variable speed.
 
(23) Parameters of Dot Plane
The first slider gives you a control on the direction and the speed of the Rotation. The zero
button put the slider in central position (no rotation).
The slider below sets the Angle from which the plane is viewed (from below to above passing
by the side).
You can then choose the different Dot colors used for dots that reach the Top (highest dots),
High (just below), Mid (on the middle), Low (just below) and Bottom (the original square).
Example:
 
 
 
Page 23 on 78
Moving Particle
As its name say, this effect draws a sort of ball turning around the center of the screen and
following the music.
 
(24) Parameters of Moving Particle
The check box enabled activates or deactivates the effect.
A click in the color box allows you to choose the color of your ball.
Using the slider just below, you can alter the Distance from center (close to the center of the
screen on the left and far away on the right).
You must then set the Particle size with the next slider (smaller on the left, larger on the
right).
You can also change the Particle size (onbeat), that means, on each beat detected. To do this,
you must check Onbeat sizechange enabled and choose the new size desired with the slider
just below (when you move it, the effective size of the ball is drawn in real-time in the
visualization window).
You must then choose the blend method to use:
·  Replace: The effect fully replaces the previous image.
·  Additive: The RGB components of the effect and those of the previous are added.
·  50/50: The averages of the RGB components of the effect and the previous image are
used.
·  Default render blend mode: The effect is blended with the previous image in respect
of the rule set in the last Set render mode effect.
Example (with a very low Fadeout):
 
 
 
Page 24 on 78
OnBeat Clear
Like Clear Screen, this effect allows you to fill in the screen, but here, this is done only when
a beat is detected.
 
(25) Parameters of OnBeat Clear
The Clear every N beats slider allows you to set every how many beats (from 0 which means
never, to 100).the screen will be erased.
The small box Color… can be used to choose the color of the eraser.
Finally, the check box Blend to color is only useful to prevent the effect to completely erase
the previous image (if checked, the color chosen is just blended with it).
Example: (see Clear screen J)
 
Oscilloscope Star
This effect draws a rotating star built with five oscilloscopes.
 
(26) Parameters of Oscilloscope Star
The Star size is given with the first slider.
The direction and speed of its Rotation are set with the second slider (no rotation at the
center).
Next, you can set the Star source and position:
Its source can come from the Left Channel, the Right Channel, or the Center Channel (a
mix of the both).
Its position can be on the Left, on the Right or simply on the Center of the screen.
 
 
Page 25 on 78
The last parameter is about the Colors of the star:
·  You must first set, in the field Cycle through … colors, the number of colors you
want to use (from 1 to 16),
·  Then, in the box below, you can set each of these colors.
Finally, AVS will repeatedly use these colors, blending slowly from one to the next between
two of them.
Example:
 
Picture
As its name says, this effect allows you to add a picture into your preset.
 
(27) Parameters of Picture
The check box Enable Picture rendering activates or deactivates the effect.
The large combo box below allows you to choose a BMP file (and only this type), among
those present in the AVS folder (but not in its subfolders).
You must then choose the blend method to use:
·  Replace: The effect fully replaces the previous image.
·  Additive blend: The RGB components of the effect and those of the previous are
added.
·  Blend 50/50: The averages of the RGB components of the effect and the previous
image are used.
·  Blend 50/50+OnBeat Additive: The Blend 50/50 mode is used, and, when a beat is
detected, the Additive blend mode is used instead.
 
 
Page 26 on 78
The Beat persistence is only accessible when the last method above had been chosen. It
allows you to extend, depending on the slider position, the duration of the Additive blend
mode.
The check box Keep aspect ratio is used to indicate to AVS that it must keep the original
ratio of the picture. If it is not checked, the picture will be stretch to fill the screen. If it is
checked, you must then choose the rule to apply:
·  On X-axis: The width of the picture is adjusted to the screen (if the resized picture is
too big to enter in the screen, bottom and top are cut off).
·  On Y-axis: The height of the picture is adjusted to the screen (if the resized picture is
too big to enter in the screen, right and left are cut off).
Example (it’s stupid, I know, but I could not resist):
 
Ring
This effect draws a circular oscilloscope, vertically centered on the screen.
 
(28) Parameters of Ring
The slider is used to set the Ring size.
Next, you can set the Ring source and position:
Its source can be the Oscilloscope, which is a representation of the sound’s wave, or the
Spectrum, which is a map of the sound’s frequencies.
These data can be taken on the Left Channel, the Right Channel, or the Center Channel (a
mix of the both).
Its position can be set on the Left, on the Right or simply on the Center (default) of the
screen.
 
 
 
Page 27 on 78
The last parameter is about the Colors of the ring:
·  You must first set, in the field Cycle through … colors, the number of colors you
want to use (from 1 to 16),
·  Then, in the box below, you can set each of these colors.
Finally, AVS will repeatedly use these colors, blending slowly from one to the next between
two of them.
Example:
 
Rotating Stars
This effect draws two stars spinning around the center of the screen. The stars respond to the
music by changing their size.
 
(29) Parameters of Rotating Stars
The only parameter to set is about the Colors of the star:
·  You must first set, in the field Cycle through … colors, the number of colors you
want to use (from 1 to 16),
·  Then, in the box below, you can set each of these colors.
Finally, AVS will repeatedly use these colors, blending slowly from one to the next between
two of them.
Example:
 
 
 
Page 28 on 78
SVP Loader
This effect is very special since it allows you to import a SVP (Sonique Visualization Plugin)
or an UVS (Ultraplayer ViSualization) file into your preset, made originally for these two
competitors of AVS.
 
(30) Parameter of SVP Loader
The unique parameter is set with a large combo box that allows you to choose a SVP or UVS
file, among those present in the AVS folder (but not in its subfolders).
Example:
 
Simple
This effect simply draws a sort of oscilloscope which width is the same as the screen’s width.
 
(31) Parameters of Simple
First of all, you must set the Render effect by specifying if the effect must follow the
Spectrum (map of sound’s frequencies) or the Oscilloscope (progressive sound wave).
You must then chose if the draw is done with Lines, Solid forms (the space between the
central line and the curves is filled) or just Dots.
Then you can set the Effect options:
It is first about the source that can come from the Left Channel, the Right Channel, or the
Center Channel (a mix of the both).
 
 
Page 29 on 78
Then you can set the place of the scope on the screen which can be at the Top, Bottom or
simply in the Center of the screen.
The last parameter you can change is the Colors of the oscilloscope:
·  You must first set, in the field Cycle through … colors, the number of colors you
want to use (from 1 to 16),
·  Then, in the box below, you can set each of these colors.
Examples (with Lines, Solid and Dots):
    
Starfield
This effect simulates a star field which you are traveling through, but only in one direction.
 
(32) Parameters of Starfield
The check box Enable Starfield activates or deactivates the effect.
Just below, a first slider allows you to set the speed of the stars.
The next slider is used to set the density of the star field, in other words, the number of stars
drawn.
You must then choose the blend method to use:
·  Replace: The effect fully replaces the previous image.
·  Additive blend: The RGB components of the effect and those of the previous are
added.
·  Blend 50/50: The averages of the RGB components of the effect and the previous
image are used.
By clicking in the box on the right, you can choose the color of the stars.
 
 
Page 30 on 78
The check box OnBeat Speed changes allows you make some changes in your primary
setting, when a beat is detected. If it is checked, the both next sliders are available and allow
you to set on each beat a new value respectively for the speed and density.
Example:
 
SuperScope
This effect is the most powerful of this series. With only a few instructions, it gives you the
ability to draw almost everything you want, as dots or lines.
 
(33) Parameters of SuperScope
You have first four text boxes in which you will write your instructions, separated by
semicolon, to manipulate some variables. In the end, some of these variables will tell to AVS
what it must draw.
The first text box, init, holds instructions to be executed on the very beginning of the preset
(when loaded, so just once). It is generally used to initialize some variables (of AVS or your
own).
The next one contains instructions to be executed per frame, more precisely, at the beginning
of each frame. It is used to initialize or to modify some variables used to manage the changing
by frames (to create i.e. scope movement).
The third one, beat, holds instructions to be executed, each time a beat is detected. It is
frequently used to modify some variables in order to alter the drawings and therefore, to give
more music sensitivity to the preset.
 
 
Page 31 on 78
The last text box, point, the most important, contains instructions to be executed for any of
the n points of your drawing. It is used to set the place of each of these points on the screen,
and, eventually, their color or other settings.
 2.8  You can now see more than one line (as in previous versions) in the three first text boxes
(the second and third has also been swapped). Despite of these changes, this effect is still
compatible (and editable) with the previous versions.
Now, let’s see the different available variables that you must know:
·  n: This is the number of points your drawing (to set in the 3 first text boxes).
·  x and y: These are the coordinates of the point to draw. Their values must be
comprised between –1 and +1 to get a point inside the screen (respectively from left to
right for x, and from the top to the bottom for y). These variables are only useful in the
text box point.
·  red, green and blue: these variables represent the value of the primary colors used to
set the color of one point (or line) to draw. Their values spread from 0 (no color) to 1
(color to maximum). These variables are only useful in the two last text boxes: in the
first, all the scope will have the same color, in the second each point or line will have
its own color. They must be used in the text boxes frame and point.
·  i: This is the relative position of the point drawn. Its value starts from 0 (first point) to
1 (last point). By the way, the expression 1+i*(n-1) gives you the number of this point
(from 1 to n). This variable is only useful in the text box point.
·  v: This is the value of the oscilloscope at the current point. Its value varies from –1 to
1 for the Waveform, and from 0 to 1 for the Spectrum. These variables are only useful
in the text box point.
·  b: This variable is set to 1 when a beat is detected, and 0 if not (in text boxes frame
and point).
·  w and h: These are respectively the width and the height of the screen in pixels. They
can be useful, for example, to fix a ratio on a drawing (like a circle) whatever are the
dimensions of the screen. These variables can be used in all of the text boxes.
·  linesize :  2.8  This variable is only useful when you draw lines. It just tells the
thickness of the line to draw (from 1 to 255 pixels). It must be used in the text box
point.
·  skip :  2.8  If this variable is set to 0, the current dot is drawn. If it is set to 1 (or more),
this dot is ignored. In case of lines, only the final point is concerned (for example, if
you ignore the second point of a triangle, you will only draw the base of this triangle).
It must be used in the text box point.
·  drawmode :  2.8  If this variable is set to 0, you will draw dots. If it is set to 1 (or
more), you will draw lines. It must be used in the text box point.
 2.8  WARNING : If you use these new variables, your preset will be incompatible with the
previous versions of AVS (simply because they will have no effect).
You are free to create your own variables that you can use in intermediate computes. These
variables are known in every text box of the effect, but they remain unknown by the other
effects (local variables).
 2.8  You can also use one (or more) of the hundred global variables (reg00 to reg99). These
are known by all of the dynamic effects of your preset (very useful to keep the results of a
heavy compute made in a effect, and to use them back in others). The use of this global
variable is incompatible with the previous versions of AVS (they are just considered as local
variables in each of the effects).
 
 
Page 32 on 78
Before starting to write your instructions, I advise you to have a look in the window opened
when you click on the expression help button, to try to understand each of the available
functions. You can also, and it is probably better, have a look in my own more detailed
version in the last chapter of this document (p. 66 et following).
The Load example … button will show you the following popup menu:
 
(34) SuperScope examples
If you click on the name of one of these fourteen examples ( 2.8  only the seven first in the
previous versions), the corresponding instructions will be written in the text boxes (without
changing any other setting). One more time, try to understand how these examples work.
Then, it will be your turn …
Although it is not mandatory, it is better to choose the Source data: in first place. It can be
the Waveform, which is a representation of the sound’s wave, or the Spectrum, which is a
map of the sound’s frequencies. These data can come from the Left, the Right, or the Center
channel (a mix of the both).
Then, in the Draw as section, you must choose how AVS will draw your points. It can be
Dots or Lines (in that case, the color used to draw a line between two points is the color set
for the second one).
If you have not used the red, green and blue variables, you can choose the color for all dots
or lines. For this, you must:
·  set, in the field Cycle through … colors, the number of colors you want to use (from
1 to 16),
·  in the box below, set each of these colors.
Finally, AVS will repeatedly use these colors, blending slowly from one to the next between
two of them.
Examples:
  
Text
 
 
Page 33 on 78
This effect allows you to display some text (or symbols depending on the font used).
 
(35) Paramиtres de Text
The check box Enable Text activates or deactivates the effect.
The check box OnBeat just below is used to tell if the displays have to occur on each beat
detected or not. If it is not checked, the slider on the right is used to set a regular speed of
displays.
You must then choose the blend method to use:
·  Replace: The effect fully replaces the previous image.
·  Additive blend: The RGB components of the effect and those of the previous are
added.
·  Blend 50/50: The averages of the RGB components of the effect and the previous
image are used.
Now you can set the Text style by choosing first its Color with a click in the corresponding
box, and then you can Choose font with the button nearby (avoid to use a very special font,
unless you include it in your AVS pack).
Just below you have to tell if your text will be in Plain mode (normal mode), in Outlined
mode (each character is reproduced eight times behind with an offset in eight different
directions), or in Shadowed mode (each character is reproduced behind with a small right
bottom offset).
If necessary, you can choose the Outline/Shadow color, that means, the color of the
reproduced characters.
By using the slider below, you can also adjust the Outline/Shadow amount, that means, the
distance between the character and its copies.
 
 
Page 34 on 78
Now, you have to set the Text positioning. This can be simply Random, in that case, it will
appear each time on a different place on the screen.
Or you can fix its Horizontal position: on the Left, in the Center or on the Right, and adjust
it with the little slider below (the ‘><’ button replaces it back at the original chosen position).
And do the same with its Vertical position: at the Top, in the Center or at the Bottom, and
adjust it with the little slider on the right (the ‘><’ button replaces it back at the original
chosen position).
The check box random ordering tells to AVS to randomly display the pieces of your text
(see below) rather than the order you typed it.
The check box insert blanks is used to add "space" between each new display. In other
words, once on two, no text is displayed.
You finally have to write the Text to display. If you want the text appears piece-by-piece,
just add semicolon between each piece you want.
 2.8  In addition to a normal text, you could also use predefined expressions that give you
different information about AVS or Winamp (as these expressions are new to this version,
they will display as written in the previous version of AVS).
The table below gives you these new expressions:
Expression  Meaning
$(title) The title of the song played by Winamp
$(title:n) Like above with playlist entry number.
$(title:xx) The xx first characters of the title.
$(title:nxx) The xx first characters of the title and its number.
$(playlen)
The full play time of the song using mm:ss (mm are
minutes, ss seconds).
$(playlen.x)
Like above but with 10
th
 of second, if x is 1, 100
th
 of
second, if x is 2 and 1000
th
 of second, if x is 3.
$(playpos) The elapsed play time of the song using mm:ss.
$(playpos.x) See $(playlen.x).
$(regnn) The global variable’s value regnn (from 00 to 99).
$(regnn:x.y)
Like above but with x positions (spaces or numbers)
before decimal point, and y numbers after.
Example (with a French text, of course J):
 
 
 
Page 35 on 78
Timescope
This effect repeatedly moves a vertical line from the left to the right, the intensity of each of
its points depending on the frequencies of the music.
 
(36) Paramиtres de Timescope
The check box Enable Timescope activates or deactivates the effect.
By clicking in the large box below, you can choose the base color of the line.
You must then choose the blend method to use:
·  Replace: The effect fully replaces the previous image.
·  Additive blend: The RGB components of the effect and those of the previous are
added.
·  Blend 50/50: The averages of the RGB components of the effect and the previous
image are used.
·  Default render blend mode: The effect is blended with the previous image in respect
of the rule set in the last Set render mode effect.
With the slider placed below you can tell that the line will Draw N bands, that means it will
cut N bands (from 16 to 576) in all of the available spectrum.
To finish, you must say if the data used comes from the Left channel, the Right channel, or
the Center channel (a mix of the both).
Example (with a low Fadeout):
 
 
 
Page 36 on 78
The 'Trans' item of the effect menu
This item gives you access to all of the effects of transformation, that means, the effects that
will more or less modify the drawing on the screen.
Generally, the appearance order of these effects in the lists has no effect on the final image, as
they are applied in a loop on each frame of the animation (and this contains the remainder of
the previous frame on which these effects was already applied). On the other hand, the result
can be very different if a transformation effect is placed before or after a render effect.
Except for a particular needs, I advise you to always place the transformation effects after all
render effects.
The available effects are the following:
 
(37) The transformation effects
Each of them, except Color Map, Convolution Filter, Multi Filter et Texer, is detailed in the
following pages of this tutorial.
About Color Map, Convolution Filter, Multi Filter et Texer : These are APEs that are not
parts of AVS. As their creators can, at any moment, change their products, I prefer not giving
you detailed descriptions.
CONVENTION
In the following pages, I will use the expression fixed image to tell about an image created by
a fullscreen effect (like Picture in Replace mode) or drawn piece by piece after a similar effect
(typically, a Clear screen), and the expression animated image to tell about all other cases
where each new frame is built on the remainder of the previous frames.
 
 
Page 37 on 78
Blitter Feedback
This effect creates a copy of the current image and resizes it. Applied to a fixed image, it is
like a simple zoom. With an animated image, it gives you the sensation of moving forward or
backward.
 
(38) Paramиtres de Blitter Feedback
The first slider Blitter direction allows you to make a Zooming in or a Zooming out.
The Blitter direction (onbeat) is activated with the check box Enable on-beat changes and
allows you to change the power of the zoom to the new value set with the slider below on
each beat detected.
The check box Blend blitter is used to blend the resulting image, instead of replacing the
existing image.
Finally, the check box Bilinear filtering can be used to smooth the image (otherwise the
effect will look pixellated).
Example on a animated image (without and with the effect):
  
Example on a fixed image (without and with the effect):
  
 
 
Page 38 on 78
Blur
As its name says, this effect is used to blur an image.
 
(39) Parameters of Blur
The first parameter of this effect is used to set the power of the blurring. You can have No
blur (as if there is no effect), a Light blur, a Medium blur or a Heavy blur.
 2.8  The second parameter manages the spreading out of the blur effect (useless on a fixed
image):
·  Round down : The blur effect does not spread out.
·  Round up : The blur effect spread out more and more.
Example (without, and with the effect):
  
 
 
Page 39 on 78
Brightness
This effect can alter the brightness or the taint of the entire image.
 
(40) Parameters of Brightness
The check box Enable Brightness filter activates or deactivates the effect.
The Red, Green and Blue sliders are used to modify the intensity of these colors (lower on
the left, higher on the right, and you can use the >< buttons to reset a slider).
The check box Dissociate RGB values is used to separate the sliders (if it is not checked, all
sliders are aligned and move together).
You must then choose the blend method to use:
·  Replace: The effect fully replaces the previous image.
·  Additive blend: The RGB components of the effect and those of the previous are
added.
·  Blend 50/50: The averages of the RGB components of the effect and the previous
image are used.
The check box Exclude color range is used to tell AVS that some colors must be ignored.
The box below allows you to choose a color as reference and the slider on its right allows you
to extend or to reduce the range of colors. Note that if the slider is placed far on the right the
range is null (no color is modified).
Example (without, and with the effect):
  
 
 
Page 40 on 78
Bump
This effect allows you to add some bumps on your image. This illusion of relief is given by
the shadow coming from a spot of light, which is moving on your screen. This shadow is
added to some borders of the drawing.
 
(41) Parameters of Bump
 2.8  Although the presentation of these parameters has changed, they are identical to those of
previous versions.
The check box Enable Bump activates or deactivates the effect.
The check box Invert depth below can be used to make holes rather than bumps.
The check box Show dot is simply used to show a dot representing the center of the light
(only useful for tests).
Beside these three check boxes, you will find a slider starting with Flat and ending with
Bumpy. This is used to set the power of the effect. In fact, it modifies the size and intensity of
the spot light.
On the left of this slider, you can choose the blending mode:
·  Replace: The effect fully replaces the previous image.
·  Additive blend: The RGB components of the effect and those of the previous are
added.
·  Blend 50/50: The averages of the RGB components of the effect and the previous
image are used.
 
 
 
Page 41 on 78
Just below, you can set the Light position. For that, you have three text boxes in which you
can write your instructions to manage the moves of the spot of light (see SuperScope for more
information). You can also click on the expression help button to have an overview on the
available functions:
·  The first text box, init, holds instructions to be executed on the beginning of the
animation. It is generally used to initialize some variables.
·  The next one, frame, contains instructions to be executed on each frame. It is used to
manage the position of the light in each frame.
·  The last one, beat, holds instructions to be executed on each beat detected. It is
frequently used to modify some variables in order to alter the moves.
Now, let’s see the available variables you have to know:
·  x and y: These are the coordinates of the center of the spot light. You must give them a
value to place the light. This value goes from 0 (on the left for x, and at the top for y),
to 1 (on the right for x and at the bottom for y).
·  bi: This variable is used to manage the height of the bumps. Its value must be between
0 (flat) to 1 (height set with the slider above).
·  isBeat: This variable is only needed to know if a beat has been detected (equals to –1)
or not (equals to 1).
·  isLBeat: This variable works like the previous, but only when the check box OnBeat
is checked (in fact, it just tells when a persistent beat is detected).
The combo box Depth buffer allows you to choose the origin of the image used to control the
effect. This image can be the Current or one present in Buffer 1 to Buffer 8.
The check box OnBeat allows you to modify the length of a beat detected (its persistence in
time) by using the slider from Shorter to Longer, and the height of the bumps during this
time by using the slider from Flat to Bumpy.
Example (without, and with the effect):
   
 
 
Page 42 on 78
Channel Shift
 2.8  This effect allows you to swap the primary color values (red, green, blue) of the image.
 
(42) Parameter of Channel Shift
The only parameter to set is the order of exchanges to do. If you don’t set the check box
OnBeat Random which use a random order on each beat detected, you can choose one of the
five orders available (the first seems to be unused) :
·  RBG: Blue and green are swapped.
·  BRG: Backward shift of colors (R<G<B<R).
·  BGR: Blue and red are swapped.
·  GBR: Forward shift of colors (R>G>B>R).
·  GRB: Red and green are swapped.
Example (without, and with the effect):
  
Color Clip
his effect allows you to replace a color (or more) of the image by another one.
 
(43) Parameters of Color Clip
 
 
 
 
Page 43 on 78
You have four possibilities:
·  Off: Deactivate the effect.
·  Below: All colors having the same taint and a lower luminosity than the reference
color will be replaced.
·  Above: All colors having the same taint and a higher luminosity than the reference
color will be replaced.
·  Near: All colors having a taint near the reference color will be replaced.
The slider beside the last choose is used to set the range of colors to change.
With a click in the box color you can choose the reference color, and a click in the box
outcolor chooses the color used to make the replacement. Note that a click on the arrow
button between the both simply copies the reference color into the replacement color.
Example (without, and with the effect):
  
Color Modifier
 2.8  This effect allows you to dynamically change the primary color values of the image.
 
(44) Parameters of Color Modifier
 
 
 
 
Page 44 on 78
Like with many dynamic effect, you have four text boxes to put the instructions (see
SuperScope for more details):
·  The first text box, init, holds instructions to be executed on the beginning of the
animation. It is generally used to initialize some variables.
·  The next one, frame, contains instructions to be executed on each frame.
·  The third one, beat, holds instructions to be executed on each beat detected.
·  The last one, level, holds instructions used to alter the color components.
Now, let’s see the available variables you have to know:
·  red, green et blue: These are the primary color to modify. Their values must be
between 0 (no color) to 1 (maximum color). These variables must be used in the box
level.
·  beat: This variable values 1 if a beat is detected, and 0 otherwise. It can be used in the
boxes frame and level.
The check box Recompute every frame tell to AVS that it must execute the instructions in
the box frame (if it is not set, these instructions have no effect).
One more time, you can click on the expression help button to have some help, but I advise
you to click on the Load example … button to see what this effect can do.
Example (without, and with the effect):
  
 
 
Page 45 on 78
Color Reduction
 2.8  As its name tells, this effect is used to reduce the color number of your image. It can be
use to give some artistic effects.
 
(45) Parameter of Color Reduction
The only parameter of this effect is set with a slider that tells the maximum number of
possible values by color components (red, green and blue). You can choose anything between
2 (each component can be 0 or 1) and 256 (that means no effect because it is the maximum
value a component can have in 24 or 32 bits mode)
Example (without and with the effect):
  
Colorfade
This effect allows you to gradually change colors of an image.
 
(46) Parameters of Colorfade
The check box Enable colorfade activates or deactivates the effect.
Settings are then done with three sliders. However, it seems there are some problems about
the reliability of their respective effects (specially with yellow, cyan and magenta). Therefore,
these settings become a little bit difficult to understand, and the results are sometimes very
surprising.
 
 
 
Page 46 on 78
Nevertheless, they are used to set the changes to apply on the colors of on an image:
·  The first slider is used to set the hue offset. In middle position, nothing is changed. On
the left, hue is moved in the direction Red-Green-Blue-Red (not very obvious). On the
right, hue is moved in the direction Red-Blue-Green-Red (with some jamming on
intermediate colors).
·  The second slider is used to set the saturation offset. In middle position, nothing is
changed. On the left, it decreases (fade out). On the right, it increases.
·  The last slider is used to adjust the luminosity offset. In middle position, nothing
changes. On the left, the luminosity decreases (seems to have no effect on the primary
colors: red, green and blue). On the right, the luminosity increases (seems to reverse
the hue changing direction with intermediate colors).
The check box OnBeat change allows you to apply the new setting given with the three new
sliders below (unfortunately, no preview is possible), or a random setting if you use the check
box Onbeat Randomize.
Example (without, and with the effect):
  
Dynamic Distance Modifier
This effect allows you to modify the distance (from the center of the screen) of the image
points. If you change this distance uniformly, it gives you a sort of zoom. However, you can
do much more than this.
 
(47) Parameters of Dynamic Distance Modifier
 
 
Page 47 on 78
You have first four text boxes in which you will write your instructions (see SuperScope for
more information) with which you will control the distance as you want.
The first text box init holds instructions to be executed on the very beginning of the preset
(when loaded, so just once). It is generally used to initialize some variables.
The next one contains instructions to be executed per frame, that means on the beginning of
each frame. It is used to initialize or to modify some variables to manage the changing by
frames (to create the ‘animation’).
The third holds instructions to be executed on beat, that means, each time a beat is detected. It
is frequently used to modify some variables in order to alter the drawings.
The last text box, the most important, contains instructions to be executed per pixel circle,
that means for any sets of pixels placed at the same distance from the center.
Now, let’s see the different available variables that you must know:
·  d: It is the only variable that manages all the effect. It is used to tell at which distance
must be taken the points that will be placed at the current distance. Note that if this
distance is negative, the points will be taken on the opposite side (by the way, d=-d
simply reverse the image. This variable is only useable in the last text box.
·  b: This variable is set to 1 when a beat is detected, and 0 if not.
You can still use the expression help button to have a review of the available functions.
The check box Blend can be used to blend the result with the original image (rather than
replace it).
Finally, the check box Bilinear filtering can be used to smooth the image (otherwise the
effect will look pixellated).
Example (without, and with the effect):
  
 
 
Page 48 on 78
Dynamic Movement
This is one of the most powerful transformation effects of AVS. It allows you to alter the
aspect of the entire image, uniformly or not.
 
(48) Parameters of Dynamic Movement
You have first four text boxes in which you will write your instructions (see SuperScope for
more information) to put at a place a point taken where you want in the image.
The first text box init holds instructions to be executed on the very beginning of the preset
(when loaded, so just once). It is generally used to initialize some variables.
The next one contains instructions to be executed per frame, that means on the beginning of
each frame. It is used to initialize or to modify some variables to manage the changing by
frames (to create the ‘animation’).
The third holds instructions to be executed on beat, that means, each time a beat is detected. It
is frequently used to modify some variables in order to alter the drawings.
The last text box, the most important, contains instructions to be executed for each pixel of
the new image.
It is very important to remember one thing here: like in the previous effect, your instructions
are used to tell where pixels must be taken to be placed on the current position. That means,
for example, that if you want to draw a circle, you must first check if the current point is part
of this circle (using the coordinate variables), and, if it is the case, you can then associate any
pixel of the image to it (setting these same variables). If there is one effect where you really
need skills in mathematics, I think that’s this one.
 
 
 
Page 49 on 78
Now, let’s see the different available variables that you must know:
·  d and r: These are the polar coordinates (see below) of the current pixel (on reading)
or of the pixel to copy (on writing). Respectively, distance from the center ranging
from 0 to 1, and rotation angle ranging from 0 to 2*Pi.
·  x and y: These are the rectangular coordinates (see below) of the current pixel (on
reading) or of the pixel to copy (on writing). Respectively, horizontal and vertical,
both ranging from –1 to 1.
·  w and h: These are respectively the width and the height of the screen in pixels. They
can be useful, for example, to fix a ratio on a transformation whatever are the
dimensions of the screen.
·  alpha: This variable allows you to control the intensity of the resulting image when
the blending is activated. Its value goes from 0 (fully transparent, the image is
invisible) to 1 (the image erase the previous one).
·  b: This variable is set to 1 when a beat is detected, and 0 if not.
You can still use the expression help button to have a review of the available functions (and
only the functions because there is still no explanation on the effect itself).
 2.8  A very good way to learn more on this effect, is given with the Load example … button.
If you click on it, AVS will give you some good examples.
The combo box source allows you to choose the origin of the image used to realize the effect.
This image can be the Current or one present in Buffer 1 to Buffer 8.
The check box No movement (just blend) can be used if you only want to blend the source
image (playing with alpha variable for example).
The check box Blend allows you to blend the resulting image with the previous image (rather
than replace it).
The check box Wrap is used to copy the source image in all directions. This allows you to
give coordinates out of the original screen and to take a point in a copy of the original
(without this option, the nearest pixel to the border is used).
The both fields of the Grid Size are used to set the dimension of the interpolation grid. In
order to improve speed, AVS does not make the computes you give for all of the pixels of the
image. Instead, it applies them only to the pixels on the interpolation grid, and then
interpolates the others. To get best results, the size of this grid must be about 10% of the
image size (for 640x400 you must give 64x40). By changing these values, you can get very
surprising but interesting effects. In some very special case, a 1x1 grid can be used (for
example, if you just want to fill up the entire screen with the color of one given pixel no
matter the current pixel position).
 
 
Page 50 on 78
The check box Rectangular coordinates is very important. It is useful to tell if you will use
polar or rectangular coordinates in your instructions. For those who are not aware of these
terms, the little drawing below must help them to understand the difference (polar coordinates
are in red, and rectangular coordinates in blue):
 
Finally, the check box Bilinear filtering can be used to smooth the image (otherwise the
effect will look pixellated and other artifacts can appear).
Example (without, and with the effect):
  
Dynamic Shift
This effect allows you to move the entire image horizontally or vertically.
 
(49) Parameters of Dynamic Shift
 2.8  Although the presentation of these parameters has changed, they are identical to those of
previous versions.
 
 
Page 51 on 78
You have first three text boxes in which you will write your instructions (see SuperScope for
more information) to manage the moves of the image (you can use the expression help button
to have a review of the available functions):
·  The first text box init holds instructions to be executed on the beginning of the
animation. It is generally used to initialize some variables.
·  The next one contains instructions to set the position of the image in each frame.
·  The last one holds instructions to be executed each time a beat is detected.
Now, let’s see the variables available for this effect:
·  x and y: These are the horizontal and vertical displacement values. They must be given
in pixels. You have to set them to place the image.
·  w and h: These are respectively the width and the height of the screen in pixels. They
can be useful, for example, to get a constant move whatever are the dimensions of the
screen.
·  alpha: This variable allows you to control the intensity of the resulting image when
the blending is activated. Its value goes from 0 (fully transparent, the image is
invisible) to 1 (the image erases the previous one).
·  b: This variable is only useful to know if a beat has been detected (its value is-1) or
not (its value is 1).
The check box Blend allows you to blend the resulting image with the original image rather
than replace it (see alpha variable above).
The check box Bilinear filtering is used to smooth the moves of the image.
Example (without, and with the effect):
  
Fadeout
This effect reduces the brightness of a fixed image. Apply to a animated image, it allows you
to control the persistence of the draws.
 
(50) Parameters of Fadeout
The Fade velocity is set with the slider ranging from None (the effect is deactivate), then
slow (the brightness is almost no diminished) to fast (the image is almost erased).
 
 
 
Page 52 on 78
The box fade to color is used to choose the color toward the fade out is done (in a way, you
choose the background color).
Examples (without, with a slow effect and with a fast effect):
    
Fast Brightness
This effect allows you to simply increase or decrease the brightness of the image.
 
(51) Parameter of Fast Brightness
The only parameter to set here is the type of brightness change:
·  Brighten by 2x: Double the luminosity of the image.
·  Darken by 0.5x: Divide by two the luminosity of the image.
·  Do nothing: Hope you guess.
Examples (without, with the effect set to 2x and with the effect set to 0.5x):
    
Grain
This effect places a grain or noise filter on the image, similar to a broken TV or a bad video
signal. The result is multiple moving dots that are more or less transparent.
 
(52) Parameters of Grain
The check box Enable Grain filter activates or deactivates the effect.
The slider below is used to set the noise density between a lot on the left and a few on the
right.
 
 
Page 53 on 78
You must then choose the blending mode:
·  Replace: The effect fully replaces the previous image.
·  Additive blend: The RGB components of the effect and those of the previous are
added.
·  Blend 50/50: The averages of the RGB components of the effect and the previous
image are used.
You can use the check box static grain to use a noise pattern that does not change.
Example (without, and with the effect):
  
Interferences
This effect makes copies of the image in different directions with an optional rotation.
 
(53) Parameters of Interferences
The check box Enable Interferences activates or deactivates the effect.
The slider N is used to set the number of copies (from 0, which mean no effect, to 8).
The slider Alpha sets the brightness of the effect (take care to it because it is very sensitive
and a high value rapidly saturates the image to become white).
The slider Rotation sets the direction and the speed of the rotation applied to each copy.
The slider Distance sets the distance between the copies of the image from the center of the
screen.
The check box Separate RGB is only available when N equals 3 or 6. It allows you to
separately copy the red, green and blue channel of the image, rather than simply the image
itself.
The slider Init Rotation sets an initial rotation to the image (usually, it’s only useful if you
don’t use a movement of rotation for the copies).
 
 
Page 54 on 78
The check box OnBeat allows you to modify the Rotation, Distance and Alpha settings
(with the corresponding sliders below) on each beat detected.
The slider Speed is used to control the speed for change from the on beat settings back to the
initial settings.
Finally, you must also choose the blending mode:
·  Replace: The effect fully replaces the previous image.
·  Additive: The RGB components of the effect and those of the previous are added.
·  50/50: The averages of the RGB components of the effect and the previous image are
used.
Examples (without, and with the effect using N = 2, and N = 3):
    
Interleave
As in the Grain effect, this one places a filter over the image. However, here, this filter is just
a grid, which let you see the image through its holes.
 
(54) Parameters of Interleave
The check box Enable Interleave effect activates or deactivates the effect.
The first slider sets the width of the vertical lines of the grid. On the left, they are thin (far on
the left they disappear) and on the right, they are thicker. The space between two lines is
proportional to the width of the lines (apparently, one pixel more).
The second slider sets the width of the horizontal lines of the grid. It works like the previous
one.
If you click in the large box below, you can choose the color of the grid.
You must then choose the blending mode:
·  Replace: The effect fully replaces the previous image.
·  Add: The RGB components of the effect and those of the previous are added.
·  50/50: The averages of the RGB components of the effect and the previous image are
used.
 
 
Page 55 on 78
The check box OnBeat allows you to change the dimensions of the grid on each beat
detected. The new values are set with both sliders below (with a real time preview).
The last slider Duration is used to set the speed of change from the on beat settings back to
the initial settings. On the left, this duration is short (they change back immediately), and on
the right, it is long (the change is slow and smooth).
Example (without, and with the effect):
  
Invert
This effect allows you to invert the colors of the image, in other words, to obtain a negative
image.
 
(55) Paramиtre de Invert
The only parameter of this effect is the check box Enable Invert colors used to activate or
deactivate the effect.
An important thing to note: this effect inverts the current image, but, if this one is not replaced
on the next loop, it will be inverted again (inverting twice gets you the original back). This
causes an annoying flickering effect. Therefore, if you really want to invert an image
permanently, you must either erase the screen and draw the original again, or create your
image in an effect list (input ignored and output replaced) and place the invert effect just after
this effect list.
Example (without, and with the effect):
  
 
 
Page 56 on 78
Mirror
This effect allows you to reflect of a piece of the image, as would a mirror placed vertically or
horizontally.
 
(56) Parameters of Mirror
The check box Enable Interferences activates or deactivates the effect.
Now, you can choose between two modes:
·  Static: The chosen mirrors (maximum 2) are permanently used.
·  OnBeat random: The chosen mirrors (maximum 4) are used at random on each beat
detected.
Then, you must choose the mirrors:
·  Copy Top to Bottom: The upper part of the image is copied and flipped on the lower
part.
·  Copy Bottom to Top: The lower part of the image is copied and flipped on the upper
part.
·  Copy Left to Right: The left side of the image is copied and flipped on the right side.
·  Copy Right to Left: The right side of the image is copied and flipped on the left side.
If no mirror is selected, nothing happens. Note also that, in static mode, you cannot choose
two opposite mirrors.
The check box Smooth transitions is only useful when OnBeat random is set. It tells to
AVS to smoothly blend from one mirror setup to another rather than change immediately.
The speed of this fading is controlled by the slider below ranging from Faster to Slower.
Example (without, and with the effect):
  
 
 
Page 57 on 78
Mosaic
This effect allows you to cut the image into small squares of variable size, each square being
filled with the color of the pixel in its center.
 
(57) Parameters of Mosaic
The check box Enable Mosaic activates or deactivates the effect.
The slider below allows you to chose the size of the square. It ranges from Bigger squares
(the entire image, that means one ‘square’) to Smaller squares (1 pixel each, that means no
effect).
You must then choose the blending mode:
·  Replace: The effect fully replaces the previous image.
·  Additive blend: The RGB components of the effect and those of the previous are
added.
·  Blend 50/50: The averages of the RGB components of the effect and the previous
image are used.
The check box OnBeat allows you to change the size of the squares on each beat detected.
The new size is set with the slider below ranging from Bigger to Smaller.
The last slider ranging from Shorter to Longer is used to set how long the new size is kept.
Note that depending on this delay, the new size of the squares and their normal size, it can
give a smooth increase or decrease of the square sizes.
Example (without, and with the effect):
  
 
 
Page 58 on 78
Movement
This effect is a sort of simplified dynamic movement. It allows you to deform the image too.
However, it is also less powerful as you cannot respond to the music.
 
(58) Parameters of Movement
The check box Source map allows you to choose how will act your instructions (see
Dynamic movement):
·  Not checked: Pixels are copied from the given coordinates to the current coordinates
(same behavior than with Dynamic Movement).
·  Checked (white background): Pixels are copied from the current coordinates to the
given coordinates.
·  Checked (gray background): Both methods above are used alternately on each beat
detected.
The check box Wrap is used to copy the original image in all directions (see Dynamic
movement).
The check box Blend is used to blend the resulting image with the previous image (rather
than replace it).
The check box Bilinear filtering can be used to smooth the image (otherwise the effect will
look pixellated and ugly artifacts can appear).
On the right, there is a list of predefined movements you can use. You can try each out by
yourself ( 2.8  for the most part of them, the corresponding instructions are given in the text
box below). Two of these items are a bit special:
·  None: Partially deactivate the effect (no movement).
·  (user defined): Allows you to create your own effect.
 
 
Page 59 on 78
The check box Rect coords -> is only available when you are creating your own movement.
It allows you to tell that you want to use rectangular coordinates, rather than polar
coordinates, in your instructions (see Dynamic movement).
The text box nearby is also only available if you are making your own movement. This is
where you write your instructions to control each pixel of the new image.
Now, let’s see the different available variables that you must know:
·  d and r: These are the polar coordinates (see above) of the current pixel (on reading)
or of the pixel to copy (on writing). Respectively, distance from the center ranging
from 0 to 1, and rotation angle ranging from 0 to 2*Pi.
·  x and y: These are the rectangular coordinates (see above) of the current pixel (on
reading) or of the pixel to copy (on writing). Respectively, horizontal and vertical,
both ranging from –1 to 1.
·  sw and sh:  2.8  These are respectively the width and the height of the screen in pixels.
They can be useful, for example, to fix a ratio on a transformation whatever are the
dimensions of the screen.
You can use the expression help button to have a review of the existing functions.
Example (without, and with the effect):
   
 
 
Page 60 on 78
Multi Delay
 2.8  This effect allows you to record frames in order to play them back later. It can be used to
create a sort of video echo.
 
(59) Parameters of Multi Delay
You must first choose how will proceed this effect:
·  Disabled: Disables the effect.
·  Input: Frames are recorded.
·  Output: Plays the recorded frames.
You must then choose on of the six available buffers (from Buffer A to Buffer F).
Finally, in the corresponding text box, you set the delay to apply between recording and
playing. This delay can be given in Beats or in Frames according to the check box used. If
you choose beats, you must remember that only the frames of each beats are used. You can
also notice that even one effect uses only one buffer, the delays of all the buffers are always
present (this can be very helpful).
Example (without, and with the effect):
  
 
 
Page 61 on 78
Multiplier
 2.8  This effect will multiply the RGB color components of your image by a predefined value.
Depending on this value, your image can be darken or brighten and more …
 
(60) Parameter of Multiplier
The only parameter of this effect is the value used to make the multiplications:
·  Infinite root: Everything becomes white, except the darkest colors (black).
·  Color x 8: The image is brighten 8 times.
·  Color x 4: The image is brighten 4 times.
·  Color x 2: The image is brighten 2 times (equivalent to Fast Brightness x 2).
·  Color x 0.5: The image is darken 2 times (equivalent to Fast Brightness x 0.5).
·  Color x 0.25: The image is darken 4 times.
·  Color x 0.125: The image is darken 8 times.
·  Infinite square: Everything becomes black, except the brightest colors (white).
Example (without, and with the effect set to Color x 4):
  
 
 
Page 62 on 78
Roto Blitter
This effect is like Blitter Feedback, except it allows you to add rotation to the image. Note
that there is a difference in zoom out behavior, because with this effect the image is
reproduced as much as necessary to fill the screen (in the Blitter feedback it is just reduced
and centered over the original image). You must also note that this zoom is stronger.
 
(61) Parameters of Roto Blitter
The first slider allows you to set the strength of the zoom (zoom out on the left and zoom in
on the right).
The check box Enable on-beat changes allows you to change the strength of the zoom on
each beat detected. The new value is set with the slider below ranging from Zooming in to
Zooming out (with real time visual control)..
The direction and speed of the Rotation is given with the slider ranging from Rotating Left
to Rotating Right.
The check box Enable on-beat reversal is used to invert the direction of the rotation on each
beat detected.
The slider below is then used to set the speed of inversion somewhere between a Fast
reversal and a Slow reversal.
The check box Blend blitter is used to blend the resulting image, instead of replacing the
existing image.
Finally, the check box Bilinear filtering can be used to smooth the image (otherwise the
result will look pixellated).
Example with a animated image (without and with the effect):
  
 
 
Page 63 on 78
Scatter
This effect spreads the pixels of the image around randomly.
 
(62) Parameter of Scatter
The only parameter of this effect is the check box Enable scatter effect used to activate or
deactivate the effect.
Example (without, and with the effect):
  
Unique tone
This effect is very simple as it gives to the image a unique color (just like a black and white
photography which has been tainted).
 
(63) Parameters of Unique tone
The check box Enable Unique tone activates or deactivates the effect.
If you click in the large box below, you can choose the color to filter your grayed image with.
The check box Invert allows you to invert the colors of the original image (to get its negative)
before adding the chosen color.
Finally, you must choose the blending mode:
·  Replace: The effect fully replaces the previous image.
·  Additive blend: The RGB components of the effect and those of the previous are
added.
·  Blend 50/50: The averages of the RGB components of the effect and the previous
image are used.
Example (without, and with the effect):
  
 
 
Page 64 on 78
Video Delay
 2.8  This effect can record some frames to play them back after a given delay.
 
(64) Parameters of Video Delay
The check box Enabled activates or deactivates the effect.
Just below , you must give the delay to apply. This delay can be expressed in Beats or in
Frames depending the check box used. If you choose Beats, remember that only the frames of
each beats are used.
Example (not very useful! J)
 
Water
This effect will add ripples to your image as if it was drawn on the surface of water. In other
words, each object creates a wave as it would if placed in water.
 
(65) Parameter of Water
The only parameter of this effect is the check box Enable Water effect used to activate or
deactivate the effect.
Example (without, and with the effect):
  
 
 
Page 65 on 78
Water Bump
This effect will distort the image as if it was on the bottom of a shallow pool. Each time a beat
is detected, a drop fall in, causing a ripple.
 
(67) Parameters of Water Bump
The check box Enable Water bump effect activates or deactivates the effect.
You can then set the Water density with the slider below. This starts from Thicker (the
waves die out quickly) and ends to Fluid (the waves travel far away from the original drop
fall and bounce, if necessary, on the borders of the screen).
The check box Random drop position allows you to make the drop fall anywhere on the
screen.
If it is not checked, the drop will always fall in the same place. This place is set in the Drop
position frame. It can be on the Left, on the Center or on the Right, and at the Top, in the
Middle or at the Bottom of the screen.
The Drop depth can also be set with the slider ranging from Less (the waves are almost
invisible) to More (the image behind the water surface is distorted a lot).
To finish, you can set the Drop radius (in fact, the radius of the origin of the waves) with the
slider ranging from Small (about one pixel) to Big (almost the height of the image).
Example (without, and with the effect):
  
 
 
Page 66 on 78
Expression help
Presentation
These next pages are an extended version of the expression help of AVS. Here you will find
all of its contents, but with more detailed explanations. You will find also some examples and
graphic representations.
Sometimes, this help can get very mathematical. To be understand, the reader must have some
acknowledge in that domain (algebra and trigonometry). If it is not the case, you should still
read this and try to understand as much as possible…
Variables
In a programming language, a variable is a memory location where you can put data to be
used by software. In the majority of programming languages, this location is referenced
through a simple name: the name of the variable. This rule is also applied in the dynamic
effects of AVS.
An AVS variable name must start by a letter, followed by as many letters, numbers and
underscores (‘_’ character) as you want.
An AVS variable can only contain a number, more precisely, a real (or floating point) number
like 0.5, -2.781 or 10.0 (can be also noted 10).
Examples: 
 a
 my_variable
 x1
Note that some variable names are reserved, that means they are used by AVS for a
particular purpose. These variables can changed from effect to effect and are documented in
each of them.
Generally, when a variable is placed on the left side of an assignment (see next page), it
means you wish to write its value. When it appears on the right side (or in the parameter list
of a function), it means you wish to read its value.
A variable is only known into the instructions of an effect. In other words, the variable A of
an effect and the variable A of an other effect has nothing to do each other (despite the same
name).
 2.8  However, you can use one of the 100 variables named reg00, reg01, reg02, …, reg99,
which are global to a preset. For example, reg00 can be set in a dynamic effect, and be used
in another. These global variables (or registers) are very useful to synchronize effects. You
can notice that their values can easily be shown in the Debug Window accessed by the
Settings menu.
 
 
Page 67 on 78
Constants
 2.8  In addition to the variables, AVS can use special variables called constants which contains
particular values. These constants are the following:
Constant Value
$PI  3,14159…
$E  2,71828…
$PHI  1,61803…
Comments
 2.8  The instructions of a dynamic effect are given one after the other, separated by
semicolons. Even if the text areas allow you to have a clear presentation, the use of comments
is strongly recommended to make your code more easy to understand.
Examples: 
 
x=3; // comment on end of line
y=3; // the next line
 
 x=3 /* in the middle of a line */;y=3;
 
 
x=3; /* comment
            on many
            lines */;y=3;
Assignments
The assignment is the basic instruction in AVS. It allows you to give a variable (to assign) a
desired value. Note that a variable, when it is first used, always contains zero.
Syntax:   
  Assignment <variable>=<expression>
   2.8  Assignation  <variable>=assign(<expression1>,<expression2>)
Examples:  
 a=1 The variable a receives the value 1.
 a=a+1 The variable a receives its previous value plus 1.
 b=0.1 The variable b receives the value 0.1.
 
b=.1 Like above (zero before a decimal point is
optional).
 a=assign(b,c) Variables a et b receive the value of c.
 
a=assign(if(b,c,d),e) The variable a receives the value of e, and if b is
different from 0, c receives the value of e,
otherwise, d receives the value of e.
 
 
Page 68 on 78
Tables
 2.8  In addition to variables, AVS can now manage tables. A table is a set of values that can be
accessed using a number between 0, for the first occurrence (the first element) to more than
one million (that’s big enough!).
There is two sort of table: the local table (only known in the current effect) and the global
table (known in all of the effect of the current preset).
To managed these table you must use specific functions. Look at the examples below to
understand how it works.
Syntax:   
  Local table megabuf(<expression>)
  Global table  gmegabuf(<expression>)
Examples:  
 a=megabuf(5)
The variable a receives the value of the 6
th
 
occurrence of the local table.
 a=megabuf(b)
The variable a receives the value indexed
by b of the local table.
 b=assign(gmegabuf(5),a)
The variable b receives the value of a, as
the 6
th
 occurrence of the global table.
Never forget that the first element of a table is always indexed by (numbered with) 0,
therefore the second one is indexed by 1, and so on. To simplify, you have just to remember
that the n
th
 element is indexed by n-1.
With these tables came an other special function used to manage loops (instructions written
one time that can be executed many times), and two others used to execute more than one
instruction in a loop.
Syntax:   
  Loop  loop(<expression>,<instruct>)
  Execute 2 instructions  exec2(<instruct1>,<instruct2>)
  Execute 3 instructions  exec3(<instruct1>,<instruct2>,<instruct3>)
Examples:  
 
a=loop(45,assign(k,k+1)) Add 45 times the value of 1 to the variable
k. The value of a is undefined.
 
a=exec2(<instr1>,<instr2>) Execute instr1, then instr2 and return the
result of this last one in a.
 
a=exec3(<inst1>,<inst2>,<inst3>) Execute inst1, inst2 and then inst3 and
return the result of this last one in a.
 
a=loop(100, exec2(
 assign(gmegabuf(k),megabuf(k)),
 assign(k,k+1) ) )
If k was 0 before this instruction, it will
moves the 100 first occurrences of the local
table into the global table.
Beware that instructions here can only be the functions loop(), exec2(), exec3() or assign().
The maximum number of loops that can be executed in one time is limited to 4096.
 
 
Page 69 on 78
Arithmetic operations
They are used to do addition, subtraction, multiplication and division. These operations are
used to build an expression. The usual precedence order is used (first * and /, then + and -) ;
if you are unsure, you can always use brackets.
Syntax:   
  Addition <expression>+<expression>
  Subtraction <expression>-<expression>
  Multiplication <expression>*<expression>
  Division <expression>/<expression>
Examples:  
 a+b Add (the contents of) a et b.
 a-b Difference between a and b.
 -b Same as 0-b (unary minus).
 a*b Product of a by b.
 a/b Division of a by b.
 a*b+c Add the product of a by b to c.
 (a*b)+c Same as above.
 a*(b+c) Product of a by the addition of b and c.
Note that AVS always returns –1 for any expression that cannot be computed, particularly
when it contains a division by zero (for example, x/0 gives –1, like 3+x/0).
Binary operations
A binary operation is an operation done bit by bit. AVS uses the two basic binary
operations: the OR and the AND. The tables below give you the rules of these both
operations for one bit (so, 0 or 1 only):
OR  0  1
0  0 1
1  1 1
 
 
AND  0  1
0  0 0
1  0 1
 
Let’s take an example: 21 and 6. A binary number is built from the addition of successive
powers of 2 (that means: 1, 2, 4, 8, 16, 32 and so on) starting by the largest. Therefore, we
have:
21 = 1*16 + 0*8 + 1*4 + 0*2 + 1*1, which gives in binary: 10101,
and
6 = 0*16 + 0*8 + 1*4 + 1*2 + 0*1, which gives in binary: 00110.
Applying the rules stated in the tables above, we get the following results:
21  pi  1 0 1 0 1 
6  pi  0 0 1 1 0 
21 OR 6  pi  1 0 1 1 1 equals 23
21 AND 6 pi  0 0 1 0 0 equals 4
At first sight, these operations won’t seem useful. However, look at the following examples to
have a better idea …
 
 
Page 70 on 78
Syntax:   
   OR  <expression>|<expression>
   AND  <expression>&<expression>
Examples :  
 a&0 Always returns 0.
 a&1 Returns 1 if a is odd, 0 if it is even.
 a&2 Values 2 if a is 2, 3, 6, 7, 10, etc. and 0 if a is 0, 1, 4, 5, 8, 9, etc.
 a&7 Is the remainder of the division of a by 8.
 a|0 Returns a rounded to the nearest integer.
 a|1 Returns a if a is odd and a+1 otherwise.
 a|2
Returns a if a is 2, 3, 6, 7, 10, etc. and a+2 if a is 0, 1, 4, 5, 8, 9,
etc.
Note that binary operations can only be done with integers (no decimals). Therefore, AVS
always performs a rounding to the nearest integer of any numbers before proceeding with the
binary operation.
Modulo operation
The modulo operation allows you to obtain the remainder of a division.
Syntax:   
  Modulo <expression>%<expression>
Examples:  
 a%2 Returns 1 if a is odd and 0 if it is even.
 a%9 Is the remainder of the division of a by 9.
Note that this operation can only be done with integers (no decimals). Therefore, AVS
always performs a rounding to the nearest integer of any numbers before computing the
modulo.
Trigonometric functions
The trigonometric functions are used to transform angles into numbers. Usually, an angle is
expressed in degrees and ranges between 0 (no angle) and 360 degrees (a full circle). With
AVS, an angle must be expressed in radians and ranges, in the same way, from 0 to 2pi
radians. The symbol pi is read as ‘pi’ and is approximately 3.14159.
To improve the speed of the calculations, I advise you to always use angles expressed in
radians. In spite of this, here is the method of conversion from degrees to radians and
vice versa:
             pi * deg                     180 * rad
   rad = ---------           deg = ------------
               180                               pi
 
 
Page 71 on 78
Syntax:  
  Sine  sin(<expression>)
  Cosine  cos(<expression>)
  Tangent  tan(<expression>)
The little diagram below shows you a circle with a radius of 1, which is called the
trigonometric circle. The gray line represents an angle a (starting on the right of the red line
and turning counterclockwise). The values of the sine function are read on the green line
(projection of the point of intersection between the gray line and the trigonometric circle). The
values of the cosine function are read on the red line (same type of projection). The values of
the tangent function are read on the blue line (intersection point between the gray line and
this blue line).
 
As you can see, the sine and cosine functions can only return values between –1 and +1, and
the tangent function can return any number.
The image below shows you a graphic representation of the sine function (red), cosine
function (yellow) and tangent function (green). This was generated with the SuperScope, so,
positive values are down and negative values are up:
 
Examples :  
 sin(0) Returns 0.
 cos(0) Returns 1.
 tan(0) Returns 0.
  sin(pi)  Returns 0 (pi is a half turn).
  cos(pi) Returns -1.
  tan(pi) Returns 0.
  sin(pi/2)  Returns 1 (pi/2 is a quarter turn).
  cos(pi/2)  Returns 0.
  sin(pi/4) Returns approximately 0,707.
  cos(pi/4)  Returns approximately 0,707.
  tan(pi/4) Returns 1.
 
 
Page 72 on 78
Note that when you make a full turn, you arrive back at the start point. Mathematically, this
means adding 2pi to your initial angle. Therefore, if n is this number of turns, the following
equations are true:
     sin(a) = sin(a + n * 2*pi)
     cos(a) = cos(a + n * 2*pi)
     tan(a) = tan(a + n * 2*pi)
In other words, if a rises steadily, these functions will regularly arrive at the same values.
AVS also knows the inverse trigonometric functions which gives you back an angle from a
number.
Syntax:  
  Arc sine  asin(<expression>)
  Arc cosine  acos(<expression>)
  Arc tangent  atan(<expression>)
Below you will find an image showing you the graphic representation of the arc sine
function (red), arc cosine function (yellow) and arc tangent (green).
 
Note that for values of x below –1 or above 1, where the red and yellow curves stop, AVS
will always return –1.
Examples:  
 asin(0) Returns 0.
 asin(t) Always returns between -pi/2 and pi/2.
 acos(-1)  Returns pi.
 acos(t)  Always returns between 0 and pi.
 atan(0) Returns 0.
 atan(t) Always returns between -pi/2 and pi/2.
 
 
Page 73 on 78
There is also a special trigonometric function available in AVS:
Syntax:  
  Arc tangent 2  atan2(<expression>,<expression>)
This function is equivalent to the arc-tangent of the first expression divided by the second
one. In other words:
   atan2(x,y) = atan(x/y)
To illustrate this function, I will give you only one example: it is a formula used to convert
rectangular coordinates (x and y) into polar coordinates (r and d):
   r=atan2(x,-y) et d=sqrt((x*x+y*y)/2)
Conditional functions
he three first functions of this group allows you to compare two values.
Syntax:  
  Equal  equal(<expression>,<expression>)
  Greater  above(<expression>,<expression>)
  Lower  below(<expression>,<expression>)
The examples in next table summarizes their behavior nicely:
a  b  equal(a,b) above(a,b) below(a,b)
5  5  1 0 0
5  10  0 0 1
10  5  0 1 0
-10 -5  0 0 1
-5  -10  0 1 0
One important thing to remember is that the result of these functions is either 1 for TRUE, or
0 for FALSE.
The next group of functions allows you to get the result of a logical operation using the
results of conditional operations (or any other number).
Syntax:  
  And  band(<condition>,<condition>)
  Or  bor(<condition>,<condition>)
  Not  bnot(<condition>)
 
 
Page 74 on 78
Once again, nothing is better than examples to understand these functions:
a  b band(a,b) bor(a,b) bnot(a)
0  0  0 0 1
0  1  0 1 1
1  1  1 1 0
10 5  1 1 0
0  5  0 1 1
As some of these examples show you, if a value is different from zero, it is considered to be
TRUE.
The following functions give a result depending on certain properties of the values given to
them.
Syntax:  
  Minimum  min(<expression>,<expression>)
  Maximum  max(<expression>,<expression>)
  Sign  sign(<expression>)
  Absolute value  abs(<expression>)
One more time, nothing is better than examples to explain these functions.
Examples:   
 min(a,b) Returns a if a is lower than b, otherwise return b.
 min(8,10) Returns 8.
 min(1.5,-1.5) Returns -1.5.
 min(-8,-10) Returns -10.
 max(a,b) Returns a if a is greater than b, otherwise returns b.
 max(8,10) Returns 10.
 max(1.5,-1.5) Returns 1.5.
 max(-8,-10) Returns -8.
 
sign(a) Returns -1 if a is lower than 0, 0 if a is 0, and 1 if a is
greater than 0.
 sign(8) Returns 1.
 sign(0) Returns 0.
 sign(-8) Returns -1.
 
abs(a) Returns -a if a is lower than 0, and a if a is greater than 0
(abs(a) equals to a*sign(a)).
 abs(8) Returns 8.
 abs(0) Returns 0.
 abs(-8) Returns 8.
 
 
Page 75 on 78
The next function gives a different result according to the condition given is true or false.
Syntax:   
  If ... then ... else  if(<condition>,<expression>,<expression>)
Examples:  
 if(c,a,b) Returns a if c is TRUE, and b if c is FALSE.
 if(1,10,20) Returns 10.
 if(0,10,20) Returns 20.
 if(above(a,b),-1,1) Returns -1 if a is greater than b, and 1 otherwise.
 if(a,0,1) Returns 0 if a is not 0, and 1 otherwise.
Sound functions
Don’t worry … the next functions are not generating sounds, they rather use the
characteristics of the sound coming from Winamp.
Syntax:  
  Oscilloscope getosc(<expression 1>,<expression 2>,<expression 3>)
  Spectrum  getspec(<expression 1>,<expression 2>,<expression 3>)
In both functions above:
expression 1 is a value between 0 and 1, which set the value around which the requested data
are centered.
expression 2 is also a value between 0 and 1, which set the width of the interval (around the
centered value of expression 1) of the requested data.
expression 3 tells from which channel these data are taken: 1 for the left channel, 2 for the
right channel, and 0 for an average of the both.
Note that these functions, when they use the same parameters, always return the same value in
one frame (even in different effects). Therefore, they are very useful to synchronize different
dynamic effects.
As it is rather difficult to give you significant examples for these functions, I will simply
explain what a sound is and how these functions apply to it.
First of all, a sound is nothing more than air vibrations.
The louder the sound is, the larger the vibrations are. In physic, this is called the amplitude
of the sound.
The sharper the sound is, the faster the vibrations are. In physic, this is called the frequency
of the sound.
The function getosc() allows you to get the amplitude of the sound at a given time. As it is a
vibration, this amplitude can vary from –1 to 1 if the sound is loud, and stay near 0 if the
sound is low.
About the function getspec(), it is a little bit more complicated. It will not give you the
frequency of the sound, simply because a sound always contains many frequencies. In fact, it
can give you a sort of amplitude for the frequencies given. Therefore, the value returned can
vary from 0 (frequencies not used) to 1 (frequencies are loud).
 
 
Page 76 on 78
Interface functions
 2.8  These functions are useful to get miscellaneous data from your system.
Syntax:   
  System time  gettime(<expression>)
  Keyboard-Mouse  getkbmouse(<expression>)
Examples:  
  gettime(a)
Time elapsed, in seconds (with decimals), since a,
result itself of a previous gettime(). Very useful to
perfectly synchronize effects.
  gettime(0)
Time elapsed since your system boot. Essential to start
the above synchronization.
  gettime(-1) Time elapsed since the song’s beginning.
  gettime(-2) Time length of the current song.
 
getkbmouse(1) Return the horizontal position (x) of the mouse (0 is
the center of the visualization window, –1 and 1 its
left and right borders).
 
getkbmouse(2) Return the vertical position (y) of the mouse (0 is the
middle of the visualization window, –1 and 1 its up
and down borders).
 
getkbmouse(3) Return the state of the left mouse button (0 released, 1
pressed).
 
getkbmouse(4) Return the state of the right mouse button (0 released,
1 pressed).
 
getkbmouse(5) Return the state of the middle mouse button (0
released, 1 pressed).
 
getkbmouse(n) Return the state of the keyboard key which code n is
given (see below).
As we saw in the last example, you can get the state of a given key of your keyboard. In order
to get this result, you need to give the code of this particular key. Instead giving you a long
table with all codes, here is a simple preset that can be more useful:
·  Text that displays $(reg00:3.0)
·  SuperScope with init: n=247, frame: k=8, and
point: reg00=if(getkbmouse(k),k,reg00);k=k+1.
Once this preset is loaded, you have just to press the key you want to see its code in the
visualization window.
 
 
Page 77 on 78
Other functions
The remaining functions will be described summarily in this last paragraph.
rand(a)
This function returns a random integer value between 0 and a-1.
floor(a)
 2.8  This function returns the first integer value just below a.
ceil(a)
 2.8  This function returns the first integer value just above a.
pow(a,p)
Using mathematics notation, this function is written:
        a
p
 
It must be read as: a to the power p.
When p is an integer, it is like multiplying a by itself p times. For example:
    pow(6,4) = 6
4
 = 6 * 6 * 6 * 6 = 1296
sqr(a)
This function returns the square of a, that means, a multiplied by itself. It is equivalent to
pow(a,2), but faster.
sqrt(a)
This function returns the square root of a, that means a value which, when multiplied by
itself, gives a. For example, 2 is the square root of 4 because 2 * 2 = 4.
This function is normally only meaningful if a is positive (greater than zero). Nevertheless, as
AVS automatically uses the absolute value of the parameter, negative values are accepted.
You can also note that this function is equivalent to pow(a,0.5), but faster.
invsqrt(a)
 2.8  This function returns the inverse of the square root of a. It is equivalent to 1/sqrt(a), but
faster. This function is only meaningful if a is strictly positive, otherwise it will return -1.
exp(a)
This function, even if it does not appear in the expression help of AVS, is available with
AVS. It returns e at power a. e is called the Euler constant and is approximately 2.718 (see
also below).
log(a)
This function returns the natural logarithm of a, also called logarithm base e. It returns the
value p so that e to the power p equals a. This can be also written as:
   log(a) = p  <=>  e
p
  = a
This function is only meaningful if a is positive, otherwise it will always return -1.
 
 
Page 78 on 78
log10(a)
This function returns the logarithm base 10 of a. It returns the value p so that 10 to the power
p equals a. This can also be written as:
   log10(a) = p  <=>  10
p
  = a
For example, log10(1000) values 3 because 10 to the 3
rd
 power equals 1000.
Like the previous one, this function is only meaningful if a is positive, if not it will always
return -1.
sigmoid(x,p)
For those who are interested, this function is equivalent to:
     1     
        1 + e
(-p*x)
 
For a majority of you, this will be no meaningful. However, in fact, it doesn’t matter. Just
read the following to know the essentials.
The image below, obtained with the SuperScope effect, shows you the representation of many
sigmoid curves for which x always varies from –2 to +2, and p from –10 (blue) to +10 (red).
 
As you can see by yourself, regardless of the value of p (except for 0), this function always
returns a value between 0 and 1. The slope of the curve when x is close to 0 is determined by
p. For high absolute values of p (for example 100 or more) the curve changes almost
immediately from 1 to 0 if p is positive, or from 0 to 1 if p is negative. For low absolute
values of p (below 2) the curve changes more and more slowly as p is closer from 0.
Note that, regardless of the value of x, this function always returns 0.5 when p is 0.
 
chez.pierrot@neuf.fr
 
http://avs.chat.ru