• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: QTMovieLayer and renderInContext:
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: QTMovieLayer and renderInContext:


  • Subject: Re: QTMovieLayer and renderInContext:
  • From: Scott Anguish <email@hidden>
  • Date: Thu, 22 Nov 2007 05:36:42 -0500


On Nov 22, 2007, at 4:07 AM, John Clayton wrote:

:-)

Scott, I guess you *may* have seen my DTS support request for CARenderer then? (I think it *is* very convoluted code [that I have], I cant get the thing to go, its all new to me - but I'm willing to learn).

Nope, I'm not in DTS and we don't have access to the support requests.

I've been asking around for a CARenderer example because my current method of making the movies for the documentation is not precise enough when it comes to start/stop times and timeline, etc. The one example I managed to get is really complicated, and I'm not sure what it's doing. This is always the problem with just grabbing someone else's test app, who knows what the => button does. :-)

once I understand CARenderer I want to add an article to the CA Cookbook that describes what needs to be done.

I will file a bug report for this then, I have a spike/test solution that demonstrates clearly that the rendering fails for a QTMovieLayer that is calling renderInContext:

I guess I can fire you the question thats been hanging around in my head since day 1 then (about 8 months ago actually). Q is this: how would I use core-anim to render any CALayer tree onto a view, but only at a particular time (i.e. 2.6 seconds) and also make use of all the transitions and animations and so on [that core anim is good at doing]? E.g. I have a complex CALayer and one of the contained layers has an animation at 2 seconds for a duration of 5 seconds that fades that layer out. (think: layers as movie timelines and using a slider to scrub back and forth in time).\

I wish I knew. The one bit I've seen let's you pause an in progress animation and it'll do something when you push a button, but I have no idea exactly what the result is I'm getting in the example. And I've not had time to figure it out from the code. (and the guy I got it from is out this week, so I can't ask him. it's driving me crazy).




I've tried *a lot* of ways, and the basic problem appears to be telling layers that they should indeed render for time 't', regardless of what the CACurrentMediaTime() and underlying core-anim time-line is.


I assume you've tried beginFrameAtTime:timeStamp:?

the one bit I've got seems to

	[renderer beginFrameAtTime:timeInterval timeStamp:NULL];
	[renderer addUpdateRect:CGRectMake(0.0, 0.0, w, h)];
	[renderer render];

in the -(void)drawInCGLContext:(CGLContextObj)glContext pixelFormat: (CGLPixelFormatObj)pixelFormat forLayerTime: (CFTimeInterval)timeInterval displayTime:(const CVTimeStamp *)timeStamp


implementation of an opengl layer. the open gl layer has the layers to render as it's sublayers.



Anyways, I'll file a bug report along with my spike solution and let you know its ID.


Yes please!

--
John Clayton

On Nov 22, 2007, at 9:48 AM, Scott Anguish wrote:


On Nov 22, 2007, at 3:22 AM, John Clayton wrote:

I'm not, that renderInContext: is a call on CALayer, allowing one to place the content of a layer into a CGContextRef


Gah, sorry. I miss read the original email. I should have recognized the method, I wrote the reference doc for it.



The CovertFlow example uses this technique to take content into a bitmap based context.

Wow, it does. but I wonder why. It's just creating a bitmap with a string in it.


I'm not sure whose example that is, but I've asked engineering.

If you determine that QTMovieLayer isn't rendering using that method, please file a bug and let me know.


I've got requirements to basically render arbitrarily complex CALayer hierarchies onto a view, but I want to render them for a particular time.

What is CARenderer intended for then? (I've used CARenderer in another different spike/test solution so have experience with it).


Yes, that would be a CARenderer situation. I've only seen one example of it in use and it was, shall we say, convoluted.


Thanks.

--
John Clayton
http://www.coderage-software.com/



On Nov 22, 2007, at 9:11 AM, Scott Anguish wrote:

I'm not sure of the answer..

but why are you using CARenderer to put movie content into a view?

it shouldn't be used for display purposes.


On Nov 22, 2007, at 1:47 AM, John Clayton wrote:

Hi All,

I am trying to use the CALayer renderInContext: call to put the contents of a QTMovieLayer instance onto a view, but I get a blank view - nothing renders.

Is this call supposed to work for a QTMovieLayer? I suppose the question could be expanded to: is the renderInContext: method supposed to work for any type of open-gl based layer class?

Thanks,
--
John Clayton
http://www.coderage-software.com/


_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com


Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden





_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: QTMovieLayer and renderInContext:
      • From: Scott Anguish <email@hidden>
References: 
 >QTMovieLayer and renderInContext: (From: John Clayton <email@hidden>)
 >Re: QTMovieLayer and renderInContext: (From: John Clayton <email@hidden>)

  • Prev by Date: Re: NSIndex with discontinuous values
  • Next by Date: Re: Position of NSStatusItem
  • Previous by thread: Re: QTMovieLayer and renderInContext:
  • Next by thread: Re: QTMovieLayer and renderInContext:
  • Index(es):
    • Date
    • Thread