1

I've been looking for some ways to control Quartz Composition, that is being loaded as a sublayer of a custom view inherited from NSView.

NSString * compositionPath = [[NSBundle mainBundle] pathForResource:@"Test" ofType:@"qtz"];
QCCompositionLayer *myQCCompositionLayer = [[QCCompositionLayer compositionLayerWithFile:compositionPath] retain];
// Borderless window with custom view
[[self.contentView layer] addSublayer: myQCCompositionLayer];

Manually i found out, that the following code works for setting published input values:

[myQCCompositionLayer setValue:@"123" forInputKey:@"published_text_input"];

So i was trying to find the way to watch published output values and i was wondering if observer should do it. Written something like this:

[myQCCompositionLayer addObserver:self forKeyPath:@"published_output_value" options:0 context:nil];

And this in the same class:

- (void) observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object
                     change:(NSDictionary*)change context:(void*)context
{
    NSLog(@"123");
}

But it doesn't work. Maybe keypath is incorrect or this code shouldn't work at all :)
So are there any ways to observe published values of my composition?
Thanks for help.

Brainman
  • 96
  • 1
  • 4

0 Answers0