aboutsummaryrefslogtreecommitdiff
path: root/shared/common/loud.h
blob: 3fdcefd868fab166c203b5a30ad3b57bb2834b57 (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
/* Copyright (c) 2002-2004 krzYszcz and others.
 * For information on usage and redistribution, and for a DISCLAIMER OF ALL
 * WARRANTIES, see the file, "LICENSE.txt," in this distribution.  */

#ifndef __LOUD_H__
#define __LOUD_H__

#define LOUD_CLIP  1
#define LOUD_WARN  2

enum { LOUD_ARGOK, LOUD_ARGUNDER, LOUD_ARGOVER, LOUD_ARGTYPE, LOUD_ARGMISSING };

EXTERN_STRUCT _loudcontext;
#define t_loudcontext  struct _loudcontext

void shared_usecompatibility(void);
void shared_setcompatibility(t_symbol *s);
t_symbol *shared_getcompatibility(void);
void shared_setmaxcompatibility(void);
int shared_getmaxcompatibility(void);
int shared_matchignorecase(char *test, char *pattern);

char *loud_ordinal(int n);
void loud_error(t_pd *x, char *fmt, ...);
void loud_errand(t_pd *x, char *fmt, ...);
void loud_syserror(t_pd *x, char *msg);
void loud_nomethod(t_pd *x, t_symbol *s);
void loud_messarg(t_pd *x, t_symbol *s);
int loud_checkint(t_pd *x, t_float f, int *valuep, t_symbol *mess);
void loud_classarg(t_class *c);
void loud_warning(t_pd *x, char *who, char *fmt, ...);
void loud_notimplemented(t_pd *x, char *name);
void loud_incompatible(t_class *c, char *fmt, ...);
void loud_incompatible_max(t_class *c, int maxmax, char *what);
int loud_floatarg(t_class *c, int which, int ac, t_atom *av,
		  t_float *vp, t_float minval, t_float maxval,
		  int underaction, int overaction, char *what);

void loudx_error(t_loudcontext *lc, char *fmt, ...);
void loudx_errand(t_loudcontext *lc, char *fmt, ...);
void loudx_nomethod(t_loudcontext *lc, t_symbol *s);
void loudx_messarg(t_loudcontext *lc, t_symbol *s);
void loudx_warning(t_loudcontext *lc, char *fmt, ...);
void loudx_setcontext(t_loudcontext *lc, t_pd *caller, char *callername,
		      t_symbol *s, int ac, t_atom *av);
void loudx_setcaller(t_loudcontext *lc, t_pd *caller, char *callerfmt, ...);
t_symbol *loudx_getselector(t_loudcontext *lc);
t_atom *loudx_getarguments(t_loudcontext *lc, int *acp);
void loudx_freecontext(t_loudcontext *lc);
t_loudcontext *loudx_newcontext(t_pd *caller, char *callername,
				t_symbol *s, int ac, t_atom *av);

#endif