20 typedef struct _loader{
26 void* j0x2eloader_new(t_symbol *name,
long argc, t_atom *argv);
29 static t_class *loader_class;
35 #ifdef STUFF_INHERITED_FROM_PLUGTASTIC
37 static t_class* sPlugtasticClass;
38 static (t_object*) sPlugtasticObject;
39 static t_symbol* ps_plugtastic;
40 static long sPlugtasticSplash = 1;
43 typedef struct _plugtastic {
50 t_plugtastic* plugtastic_new()
52 t_plugtastic*
self = (t_plugtastic*)(object_alloc(sPlugtasticClass));
57 c = class_findbyname(_sym_box, _sym_forward);
59 p = (t_object*)newinstance(_sym_forward, 0, NULL);
61 c = class_findbyname(_sym_box, _sym_forward);
81 t_max_err plugtastic_getpref(
void *dummy,
void *attr,
long *argc, t_atom **argv)
85 atom_alloc_array(1, argc, argv, &alloc);
86 atom_setlong(*argv, sPlugtasticSplash);
90 t_max_err plugtastic_setpref(
void *dummy,
void *attr,
long argc, t_atom *argv)
92 sPlugtasticSplash = atom_getlong(argv);
99 void plugtastic_get_splash(t_plugtastic*
self)
104 if (self->forward != NULL) {
105 atom_setlong(&a, *self->openSplash);
106 object_method_typed(self->forward, _sym_int, 1, &a, NULL);
111 void plugtastic_set_splash(t_plugtastic*
self,
long state)
113 *
self->openSplash = state;
116 void plugtastic_classinit()
118 sPlugtasticClass = class_new((
char*)
"plugtastic", (method)plugtastic_new, (method)NULL,
sizeof(t_plugtastic), (method)NULL, 0);
123 class_register(_sym_nobox, sPlugtasticClass);
130 #endif // STUFF_INHERITED_FROM_PLUGTASTIC
143 common_symbols_init();
144 epd_add_folder(
"Jamoma",
"externals");
145 epd_add_folder(
"Jamoma",
".");
146 epd_add_folder(
"Jamoma",
"abstractions");
149 post(
"build on %s at %s", __DATE__, __TIME__);
153 c = class_new(gensym(
"j.loader"),(t_newmethod)j0x2eloader_new, 0,
sizeof(t_loader), 0, A_GIMME, 0);
155 #ifdef STUFF_INHERITED_FROM_PLUGTASTIC
156 plugtastic_classinit();
157 sPlugtasticObject = (t_object*)plugtastic_new();
158 ps_plugtastic = GENSYM(
"plugtastic");
159 ps_plugtastic->s_thing = sPlugtasticObject;
161 post(
"Plugtastic Version %s | jamoma.org", PLUGTASTIC_VERSION);
175 if (sPlugtasticSplash) {
176 char name[MAX_FILENAME_CHARS];
179 long typelist[2] = {
'JSON',
'TEXT'};
185 strncpy_zero(name,
"Plugtastic.maxpat", MAX_FILENAME_CHARS);
186 err = locatefile_extended(name, &path, &type, typelist, 2);
187 dictionary_read(name, path, &d);
190 p = (t_object*)object_new_typed(_sym_nobox, _sym_jpatcher, 1, a);
191 object_attr_setlong(p, _sym_locked, 1);
192 object_attr_setchar(p, _sym_enablehscroll, 0);
193 object_attr_setchar(p, _sym_enablevscroll, 0);
194 object_attr_setchar(p, _sym_toolbarvisible, 0);
195 object_attr_setsym(p, _sym_title, gensym(
"Welcome to Plugtastic"));
196 object_attr_setparse(p, _sym_rect,
"271 170 799 489");
197 object_attr_setparse(p, _sym_defrect,
"271 170 799 489");
199 object_method(p, _sym_vis);
200 object_method(p, _sym_loadbang);
203 object_method_parse(p, _sym_window,
"flags nozoom", NULL);
204 object_method_parse(p, _sym_window,
"flags nogrow", NULL);
205 object_method_parse(p, _sym_window,
"exec", NULL);
207 #endif // STUFF_INHERITED_FROM_PLUGTASTIC
219 extern "C" int JAMOMA_EXPORT_MAXOBJ Jamoma_setup(
void)
227 void *j0x2eloader_new(t_symbol *name,
long argc, t_atom *argv)
229 t_loader *obj = (t_loader*)pd_new(loader_class);
Various utilities for interfacing with Pd that are not specific to JamomaModular as such...
int JAMOMA_EXPORT_MAXOBJ setup_j0x2eloader(void)