17 #ifndef __JAMOMA_FOR_PD_H__
18 #define __JAMOMA_FOR_PD_H__
20 typedef unsigned int t_fourcc;
24 #define MAX_FILENAME_CHARS MAXPDSTRING
28 #pragma warning(disable:4083) //warning C4083: expected 'newline'; found identifier 's'
32 #include <Carbon/Carbon.h>
35 #ifdef TT_PLATFORM_WIN
38 #define JAMOMA_EXPORT_MAXOBJ __declspec(dllexport)
41 #define JAMOMA_EXPORT __declspec(dllexport)
48 #define JAMOMA_EXPORT __declspec(dllimport)
53 #else // TT_PLATFORM_MAC
55 #define JAMOMA_EXPORT_MAXOBJ __attribute__((visibility("default")))
58 #define JAMOMA_EXPORT __attribute__((visibility("default")))
66 #include "TTFoundationAPI.h"
74 #include "cicm_wrapper.h"
78 #include "commonsyms.h"
85 #include "JamomaPdVersion.h"
92 #define JAMOMA "Jamoma"
93 #define JAMOMA_UNIT_HEIGHT 35.0
94 #define JAMOMA_UNIT_WIDTH 150.0
95 #define JAMOMA_MENU_FONT "Arial"
96 #define JAMOMA_MENU_FONTSIZE 11.0
97 #define JAMOMA_DEFAULT_FONT "Verdana"
98 #define JAMOMA_DEFAULT_FONTSIZE 9.0
99 #define JAMOMA_BUTTON_FONT JAMOMA_DEFAULT_FONT
102 #define sysmem_freeptr free
103 #define sysmem_newptr malloc
104 #define object_classname eobj_getclassname
105 #define MAX_PATH_CHARS 2048
106 #define attr_args_offset atoms_get_attributes_offset
107 #define attr_args_process ebox_attrprocess_viatoms
109 void JAMOMA_EXPORT jamoma_init(
void);
142 bool JAMOMA_EXPORT
jamoma_loadextern(t_symbol *objectname,
long argc, t_atom *argv, t_object **
object);
145 t_symbol* JAMOMA_EXPORT object_attr_getsym(
void *x, t_symbol *s);
146 void* JAMOMA_EXPORT object_attr_getobj(
void *x, t_symbol *s);
147 method JAMOMA_EXPORT object_getmethod(
void* x, t_symbol* s);
148 void* JAMOMA_EXPORT object_method(
void *x, t_symbol *s);
149 void* JAMOMA_EXPORT object_method_typed(
void* x, t_symbol* method, t_symbol* s,
long argc, t_atom* argv);
151 short JAMOMA_EXPORT locatefile_extended(
char *name,
short *outvol, t_fourcc *outtype,
const t_fourcc *filetypelist,
short numtypes);
152 short JAMOMA_EXPORT path_topathname(
const short path,
const char *file,
char *name);
154 #endif //__JAMOMA_FOR_PD__
Data types for Max objects that fit more naturally with the Jamoma coding style.
bool JAMOMA_EXPORT jamoma_loadextern(t_symbol *objectname, long argc, t_atom *argv, t_object **object)
Load obex externals for use within other externals.
The global Jamoma object.
bool JAMOMA_EXPORT jamoma_string_compare(char *s1, char *s2)
Compare two strings.
Jamoma symbols cached to avoid repeated calls to the expensive SymbolGen() function.
bool JAMOMA_EXPORT jamoma_atom_compare(t_symbol *type, t_atom *a1, t_atom *a2)
Utility function to compare two t_atoms.
JamomaModular For Max Shared Library.
void JAMOMA_EXPORT jamoma_atom_copy(t_atom *dst, t_atom *src)
Utility function to perform an atom copy.
the Modular Application Programming Interface