You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
pd-manual-preview/xA.htm

385 lines
12 KiB

<!DOCTYPE html>
<HTML lang="en">
<HEAD>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<TITLE>Pd Manual Appendix A</TITLE>
<meta http-equiv="Content-Type" content="text/html">
<link rel="stylesheet" type="text/css" href="pdmanual.css" media="screen">
<link rel="icon" type="image/png" href="favicon.ico">
</HEAD>
<BODY>
<div class="butt">
</div>
<div id=corpus>
<H2>Appendix A: Properties Dialog Reference</H2>
<P>
<A href="index.htm#sA"> back to table of contents </A>
<BR><BR>
</P>
<P>On Pd, we have two classes of Gui: the Native Gui and objects coming from the "iemgui" external library. </P>
<ul>
<li>Native Gui: Atom Boxes such as Number Box, Symbol Box and List Box; and Arrays</li>
<li>Iemgui objects: Bang, Toggle, Number2, Horizontal and Vertical Sliders, Horizontal and Vertical Radios, Canvas, and VU Meter</li>
</ul>
<P>These two classes of Guis have specific Properties Dialog Windows, which are documented here, as follows:</P>
<hr>
<h3 id="sA.1">A.1 native guis</h3>
<h3 id="sA.1.1">A.1.1 atom boxes:</h3>
<P> Number boxes, Symbol Boxes and List Boxes all share the same properties dialog:
<P id="sA1.1.1-img"> <img src="figA.1.png" usemap="#figA.1-map">
<P style="width: fit-content; margin: 16px auto;"> <small>(You can click on the image to jump to its correspondent section)</small>
<map name="figA.1-map">
<!-- #$-:Image map file created by GIMP Image Map plug-in -->
<!-- #$-:GIMP Image Map plug-in by Maurits Rijk -->
<!-- #$-:Please do not edit lines starting with "#$" -->
<!-- #$VERSION:2.3 -->
<!-- #$AUTHOR:José de Abreu -->
<area shape="rect" coords="84,34,198,62" alt="Width" href="#sA.1.1.1" />
<area shape="rect" coords="1,63,284,116" alt="Limits" href="#sA.1.1.2" />
<area shape="rect" coords="1,116,284,223" alt="Label" href="#sA.1.1.3" />
<area shape="rect" coords="1,227,365,307" alt="Messages" href="#sA.1.1.5" />
<area shape="rect" coords="284,35,365,225" alt="Font Size" href="#sA.1.1.4" />
</map>
<h3 id="sA.1.1.1">width</h3>
<P style="margin-top:-20px"> <small><a href="#sA1.1.1-img">go back to the image</a></small>
<P> Width sets the width of the gui, measured in number of characters. The default values vary from one box to another:
<ul>
<li> Number Box: Default width is 5
<li> List Box: Default width is 20
<li> Symbol Box: Default width is 10
</ul>
<P> If the box contents are bigger than its size, the box will show a '>' character on the right end.
You can then edit the width parameter to a bigger value if you want to see its full contents.
<P> Another option to force the gui to show all contents is giving the special width of 0. Doing so will make the gui resize itself
to fit everything each time it changes its contents. Be careful, this is less CPU efficient than using a fixed width size since it
forces the gui to recalculate its width for each new input it receives. In this special state, the minimum width displayed is 3.
<P> Number box has a unique feature when you set its width to 1. It will act as a toggle object, so everytime you click on it
it will toggle from 0 to 1.
<h3 id="sA.1.1.2">limits</h3>
<P style="margin-top:-20px"> <small><a href="#sA1.1.1-img">go back to the image</a></small>
<P> For List Boxes and Number Boxes, Limits sets upper and lower bounds for when interacting with the gui by clicking and
dragging with the mouse.
<P>They don't prevent setting a number out of bounds by other means, so it is still possible to set
a lower or bigger number in some ways: by typing the number directly on the gui and pressing enter; by receiving a number
as an input through its inlet; or by receiving the number through its receive symbol.
<P> Setting the Lower and Upper limits to 0 disables this feature. And if the range applied doesn't make sense (e.g. lower bound is
higher than upper bound) the numbers set are ignored and reset to their default 0 value.
<P> While Symbol box has limits properties, they are silently ignored.
<h3 id="sA.1.1.3">label</h3>
<P style="margin-top:-20px"> <small><a href="#sA1.1.1-img">go back to the image</a></small>
<P> Label sets a label that is displayed next to the GUI, according to the direction chosen.
<P> If you put $0, $1, $2 etc in any place in the label, it will be replaced by the correspondent argument of the parent patch
the gui lives in.
<P> Not all characters can be used in a label. A comma, semicolon, backslash and curly braces will be ignored.
<h3 id="sA.1.1.4">font size</h3>
<P style="margin-top:-20px"> <small><a href="#sA1.1.1-img">go back to the image</a></small>
<P> The font size affects both gui contents size and its accompaning label, if there is one.
<P>By default it is set to auto. Auto just sets the font size to the same value as the one from the patch the gui lives in.
This value will follow any updates you make in <b> Edit -> Font </b> menu from the patch.
<h3 id="sA.1.1.5">messages</h3>
<P style="margin-top:-20px"> <small><a href="#sA1.1.1-img">go back to the image</a></small>
<P> Messages section allows the user to set a send or receive symbol for the gui. This enables communication from the gui directly
to a receive object or from a send object directly to the gui.
<P> If a send symbol is set, the gui loses its outlet rectangle. And if a receive symbol is set, the gui loses its inlet rectangle.
This change is only visual, so any connections that exists before will still be kept, and you can still make connections to the gui.
The Visual change is just a hint to remember that the gui has a send/receive symbol set.
<P> It is possible to use $0, $1, $2 and etc in the send/receive symbols. They will be replaced by the corresponding argument of
the patch the gui lives in.
<P> If more than a gui has the same receive symbol, the order in which they will receive the data depends on the order they were
created. The last one created will receive the data first. And if you cut and then paste any of these gui, this order will reset,
so this new pasted gui will be the first to receive data from its corresponding send object. (Don't rely on this behaviour, if
you need an specific order please give different names to receive symbols and use a trigger object to organize the order they will
receive the data, this will prevent hard to detect bugs in your patch).
<h3 id="sA.1.2">A.1.2 arrays</h3>
<P> There is a complete explanation of arrays and its 2 properties dialogs on
<a href="x2.htm#s8">numeric arrays</a> section on this manual. (TODO: should we move it to here? or create a fast reference here?)
<hr>
<h3 id="sA.2">A.2 iemgui objects:</h3>
<h3 id="sA.2.1">A.2.1 overall structure</h3>
<P> All iemguis have similar Properties dialogs with repeating sections from one to another. To avoid repetition the common parts
will be explained together.
<P> For a complete structure, here is a full image of the properties of a bang:
<img src="figA.2.png">
<P> From top to bottom, the properties dialogs always start with settings that control the size of the gui, followed by specific parameters
unique to each object.
<P> Then we have the Messages section, where we set send and receive symbols to be able to communicate back and forth with that
gui (all iemguis have a send and a receive symbols except for VU Meter which only has a receive symbol).
<P> Then we have the Label section, which allows us to draw a text to be shown next to that gui.
<P>And for last we have a Colors section, to customise the appearance of the gui.
<h3 id="sA.2.2">A.2.2 unique parameters:</h3>
<hr>
<h3 id="sA.2.2.1">bang</h3>
<img src="figA.3.png">
<ul>
<li> <b>Size:</b>
The width of the sides of the square in pixels. The minimum size allowed is 8.
</li>
<hr>
<li> <p> <b>Flash Time (msec):</b> Controls how long the bang keeps visually on when it is activated,
which will always be inside the range determined by the min and max parameters:
</p>
<ul>
<li><b>Min:</b> The minimum time to keep on, must be a value equal or lower than the max.
Default value is 50 milliseconds.
</li>
<li><b>Max:</b> The maximum time to keep on. Default value is 250 milliseconds.
</li>
</ul>
<p>The actual flash time will be calculated based on the rate in which the bang is being activated, which
may lead to these 4 situations:
<ul>
<li>If the time since the last bang is longer than 2 times the maximum parameter, the bang will flash for
'max' milliseconds long.
</li>
<br>
<li>If the time since the last bang happened is shorter than 2 times the maximum parameter, the bang will try
to flash for half this time. So for example: if the max parameter is 500 msec and the last bang happened 900
msec ago, the bang will try to flash for 450 msec. If this value is higher than the minimum time allowed, it
will succeed and bang will keep on for 450 milliseconds.
</li>
<br>
<li>If the last condition happened but the calculated time is shorter than the minimum parameter, the bang will
flash for 'min' milliseconds long.
</li>
<br>
<li>And for last, if the time since the bang happened is shorter than the minimum parameter, the bang will just
keep visually on. It will appear as the bang is frozen, but the bangs will still happen.
</li>
<br>
</ul>
</li>
<hr>
<li> <b>Parameters:</b>
<ul>
<li><b>No Init:</b> Nothing happens. It is the default value. </li>
<li><b>Init:</b> When a patch is loaded, this bang will output one bang, as if it was triggered by a loadbang object.</li>
</ul>
</li>
</ul>
<hr>
<h3 id="sA.2.2.2">canvas</h3>
<img src="figA.4.png">
<ul>
<li> <P> <b>Size:</b>
This size controls the width of the clickable square of the object. It can be seen when you
are on edit mode (it gets a blue color) or if the size is bigger than the Visible Rectangle
(its color is the same as the color chosen for the canvas background). This square is always
in the upper left corner of the canvas.
<P> Its default value depends on the font size of the patch. It can get as small as 1 pixel. Having
a small size is good to prevent the object from receiving right clicks when you want to interact with
other objects in front of the canvas. Just keep in mind that a value too small will make it very hard
to open the properties dialog again.
</li>
<hr>
<li> <b>Visible Rectangle (pix):</b>
<ul>
<li>Width:
</li>
<li>Height:
</li>
</ul>
</li>
</ul>
<hr>
<h3 id="sA.2.2.3">number2</h3>
<img src="figA.5.png">
<ul>
<li><b>Width (digits):</b>
</li>
<li><b>Height:</b>
</li>
<hr>
<li><b>Output Range:</b>
<ul>
<li>Lower:
</li>
<li>Upper:
</li>
</ul>
</li>
<hr>
<li><b>Parameters:</b>
<ul>
<li>linear:
</li>
<li>logarithmic:
</li>
<hr>
<li>No init:
</li>
<li>Init:
</li>
<hr>
<li>Log height:
</li>
</ul>
</li>
</ul>
<hr>
<h3 id="sA.2.2.4">radio</h3>
<img src="figA.6.png">
<ul>
<li><b>Size:</b>
Sets the width of each square of the radio measured in pixels. The minimum value allowed is 8.
</li>
<hr>
<li><b>Parameters:</b>
<ul>
<li>No init:
</li>
<li>Init:
</li>
<hr>
<li>Num cells:
</li>
</ul>
</li>
</ul>
<hr>
<h3 id="sA.2.2.5">slider</h3>
<img src="figA.7.png">
<ul>
<li><b>Width:</b>
</li>
<li><b>Height:</b>
</li>
<hr>
<li><b>Output Range:</b>
<ul>
<li>Lower:
</li>
<li>Upper:
</li>
</ul>
</li>
<hr>
<li><b>Parameters:</b>
<ul>
<li>linear:
</li>
<li>logarithmic:
</li>
<hr>
<li>No init:
</li>
<li>Init:
</li>
<hr>
<li>Steady on click:
</li>
<li>Jump on click:
</li>
</ul>
</li>
</ul>
<hr>
<h3 id="sA.2.2.6">toggle</h3>
<img src="figA.8.png">
<ul>
<li><b>Size:</b>
</li>
<hr>
<li><b>Non Zero Value:</b>
</li>
<hr>
<li><b>Parameters:</b>
<ul>
<li>No init:
</li>
<li>Init:
</li>
</ul>
</li>
</ul>
<hr>
<h3 id="sA.2.2.7">vu-meter</h3>
<img src="figA.9.png">
<ul>
<li><b>Width:</b>
</li>
<li><b>Height:</b>
</li>
<hr>
<li><b>Parameters:</b>
<ul>
<li>scale:
</li>
<li>no scale:
</li>
</ul>
</li>
</ul>
<hr>
<h3 id="sA.2.3">A.2.3 common sections:</h3>
<h3 id="sA.2.3.1">messages</h3>
<img src="figA.10.png">
<h3 id="sA.2.3.2">label</h3>
<img src="figA.11.png">
<h3 id="sA.2.3.3">colors</h3>
<img src="figA.12.png">
<P>
<BR><BR>
<A href="index.htm#sA"> back to table of contents </A>
<BR><BR>
</P>
</div>
</BODY>
</HTML>