christopherh@1
|
1 %
|
christopherh@1
|
2 % CHECKLABS check chord syntax in all lab files in a directory
|
christopherh@1
|
3 %
|
christopherh@1
|
4 % success = checklabs(directory, logfile)
|
christopherh@1
|
5 %
|
christopherh@1
|
6 % Check the syntax of chord symbols in every lab file in the target
|
christopherh@1
|
7 % directory. A log of syntax errors is created in the text file logfile
|
christopherh@1
|
8 %
|
christopherh@1
|
9 % Success = 1 if all symbols have correct syntax, 0 otherwise.
|
christopherh@1
|
10 %
|
christopherh@1
|
11 % returns: success (boolean)
|
christopherh@1
|
12 %
|
christopherh@1
|
13 %
|
christopherh@1
|
14 % Author: Christopher Harte, March 2009
|
christopherh@1
|
15 %
|
christopherh@1
|
16 % Copyright: Centre for Digital Music, Queen Mary University of London 2005
|
christopherh@1
|
17 %
|
christopherh@1
|
18 % This file is part of the C4DM Chord Toolkit V2.0
|
christopherh@1
|
19 %
|
christopherh@1
|
20 % The C4DM Chord Toolkit is free software; you can redistribute it and/or
|
christopherh@1
|
21 % modify it under the terms of the GNU General Public License as published
|
christopherh@1
|
22 % by the Free Software Foundation; either version 2 of the License, or
|
christopherh@1
|
23 % (at your option) any later version.
|
christopherh@1
|
24 %
|
christopherh@1
|
25 % The C4DM Chord Toolkit is distributed in the hope that it will be useful,
|
christopherh@1
|
26 % but WITHOUT ANY WARRANTY; without even the implied warranty of
|
christopherh@1
|
27 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
christopherh@1
|
28 % GNU General Public License for more details.
|
christopherh@1
|
29 %
|
christopherh@1
|
30 % You should have received a copy of the GNU General Public License
|
christopherh@1
|
31 % along with the C4DM Toolkit; if not, write to the Free Software
|
christopherh@1
|
32 % Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
christopherh@1
|
33
|
christopherh@1
|
34 %
|
christopherh@1
|
35 function [success] = checklabs(directory, logfile)
|
christopherh@1
|
36
|
christopherh@1
|
37 files = dir([directory '/*.lab']);
|
christopherh@1
|
38
|
christopherh@1
|
39 ilength = length(files);
|
christopherh@1
|
40
|
christopherh@1
|
41 success = 1;
|
christopherh@1
|
42
|
christopherh@1
|
43 fid = fopen(logfile, 'a');
|
christopherh@1
|
44
|
christopherh@1
|
45 for index = 1:ilength
|
christopherh@1
|
46
|
christopherh@1
|
47 ok = checklabsyntax([directory '/' files(index).name],fid);
|
christopherh@1
|
48
|
christopherh@1
|
49 success = success && ok;
|
christopherh@1
|
50
|
christopherh@1
|
51 end
|
christopherh@1
|
52
|
christopherh@1
|
53 fclose(fid);
|
christopherh@1
|
54
|