~ubuntu-branches/ubuntu/precise/puredata/precise

« back to all changes in this revision

Viewing changes to .pc/04_hurd.diff/src/s_stuff.h

  • Committer: Bazaar Package Importer
  • Author(s): IOhannes m zmoelnig (gpg-key at iem)
  • Date: 2010-04-23 20:58:31 UTC
  • mfrom: (1.2.7 upstream)
  • Revision ID: james.westby@ubuntu.com-20100423205831-w732by2cge3pdtp9
Tags: 0.42.6-1
* New upstream release
* bumped standards version to 3.8.4
* converted source format to "3.0 (quilt)"
* explicit enumeration of manpages

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Copyright (c) 1997-1999 Miller Puckette.
 
2
* For information on usage and redistribution, and for a DISCLAIMER OF ALL
 
3
* WARRANTIES, see the file, "LICENSE.txt," in this distribution.  */
 
4
 
 
5
/* Audio and MIDI I/O, and other scheduling and system stuff. */
 
6
 
 
7
/* NOTE: this file describes Pd implementation details which may change
 
8
in future releases.  The public (stable) API is in m_pd.h. */  
 
9
 
 
10
/* in s_path.c */
 
11
 
 
12
typedef struct _namelist    /* element in a linked list of stored strings */
 
13
{
 
14
    struct _namelist *nl_next;  /* next in list */
 
15
    char *nl_string;            /* the string */
 
16
} t_namelist;
 
17
 
 
18
t_namelist *namelist_append(t_namelist *listwas, const char *s, int allowdup);
 
19
t_namelist *namelist_append_files(t_namelist *listwas, const char *s);
 
20
void namelist_free(t_namelist *listwas);
 
21
char *namelist_get(t_namelist *namelist, int n);
 
22
void sys_setextrapath(const char *p);
 
23
extern int sys_usestdpath;
 
24
extern t_namelist *sys_externlist;
 
25
extern t_namelist *sys_searchpath;
 
26
extern t_namelist *sys_helppath;
 
27
int sys_open_absolute(const char *name, const char* ext,
 
28
    char *dirresult, char **nameresult, unsigned int size, int bin, int *fdp);
 
29
int sys_trytoopenone(const char *dir, const char *name, const char* ext,
 
30
    char *dirresult, char **nameresult, unsigned int size, int bin);
 
31
t_symbol *sys_decodedialog(t_symbol *s);
 
32
 
 
33
/* s_file.c */
 
34
 
 
35
void sys_loadpreferences( void);
 
36
void sys_savepreferences( void);
 
37
extern int sys_defeatrt;
 
38
extern t_symbol *sys_flags;
 
39
 
 
40
/* s_main.c */
 
41
extern int sys_debuglevel;
 
42
extern int sys_verbose;
 
43
extern int sys_noloadbang;
 
44
extern int sys_nogui;
 
45
extern char *sys_guicmd;
 
46
 
 
47
EXTERN int sys_nearestfontsize(int fontsize);
 
48
EXTERN int sys_hostfontsize(int fontsize);
 
49
 
 
50
extern int sys_defaultfont;
 
51
extern t_symbol *sys_libdir;    /* library directory for auxilliary files */
 
52
extern t_symbol *sys_guidir;    /* directory holding pd_gui, u_pdsend, etc */
 
53
 
 
54
/* s_loader.c */
 
55
 
 
56
typedef int (*loader_t)(t_canvas *canvas, char *classname); /* callback type */
 
57
EXTERN int sys_load_lib(t_canvas *canvas, char *filename);
 
58
EXTERN void sys_register_loader(loader_t loader);
 
59
 
 
60
/* s_audio.c */
 
61
 
 
62
#define SENDDACS_NO 0           /* return values for sys_send_dacs() */
 
63
#define SENDDACS_YES 1 
 
64
#define SENDDACS_SLEPT 2
 
65
 
 
66
#define DEFDACBLKSIZE 64
 
67
extern int sys_schedblocksize;  /* audio block size for scheduler */
 
68
extern int sys_hipriority;      /* real-time flag, true if priority boosted */
 
69
extern t_sample *sys_soundout;
 
70
extern t_sample *sys_soundin;
 
71
extern int sys_inchannels;
 
72
extern int sys_outchannels;
 
73
extern int sys_advance_samples; /* scheduler advance in samples */
 
74
extern int sys_blocksize;       /* audio I/O block size in sample frames */
 
