Store and Read presets

yanomano's picture

I'am trying to find a solution to store presets on disk or better inside a composition. Here is a composition that store and read presets (in ram), 3D transfomation valuesin this case.

1/ open input parmeters in the viewer
2/ set the compos for your keyboard (qwerty /azerty)
3/ set preset menu to "store preset"
4/ according to infos on the Help card, move and rotate the viewer (press and maintain the key then drag the mouse )
5/ In the preset index menu choose a new index
6/ move and rotate to a new position...etc

Then, set the preset Menu to "Read preset" and choose the index needed....

Nothing amazing but it seems to work ;)

Now, the question is : how to save presets values with the comp ?

RecordingPreset.qtz316.18 KB

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.'s picture
Re: Store and Read presets

Useful patch. I've used your earlier axes/view version many times, so thanks!

Could you make a JS patch hand-code an XML file as a long string, write to text file using Kineme Text File, then import structure with XML downloader patch?

How to have Save/Open dialogue I can't think of right now. I haven't quite twigged to how you are storing your values inside the comp so just did it for current values.

Here is a proof of concept using string printers but JS can do the same and iterate through multiplexer works for the write part and read is no sweat as I've used hand written XML on transform patch before. Will write the JS if get time to study your comp.

Take a look if you like...

RecordingPreset.qtz320.08 KB

gtoledo3's picture
Re: Store and Read presets

Hmmmmmmmm. That's an interesting thought!

I've used the gui a bit lately, and I want to throw out a suggestion, that you may think is lame.

The suggestion is, to not have your "floor" level be in the center of the screen when you go for the side/front/back views, but to have it be justified to the bottom of the render window, or implement an option to reign that in, or make it an additional choice. I see why the choice was made to have it like you have it. Maybe I don't find that useful because of my own uses for it. For setting up a 3D scene, I don't really want to go "under" the ground, or if I did, it would be rare.

This is the kind of y level I'm talking about... I guess that's why you want to let people do presets :) I think your GUI is one of the cooler things that has been done in QC.

hackjob to your really nice GUI.qtz317.22 KB

yanomano's picture
Re: Store and Read presets

Thanks for your exemple. Kineme have just updated the file tools, so it provide now a good way to simply save and read datas from disk. However i'am always interested to find a way to save table of datas directly with a QC comp...

yanomano's picture
Re: Store and Read presets

Thanks George ! it's a little tricky to keep memories for differents views...i have try something with severals sample & hold patches in a macro but there is something strange.... So in this version all other views than "perspective and auto rotate are centered...

Need to put my nose in it...I will finish to find a solution ;)

cwright's picture
Re: Store and Read presets

Value Historian is the only patch I know of that will dynamically store data into a composition -- with it, you could make the timebase always 0, and then enable "record" when you want to store the inputs, and otherwise it'll be "playing" them (but since the timebase doesn't change, it'll just output the value it recorded).

Adrianh's picture
Re: Store and Read presets

Regarding Reading back preset values; If you have a numeric slider object as an input to one of these components that has to be saved is there a way to send that data back to the slider and have it updated with the read value?


yanomano's picture
Re: Store and Read presets

Thanks Chris. Value Historian seems to be a very useful patch. I have to say that I don't spend enough time with it to explore how it works and to be feel at ease with it...The way you describe with "timebase always 0" seem to be very easy to manage thanks for the trick.