File: user.h

package info (click to toggle)
midish 1.4.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,344 kB
  • sloc: ansic: 22,502; sh: 268; makefile: 119
file content (239 lines) | stat: -rw-r--r-- 11,710 bytes parent folder | download
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
/*
 * Copyright (c) 2003-2010 Alexandre Ratchov <alex@caoua.org>
 *
 * Permission to use, copy, modify, and distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

#ifndef MIDISH_USER_H
#define MIDISH_USER_H

struct song;
struct songtrk;
struct songchan;
struct songfilt;
struct songsx;

struct exec;
struct data;
struct ev;
struct evspec;
struct sysex;

extern struct song *usong;
extern unsigned user_flag_batch;
extern unsigned user_flag_verb;

unsigned user_mainloop(void);
void user_printstr(char *);
void user_printlong(long);
void user_error(char *);

unsigned user_getopts(int *, char ***);

void user_onchar(void *, int);
void user_oncompl(void *, char *, int, int, int *, int *);
void user_oncompl_path(char *, int *, int *);

/* useful conversion functions */

unsigned exec_runfile(struct exec *, char *);
unsigned exec_runrcfile(struct exec *);

unsigned exec_lookuptrack(struct exec *, char *, struct songtrk **);
unsigned exec_lookupchan_getnum(struct exec *, char *,
    unsigned *, unsigned *, int);
unsigned exec_lookupchan_getref(struct exec *, char *,
    struct songchan **, int);
unsigned exec_lookupfilt(struct exec *, char *, struct songfilt **);
unsigned exec_lookupsx(struct exec *, char *, struct songsx **);
unsigned exec_lookupev(struct exec *, char *, struct ev *, int);
unsigned exec_lookupevspec(struct exec *, char *, struct evspec *, int);
unsigned exec_lookupctl(struct exec *, char *, unsigned *);
unsigned exec_lookupval(struct exec *, char *, unsigned, unsigned *);


void data_print(struct data *);
unsigned data_num2chan(struct data *, unsigned *, unsigned *);
unsigned data_getchan(struct data *, unsigned *, unsigned *, int);
unsigned data_getrange(struct data *, unsigned, unsigned, unsigned *, unsigned *);
unsigned data_matchsysex(struct data *, struct sysex *, unsigned *);
unsigned data_list2ctl(struct data *, unsigned *);
unsigned data_getctlset(struct data *, unsigned *);
unsigned data_getxev(struct data *, unsigned *);
unsigned data_getctl(struct data *, unsigned *);

/* track functions */

unsigned user_func_tracklist(struct exec *, struct data **);
unsigned user_func_tracknew(struct exec *, struct data **);
unsigned user_func_trackdelete(struct exec *, struct data **);
unsigned user_func_trackrename(struct exec *, struct data **);
unsigned user_func_trackexists(struct exec *, struct data **);
unsigned user_func_trackinfo(struct exec *, struct data **);
unsigned user_func_trackaddev(struct exec *, struct data **);
unsigned user_func_tracksetcurfilt(struct exec *, struct data **);
unsigned user_func_trackgetcurfilt(struct exec *, struct data **);
unsigned user_func_trackcheck(struct exec *, struct data **);
unsigned user_func_trackcut(struct exec *, struct data **);
unsigned user_func_trackblank(struct exec *, struct data **);
unsigned user_func_trackcopy(struct exec *, struct data **);
unsigned user_func_trackinsert(struct exec *, struct data **);
unsigned user_func_trackmerge(struct exec *, struct data **);
unsigned user_func_trackquant(struct exec *, struct data **);
unsigned user_func_tracktransp(struct exec *, struct data **);
unsigned user_func_tracksetmute(struct exec *, struct data **);
unsigned user_func_trackgetmute(struct exec *, struct data **);
unsigned user_func_trackchanlist(struct exec *, struct data **);

/* chan functions */

