Очерк о Калибрилле. Часть 2
Начало очерка о Калибрилле читайте здесь.
Продолжение очерка о Калибрилле читайте здесь.
Версия 2.0
Результаты сотрудничества с Алексеем не замедлили сказаться на функциональности Калибриллы. Полностью переработанный интерфейс позволял работать с неограниченным количеством мониторов, установленных в одной системе. Для каждого следующего монитора просто добавлялась своя вкладка:
Было автоматизировано создание автозагрузки. Теперь из специального окна настроек автозагрузка прописывалась в реестр, в специально предназначенную для этого системой ветвь. Также появилось специальное инструментальное окно, облегчающее правку табличных данных:
Версия была выложена в сеть 27 марта 2010 года, и стала распространяться одновременно с версией 1.4.
Версия 3.0
Следующая версия программы, вышедшая 25 июня 2010 года, сделала настолько существенный рывок вперёд, что я присвоил ей сразу следующий мажорный номер — 3. Изменения коснулись всего. Прежде всего, упомяну новшества в интерфейсе — теперь он стал поддерживать стилизацию. Десятки самых разных стилей от Alpha Controls (http://www.alphaskins.com) появились в распоряжении пользователей.
На тот момент у меня уже было несколько проектов с использованием этих стилизуемых компонентов. Я пробовал и другие стилизуемые компоненты, но Alpha Controls понравились мне больше других — и внешним видом, и ассортиментом, и бесплатностью для программистов из СНГ. И я решил-таки заменить на них все стандартные компоненты Калибриллы. Думаю, что это был правильный шаг, получивший также одобрение Алексея с точки зрения возможности выбрать нейтральные серые тона интерфейса, не отвлекающие зрение от тестовых таблиц.
Существенно расширился набор инструментов в инструментальном окне — гамма, подсветка, яркость, контрастность. Появились интерактивные тестовые таблицы, генерируемые для каждой точки индивидуально, а также созданные Алексеем внешние тестовые таблицы, вызываемые горячими клавишами. Полный перечень новшеств можно посмотреть на страничке истории.
Версия 3.1
Спустя три месяца, 27 сентября 2010 года, вышла версия 3.1, которая просто исправляла выявленные за этот период ошибки и неточности. Визуальных и других отличий не произошло.
Версия 3.2
21 декабря 2010 года вышла очередная версия калибриллы. Она содержала довольно большой набор небольших улучшений и исправлений. Интерфейс был немного скорректирован в соответствии с особенностями Windows 7 с его более широкими окантовками окон, при сохранении внешних минимальных размеров окон программы; добавлен сплиттер, позволяющий менять пропорции справки и интерфейса в основном окне и т.п.
Но, пожалуй, самым важным отличием этой версии было то, что теперь она стала двуязычной. Смена языков была реализована внутренними средствами Delphi (не самыми удобными, и довольно неразвитыми, надо заметить, но в итоге давшими требуемый результат). Переключение происходило автоматически в зависимости от локали операционной системы.
В этой версии Алексеем была переработана документация к программе. Вдобавок, она была дополнена двумя документами моего авторства: «Полное описание интерфейса программы» и «Упрощённое описание методики калибровки монитора».
Версия 3.2.1
Спустя всего несколько дней, 30 декабря 2010 года, в связи с обнаружением некоторых ошибок, касающихся перевода, была выпущена следующая версия, отличающаяся третьим знаком номера версии. В пакет программы был добавлен файл Excel со строковыми ресурсами программы, подлежащими переводу на другие языки. Файл предназначался переводчикам, желающим внести свой вклад в локализацию программы.
Версия 3.3
1 июля 2011 года вышла в свет очередная версия Калибриллы. Помимо исправлений, обнаруженных за это время ошибок, в программу был включен новый инструмент — плавное выгибание светов и теней по заданному профилю, что существенно упростило настройку точек чёрного и белого. Алексеем был существенно расширен ассортимент внешних тестовых таблиц и написана справка к ним, которая открывалась из каждого теста специальной кнопкой. Был изменён стиль интерфейса, установленный по умолчанию — не самый красивый, но не такой яркий, как прежний:
Версия 3.4
К написанию очередной версии Калибриллы меня подтолкнула появившаяся летом 2011 года запись в гостевой книге. 12 августа пользователь Андрей написал мне, что «Калибрия», как он назвал мою программу, не загружает данные в LUT при старте его системы, тогда как с кнопки данные загружаются. Похожие жалобы озвучивал ранее и Алексей, активно тестировавший программу на различных компьютерах. У него тоже происходило подобное на некоторых системах.
Приехав в конце августа с дачи, я стал разбираться с этим вопросом. Я был более чем уверен, что данные всё же загружаются, но тут же сбиваются какой-то другой стартующей программой, например центром управления драйвером видеокарты, инициализирующим LUT. Я быстро накидал задержку старта автозагрузки, чтобы успели загрузиться другие программы, и выслал тестовый вариант программы Андрею. Андрей отписался, что автозагрузка стала работать нормально при задержке в его случае не менее 20 секунд, что и подтвердило моё предположение.
Со сбросом данных в LUT связано ещё несколько причин. Это выход операционной системы из состояния сна, переключение из полноэкранных режимов игр и т.п. Чтобы отслеживать эти моменты, программа должна постоянно находиться в памяти, тогда как Калибрилла выгружалась сразу после закидывания данных в LUT. Про эти проблемы мне и ранее неоднократно говорили и пользователи, и Алексей, но руки до написания отдельного «резидента», который бы постоянно мониторил LUT, так и не доходили. Но воодушевлённый успешным решением проблемы автозагрузки я взялся за написание и такой программы.
Поскольку графический интерфейс программы, отслеживающей изменения данных в LUT, и восстанавливающей их в случае сброса, ограничивался значком в системном лотке и всплывающем меню, то я полностью отказался от библиотеки Forms и прописал оконную процедуру в коде программы самостоятельно. В результате размер программы получился относительно небольшим — 92 килобайта. Теоретически его можно было бы ещё сократить, отказавшись от готовых процедур библиотеки SysUtils и прописывая все работы со строками вручную, но это уже не имело особого смысла. Таким образом, Калибрилла пополнила свой функционал весьма долгожданным модулем. Модуль был назван Calibrilla LUT Overlooker (Надсмотрщик за LUT).
Ещё одним важным дополнением стала возможность выбора цветового пространства, а не просто значения гаммы средней точки. В текстовом профиле каждого цветового пространства, поставляемого с Калибриллой, содержится гамма для каждой из 256 точек LUT. В результате этого нововведения, интерактивные тестовые таблицы, генерируемые программой, стали подходить не только для пространств с постоянной гаммой типа AdobeRGB, но и для sRGB и подобных пространств с переменной гаммой. Кроме того, это повлияло и на точность отображения яркостной кривой, поскольку каждому цветовому пространству стали соответствовать разные пропорции колорантов для формирования серых цветов, которые теперь тоже стали учитываться.
Помимо вышеперечисленных важных дополнений, в программе было произведено большое количество более мелких изменений. Отмечу, например, такое — теперь файл своих настроек программа хранит не в собственной папке, а в специально предусмотренной для этих целей папке операционной системы. Это изменение вызвано тем, что не у всех пользователей, от чьего имени запускается программа, есть права на запись в папку программы. Но в настройках можно вернуть и старый путь расположения файла.
Версия 3.5
Долгое время новых версий не выходило. Но за 4 года накопилось несколько пожеланий и замечаний, которые и сподвигли меня на очередное обновление программы в конце 2015 года. В январе 2016-го новая версия увидела свет. Ничего принципиально не изменилось. Обычные небольшие доработки и исправления.
Версия 3.6
Ещё через год, в начале 2017-го, вышла очередная версия программы с небольшими доработками и мелкими исправлениями. Из важного — была устранена утечка памяти в надсмотрщике.
Продолжение очерка о Калибрилле читайте здесь.
Начало очерка о Калибрилле читайте здесь.