hi there,
here's a little GOP-abstraction. Might be usefull to resize the red Graph on Parent rectangle for GUIs.
cheers,
mygop.zip
Graph on Parent box
hi there,
here's a little GOP-abstraction. Might be usefull to resize the red Graph on Parent rectangle for GUIs.
cheers,
mygop.zip
@LandonPD said:
I've found two different things:
canvasname-help.pd
canvas_name-help.pd
Woah canvas_name is blowing my mind right now. This is like the pd version of Inception!
There are some nice things there, to play jokes on people! Imagine that you open a patch, and the transparency of the window oscillates, lol.
I live and love in Argentina
I was gonna post this in technical issues but since it's directly related to this thread I'll post it here.
I'm having trouble saving the state of my GOP window in an abstraction when I have multiple copies of the same abstraction in a patch.
My patch is called [learn_ctl]. Basically you click the "L", move a MIDI control device (like a fader or knob), and it "learns" that device. In short, it acts like a programmable [select] in a minimalist GUI. I wanted to make resizing it easier then wasting time trying to guess at the right pixel dimensions for everything, and since the patch is basically a tgl inside a GOP window, I used the concepts we were talking about to dynamically change the GOP window.
learn_ctl.pd
Make sure to check "hide object name and arguments" in the properties. I can't find a way to automate this
My problem is saving the size state once its changed. If I make two copies of the abstraction, make them different sizes, save the patch and reopen, they both default to the size of the first one. I used @gsagostinho 's save state patch so maybe he/she could weigh in.
Man I really like nice looking GUIs but if this becomes more trouble then its worth I'm going to ditch the whole GOP component.
@rjp9 Hi, I am glad you found that simple state saving patch useful As for your abstraction, it is a very neat idea and it is working well as far as recognizing and saving the ctl used, but the problem with this type of state saving inside an abstraction is that it will modify the abstraction's code (you can see that the when closing a patch that uses your abstraction, the abstraction suddenly opens and you are prompted if you wish to save it or not). So if you have two [learn_ctl] in your patch, and they are used to recognize different values, you will have a problem when reopening your patch, since the last value will be the one saved to the abstraction code and loaded twice. And unfortunately I can't see a solution for it, or at least not right now.
Take care,
Gilberto
@gsagostinho said:
[...]the problem with this type of state saving inside an abstraction is that it will modify the abstraction's code (you can see that the when closing a patch that uses your abstraction, the abstraction suddenly opens and you are prompted if you wish to save it or not). So if you have two [learn_ctl] in your patch, and they are used to recognize different values, you will have a problem when reopening your patch, since the last value will be the one saved to the abstraction code and loaded twice.
Ah yes this was bugging the crap out of me and I had no idea why this was happening until now! Well I think that's far enough down the GOP rabbit hole as I want to go. It's just not worth the time to debug this until its perfect. Thank you everyone for the help.
@gsagostinho said:
you will have a problem when reopening your patch, since the last value will be the one saved to the abstraction code and loaded twice. And unfortunately I can't see a solution for it, or at least not right now.
Gilberto
There is a solution for this! It's a bit complicated, though. You need to save the abstraction's values as creation arguments in the parent patch. The creation arguments will be saved in the .pd file, ready to be retrieved when you open it again. How do you alter the creation argument so that it reflects the values you have selected, you ask? By using [textfile] to edit the parent.pd file! It's a bit of a hack job, but it works. I will post up an example soon.
@LiamG said:
How do you alter the creation argument so that it reflects the values you have selected, you ask? By using [textfile] to edit the parent.pd file! It's a bit of a hack job, but it works. I will post up an example soon.
Haha wow I am really curious to see what this might look like.
As promised, state saving abstractions.
Oops! Looks like something went wrong!