75
extern t_float sys_dacsr;
 
76
extern int sys_schedadvance;
 
77
extern int sys_sleepgrain;
 
78
void sys_set_audio_settings(int naudioindev, int *audioindev,
 
79
    int nchindev, int *chindev,
 
80
    int naudiooutdev, int *audiooutdev, int nchoutdev, int *choutdev,
 
81
    int srate, int advance, int callback);
 
82
void sys_reopen_audio( void);
 
83
void sys_close_audio(void);
 
84
 
 
85
 
 
86
int sys_send_dacs(void);
 
87
void sys_reportidle(void);
 
88
void sys_set_priority(int higher);
 
89
void sys_audiobuf(int nbufs);
 
90
void sys_getmeters(t_sample *inmax, t_sample *outmax);
 
91
void sys_listdevs(void);
 
92
void sys_setblocksize(int n);
 
93
 
 
94
/* s_midi.c */
 
95
#define MAXMIDIINDEV 16         /* max. number of input ports */
 
96
#define MAXMIDIOUTDEV 16        /* max. number of output ports */
 
97
extern int sys_nmidiin;
 
98
extern int sys_nmidiout;
 
99
extern int sys_midiindevlist[];
 
100
extern int sys_midioutdevlist[];
 
101
 
 
102
void sys_open_midi(int nmidiin, int *midiinvec,
 
103
    int nmidiout, int *midioutvec, int enable);
 
104
void sys_get_midi_params(int *pnmidiindev, int *pmidiindev,
 
105
    int *pnmidioutdev, int *pmidioutdev);
 
106
 
 
107
void sys_get_midi_apis(char *buf);
 
108
 
 
109
void sys_reopen_midi( void);
 
110
void sys_close_midi( void);
 
111
EXTERN void sys_putmidimess(int portno, int a, int b, int c);
 
112
EXTERN void sys_putmidibyte(int portno, int a);
 
113
EXTERN void sys_poll_midi(void);
 
114
EXTERN void sys_setmiditimediff(double inbuftime, double outbuftime);
 
115
EXTERN void sys_midibytein(int portno, int byte);
 
116
 
 
117
    /* implemented in the system dependent MIDI code (s_midi_pm.c, etc. ) */
 
118
void midi_getdevs(char *indevlist, int *nindevs,
 
119
    char *outdevlist, int *noutdevs, int maxndev, int devdescsize);
 
120
void sys_do_open_midi(int nmidiindev, int *midiindev,
 
121
    int nmidioutdev, int *midioutdev);
 
122
 
 
123
#ifdef USEAPI_ALSA
 
124
EXTERN void sys_alsa_putmidimess(int portno, int a, int b, int c);
 
125
EXTERN void sys_alsa_putmidibyte(int portno, int a);
 
126
EXTERN void sys_alsa_poll_midi(void);
 
127
EXTERN void sys_alsa_setmiditimediff(double inbuftime, double outbuftime);
 
128
EXTERN void sys_alsa_midibytein(int portno, int byte);
 
129
EXTERN void sys_alsa_close_midi( void);
 
130
 
 
131
 
 
132
    /* implemented in the system dependent MIDI code (s_midi_pm.c, etc. ) */
 
133
void midi_alsa_getdevs(char *indevlist, int *nindevs,
 
134
    char *outdevlist, int *noutdevs, int maxndev, int devdescsize);
 
135
void sys_alsa_do_open_midi(int nmidiindev, int *midiindev,
 
136
    int nmidioutdev, int *midioutdev);
 
137
#endif
 
138
 
 
139
/* m_sched.c */
 
140
EXTERN void sys_log_error(int type);
 
141
#define ERR_NOTHING 0
 
142
#define ERR_ADCSLEPT 1
 
143
#define ERR_DACSLEPT 2
 
144
#define ERR_RESYNC 3
 
145
#define ERR_DATALATE 4
 
146
 
 
147
#define SCHED_AUDIO_NONE 0
 
148
#define SCHED_AUDIO_POLL 1 
 
149
#define SCHED_AUDIO_CALLBACK 2
 
150
void sched_set_using_audio(int flag);
 
151
 
 
152
/* s_inter.c */
 
153
 
 
154
EXTERN void sys_microsleep(int microsec);
 
155
 
 
156
EXTERN void sys_bail(int exitcode);
 
157
EXTERN int sys_pollgui(void);
 
