У меня есть довольно продвинутая (много патчей и подпатчей) композиция кварца, которая была создана в Snow Leopard, но не работает хорошо (многие элементы не отображаются) в Leopard. Композиция тестировалась нормально с помощью опции Quartz Composer's Test in Runtime и отлично работает как для 32-битных Leopard, так и для 64-битных Leopard (пункт меню «Файл | Test in Runtime | 32-битный Leopard».
В реальной системе Leopard (32 бита) многие элементы не отображаются в составе кварца. Ниже приведена выдержка из файла журнала при запуске композиции в QuickTime Player под Leopard:
QuickTime Player[134] *** <QCNodeManager | namespace = "com.apple.QuartzComposer" | 335 nodes>: Patch with name "/units to pixels" is missing
QuickTime Player[134] *** Message from <QCPatch = 0x06D82880 "(null)">:Cannot create node of class "/units to pixels" and identifier "(null)"
QuickTime Player[134] *** Message from <QCPatch = 0x06D7C130 "(null)">:Cannot create node of class "/resize image to target" and identifier "(null)"
QuickTime Player[134] *** Message from <QCPatch = 0x06D7C130 "(null)">:Cannot create connection from ["outputValue" @ "Math_1"] to ["Target_Pixels" @ "Patch_2"]
Патч units to pixels
- это системный виртуальный патч в Snow Leopard (находится в /System/Library/Graphics/Quartz Composer Patches/Units to Pixels.qtz
), тогда как патч resize image to target
- это пользовательский виртуальный патч, расположенный в моем домашнем каталоге.
Кажется, мы можем вычеркнуть проблемы, в которых композиция ссылается на отсутствующий виртуальный патч. Я протестировал композицию под учетной записью другого пользователя, и она работала нормально, что показывает, что в нее уже встроено виртуальное исправление «изменить размер изображения», которое находится в моем домашнем каталоге.
Я действительно озадачен, почему композиция проходит тест Leopard Runtime, но все же не может работать в реальной ОС Leopard? Есть ли шаг после обработки, который мне нужно запустить в файл композиции? Есть ли способ сделать этот патч более совместимым с Leopard?
Заранее спасибо.