unsigned user_func_chanlist(struct exec *, struct data **);
unsigned user_func_channew(struct exec *, struct data **);
unsigned user_func_chanset(struct exec *, struct data **);
unsigned user_func_chandelete(struct exec *, struct data **);
unsigned user_func_chanrename(struct exec *, struct data **);
unsigned user_func_chanexists(struct exec *, struct data **);
unsigned user_func_changetch(struct exec *, struct data **);
unsigned user_func_changetdev(struct exec *, struct data **);
unsigned user_func_chanconfev(struct exec *, struct data **);
unsigned user_func_chanunconfev(struct exec *, struct data **);
unsigned user_func_chaninfo(struct exec *, struct data **);
unsigned user_func_changetcurinput(struct exec *, struct data **);
unsigned user_func_chansetcurinput(struct exec *, struct data **);

/* sysex */

unsigned user_func_sysexlist(struct exec *, struct data **);
unsigned user_func_sysexnew(struct exec *, struct data **);
unsigned user_func_sysexdelete(struct exec *, struct data **);
unsigned user_func_sysexrename(struct exec *, struct data **);
unsigned user_func_sysexexists(struct exec *, struct data **);
unsigned user_func_sysexinfo(struct exec *, struct data **);
unsigned user_func_sysexclear(struct exec *, struct data **);
unsigned user_func_sysexsetunit(struct exec *, struct data **);
unsigned user_func_sysexadd(struct exec *, struct data **);

/* filt functions  */

unsigned user_func_filtlist(struct exec *, struct data **);
unsigned user_func_filtnew(struct exec *, struct data **);
unsigned user_func_filtdelete(struct exec *, struct data **);
unsigned user_func_filtrename(struct exec *, struct data **);
unsigned user_func_filtexists(struct exec *, struct data **);
unsigned user_func_filtinfo(struct exec *, struct data **);
unsigned user_func_filtdevdrop(struct exec *, struct data **);
unsigned user_func_filtnodevdrop(struct exec *, struct data **);
unsigned user_func_filtdevmap(struct exec *, struct data **);
unsigned user_func_filtnodevmap(struct exec *, struct data **);
unsigned user_func_filtchandrop(struct exec *, struct data **);
unsigned user_func_filtnochandrop(struct exec *, struct data **);
unsigned user_func_filtchanmap(struct exec *, struct data **);
unsigned user_func_filtnochanmap(struct exec *, struct data **);
unsigned user_func_filtctldrop(struct exec *, struct data **);
unsigned user_func_filtnoctldrop(struct exec *, struct data **);
unsigned user_func_filtctlmap(struct exec *, struct data **);
unsigned user_func_filtnoctlmap(struct exec *, struct data **);
unsigned user_func_filtkeydrop(struct exec *, struct data **);
unsigned user_func_filtnokeydrop(struct exec *, struct data **);
unsigned user_func_filtkeymap(struct exec *, struct data **);
unsigned user_func_filtnokeymap(struct exec *, struct data **);
unsigned user_func_filtreset(struct exec *, struct data **);
unsigned user_func_filtchgich(struct exec *, struct data **);
unsigned user_func_filtchgidev(struct exec *, struct data **);
unsigned user_func_filtswapich(struct exec *, struct data **);
unsigned user_func_filtswapidev(struct exec *, struct data **);
unsigned user_func_filtchgoch(struct exec *, struct data **);
unsigned user_func_filtchgodev(struct exec *, struct data **);
unsigned user_func_filtswapoch(struct exec *, struct data **);
unsigned user_func_filtswapodev(struct exec *, struct data **);
unsigned user_func_filtevmap(struct exec *, struct data **);
unsigned user_func_filtevunmap(struct exec *, struct data **);
unsigned user_func_filtchgin(struct exec *, struct data **);
unsigned user_func_filtchgout(struct exec *, struct data **);
unsigned user_func_filtswapgin(struct exec *, struct data **);
unsigned user_func_filtswapout(struct exec *, struct data **);
unsigned user_func_filtsetcurchan(struct exec *, struct data **);
unsigned user_func_filtgetcurchan(struct exec *, struct data **);

/* song functions  */

