christopherh@1
|
1 %
|
christopherh@1
|
2 %SYNTAXCHECK Checks symbol for correct syntax.
|
christopherh@1
|
3 %
|
christopherh@1
|
4 % [success, errormessage] = syntaxcheck(chordsymbol, {verbose})
|
christopherh@1
|
5 %
|
christopherh@1
|
6 % Checks symbol for correct syntax and checks for valid note, shorthand
|
christopherh@1
|
7 % and interval values.
|
christopherh@1
|
8 %
|
christopherh@1
|
9 % calls getchordinfo
|
christopherh@1
|
10 %
|
christopherh@1
|
11 % Success = 1 if symbol has correct syntax, 0 otherwise.
|
christopherh@1
|
12 %
|
christopherh@1
|
13 % If optional argument 'verbose' is 1, function prints any errormessage to
|
christopherh@1
|
14 % the screen.
|
christopherh@1
|
15 %
|
christopherh@1
|
16 % Returns: chordinfo (struct)
|
christopherh@1
|
17 % success (boolean) true or false for correct syntax
|
christopherh@1
|
18 % errormessage (string)
|
christopherh@1
|
19 %
|
christopherh@1
|
20 % See also: getchordinfo
|
christopherh@1
|
21 %
|
christopherh@1
|
22 % Author: Christopher Harte, March 2009
|
christopherh@1
|
23 %
|
christopherh@1
|
24 % Copyright: Centre for Digital Music, Queen Mary University of London 2005
|
christopherh@1
|
25 %
|
christopherh@1
|
26 % This file is part of the C4DM Chord Toolkit V2.0
|
christopherh@1
|
27 %
|
christopherh@1
|
28 % The C4DM Chord Toolkit is free software; you can redistribute it and/or
|
christopherh@1
|
29 % modify it under the terms of the GNU General Public License as published
|
christopherh@1
|
30 % by the Free Software Foundation; either version 2 of the License, or
|
christopherh@1
|
31 % (at your option) any later version.
|
christopherh@1
|
32 %
|
christopherh@1
|
33 % The C4DM Chord Toolkit is distributed in the hope that it will be useful,
|
christopherh@1
|
34 % but WITHOUT ANY WARRANTY; without even the implied warranty of
|
christopherh@1
|
35 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
christopherh@1
|
36 % GNU General Public License for more details.
|
christopherh@1
|
37 %
|
christopherh@1
|
38 % You should have received a copy of the GNU General Public License
|
christopherh@1
|
39 % along with the C4DM Toolkit; if not, write to the Free Software
|
christopherh@1
|
40 % Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
christopherh@1
|
41
|
christopherh@1
|
42 %
|
christopherh@1
|
43 function [success, errormessage] = syntaxcheck(chordsymbol, verbose)
|
christopherh@1
|
44
|
christopherh@1
|
45 if nargin < 2
|
christopherh@1
|
46 verbose = 0;
|
christopherh@1
|
47 end
|
christopherh@1
|
48
|
christopherh@1
|
49 errormessage = '';
|
christopherh@1
|
50 chordinfo = [];
|
christopherh@1
|
51
|
christopherh@1
|
52 success = 0;
|
christopherh@1
|
53
|
christopherh@1
|
54 [root,short,intervals,bass, success, errormessage] = getchordinfo(chordsymbol,verbose);
|
christopherh@1
|
55
|
christopherh@1
|
56 if (success ==0) && (verbose == 1)
|
christopherh@1
|
57 fprintf(1,errormessage);
|
christopherh@1
|
58 end |