<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wikisound.org/index.php?action=history&amp;feed=atom&amp;title=Fl_Studio_C%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B8%D0%B0%D0%BD%D0%BE%D1%80%D0%BE%D0%BB%D0%BB-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2</id>
	<title>Fl Studio Cоздание пианоролл-скриптов - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wikisound.org/index.php?action=history&amp;feed=atom&amp;title=Fl_Studio_C%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B8%D0%B0%D0%BD%D0%BE%D1%80%D0%BE%D0%BB%D0%BB-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2"/>
	<link rel="alternate" type="text/html" href="https://wikisound.org/index.php?title=Fl_Studio_C%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B8%D0%B0%D0%BD%D0%BE%D1%80%D0%BE%D0%BB%D0%BB-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2&amp;action=history"/>
	<updated>2026-04-26T23:12:12Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wikisound.org/index.php?title=Fl_Studio_C%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B8%D0%B0%D0%BD%D0%BE%D1%80%D0%BE%D0%BB%D0%BB-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2&amp;diff=16831&amp;oldid=prev</id>
		<title>Sergey Live: Новая страница: «{{Цикл статей Fl Studio}}  &#039;&#039;&#039;Скрипты пианоролла&#039;&#039;&#039; позволяют управлять нотными данными в пианоролле с помощью кода на [https://www.python.org/ &#039;&#039;&#039;Python&#039;&#039;&#039;]. Например, можно выбрать все ноты выше C3 (номер MIDI-ноты 36).  center  == Форум поддержки ==  Посетите фор...»</title>
		<link rel="alternate" type="text/html" href="https://wikisound.org/index.php?title=Fl_Studio_C%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B8%D0%B0%D0%BD%D0%BE%D1%80%D0%BE%D0%BB%D0%BB-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2&amp;diff=16831&amp;oldid=prev"/>
		<updated>2025-06-19T12:02:59Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «{{Цикл статей Fl Studio}}  &amp;#039;&amp;#039;&amp;#039;Скрипты пианоролла&amp;#039;&amp;#039;&amp;#039; позволяют управлять нотными данными в пианоролле с помощью кода на [https://www.python.org/ &amp;#039;&amp;#039;&amp;#039;Python&amp;#039;&amp;#039;&amp;#039;]. Например, можно выбрать все ноты выше C3 (номер MIDI-ноты 36).  &lt;a href=&quot;/%D0%A4%D0%B0%D0%B9%D0%BB:Fl_studio_Scripting_Reference.jpg&quot; title=&quot;Файл:Fl studio Scripting Reference.jpg&quot;&gt;center&lt;/a&gt;  == Форум поддержки ==  Посетите фор...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Цикл статей Fl Studio}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Скрипты пианоролла&amp;#039;&amp;#039;&amp;#039; позволяют управлять нотными данными в пианоролле с помощью кода на [https://www.python.org/ &amp;#039;&amp;#039;&amp;#039;Python&amp;#039;&amp;#039;&amp;#039;]. Например, можно выбрать все ноты выше C3 (номер MIDI-ноты 36).&lt;br /&gt;