158
 
 
159
EXTERN_STRUCT _socketreceiver;
 
160
#define t_socketreceiver struct _socketreceiver
 
161
 
 
162
typedef void (*t_socketnotifier)(void *x);
 
163
typedef void (*t_socketreceivefn)(void *x, t_binbuf *b);
 
164
 
 
165
EXTERN t_socketreceiver *socketreceiver_new(void *owner,
 
166
    t_socketnotifier notifier, t_socketreceivefn socketreceivefn, int udp);
 
167
EXTERN void socketreceiver_read(t_socketreceiver *x, int fd);
 
168
EXTERN void sys_sockerror(char *s);
 
169
EXTERN void sys_closesocket(int fd);
 
170
 
 
171
typedef void (*t_fdpollfn)(void *ptr, int fd);
 
172
EXTERN void sys_addpollfn(int fd, t_fdpollfn fn, void *ptr);
 
173
EXTERN void sys_rmpollfn(int fd);
 
174
#ifdef UNIX
 
175
void sys_setalarm(int microsec);
 
176
void sys_setvirtualalarm( void);
 
177
#endif
 
178
 
 
179
#define API_NONE 0
 
180
#define API_ALSA 1
 
181
#define API_OSS 2
 
182
#define API_MMIO 3
 
183
#define API_PORTAUDIO 4
 
184
#define API_JACK 5
 
185
#define API_SGI 6
 
186
 
 
187
#if defined(__linux__) || defined(__FreeBSD_kernel__)
 
188
#define API_DEFAULT API_OSS
 
189
#define API_DEFSTRING "OSS"
 
190
#endif
 
191
#ifdef MSW
 
192
#define API_DEFAULT API_MMIO
 
193
#define API_DEFSTRING "MMIO"
 
194
#endif
 
195
#ifdef __APPLE__
 
196
#define API_DEFAULT API_PORTAUDIO
 
197
#define API_DEFSTRING "portaudio"
 
198
#endif
 
199
#ifdef IRIX
 
200
#define API_DEFAULT API_SGI
 
201
#define API_DEFSTRING "SGI Digital Media"
 
202
#endif
 
203
#define DEFAULTAUDIODEV 0
 
204
 
 
205
#define MAXAUDIOINDEV 4
 
206
#define MAXAUDIOOUTDEV 4
 
207
 
 
208
#define DEFMIDIDEV 0
 
209
 
 
210
#define DEFAULTSRATE 44100
 
211
#ifdef MSW
 
212
#define DEFAULTADVANCE 70
 
213
#else
 
214
#define DEFAULTADVANCE 50
 
215
#endif
 
216
 
 
217
typedef void (*t_audiocallback)(void);
 
218
 
 
219
int pa_open_audio(int inchans, int outchans, int rate, t_sample *soundin,
 
220
    t_sample *soundout, int framesperbuf, int nbuffers,
 
221
    int indeviceno, int outdeviceno, t_audiocallback callback);
 
222
void pa_close_audio(void);
 
223
int pa_send_dacs(void);
 
224
void sys_reportidle(void);
 
225
void pa_listdevs(void);
 
226
void pa_getdevs(char *indevlist, int *nindevs,
 
227
    char *outdevlist, int *noutdevs, int *canmulti, 
 
228
        int maxndev, int devdescsize);
 
229
 
 
230
int oss_open_audio(int naudioindev, int *audioindev, int nchindev,
 
231
    int *chindev, int naudiooutdev, int *audiooutdev, int nchoutdev,
 
232
    int *choutdev, int rate);
 
233
void oss_close_audio(void);
 
234
int oss_send_dacs(void);
 
235
void oss_reportidle(void);
 
236
void oss_getdevs(char *indevlist, int *nindevs,
 
237
    char *outdevlist, int *noutdevs, int *canmulti, 
 
238
        int maxndev, int devdescsize);
 
239
 
 
240
int alsa_open_audio(int naudioindev, int *audioindev, int nchindev,
 
241
    int *chindev, int naudiooutdev, int *audiooutdev, int nchoutdev,
 
242
    int *choutdev, int rate);
 
243
void alsa_close_audio(void);
 
244
int alsa_send_dacs(void);
 
245
void alsa_reportidle(void);
 
246
void alsa_getdevs(char *indevlist, int *nindevs,
 
247
    char *outdevlist, int *noutdevs, int *canmulti, 
 
248
        int maxndev, int devdescsize);
 
