blob: 3267721d93aa03e533034ebc4bfb9c207ebb2106 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
/* Copyright (c) 1997-2003 Miller Puckette, krzYszcz, and others.
* For information on usage and redistribution, and for a DISCLAIMER OF ALL
* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
#include <string.h>
#include "m_pd.h"
#include "unstable/pd_imp.h"
#include "unstable/fragile.h"
int fragile_class_count(void)
{
return (pd_objectmaker->c_nmethod);
}
void fragile_class_printnames(char *msg, int firstndx, int lastndx)
{
t_methodentry *mp = pd_objectmaker->c_methods;
int ndx, len = strlen(msg);
startpost(msg);
for (ndx = firstndx, mp += ndx; ndx <= lastndx; ndx++, mp++)
{
t_symbol *s = mp->me_name;
if (s && s->s_name[0] != '_')
{
int l = 1 + strlen(s->s_name);
if ((len += l) > 66)
{
endpost();
startpost(" ");
len = 3 + l;
}
poststring(s->s_name);
}
}
endpost();
}
/* This structure is local to g_array.c. We need it,
because there is no other way to get into array's graph. */
struct _garray
{
t_gobj x_gobj;
t_glist *x_glist;
/* ... */
};
t_glist *fragile_garray_glist(void *arr)
{
return (((struct _garray *)arr)->x_glist);
}
/* This is local to m_obj.c.
LATER export write access to o_connections field ('grab' class).
LATER encapsulate 'traverseoutlet' routines (not in the stable API yet). */
struct _outlet
{
t_object *o_owner;
struct _outlet *o_next;
t_outconnect *o_connections;
t_symbol *o_sym;
};
/* obj_starttraverseoutlet() replacement */
t_outconnect *fragile_outlet_connections(t_outlet *o)
{
return (o ? o->o_connections : 0);
}
|