Могу ли я настроить размеры графа на родительском подпатче pd, отправив ему сообщения (динамическое исправление)

В настоящее время я создаю абстракцию, которая динамически создает свои части на основе аргумента абстракции. Существует один основной элемент и несколько элементов другого типа (столько, сколько требует аргумент), которые будут прикреплены к этому основному элементу. Все должно быть видно в патче хоста. Я знаю, что это само по себе будет работать нормально, но мне нужно иметь возможность динамически расширять граф на родительском фрейме в зависимости от того, сколько из различного количества элементов должно быть создано.

Я посмотрел здесь: https://puredata.info/docs/tutorials/TipsAndTricks#undocumented-pd-internal-messages, но это, как известно, недокументировано, и мне интересно, какие из этих сообщений работают и подходят... возможно, mycnv?


person sinewave440hz    schedule 09.02.2018    source источник


Ответы (1)


вы ищете donecanvasdialog сообщение для подпатча

donecanvasdialog  <xunit>  <yunits>  <gopmode>  <xfrom>  <yfrom>  <xto>  <yto>  <width>  <height>  <xoffset>  <yoffset> 1

обычно вы оставляете большинство элементов со значениями по умолчанию и меняете только width и height:

donecanvasdialog  0  0  1  0  -1  1  1  $1 $2  100  100 1

чтобы выяснить это самостоятельно, вы всегда можете запустить Pd в режиме debug, чтобы перехватить связь Pd ‹-> Pd-Gui и посмотреть, как Pd делает это внутри (2 показывает сообщения GUI->Pd, а 1 как Pd-> сообщения графического интерфейса):

$ pd -nrt -d 2

И, конечно же, все это требует отказа от ответственности: эти сообщения являются внутренними сообщениями. Есть нет обещаний, что это сообщение будет работать в следующем выпуске исправлений. (В отличие от сообщений о создании объекта, которые выгравированы в формате Pd-patch, эти сообщения всегда появляются только внутри работающего Pd и поэтому действительно считаются частными и могут изменяться, если когда-либо возникнет необходимость)

person umläute    schedule 11.02.2018
comment
Отличный ответ, спасибо. Особенно для отладочной информации, это будет неоценимо. - person sinewave440hz; 12.02.2018