249
 
 
250
int jack_open_audio(int wantinchans, int wantoutchans, int srate);
 
251
void jack_close_audio(void);
 
252
int jack_send_dacs(void);
 
253
void jack_reportidle(void);
 
254
void jack_getdevs(char *indevlist, int *nindevs,
 
255
    char *outdevlist, int *noutdevs, int *canmulti, 
 
256
        int maxndev, int devdescsize);
 
257
void jack_listdevs(void);
 
258
 
 
259
int mmio_open_audio(int naudioindev, int *audioindev,
 
260
    int nchindev, int *chindev, int naudiooutdev, int *audiooutdev,
 
261
    int nchoutdev, int *choutdev, int rate);
 
262
void mmio_close_audio( void);
 
263
void mmio_reportidle(void);
 
264
int mmio_send_dacs(void);
 
265
void mmio_getdevs(char *indevlist, int *nindevs,
 
266
    char *outdevlist, int *noutdevs, int *canmulti, 
 
267
        int maxndev, int devdescsize);
 
268
 
 
269
void sys_listmididevs(void);
 
270
void sys_set_midi_api(int whichapi);
 
271
void sys_set_audio_api(int whichapi);
 
272
void sys_get_audio_apis(char *buf);
 
273
extern int sys_audioapi;
 
274
void sys_set_audio_state(int onoff);
 
275
 
 
276
/* API dependent audio flags and settings */
 
277
void oss_set32bit( void);
 
278
void linux_alsa_devname(char *devname);
 
279
 
 
280
void sys_get_audio_params(
 
281
    int *pnaudioindev, int *paudioindev, int *chindev,
 
282
    int *pnaudiooutdev, int *paudiooutdev, int *choutdev,
 
283
    int *prate, int *padvance, int *callback);
 
284
void sys_save_audio_params(
 
285
    int naudioindev, int *audioindev, int *chindev,
 
286
    int naudiooutdev, int *audiooutdev, int *choutdev,
 
287
    int rate, int advance, int callback);
 
288
 
 
289
/* s_file.c */
 
290
 
 
291
typedef void (*t_printhook)(const char *s);
 
292
extern t_printhook sys_printhook;  /* set this to override printing */
 
293
extern int sys_printtostderr;
 
294
 
 
295
/* jsarlo { */
 
296
 
 
297
EXTERN double sys_time;
 
298
EXTERN double sys_time_per_dsp_tick;
 
299
EXTERN int sys_externalschedlib;
 
300
 
 
301
EXTERN t_sample* get_sys_soundout(void ) ;
 
302
EXTERN t_sample* get_sys_soundin(void ) ;
 
303
EXTERN int* get_sys_main_advance(void ) ;
 
304
EXTERN double* get_sys_time_per_dsp_tick(void ) ;
 
305
EXTERN int* get_sys_schedblocksize(void ) ;
 
306
EXTERN double* get_sys_time(void ) ;
 
307
EXTERN t_float* get_sys_dacsr(void ) ;
 
308
EXTERN int* get_sys_sleepgrain(void ) ;
 
309
EXTERN int* get_sys_schedadvance(void ) ;
 
310
 
 
311
EXTERN void sys_clearhist(void );
 
312
EXTERN void sys_initmidiqueue(void );
 
313
EXTERN int sys_addhist(int phase);
 
314
EXTERN void sys_setmiditimediff(double inbuftime, double outbuftime);
 
315
EXTERN void sched_tick(double next_sys_time);
 
316
EXTERN void sys_pollmidiqueue(void );
 
317
EXTERN int sys_pollgui(void );
 
318
EXTERN void sys_setchsr(int chin, int chout, int sr);
 
319
 
 
320
EXTERN void inmidi_noteon(int portno, int channel, int pitch, int velo);
 
321
EXTERN void inmidi_controlchange(int portno,
 
322
                                 int channel,
 
323
                                 int ctlnumber,
 
324
                                 int value);
 
325
EXTERN void inmidi_programchange(int portno, int channel, int value);
 
326
EXTERN void inmidi_pitchbend(int portno, int channel, int value);
 
327
EXTERN void inmidi_aftertouch(int portno, int channel, int value);
 
328
EXTERN void inmidi_polyaftertouch(int portno,
 
329
                                  int channel,
 
330
                                  int pitch,
 
331
                                  int value);
 
332
/* } jsarlo */
 
333
extern t_widgetbehavior text_widgetbehavior;