Merge pull request #1 from atsampson/master
[calfbox.git] / sfzparser.h
bloba76f82977a9b137ae687c871e545e6c2440e3187
1 /*
2 Calf Box, an open source musical instrument.
3 Copyright (C) 2010-2011 Krzysztof Foltman
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
19 #ifndef CBOX_SFZPARSER_H
20 #define CBOX_SFZPARSER_H
22 #include <glib.h>
24 #define CBOX_SFZPARSER_ERROR cbox_sfz_parser_error_quark()
26 enum CboxSfzParserError
28 CBOX_SFZ_PARSER_ERROR_FAILED,
29 CBOX_SFZ_PARSER_ERROR_INVALID_CHAR,
30 CBOX_SFZ_PARSER_ERROR_INVALID_HEADER,
33 struct cbox_tarfile;
35 struct sfz_parser_client
37 void *user_data;
38 gboolean (*token)(struct sfz_parser_client *client, const char *token, GError **error);
39 gboolean (*key_value)(struct sfz_parser_client *client, const char *key, const char *value);
42 extern gboolean load_sfz(const char *name, struct cbox_tarfile *tarfile, struct sfz_parser_client *c, GError **error);
43 extern gboolean load_sfz_from_string(const char *buf, int len, struct sfz_parser_client *c, GError **error);
45 extern GQuark cbox_sfz_parser_error_quark(void);
47 #endif