Приступаем к работе

Пакет может использоваться только для одного определенного приложения (After Effects, Premiere Pro, Photoshop, ...), для какого именно приложения будет использоваться пакет - указывается в настройках пакета.
Если вам нужно несколько пакетов, к примеру: один для After Effects, а второй для Premiere Pro - вам нужно создать два отдельных пакета (по причине невозможности совмещать шаблоны для разных приложений в одном пакете).


Базовая структура

Базовая структура пакета включает в себя: сам пакет (файл формата .ATOM) и дополнительные папки с файлами.

Example of packages and files structure

  • Package File.atom - Файл с настройками и структурой пакета на языке JSON (подробнее ниже). Может иметь любое название с соответствующим форматом (.ATOM).

  • Atom Preview Assets - Папка с файлами предварительного просмотра (подробнее смотрите здесь)

  • Atom [Software Name] - Папка с файлами шаблонов / пресетов / иных элементов под соотвествующее приложение.

    note
    Надпись [Software Name] должна быть заменена на название приложения:
    After Effects -> Atom After Effects,
    Premiere Pro -> Atom Premiere Pro и так далее.

Папка с файлами предварительного просмотра и папка с шаблонами должны соответствовать иерархии, которую вы указываете при создании структуры пакета.


Создание пакета

Файл пакета представляет собой систему структурированного хранения данных на языке JSON (JavaScript Object Notation).

Для удобства работы с кодом пакета, нам потребуется текстовой редактор с подсветкой синтакса.
Например, такие как Sublime, Notepad++, Visual Studio Code, или любой другой который способен подсвечивать JSON синтакс.

ПростойПодсвеченный JSON (Visual Code)
Example of code without syntaxExample of code with syntax
note

Вам необязательно быть программистом чтобы работать с кодом пакета, так как данный код является лишь средством структуризации и хранения данных, а не полноценным языком программирования.

Кроме того, вы можете работать со структурой и настройками пакета не используя код, а работать с ним в визуальном представлении древа. Смотрите подробнее в разделе отладки кода.


Создание файла (.ATOM)

Создайте файл с форматом .ATOM (создайте текстовой документ и поменяйте ему формат на .atom) в любой директории, либо используйте готовый шаблон пакета (который вы можете протестировать прямо в расширении).

В файле пакета мы будем хранить следующие данные:

  1. settings - настройки пакета (подробнее здесь).
  2. structure - структура пакета (подробнее здесь).
Шаблон структуры
{
"settings": {
},
"structure": {
}
}
warning

Синтакс JSON придерживается строгой иерархии которой необходимо следовать.

Например: после группы settings имеется запятая, а после группы structure её нет - так как далее нет элементов. Однако, если бы после группы structure были еще группы, то запятая должна была быть (также и наоборот).

Данные особенности работают во всём коде: если есть элементы внутри данной группы, перечисляйте их через запятую (если удалили какой-то элемент, удалите лишнию запятую).

note

Еще детали: Также все значения параметров должны быть указаны в двойных кавычках " ", за исключением специальных параметров - true / false и числовых значений где они необходимы.

Вы можете скопировать данный код и вставить в свой .ATOM файл, или же как говорилось выше: используйте готовый пример пакета, включающий в себя все файлы и готовый код.

Полный пример кода
{
"settings": {
"main": {
"name" : "Your Package Name",
"version" : "1.0",
"required_app_version": "3.0",
"software_id" : "AE",
"software_version" : "CC19",
"engine_pack" : "_COMPOSER",
"inside_security" : "",
"required_purchase_code" : false,
"cc_author_username" : "Author Name"
},
"inside_option_sets": {
"auto_fps_composition": "NONE",
"duplicate_origin_setting": "ALL_COMPS"
},
"stylization": {
"header_color_hex": "#021523"
}
},
"structure": {
"Grand Folder": {
"Folder with Audio": {
"InsideFX": {
"preview": {
"SD1": {"enabled": true, "name": "sd", "options": false},
"TOT": {"enabled": true, "name": "ToT", "options": false}
},
"is_audio": true,
"preview_name_instead_id": true
},
"MisterPack": {
"preview": {
"AUDIOX_11": {"enabled": true, "name": "AUDIOX_1", "options": false},
"AUDIOX_22": {"enabled": true, "name": "AUDIOX_2", "options": false}
},
"is_audio": true,
"preview_name_instead_id": true
}
}
}
}
}

Здесь описаны все основные данные для пакета (настройки и структура - само собой у вас должны быть свои). Теперь остается соединить это с файловой системой и пакет будет готов.

О том, как соединить структуру пакета с файлами предварительного просмотра и вашими шаблонами, смотрите в разделе структура пакета.

После всех манипуляций, вы сможете протестировать пакет (подробнее о тестировании здесь).


Готовые примеры

Для того чтобы лучше понимать, как работает пакет, мы предлагаем вам скачать полноценный пример пакета (он полностью функционален и готов к использованию, включая все необходимые файлы).
На него вы сможете опираться всякий раз, когда у вас что-то работает неверно, или хотите узнать больше на готовом примере.

Нажмите здесь, чтобы попасть в раздел дополнительных материалов и скачать пример пакета.