Jamoma API  0.6.0.a19
Max/source/j.model/j.model.h
Go to the documentation of this file.
1 /** @file
2  *
3  * @ingroup implementationMaxExternals
4  *
5  * @brief j.model / j.view - The main control center of Jamoma model and view patcher
6  *
7  * @details
8  *
9  * @authors Tim Place, Théo de la Hogue, Trond Lossius
10  *
11  * @copyright Copyright © 2010 by Tim Place and Théo de la Hogue @n
12  * This code is licensed under the terms of the "New BSD License" @n
13  * http://creativecommons.org/licenses/BSD/
14  */
15 
16 
18 #include "jpatcher_api.h"
19 #include "TTModelInfo.h"
20 
21 /** Data structure for storing extra data.
22  @ingroup typedefs
23  */
24 typedef struct extra {
25  TTObject *modelInfo;
26  TTAddress containerAddress; ///< Store the address of the container (see in model_subscribe and model_free).
27  TTAddress argAddress; ///< Store the address from the argument (see in model_upper_view_model_address).
28 
29  TTString *text; ///< The text of the editor to read after edclose.
30  t_object *textEditor; ///< The text editor window.
31 
32  TTObject *presetManager; ///< The preset manager object.
33  TTSymbol attr_presets;
34  TTPtr filewatcher; ///< A preset filewatcher.
35  TTObject *toEdit; ///< The object to edit (a preset or all the preset list).
36  TTSymbol presetName; ///< The name of the edited preset.
37 
38  TTHashPtr attr_amenities;
39  TTBoolean all_amenities;
40  TTBoolean no_amenities;
41 } t_extra;
42 #define EXTRA ((t_extra*)x->extra)
43 
44 #define data_out 0
45 #define dump_out 1
46 
47 
48 /** Set up what methods (Max messages) that the wrapped class is to respond to.
49  @param c Pointer to the wrapped class.
50  */
51 void WrapTTContainerClass(WrappedClassPtr c);
52 
53 
54 /** Constructor: Initiate the wrapped object instance.
55  @param self Pointer to the object.
56  @param argc The number of arguments to the new object instance
57  @param argv Pointer to the array of atoms containing the arguments to the object instance.
58  */
59 void WrappedContainerClass_new(TTPtr self, long argc, t_atom *argv);
60 
61 
62 /** Deconstructor: Destroy the object and free memory assigned to it.
63  @param self Pointer to the object.
64  */
66 
67 
68 /**
69  @param self Pointer to the object.
70  @param msg The message sent to the object.
71  @param argc The number of arguments of the message.
72  @param argv The arguments of the message as an array of atoms.
73  */
74 void WrappedContainerClass_anything(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
75 
76 
77 /** Display assist messages for inlets and outlets in Max.
78  @param self Pointer to the object.
79  @param b This does not seem to be used.
80  @param msg "1" if we are to display assist message for an inlet, else we are to display assist message for an outlet.
81  @param arg The number of the inlet or outlet that we are to display assist message for. 0 is the leftmost.
82  @param dst Pointer to the destination used for displaying the assist message.
83  */
84 void model_assist(TTPtr self, void *b, long msg, long arg, char *dst);
85 
86 
87 /**
88  @param self
89  @param patcherInfo
90  */
91 void model_share_patcher_info(TTPtr self, TTValuePtr patcherInfo);
92 
93 
94 /**
95  @param self
96  @param patcherNode
97  */
98 void model_share_patcher_node(TTPtr self, TTNodePtr *patcherNode);
99 
100 
101 /**
102  @param self
103  @param msg
104  @param argc
105  @param argv
106  */
107 void model_return_address(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
108 
109 
110 
111 /**
112  @param self
113  @param msg
114  @param argc
115  @param argv
116  */
117 void model_return_value(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
118 
119 
120 /**
121  @param self
122  */
123 void model_subscribe(TTPtr self);
124 
125 
126 /**
127  @param self
128  @param msg
129  @param argc
130  @param argv
131  */
132 void model_subscribe_view(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
133 
134 
135 /**
136  @param self
137  @param msg
138  @param argc
139  @param argv
140  */
141 void model_return_upper_view_model_address(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
142 
143 
144 /**
145  @param self
146  */
147 void model_init(TTPtr self);
148 
149 
150 /**
151  @param self
152  @param msg
153  @param argc
154  @param argv
155  */
156 void model_address(TTPtr self, t_symbol *msg, long argc, t_atom *argv); // only in view patch
157 
158 
159 /**
160  @param self
161  @param msg
162  @param argc
163  @param argv
164  */
165 void model_reference_write(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
166 
167 
168 /**
169  @param self
170  @param msg
171  @param argc
172  @param argv
173  */
174 void model_reference_dowrite(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
175 
176 
177 /**
178  @param self
179  */
180 void model_preset_amenities(TTPtr self);
181 
182 
183 /**
184  @param self
185  @param msg
186  @param argc
187  @param argv
188  */
189 void model_preset_return_names(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
190 
191 
192 /**
193  @param self
194  @param filename
195  @param path
196  */
197 void model_preset_filechanged(TTPtr self, char *filename, short path);
198 
199 
200 /**
201  @param self
202  @param msg
203  @param argc
204  @param argv
205  */
206 void model_preset_read(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
207 
208 
209 /**
210  @param self
211  @param msg
212  @param argc
213  @param argv
214  */
215 void model_preset_doread(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
216 
217 
218 /**
219  @param self
220  */
221 void model_preset_read_again(TTPtr self);
222 
223 
224 /**
225  @param self
226  */
228 
229 
230 /**
231  @param self
232  @param msg
233  @param argc
234  @param argv
235  */
236 void model_preset_write(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
237 
238 
239 /**
240  @param self
241  @param msg
242  @param argc
243  @param argv
244  */
245 void model_preset_dowrite(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
246 
247 
248 /**
249  @param self
250  */
252 
253 
254 /**
255  @param self
256  */
258 
259 
260 /**
261  @param self
262  */
263 void model_preset_default(TTPtr self);
264 
265 
266 /**
267  @param self
268  @param msg
269  @param argc
270  @param argv
271  */
272 void model_preset_dorecall(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
273 
274 
275 /**
276  @param self
277  @param msg
278  @param argc
279  @param argv
280  */
281 void model_preset_edit(TTPtr self, t_symbol *msg, long argc, const t_atom *argv);
282 
283 
284 /**
285  @param self
286  @param text
287  @param size
288  */
289 void model_preset_edclose(TTPtr self, char **text, long size);
290 
291 
292 /**
293  @param self
294  */
295 void model_preset_doedit(TTPtr self);
296 
297 
298 /**
299  @param self
300  @param attr
301  @param ac
302  @param av
303  */
304 t_max_err model_preset_get_presets(TTPtr self, TTPtr attr, long *ac, t_atom **av);
305 
306 
307 /**
308  @param self
309  @param attr
310  @param ac
311  @param av
312  */
313 t_max_err model_preset_set_presets(TTPtr self, TTPtr attr, long ac, const t_atom *av);
314 
315 
316 /**
317  @param self
318  @param attr
319  @param ac
320  @param av
321  */
322 t_max_err model_get_amenities(TTPtr self, TTPtr attr, long *ac, t_atom **av);
323 
324 
325 /**
326  @param self
327  @param attr
328  @param ac
329  @param av
330  */
331 t_max_err model_set_amenities(TTPtr self, TTPtr attr, long ac, t_atom *av);
332 
333 
334 /**
335  @param self
336  @param name
337  */
339 
340 
341 /**
342  @param self
343  @param attr
344  @param argc
345  @param argv
346  */
347 void model_signal_amenities(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
348 
349 
350 /**
351  @param self
352  @param attr
353  @param argc
354  @param argv
355  */
356 void model_signal_return_data_active(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
357 
358 
359 /**
360  @param self
361  @param attr
362  @param argc
363  @param argv
364  */
365 void model_signal_return_data_bypass(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
366 
367 
368 /**
369  @param self
370  @param attr
371  @param argc
372  @param argv
373  */
374 void model_signal_return_audio_mute(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
375 
376 
377 /**
378  @param self
379  @param attr
380  @param argc
381  @param argv
382  */
383 void model_signal_return_audio_bypass(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
384 
385 
386 /**
387  @param self
388  @param attr
389  @param argc
390  @param argv
391  */
392 void model_signal_return_audio_mix(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
393 
394 
395 /**
396  @param self
397  @param attr
398  @param argc
399  @param argv
400  */
401 void model_signal_return_audio_gain(TTPtr self, t_symbol *msg, long argc, t_atom *argv);
402 
void model_signal_return_audio_mix(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
void model_preset_doedit(TTPtr self)
t_max_err model_preset_set_presets(TTPtr self, TTPtr attr, long ac, const t_atom *av)
bool TTBoolean
Boolean flag, same as Boolean on the Mac.
Definition: TTBase.h:167
void model_assist(TTPtr self, void *b, long msg, long arg, char *dst)
Display assist messages for inlets and outlets in Max.
TTBoolean model_test_amenities(TTPtr self, TTSymbol name)
void model_subscribe_view(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
void model_preset_dorecall(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
void model_preset_return_names(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
void model_reference_dowrite(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
void model_signal_amenities(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
We build a directory of TTNodes, and you can request a pointer for any TTNode, or add an observer to ...
Definition: TTNode.h:59
void model_preset_amenities(TTPtr self)
The TTAddress class is used to represent a string and efficiently pass and compare that string...
Definition: TTAddress.h:29
Create and use Jamoma object instances.
Definition: TTObject.h:29
void model_preset_edclose(TTPtr self, char **text, long size)
Data structure for storing extra data.
void model_preset_edit(TTPtr self, t_symbol *msg, long argc, const t_atom *argv)
TTPtr filewatcher
A preset filewatcher.
void model_address(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
void model_signal_return_audio_mute(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
TTObject * presetManager
The preset manager object.
Maintain a collection of TTValue objects indexed by TTSymbol pointers.
Definition: TTHash.h:36
void WrappedContainerClass_new(TTPtr self, long argc, t_atom *argv)
Constructor: Initiate the wrapped object instance.
void model_subscribe(TTPtr self)
void model_signal_return_audio_gain(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
void * TTPtr
A generic pointer.
Definition: TTBase.h:248
void model_init(TTPtr self)
void model_return_value(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
The TTSymbol class is used to represent a string and efficiently pass and compare that string...
Definition: TTSymbol.h:26
void model_preset_doread_again(TTPtr self)
void model_preset_write_again(TTPtr self)
void model_preset_dowrite_again(TTPtr self)
t_max_err model_get_amenities(TTPtr self, TTPtr attr, long *ac, t_atom **av)
t_max_err model_set_amenities(TTPtr self, TTPtr attr, long ac, t_atom *av)
void model_preset_read_again(TTPtr self)
void WrapTTContainerClass(WrappedClassPtr c)
Set up what methods (Max messages) that the wrapped class is to respond to.
void model_preset_filechanged(TTPtr self, char *filename, short path)
t_max_err model_preset_get_presets(TTPtr self, TTPtr attr, long *ac, t_atom **av)
void model_preset_write(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
void model_return_upper_view_model_address(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
void model_preset_default(TTPtr self)
Wraps Jamoma Core classes as objects for Max/MSP.
void WrappedContainerClass_free(TTPtr self)
Deconstructor: Destroy the object and free memory assigned to it.
A base class for Jamoma models.
void model_signal_return_data_active(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
void model_reference_write(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
void model_preset_dowrite(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
void model_share_patcher_node(TTPtr self, TTNodePtr *patcherNode)
void WrappedContainerClass_anything(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
The TTString class is used to represent a string.
Definition: TTString.h:34
TTAddress containerAddress
Store the address of the container (see in model_subscribe and model_free).
void model_signal_return_audio_bypass(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
void model_preset_read(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
void model_share_patcher_info(TTPtr self, TTValuePtr patcherInfo)
void model_signal_return_data_bypass(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
TTSymbol presetName
The name of the edited preset.
void model_return_address(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
[doxygenAppendixC_copyExample]
Definition: TTValue.h:34
void model_preset_doread(TTPtr self, t_symbol *msg, long argc, t_atom *argv)
TTAddress argAddress
Store the address from the argument (see in model_upper_view_model_address).