-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathharmony-rules-tests.ly
76 lines (67 loc) · 1.94 KB
/
harmony-rules-tests.ly
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
%% Lilypond Harmony Rules tests harmony rules of Lilypond scores.
%% Copyright (C) 2021 Stéphane SOPPERA
%%
%% This program is free software: you can redistribute it and/or modify
%% it under the terms of the GNU General Public License as published by
%% the Free Software Foundation, either version 3 of the License, or
%% (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful,
%% but WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
%% GNU General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program. If not, see <https://www.gnu.org/licenses/>.
\version "2.20.0"
#(ly:set-option 'relative-includes #t)
\include "local-load-path.ly"
\header { tagline = ##f }
#(use-modules (harmony-rules-tests))
mus = \new PianoStaff <<
\new Staff \relative {
<c' e g>2 <d f a>4 <c g' c> |
\key c \minor
<c ees g>2 <d g bes> |
<eis g b>1
}
\new Staff \relative {
\clef "bass"
c2 d4 e |
g1 |
g1 |
}
\figures {
s2 s4 <6> |
<6 4>2 s |
<6>1 |
}
>>
\include "harmony-rules.ly"
\markup { Interactive Test: }
\score {
<<
\new ChordNames \automaticChords \mus
\checkHarmonyRules #'((figured-bass . #t)) \mus
\new Staff \with { instrumentName = #"default" } { \automaticChords \mus }
\new Staff \with { instrumentName = #"'notes" } { \automaticChords #'notes \mus }
\new Staff \with { instrumentName = #"'figures" } { \automaticChords #'figures \mus }
>>
}
% #(dump-all #{<c \tweak color #red e g>#})
\markup { \bold { Bugs: } }
%% FIXME: fix those bugs
\score {
\header {
piece = "the bass should be identified, not the tenor"
}
\checkHarmonyRules \new PianoStaff <<
\new Staff \relative {
<d' f b>2 <c e c'> |
}
\new Staff \relative {
\clef "bass"
g2 c |
}
>>
}