unsigned user_func_songsetunit(struct exec *, struct data **);
unsigned user_func_songgetunit(struct exec *, struct data **);
unsigned user_func_songsetfactor(struct exec *, struct data **);
unsigned user_func_songgetfactor(struct exec *, struct data **);
unsigned user_func_songsetcurpos(struct exec *, struct data **);
unsigned user_func_songgetcurpos(struct exec *, struct data **);
unsigned user_func_songsetcurlen(struct exec *, struct data **);
unsigned user_func_songgetcurlen(struct exec *, struct data **);
unsigned user_func_songsetcurquant(struct exec *, struct data **);
unsigned user_func_songgetcurquant(struct exec *, struct data **);
unsigned user_func_songsetcurtrack(struct exec *, struct data **);
unsigned user_func_songgetcurtrack(struct exec *, struct data **);
unsigned user_func_songsetcurfilt(struct exec *, struct data **);
unsigned user_func_songgetcurfilt(struct exec *, struct data **);
unsigned user_func_songinfo(struct exec *, struct data **);
unsigned user_func_songsave(struct exec *, struct data **);
unsigned user_func_songload(struct exec *, struct data **);
unsigned user_func_songreset(struct exec *, struct data **);
unsigned user_func_songexportsmf(struct exec *, struct data **);
unsigned user_func_songimportsmf(struct exec *, struct data **);
unsigned user_func_songidle(struct exec *, struct data **);
unsigned user_func_songplay(struct exec *, struct data **);
unsigned user_func_songrecord(struct exec *, struct data **);
unsigned user_func_songstop(struct exec *, struct data **);
unsigned user_func_songsettempo(struct exec *, struct data **);
unsigned user_func_songtimeins(struct exec *, struct data **);
unsigned user_func_songtimerm(struct exec *, struct data **);
unsigned user_func_songtimeinfo(struct exec *, struct data **);
unsigned user_func_songgettempo(struct exec *, struct data **);
unsigned user_func_songgetsign(struct exec *, struct data **);
unsigned user_func_songsetcursysex(struct exec *, struct data **);
unsigned user_func_songgetcursysex(struct exec *, struct data **);
unsigned user_func_songsetcurchan(struct exec *, struct data **);
unsigned user_func_songgetcurchan(struct exec *, struct data **);
unsigned user_func_songsetcurinput(struct exec *, struct data **);
unsigned user_func_songgetcurinput(struct exec *, struct data **);

/* device functions */

unsigned user_func_devlist(struct exec *, struct data **);
unsigned user_func_devattach(struct exec *, struct data **);
unsigned user_func_devdetach(struct exec *, struct data **);
unsigned user_func_devsetmaster(struct exec *, struct data **);
unsigned user_func_devgetmaster(struct exec *, struct data **);
unsigned user_func_devsendrt(struct exec *, struct data **);
unsigned user_func_devticrate(struct exec *, struct data **);
unsigned user_func_devinfo(struct exec *, struct data **);
unsigned user_func_devixctl(struct exec *, struct data **);
unsigned user_func_devoxctl(struct exec *, struct data **);

/* misc */

unsigned user_func_metroswitch(struct exec *, struct data **);
unsigned user_func_metroconf(struct exec *, struct data **);
unsigned user_func_shut(struct exec *, struct data **);
unsigned user_func_sendraw(struct exec *, struct data **);
unsigned user_func_panic(struct exec *, struct data **);
unsigned user_func_debug(struct exec *, struct data **);
unsigned user_func_exec(struct exec *, struct data **);
unsigned user_func_print(struct exec *, struct data **);
unsigned user_func_info(struct exec *, struct data **);
unsigned user_func_proclist(struct exec *, struct data **);
unsigned user_func_builtinlist(struct exec *, struct data **);

unsigned user_func_ctlconf(struct exec *, struct data **);
unsigned user_func_ctlconfx(struct exec *, struct data **);
unsigned user_func_ctlunconf(struct exec *, struct data **);
unsigned user_func_ctlinfo(struct exec *, struct data **);

#endif /* MIDISH_USER_H */