rubezh-TWnlenfritplesuk

After Effect Plugin Version

При написании плагина для Adobe After Effects столкнулся с одной маленькой, но в то же время непростой проблеммой - указание версии плагина.

В туториале нет указаний по этому поводу, а в экзамплах не все так очевидно как хотелось бы:

	/* [8] */
	AE_Effect_Version {
		524289	/* 1.0 */
	}

Поди-разбери что разработчики в Adobe имели в виду под этой магической цифрой! Я потратил не мало сил и времени, чтоб высчитать это поле в разделе PiPL, и дабы облегчить участь другим, а так же себе в будущем - публикую в заметке.

Вообще в коде плагина версия указывается в двух местах (зачем казалось бы?!), причем сам AE проверяет идентичность указанных значений и выдает предупреждение, пользователю, в случае их различия:

Несовпадение версии эффекта AfterFX

Итак, имеем версию плагина, указанную в header-файле:

#define MAJOR_VERSION 1
#define MINOR_VERSION 1
#define BUG_VERSION 0
#define STAGE_VERSION PF_Stage_BETA
#define BUILD_VERSION 1

Формула расчета поля AE_Effect_Version в PiPL ресурсе плагина:

AE_Effect_Version = MAJOR_VERSION * 524288 + 
     MINOR_VERSION * 32768 + 
     BUG_VERSION * 2048 + 
     STAGE_VERSION * 512 + 
     BUILD_VERSION

где STAGE_VERSION - это перечисление, состоящее из следующих значений:

enum {
	PF_Stage_DEVELOP,
	PF_Stage_ALPHA,
	PF_Stage_BETA,
	PF_Stage_RELEASE
};
typedef A_long PF_Stage;

Рассчитаем реальное значение:

AE_Effect_Version = 1 * 524288 + 1 * 32768 + 0 * 2048 + 2 * 512 + 1 = 558081

Запишем в ресурс:

AE_Effect_Version {
     558081
}

Компилируем проект, запускаем и радуемся!

1 1 1 1 1 1 1 1 1 1 Рейтинг 100%

Метки: CPP, AE

Печать E-mail

Добавить комментарий


Защитный код
Обновить