<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span>Hi.</span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span><br>
</span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I'm starting to dwelve into pd's C side of things. I'm having a really hard time figuring stuff out. (i have mainly experience with more high-level languages like Java, etc)</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I'm trying to experiment with some editor features and i've been wandering: </div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
why the <b>_inlet</b> and <b>_outlet </b>structures are defined in <i>m_obj.c </i>
instead of <i>m_pd.h</i> ?</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
This way i can't access the structure members. I'm trying to traverse an t_object's t_outlets linked list but</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<blockquote style="border-left: 3px solid rgb(200, 200, 200); border-top-color: rgb(200, 200, 200); border-right-color: rgb(200, 200, 200); border-bottom-color: rgb(200, 200, 200); padding-left: 1ex; margin-left: 0.8ex; color: rgb(102, 102, 102);">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
t_outlet *o = selected_object->te_outlet;</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
o = o->o_next;<br>
</div>
</blockquote>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
but this throws me an "dereferencing incomplete type" error since there is no definition for
<b>t_outlet</b> inside <i>m_pd</i>.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
 The same goes for accessing members of <b>t_outconnect</b> for example, but there are two methods that allows you to traverse the connections linked list</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<blockquote style="border-left: 3px solid rgb(200, 200, 200); border-top-color: rgb(200, 200, 200); border-right-color: rgb(200, 200, 200); border-bottom-color: rgb(200, 200, 200); padding-left: 1ex; margin-left: 0.8ex; color: rgb(102, 102, 102);">
obj_starttraverseoutlet()<i>       (m_imp.h)<i style=" font-size: 16px; background-color: rgb(255, 255, 255)">(m_obj.c)</i></i><br>
obj_nexttraverseoutlet()<i style=" font-size: 16px; background-color: rgb(255, 255, 255)">       (m_imp.h)<i style=" font-size: 16px; background-color: rgb(255, 255, 255)"><i style=" background-color: rgb(255, 255, 255)">(m_obj.c)</i></i></i><br>
</blockquote>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span></span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<div>But i couldn't find any method to traverse an <b>t_object</b>'s linked list of
<b>t_outlets. </b>The only three methods that seems to return <b>t_outlets</b> pointers are</div>
<div><b><br>
</b></div>
<blockquote style="border-left: 3px solid rgb(200, 200, 200); border-top-color: rgb(200, 200, 200); border-right-color: rgb(200, 200, 200); border-bottom-color: rgb(200, 200, 200); padding-left: 1ex; margin-left: 0.8ex; color: rgb(102, 102, 102);">
<div>t_outlet *outlet_new(t_object *owner, t_symbol *s)                                     
<i> (m_obj.c)</i><br>
</div>
<div>t_outlet *canvas_addoutlet(t_canvas *x, t_pd *who, t_symbol *s)             <i> (g_graph.c)</i><br>
</div>
</blockquote>
<div>and </div>
<blockquote style="border-left: 3px solid rgb(200, 200, 200); border-top-color: rgb(200, 200, 200); border-right-color: rgb(200, 200, 200); border-bottom-color: rgb(200, 200, 200); padding-left: 1ex; margin-left: 0.8ex; color: rgb(102, 102, 102);">
<div>t_outlet *voutlet_getit(t_pd *x)       <i> (g_io.c)</i><br>
</div>
</blockquote>
<div>which i currently do not understand but doesn't seem to be what i'm looking for.</div>
<div><br>
</div>
<div>How could i traverse from, lets say the <i style="">g_editor.c</i> file, all the
<b style="">t_inlet</b>s and <b>t_outlet</b>s of an <b>t_object</b>?</div>
<div><br>
</div>
<div><span style=" font-size: 16px; background-color: rgb(255, 255, 255); display: inline !important">Btw, on a second question, what exactly are vinlets and voutlets? </span><br>
</div>
<div><span style=" font-size: 16px; background-color: rgb(255, 255, 255); display: inline !important"><br>
</span></div>
<div><span style=" font-size: 16px; background-color: rgb(255, 255, 255); display: inline !important">Cheers,</span></div>
<div><span style=" font-size: 16px; background-color: rgb(255, 255, 255); display: inline !important">Henri.</span></div>
</div>
</body>
</html>