&lt;br /&gt;
[[Файл:Fl_studio_Scripting_Reference.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
== Форум поддержки ==&lt;br /&gt;
&lt;br /&gt;
Посетите форум пользователей FL Studio, &amp;#039;&amp;#039;&amp;#039;[https://forum.image-line.com/viewforum.php?f=2008 посвящённый скриптам для пианоролла]&amp;#039;&amp;#039;&amp;#039;, чтобы &amp;#039;&amp;#039;&amp;#039;скачать скрипты, задать вопросы&amp;#039;&amp;#039;&amp;#039; или обсудить скриптинг и Python в целом.&lt;br /&gt;
&lt;br /&gt;
== Расположение и названия файлов скриптов ==&lt;br /&gt;
&lt;br /&gt;
FL Studio проверяет перечисленные ниже каталоги и отображает все найденные скрипты в &amp;#039;&amp;#039;&amp;#039;меню скриптов&amp;#039;&amp;#039;&amp;#039; пианоролла. Если вы создаёте или редактируете скрипты, размещайте их в подпапке &amp;#039;&amp;#039;&amp;#039;Piano roll scripts&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;скрипты пианоролла&amp;#039;&amp;#039;) в папке [[Fl Studio Настройки File#User Data Folder (пользовательская папка данных)|User data]] (&amp;#039;&amp;#039;пользовательские данные&amp;#039;&amp;#039;). Интерфейсы скриптов создаются автоматически на основе переменных и полей для ввода текста в скрипте.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Названия файлов скриптов&amp;#039;&amp;#039;&amp;#039; — файлы должны заканчиваться расширением .pyscript. Пример: Любое название здесь.&amp;#039;&amp;#039;&amp;#039;pyscript&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Скрипты, доступные для редактирования пользователем&amp;#039;&amp;#039;&amp;#039; — при создании собственных скриптов или редактировании встроенных, сохраняйте их в следующую папку:&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;Папка пользовательских скриптов&amp;#039;&amp;#039;&amp;#039; — ...\Документы\Image-Line\FL Studio\Settings\&amp;#039;&amp;#039;&amp;#039;Piano roll scripts&amp;#039;&amp;#039;&amp;#039;. &amp;#039;&amp;#039;&amp;#039;Примечание&amp;#039;&amp;#039;&amp;#039;: &amp;#039;&amp;#039;Можно использовать подпапки, чтобы создавать категории в меню скриптов пианоролла&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Папки установки по умолчанию&amp;#039;&amp;#039;&amp;#039; — мы не рекомендуем редактировать скрипты или содержимое этих папок. Вместо этого скопируйте нужные скрипты в свою &amp;quot;папку пользовательских скриптов&amp;quot; и добавьте к названию, например, &amp;quot;edited&amp;quot;, чтобы не запутаться. Если вы пожалуетесь на баги в заводских скриптах, вызванные тем, что вы их отредактировали, не следуя этим рекомендациям — наша служба поддержки вас строго пожурит.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;Скрипты, загруженные из библиотеки браузера&amp;#039;&amp;#039;&amp;#039; — ...\Документы\Image-Line\Downloads\&amp;#039;&amp;#039;&amp;#039;Piano roll scripts&amp;#039;&amp;#039;&amp;#039;. Скрипты, загруженные из браузера FL Studio.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;Установка в Windows&amp;#039;&amp;#039;&amp;#039; — ...\FL Studio 2024\System\Config\&amp;#039;&amp;#039;&amp;#039;Piano roll scripts&amp;#039;&amp;#039;&amp;#039;. Заводские скрипты, установленные вместе с программой.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;Установка в macOS&amp;#039;&amp;#039;&amp;#039; — .../Applications/FL Studio 2024/Contents/Resources/FL/System/Config/&amp;#039;&amp;#039;&amp;#039;Piano roll scripts&amp;#039;&amp;#039;&amp;#039;. Заводские скрипты, установленные вместе с программой.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Примечание&amp;#039;&amp;#039;&amp;#039;: &amp;#039;&amp;#039;Проверьте папку заводских скриптов на наличие файла &amp;#039;&amp;#039;&amp;#039;Piano roll script reference.txt&amp;#039;&amp;#039;&amp;#039;. Он может быть более актуальным, чем информация в этом разделе справки&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Примеры скриптов ==&lt;br /&gt;
&lt;br /&gt;
Вам не нужно устанавливать Python, FL Studio сам интерпретирует скрипты. Скрипты — это обычные текстовые файлы с расширением &amp;#039;&amp;#039;&amp;#039;.pyscript&amp;#039;&amp;#039;&amp;#039;. Например: &amp;#039;&amp;#039;&amp;#039;Mute selected notes.pyscript&amp;#039;&amp;#039;&amp;#039; — как в примере ниже.&lt;br /&gt;
&lt;br /&gt;
Один из лучших способов научиться писать скрипты — скопировать простой скрипт и начать его редактировать, чтобы понять, как он работает. Например, изменять текстовые сообщения скрипта и т.д.&lt;br /&gt;
&lt;br /&gt;
=== Заглушить выбранные ноты ===&lt;br /&gt;
&lt;br /&gt;
 from flpianoroll import *&lt;br /&gt;
&lt;br /&gt;
 # Перебираем все существующие ноты и устанавливаем флаг &amp;quot;muted&amp;quot;&lt;br /&gt;
 for i in range(score.noteCount):&lt;br /&gt;
  score.getNote(i).muted = True&lt;br /&gt;
&lt;br /&gt;
=== Скрипт с использованием функции предварительного просмотра ===&lt;br /&gt;
&lt;br /&gt;
 from flpianoroll import *&lt;br /&gt;
&lt;br /&gt;
 def createDialog():&lt;br /&gt;
  form = ScriptDialog(&amp;#039;Add One Note&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
  form.AddInputKnob(&amp;#039;Note Number&amp;#039;, 36, 24, 48) &lt;br /&gt;
  return form&lt;br /&gt;
&lt;br /&gt;
 def apply(form):&lt;br /&gt;
  notenr = round(form.GetInputValue(&amp;#039;Note Number&amp;#039;))&lt;br /&gt;
  # ... здесь добавьте действия с выбранной нотой&lt;br /&gt;
&lt;br /&gt;
== Ссылка на API ==&lt;br /&gt;
&lt;br /&gt;
{| {{Вид таблицы}}&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Объект&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Члены&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Примечания&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;#&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| Комментарии пользователя&lt;br /&gt;
| Строки комментариев начинаются с #&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| number &lt;br /&gt;
| номер ноты (по стандарту MIDI)&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| time &lt;br /&gt;
| тики&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| length &lt;br /&gt;
| тики&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| group &lt;br /&gt;
| номер группы, к которой принадлежит нота&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| pan &lt;br /&gt;
| от 0.0 до 1.0, по умолчанию 0.5&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| velocity &lt;br /&gt;
| от 0.0 до 1.0, по умолчанию 0.8&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| release &lt;br /&gt;
| от 0.0 до 1.0&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| color &lt;br /&gt;
| от 0 до 15, по умолчанию 0. Группа цвета / MIDI-канал&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| fcut &lt;br /&gt;
| от 0.0 до 1.0, по умолчанию 0.5&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| fres &lt;br /&gt;
| от 0.0 до 1.0, по умолчанию 0.5&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| pitchofs &lt;br /&gt;
| от -120 до 120&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| slide &lt;br /&gt;
| True/False&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| porta &lt;br /&gt;
| True/False&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| muted &lt;br /&gt;
| True/False&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| selected &lt;br /&gt;
| True/False&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| clone()&lt;br /&gt;
| дублирует ноту или ноты&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Marker&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| time &lt;br /&gt;
| тики&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| name &lt;br /&gt;
| имя маркера&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| mode &lt;br /&gt;
| целое число&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| tsnum &lt;br /&gt;
| если маркер временная сигнатура&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| tsden &lt;br /&gt;
| если маркер временная сигнатура&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| scale_root (масштабирование только маркеров)&lt;br /&gt;
| нотный класс тоники гаммы, где C = 0 (int)&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| scale_helper (масштабирование только маркеров)&lt;br /&gt;
| разделенная запятыми строка, представляющая классы нот от C до B, с &amp;#039;0&amp;#039; для нот в пределах гаммы и &amp;#039;1&amp;#039; для нот вне гаммы. Например, C# Major (Ionian) будет иметь scale_helper &amp;#039;1,0,1,0,1,0,1,0,1,0,0,0&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Score&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Используется глобальная переменная &amp;#039;score&amp;#039; для доступа к функциям:&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| PPQ &lt;br /&gt;
| количество тиков на четвертную ноту (только для чтения)&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| tsnum &lt;br /&gt;
| числитель временной сигнатуры текущего проекта (только для чтения)&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| tsden &lt;br /&gt;
| знаменатель временной сигнатуры текущего проекта (только для чтения)&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| clear([all])&lt;br /&gt;
| удалить ноты и маркеры. Укажите &amp;quot;True&amp;quot;, чтобы удалить всё, а не только выбранное.&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| clearNotes([all])&lt;br /&gt;
| удалить ноты. Укажите &amp;quot;True&amp;quot;, чтобы удалить всё, а не только выбранное.&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| clearMarkers([all])&lt;br /&gt;
| удалить маркеры. Укажите &amp;quot;True&amp;quot;, чтобы удалить всё, а не только выбранное.&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| noteCount &lt;br /&gt;
| количество нот (только для чтения)&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| addNote(note)&lt;br /&gt;
| добавить новую ноту&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| getNote(index)&lt;br /&gt;
| получить ноту&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| deleteNote(index)&lt;br /&gt;
| удалить индексированную ноту&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| markerCount&lt;br /&gt;
| количество маркеров (только для чтения)&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| addMarker(marker)&lt;br /&gt;
| добавить маркер&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| getMarker(index)&lt;br /&gt;
| получить индекс маркеров&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| deleteMarker(index)&lt;br /&gt;
| удалить индексированный маркер&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;ScriptDialog&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| ScriptDialog(Title, Description)&lt;br /&gt;
| инициализация нового диалога скрипта&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| AddInput(aName,Value)&lt;br /&gt;
| Добавляет общий элемент управления ввода &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| AddInputKnob(aName, Value, Min, Max)&lt;br /&gt;
| Добавляет ручку управления ввода с плавающей точкой&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| AddInputKnobInt(aName, Value, Min, Max)&lt;br /&gt;
| Добавляет ручку управления ввода с целочисленным значением&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| AddInputCombo(aName, ValueList, Value)&lt;br /&gt;
| Добавляет элемент управления ввода в виде выпадающего списка&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| AddInputText(aName, Value)&lt;br /&gt;
| Добавляет элемент управления ввода текстом&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| AddInputCheckbox(aName, Value)&lt;br /&gt;
| Добавляет элемент управления ввода флажка с логическим значением&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GetInputValue(aName)&lt;br /&gt;
| Получить текущее значение ввода с указанным названием&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Execute &lt;br /&gt;
| как диалог. Возвращает TRUE, если пользователь нажал OK, FALSE, если диалог был отменен &lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;TUtils&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| ProgressMsg(Msg,Pos,Total)&lt;br /&gt;
| показать сообщение о прогрессе&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| ShowMessage(Msg)&lt;br /&gt;
| показать сообщение в диалоговом окне&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| log(Msg)&lt;br /&gt;
| Записывает строку во вкладку журнала отладки FL Studio.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Utility functions&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Используйте глобальную переменную &amp;#039;&amp;#039;&amp;#039;Utils&amp;#039;&amp;#039;&amp;#039; для доступа к функциям:&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Utils.ShowMessage(&amp;#039;Hello world&amp;#039;)&lt;br /&gt;
| Отображает введенное сообщение. Например, Привет, мир.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Sergey Live</name></author>
	</entry>
</feed>