how to make two QCViews?

sybot's picture

is there a way to have two views to show the same composition while one of them is a QCview that reacts on inputs and the other one is just a resizeable copy of the first one? i tried two QCviews in InterfaceBuilder, but connecting both to the patch controller doesn't work. and if one is not connected to the patch controller it runs independent from the first one. is there some way to grab the original rendering destination of the composition and display it in a CustomView or something else? i hope you can help me.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

dwskau's picture
Re: how to make two QCViews?

I have also wondered about this.

.lov.'s picture
Re: how to make two QCViews?

Use 2 QCRenderers with 2 GLView, and share the context with them. You can pass the mouse and keyboard events to the renderers.

mattgolsen's picture
Re: how to make two QCViews?

This post actually got me thinking, would it be possible for something like KinemeCore to enable multiple QCView functionality? Like have a QCView number you can change next to the layer number on a consumer patch? I'd imagine appropriate changes would need to be made in Quartz Builder or something, but man that would be pretty neat.

franz's picture
Re: how to make two QCViews?

[receiverQCView setValue:[senderQCView valueForOutputKey:outputData] forInputKey:inputData];

will pass data between 2 QCViews

gtoledo3's picture
Re: how to make two QCViews?

In a sort of "on topic" spirit:

I have harped on the ability to be able to click on a renderer or rendering macro, and be able to pop open a window of "what's in there"... pretty much like "Extra Editor" except, "Extra Viewer".

Notwithstanding difficulties in doing that, "Sticky (Resizable) Tooltips" would be great... if one could hover over a port, make the tooltip version of an image visible, "sticky it", and then make it however big one wanted... yay.

akaioni's picture
Re: how to make two QCViews?

where should I write it in, should it be in AppController.h in cocoa, I tried to find QCControler in add new file, but I can't.

vade's picture
Re: how to make two QCViews?

This is what I do as well. I highly highly highly suggest ignoring QCView all together. QCRenderer gives you much more control, and with a n NSView with a custom GL context you can enable things like MSAA, etc.

itsthejayj's picture
Re: how to make two QCViews?

Quote:
[receiverQCView setValue:[senderQCView valueForOutputKey:outputData] forInputKey:inputData];

Can any kind soul do a Xcode project explain of this i'm getting stuck on this (xCode beginner :( )

dust's picture
Re: how to make two QCViews?

here is a few basic Xcode projects. there is various ways of doing this. the simplest being starting 2 qc views at the same time then sending the same image to 2 qc views and then storing multiple parameter and images as presets.

PreviewAttachmentSize
Archive.zip306.25 KB

itsthejayj's picture
Re: how to make two QCViews?

Thanks for the Xcode example Dustin a HUGE help with this Xcode learning curve. I've been playing around with them trying to solve my problem but sadly no luck.

What i'm actually trying to do is send a structure outputted from one composition loaded into a qcview to another separate composition on another qcview. Could someone possibly show me how to do this?

vade's picture
Re: how to make two QCViews?

[receiverQCView setValue:[senderQCView valueForOutputKey:outputData] forInputKey:inputData];

is how you do that.

franz's picture
Re: how to make two QCViews?

If you don't get it, you can also use Spooky to send data between your comps ...

dust's picture
Re: how to make two QCViews?

ok here is a file sending structure data between two views.

like vade and franz is saying...

 [_v2 setValue: [_v1 valueForOutputKey:@"structOut"] forInputKey:@"structIn"];

i added a timer so the structure will update in the second view. what this does is trigger an update method that has the above code in it.

_update = [NSTimer scheduledTimerWithTimeInterval:(1/15) target:self selector:@selector(updateData:) userInfo:nil repeats:YES];

this example basically pulls the data from one view to the other. you could however make an NSArray and store the data from view 1 then pass the NSArray to view 2.

you could use various plugins like spooky net, franz's network plugin, osc, data tools etc... but using valueForOutputKey, valueForInputKey and setValueForInput etc.. will give much more flexibility to do what you want with the data.

PreviewAttachmentSize
sendData.zip122.14 KB