LEFT | RIGHT |
1 @c -*- coding: utf-8; mode: texinfo; fill-column: 60 -*- | 1 @c -*- coding: utf-8; mode: texinfo; fill-column: 60 -*- |
2 | 2 |
3 @ignore | 3 @ignore |
4 Translation of GIT committish: 66dd932f6519b7913400a838c5efbc5407e06cd8 | 4 Translation of GIT committish: 66dd932f6519b7913400a838c5efbc5407e06cd8 |
5 | 5 |
6 When revising a translation, copy the HEAD committish of the | 6 When revising a translation, copy the HEAD committish of the |
7 version that you are working on. For details, see the Contributors' | 7 version that you are working on. For details, see the Contributors' |
8 Guide, node Updating translation committishes.. | 8 Guide, node Updating translation committishes.. |
9 @end ignore | 9 @end ignore |
10 | 10 |
11 @c Translator: Jan Nieuwenhuizen | 11 @c Translator: Jan Nieuwenhuizen |
12 @c Translation checker: | 12 @c Translation checker: |
13 @c Translation checker committish: | 13 @c Translation checker committish: |
14 | 14 |
15 @c \version "2.17.5" | 15 @c \version "2.17.6" |
16 | 16 |
17 @node Fundamentele concepten | 17 @node Fundamentele concepten |
18 @translationof Fundamental concepts | 18 @translationof Fundamental concepts |
19 @chapter Fundamentele concepten | 19 @chapter Fundamentele concepten |
20 | 20 |
21 In het Leerboek hebben we gezien hoe je prachtig geprinte | 21 In het Leerboek hebben we gezien hoe je prachtig geprinte |
22 muziek maakt van een eenvoudig tekstbestand. Dit hoofdstuk | 22 muziek maakt van een eenvoudig tekstbestand. Dit hoofdstuk |
23 introduceert de achterliggende concepten en benodigde | 23 introduceert de achterliggende concepten en benodigde |
24 technieken voor het maken van ingewikkeldere partituren die | 24 technieken voor het maken van ingewikkeldere partituren die |
25 er net zo mooi uitzien. | 25 er net zo mooi uitzien. |
(...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
820 \new Staff \relative c'' { | 820 \new Staff \relative c'' { |
821 \key aes \major | 821 \key aes \major |
822 << % Voice one | 822 << % Voice one |
823 { c2 aes4. bes8 } | 823 { c2 aes4. bes8 } |
824 \\ % Voice two | 824 \\ % Voice two |
825 { aes2 f4 fes } | 825 { aes2 f4 fes } |
826 \\ % No voice three | 826 \\ % No voice three |
827 \\ % Voice four | 827 \\ % Voice four |
828 { | 828 { |
829 % Ignore these for now - they are explained in Ch 4 | 829 % Ignore these for now - they are explained in Ch 4 |
830 \once \override NoteColumn force-hshift = #0 | 830 \once \override NoteColumn.force-hshift = #0 |
831 <ees c>2 | 831 <ees c>2 |
832 \once \override NoteColumn force-hshift = #0.5 | 832 \once \override NoteColumn.force-hshift = #0.5 |
833 des2 | 833 des2 |
834 } | 834 } |
835 >> | | 835 >> | |
836 <c ees aes c>1 | | 836 <c ees aes c>1 | |
837 } | 837 } |
838 @end lilypond | 838 @end lilypond |
839 | 839 |
840 The direction of the stems is often used to indicate the continuity of | 840 The direction of the stems is often used to indicate the continuity of |
841 two simultaneous melodic lines. Here the stems of the highest notes | 841 two simultaneous melodic lines. Here the stems of the highest notes |
842 are all pointing up and the stems of the lower notes are all pointing | 842 are all pointing up and the stems of the lower notes are all pointing |
(...skipping 26 matching lines...) Expand all Loading... |
869 c2 aes4. bes8 | 869 c2 aes4. bes8 |
870 } | 870 } |
871 \\ % Voice two | 871 \\ % Voice two |
872 { \voiceTwoStyle | 872 { \voiceTwoStyle |
873 aes2 f4 fes | 873 aes2 f4 fes |
874 } | 874 } |
875 \\ % No Voice three (we want stems down) | 875 \\ % No Voice three (we want stems down) |
876 \\ % Voice four | 876 \\ % Voice four |
877 { \voiceThreeStyle | 877 { \voiceThreeStyle |
878 % Ignore these for now - they are explained in Ch 4 | 878 % Ignore these for now - they are explained in Ch 4 |
879 \once \override NoteColumn force-hshift = #0 | 879 \once \override NoteColumn.force-hshift = #0 |
880 <ees c>2 | 880 <ees c>2 |
881 \once \override NoteColumn force-hshift = #0.5 | 881 \once \override NoteColumn.force-hshift = #0.5 |
882 des2 | 882 des2 |
883 } | 883 } |
884 >> | | 884 >> | |
885 <c ees aes c>1 | | 885 <c ees aes c>1 | |
886 } | 886 } |
887 @end lilypond | 887 @end lilypond |
888 | 888 |
889 | 889 |
890 Let us try to encode this music from scratch. As we | 890 Let us try to encode this music from scratch. As we |
891 shall see, this encounters some difficulties. We begin as | 891 shall see, this encounters some difficulties. We begin as |
(...skipping 1997 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2889 \new Voice @{ | 2889 \new Voice @{ |
2890 \voiceOne | 2890 \voiceOne |
2891 \ManualOneVoiceOneMusic | 2891 \ManualOneVoiceOneMusic |
2892 @} | 2892 @} |
2893 \new Voice @{ | 2893 \new Voice @{ |
2894 \voiceTwo | 2894 \voiceTwo |
2895 \ManualOneVoiceTwoMusic | 2895 \ManualOneVoiceTwoMusic |
2896 @} | 2896 @} |
2897 >> % end ManualOne Staff context | 2897 >> % end ManualOne Staff context |
2898 \new Staff = "ManualTwo" \with @{ | 2898 \new Staff = "ManualTwo" \with @{ |
2899 \override VerticalAxisGroup | 2899 \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5 |
2900 staff-staff-spacing.stretchability = 5 | |
2901 @} << | 2900 @} << |
2902 \keyTime | 2901 \keyTime |
2903 \clef "bass" | 2902 \clef "bass" |
2904 \new Voice @{ | 2903 \new Voice @{ |
2905 \ManualTwoMusic | 2904 \ManualTwoMusic |
2906 @} | 2905 @} |
2907 >> % end ManualTwo Staff context | 2906 >> % end ManualTwo Staff context |
2908 >> % end PianoStaff context | 2907 >> % end PianoStaff context |
2909 \new Staff = "PedalOrgan" << | 2908 \new Staff = "PedalOrgan" << |
2910 \keyTime | 2909 \keyTime |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2953 \new Voice { | 2952 \new Voice { |
2954 \voiceOne | 2953 \voiceOne |
2955 \ManualOneVoiceOneMusic | 2954 \ManualOneVoiceOneMusic |
2956 } | 2955 } |
2957 \new Voice { | 2956 \new Voice { |
2958 \voiceTwo | 2957 \voiceTwo |
2959 \ManualOneVoiceTwoMusic | 2958 \ManualOneVoiceTwoMusic |
2960 } | 2959 } |
2961 >> % end ManualOne Staff context | 2960 >> % end ManualOne Staff context |
2962 \new Staff = "ManualTwo" \with { | 2961 \new Staff = "ManualTwo" \with { |
2963 \override VerticalAxisGroup | 2962 \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5 |
2964 staff-staff-spacing.stretchability = 5 | |
2965 } << | 2963 } << |
2966 \keyTime | 2964 \keyTime |
2967 \clef "bass" | 2965 \clef "bass" |
2968 \new Voice { | 2966 \new Voice { |
2969 \ManualTwoMusic | 2967 \ManualTwoMusic |
2970 } | 2968 } |
2971 >> % end ManualTwo Staff context | 2969 >> % end ManualTwo Staff context |
2972 >> % end PianoStaff context | 2970 >> % end PianoStaff context |
2973 \new Staff = "PedalOrgan" << | 2971 \new Staff = "PedalOrgan" << |
2974 \keyTime | 2972 \keyTime |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3021 } | 3019 } |
3022 @end lilypond | 3020 @end lilypond |
3023 | 3021 |
3024 However, you can also use these variables (also known as | 3022 However, you can also use these variables (also known as |
3025 macros, or user-defined commands) for tweaks: | 3023 macros, or user-defined commands) for tweaks: |
3026 | 3024 |
3027 @c TODO Avoid padtext - not needed with skylining | 3025 @c TODO Avoid padtext - not needed with skylining |
3028 @lilypond[quote,verbatim,ragged-right] | 3026 @lilypond[quote,verbatim,ragged-right] |
3029 dolce = \markup { \italic \bold dolce } | 3027 dolce = \markup { \italic \bold dolce } |
3030 | 3028 |
3031 padText = { \once \override TextScript padding = #5.0 } | 3029 padText = { \once \override TextScript.padding = #5.0 } |
3032 fthenp =_\markup { | 3030 fthenp =_\markup { |
3033 \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p | 3031 \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p |
3034 } | 3032 } |
3035 | 3033 |
3036 violin = \relative c'' { | 3034 violin = \relative c'' { |
3037 \repeat volta 2 { | 3035 \repeat volta 2 { |
3038 c4._\dolce b8 a8 g a b | | 3036 c4._\dolce b8 a8 g a b | |
3039 \padText | 3037 \padText |
3040 c4.^"hi there!" d8 e' f g d | | 3038 c4.^"hi there!" d8 e' f g d | |
3041 c,4.\fthenp b8 c4 c-. | | 3039 c,4.\fthenp b8 c4 c-. | |
(...skipping 12 matching lines...) Expand all Loading... |
3054 typing. But they're worth considering even if you | 3052 typing. But they're worth considering even if you |
3055 only use them once -- they reduce complexity. Let's | 3053 only use them once -- they reduce complexity. Let's |
3056 look at the previous example without any | 3054 look at the previous example without any |
3057 variables. It's a lot harder to read, especially | 3055 variables. It's a lot harder to read, especially |
3058 the last line. | 3056 the last line. |
3059 | 3057 |
3060 @example | 3058 @example |
3061 violin = \relative c'' @{ | 3059 violin = \relative c'' @{ |
3062 \repeat volta 2 @{ | 3060 \repeat volta 2 @{ |
3063 c4._\markup @{ \italic \bold dolce @} b8 a8 g a b | | 3061 c4._\markup @{ \italic \bold dolce @} b8 a8 g a b | |
3064 \once \override TextScript padding = #5.0 | 3062 \once \override TextScript.padding = #5.0 |
3065 c4.^"hi there!" d8 e' f g d | | 3063 c4.^"hi there!" d8 e' f g d | |
3066 c,4.\markup @{ | 3064 c,4.\markup @{ |
3067 \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p | 3065 \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p |
3068 @} | 3066 @} |
3069 b8 c4 c-. | | 3067 b8 c4 c-. | |
3070 @} | 3068 @} |
3071 @} | 3069 @} |
3072 @end example | 3070 @end example |
3073 | 3071 |
3074 @c TODO Replace the following with a better example -td | 3072 @c TODO Replace the following with a better example -td |
3075 @c Skylining handles this correctly without padText | 3073 @c Skylining handles this correctly without padText |
3076 | 3074 |
3077 So far we've seen static substitution -- when LilyPond | 3075 So far we've seen static substitution -- when LilyPond |
3078 sees @code{\padText}, it replaces it with the stuff that | 3076 sees @code{\padText}, it replaces it with the stuff that |
3079 we've defined it to be (ie the stuff to the right of | 3077 we've defined it to be (ie the stuff to the right of |
3080 @code{padtext=}). | 3078 @code{padtext=}). |
3081 | 3079 |
3082 LilyPond can handle non-static substitution, too (you | 3080 LilyPond can handle non-static substitution, too (you |
3083 can think of these as functions). | 3081 can think of these as functions). |
3084 | 3082 |
3085 @lilypond[quote,verbatim,ragged-right] | 3083 @lilypond[quote,verbatim,ragged-right] |
3086 padText = | 3084 padText = |
3087 #(define-music-function | 3085 #(define-music-function |
3088 (parser location padding) | 3086 (parser location padding) |
3089 (number?) | 3087 (number?) |
3090 #{ | 3088 #{ |
3091 \once \override TextScript padding = $padding | 3089 \once \override TextScript.padding = $padding |
3092 #}) | 3090 #}) |
3093 | 3091 |
3094 \relative c''' { | 3092 \relative c''' { |
3095 c4^"piu mosso" b a b | | 3093 c4^"piu mosso" b a b | |
3096 \padText #1.8 | 3094 \padText #1.8 |
3097 c4^"piu mosso" d e f | | 3095 c4^"piu mosso" d e f | |
3098 \padText #2.6 | 3096 \padText #2.6 |
3099 c4^"piu mosso" fis a g | | 3097 c4^"piu mosso" fis a g | |
3100 } | 3098 } |
3101 @end lilypond | 3099 @end lilypond |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3227 } | 3225 } |
3228 \new Staff { | 3226 \new Staff { |
3229 \clef "bass" | 3227 \clef "bass" |
3230 \time 2/4 | 3228 \time 2/4 |
3231 r4 d,8 f | gis4 c | b4 bes | | 3229 r4 d,8 f | gis4 c | b4 bes | |
3232 a8 e f4 | g4 d | gis4 f | | 3230 a8 e f4 | g4 d | gis4 f | |
3233 } | 3231 } |
3234 >> | 3232 >> |
3235 @end lilypond | 3233 @end lilypond |
3236 | 3234 |
LEFT | RIGHT |