]> git.donarmstrong.com Git - lilypond.git/commitdiff
LSR: new files.
authorGraham Percival <graham@percival-music.ca>
Sat, 10 Nov 2007 04:15:15 +0000 (20:15 -0800)
committerJohn Mandereau <john.mandereau@gmail.com>
Mon, 12 Nov 2007 23:10:27 +0000 (00:10 +0100)
input/lsr/pitches/creating-music-with-scheme.ly [new file with mode: 0644]
input/lsr/real-music/GNUmakefile [new file with mode: 0644]
input/lsr/real-music/SConscript [new file with mode: 0644]
input/lsr/real-music/creating-music-with-scheme.ly [new file with mode: 0644]
input/lsr/real-music/inserting-score-fragments-above-the-staff,-as-markups.ly [new file with mode: 0644]
input/lsr/real-music/score-for-diatonic-accordion.ly [new file with mode: 0644]
input/lsr/rhythms/adding-beams,-slurs,-ties-etc.-when-using-tuplet-and-non-tuplet-rythms..ly [new file with mode: 0644]
input/lsr/rhythms/automatic-beams-two-per-two-in-4-4-or-2-2-time-signature.ly [new file with mode: 0644]
input/lsr/rhythms/changing-time-signatures-inside-a-polymetric-section-using--compressmusic.ly [new file with mode: 0644]
input/lsr/rhythms/heavily-customized-polymetric-time-signatures.ly [new file with mode: 0644]

diff --git a/input/lsr/pitches/creating-music-with-scheme.ly b/input/lsr/pitches/creating-music-with-scheme.ly
new file mode 100644 (file)
index 0000000..9f85797
--- /dev/null
@@ -0,0 +1,93 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header { texidoc = "
+This example shows prelude in C major of WTK1, but coded using Scheme
+functions to avoid typing work.
+" }
+
+\version "2.11.23"
+
+\include "deutsch.ly"
+#(define (transform music)
+  (let* ((es (ly:music-property music 'elements))
+         (n  (ly:music-property music 'name)))
+   (if (not (equal? n 'SequentialMusic))
+     (ly:warning "transform needs SequentialMusic, got ~a" n)
+     (begin
+      (let recurse ((elts es))
+       (if (not (equal? elts '()))
+        (begin
+           ((trans (ly:music-property (cadr elts) 'elements)) (car
+elts))
+          (set-cdr! elts (cddr elts))
+          (recurse (cdr elts))
+        )))))
+   music
+  )) 
+
+#(define ((trans pitches) music)
+  (let* ((es (ly:music-property music 'elements))
+         (e (ly:music-property music 'element))
+         (p (ly:music-property music 'pitch)))
+
+    (if (pair? es)
+        (ly:music-set-property!
+         music 'elements
+         (map (trans pitches) es)))
+
+    (if (ly:music? e)
+        (ly:music-set-property!
+         music 'element
+         ((trans pitches) e)))
+
+    (if (ly:pitch? p)
+       (let* ((o (ly:pitch-octave p))
+              (n (ly:pitch-notename p))
+              (i (+ (* 7 o) n))
+             (pes (ly:music-property (list-ref pitches i) 'elements))
+             (pnew (ly:music-property (car pes) 'pitch))
+             )
+          (ly:music-set-property! music 'pitch pnew)
+       ))
+    music))
+
+
+
+
+
+
+
+pat =  \transpose c c' \repeat unfold 2 {
+  << { \context Staff = "up" {r8 e16 f g e f g } }
+    { \context Staff = "down" <<
+      \context Voice = "vup"  { \stemUp \tieUp r16 d8.~d4 }
+      \context Voice = "vdwn" { \stemDown  c2 }
+    >> }
+  >>
+}
+
+enda =  { r8 f,16 a, c f c a, \stemUp c \change Staff = down
+      a, f, a, f, d, f, d, \change Staff = up \stemNeutral
+      r8 g16 h d' f' d' h d' h g h d f e\prall d <e g c'>1^\fermata \bar
+"|."
+}
+endb =  {\stemUp \tieUp r16 c,8.~c,4~c,2 r16 h,,8.~h,,4~h,,2 c,1 \bar
+"|."}
+endc =  {\stemDown \tieDown c,,2~c,, c,,~c,, c,,1_\fermata }
+
+\score {
+   \transpose c c' \context PianoStaff <<
+       \new Staff = "up"   { \clef "G"  }
+       \new Staff = "down" { \clef "F" }
+       { \applyMusic #transform {
+          \pat {c e g c' e' }
+          \pat {c d a d' f' }
+       }
+       % Etc, we get the idea now 
+     }
+   >>
+}
+
+
+
diff --git a/input/lsr/real-music/GNUmakefile b/input/lsr/real-music/GNUmakefile
new file mode 100644 (file)
index 0000000..3819fda
--- /dev/null
@@ -0,0 +1,15 @@
+depth = ../../../
+
+STEPMAKE_TEMPLATES=documentation texinfo tex
+LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
+
+## Hmm, would this work?  No -- if we really want examples, move
+## to other dir (input/) comes to mind.
+## examples = font20 ancient-font
+## LOCALSTEPMAKE_TEMPLATES += ly mutopia
+
+EXTRA_DIST_FILES= 
+
+include $(depth)/make/stepmake.make
+
+TITLE=Advanced snippets
diff --git a/input/lsr/real-music/SConscript b/input/lsr/real-music/SConscript
new file mode 100644 (file)
index 0000000..f72bfff
--- /dev/null
@@ -0,0 +1,4 @@
+# -*-python-*-
+
+Import ('env', 'collate')
+collate (title = 'Advanced snippets')
diff --git a/input/lsr/real-music/creating-music-with-scheme.ly b/input/lsr/real-music/creating-music-with-scheme.ly
new file mode 100644 (file)
index 0000000..9f85797
--- /dev/null
@@ -0,0 +1,93 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header { texidoc = "
+This example shows prelude in C major of WTK1, but coded using Scheme
+functions to avoid typing work.
+" }
+
+\version "2.11.23"
+
+\include "deutsch.ly"
+#(define (transform music)
+  (let* ((es (ly:music-property music 'elements))
+         (n  (ly:music-property music 'name)))
+   (if (not (equal? n 'SequentialMusic))
+     (ly:warning "transform needs SequentialMusic, got ~a" n)
+     (begin
+      (let recurse ((elts es))
+       (if (not (equal? elts '()))
+        (begin
+           ((trans (ly:music-property (cadr elts) 'elements)) (car
+elts))
+          (set-cdr! elts (cddr elts))
+          (recurse (cdr elts))
+        )))))
+   music
+  )) 
+
+#(define ((trans pitches) music)
+  (let* ((es (ly:music-property music 'elements))
+         (e (ly:music-property music 'element))
+         (p (ly:music-property music 'pitch)))
+
+    (if (pair? es)
+        (ly:music-set-property!
+         music 'elements
+         (map (trans pitches) es)))
+
+    (if (ly:music? e)
+        (ly:music-set-property!
+         music 'element
+         ((trans pitches) e)))
+
+    (if (ly:pitch? p)
+       (let* ((o (ly:pitch-octave p))
+              (n (ly:pitch-notename p))
+              (i (+ (* 7 o) n))
+             (pes (ly:music-property (list-ref pitches i) 'elements))
+             (pnew (ly:music-property (car pes) 'pitch))
+             )
+          (ly:music-set-property! music 'pitch pnew)
+       ))
+    music))
+
+
+
+
+
+
+
+pat =  \transpose c c' \repeat unfold 2 {
+  << { \context Staff = "up" {r8 e16 f g e f g } }
+    { \context Staff = "down" <<
+      \context Voice = "vup"  { \stemUp \tieUp r16 d8.~d4 }
+      \context Voice = "vdwn" { \stemDown  c2 }
+    >> }
+  >>
+}
+
+enda =  { r8 f,16 a, c f c a, \stemUp c \change Staff = down
+      a, f, a, f, d, f, d, \change Staff = up \stemNeutral
+      r8 g16 h d' f' d' h d' h g h d f e\prall d <e g c'>1^\fermata \bar
+"|."
+}
+endb =  {\stemUp \tieUp r16 c,8.~c,4~c,2 r16 h,,8.~h,,4~h,,2 c,1 \bar
+"|."}
+endc =  {\stemDown \tieDown c,,2~c,, c,,~c,, c,,1_\fermata }
+
+\score {
+   \transpose c c' \context PianoStaff <<
+       \new Staff = "up"   { \clef "G"  }
+       \new Staff = "down" { \clef "F" }
+       { \applyMusic #transform {
+          \pat {c e g c' e' }
+          \pat {c d a d' f' }
+       }
+       % Etc, we get the idea now 
+     }
+   >>
+}
+
+
+
diff --git a/input/lsr/real-music/inserting-score-fragments-above-the-staff,-as-markups.ly b/input/lsr/real-music/inserting-score-fragments-above-the-staff,-as-markups.ly
new file mode 100644 (file)
index 0000000..375486f
--- /dev/null
@@ -0,0 +1,33 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header { texidoc = "
+The \\markup command is quite versatile. In this snippet, it contains a
+\\score bloc instead of texts or marks.
+" }
+
+tuning = \markup {
+    \score {
+       \new Staff \with {
+           \remove Time_signature_engraver
+       } {
+           \clef bass  <c, g, d g>1
+       }
+       \layout { ragged-right = ##t }
+    }
+}
+
+
+\header {
+    title = "Solo Cello Suites"
+    subtitle = "Suite IV"
+    subsubtitle = \markup { "Originalstimmung:" \tuning }
+}
+
+\relative {
+    \time 4/8
+    \times 2/3 { c'8 d e } \times 2/3 {c d e}
+    \times 2/3 { c8 d e } \times 2/3 {c d e}
+    g8 a8 g8 a 
+    g8 a8 g8 a 
+}
diff --git a/input/lsr/real-music/score-for-diatonic-accordion.ly b/input/lsr/real-music/score-for-diatonic-accordion.ly
new file mode 100644 (file)
index 0000000..9ead0e5
--- /dev/null
@@ -0,0 +1,419 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header { texidoc = "
+A template to write score for a diatonic accordion.
+
+- There is a horizontal staff indicating if the accordion   must be
+pushed (thick line) or pulled (thin line)
+
+- There is a small rhytmic staff with lyrics that describes the bass
+buttons to press.   The bar-lines are made of gridlines ( Gridlines,
+not a really satisfying solution, but the best I found)
+
+- The tabulator staff for diatonic accordions shows the geographic
+position of the buttons   and not (as for every other instrument) the
+pitch of the tones.   The keys on the melody-side of the accordion are
+placed in three columns and about 12 rows.   In the tabulator staff
+notation the   - most outer column is described with notes between
+lines   - most inner column is described with notes between lines with
+a cross as accidental   - middle column is described with notes on a
+line, whereby the row in the middle is represented     on the middle
+line in the staff.
+
+
+
+Some words to transpose piano note to the diatonic accordion.
+------------------------------------------------------------ 1. Every
+diatonic accordion is built for some keys only. For example    for the
+key of C-major and F-major.    So it is important to transpose a piano
+melody to match one of these keys.    Transpose the source code, not
+only the output because    you need this code later on to translate it
+once more to the tabulator staff.    This can be done with the command
+'displayLilyMusic'.
+
+2. You have to alternate the push and pull-direction of the accordion
+regularely.    If the player has a too long part to pull the accordion
+gets broken.    At the other hand some harmonies are only available in
+one direction (push or pull)    Considering this decide which parts of
+the melody are the push-parts and whic the  pull-parts.
+
+3. For each pull- / or push-part translate the piano notes to the
+according tabulatur representation.
+
+This snippet comes with a useful optional macro for the jEdit text
+editor.
+" }
+
+% Created on Sat Aug 17 2007 by ak
+
+verse= \lyricmode { Wie gross bist du! Wie gross bist du! }
+
+harmonies =  \new ChordNames \chordmode {
+       \germanChords \set chordChanges = ##t
+       bes8 bes8 bes8 es2 f bes1
+}
+
+NoStem = \override Stem #'transparent = ##t
+NoNoteHead= \override NoteHead #'transparent = ##t
+ZeroBeam = \override Beam  #'positions = #'(0 . 0)
+
+staffTabLine = \new Staff  \with { \remove "Time_signature_engraver" \remove "Clef_engraver" } {
+       \override Staff.StaffSymbol #'line-positions = #'( 0 ) 
+% Shows one horizontal line. The vertical line (simulating a bar-line) is simulated with a gridline
+       \set Staff.midiInstrument="choir aahs"
+       \key c \major
+       \relative c''
+               {  
+                       % disable the following line to see the the noteheads while writing the song 
+                       \NoNoteHead  
+                       \override NoteHead #'no-ledgers = ##t
+
+                       % The beam between 8th-notes is used to draw the push-line
+                       %How to fast write the push-lines: 
+                       %        1. write repeatedly 'c c c c c c c c |' for the whole length of the song 
+                       %        2. uncomment the line \NoNoteHead
+                       %        3. compile
+                       %        4. Mark the positions on which push/pull changes. 
+                       %           In the score-picture click on the position the push- or pull-part starts 
+                        %           (on the noteHead, the cursor will change to a hand-icon).
+                       %           The cursor in the source code will jump just at this position.
+                       %         a) If a push-part starts there, replace the 'c' by an 'e['
+                       %         b) If a pull-part starts there, replace the 'c' by an 's'
+                       %        5. Switch into 'overwrite-mode' by pressing the 'ins' key. 
+                       %        6. For the pull-parts overwrite the 'c' with 's' 
+                       %        7. For every push-part replace the last 'c' with 'e]' 
+                       %        8. Switch into 'insert-mode' again 
+                       %        9. At last it should look lik e.g. (s s e[ c | c c c c c c c c | c c c c c c e] s s)
+                       %       10. re-enable the line \NoNoteHead
+                       \autoBeamOff
+                       \ZeroBeam 
+                        s8 s s | e[ c c c c c c e] | s s s s s 
+               }
+}
+
+%{
+notePush= {    e       f       fis     g       a        c'     c'      d'      ees'    e'      f'      fis'    g'      a'      bes'    c''     c''     d''     ees''   e''     f''     fis''   g''     a''     c'''    c'''    ees'''  e'''    f'''    g'''    a''' }
+tabPush=  {    g       f       e       b       a        d'     c'      bisis   disis'  f'      e'      aisis'  a'      g'      fisis'  b'      c''     eisis'' cisis'' e''     d''     gisis'' g''     f''     a''     b''     bisis'' d'''    c'''    f'''    e''' }
+
+notePull= {    g       aes     bes     b       c'      cis'    d'      ees'    e'      f'      fis'    g'      aes'    a'      bes'    b'      c''     cis''   d''     ees''   e''     f''     g''     aes''   a''     bes''   b''     c'''    cis'''  d'''    e''' }
+tabPull=  {    g       e       f       b       a       disis'  d'      bisis   c'      f'      fisis'  e'      aisis'  a'      g'      c''     b'      cisis'' e''     eisis'' d''     g''     f''     gisis'' b''     a''     d'''    f'''    bisis'' c'''    e''' }
+%}
+
+% Accordion melody in tabulator score          
+% 1. Place a copy of the piano melody below
+% 2. Separate piano melody into pull- and push-parts according to the staffTabLine you've already made      
+% 3. For each line: Double the line. Remark the 1st one (Keeps unchanged as reference) and then change the second line using the transformation paper
+%    or the macros 'conv2diaton push.bsh' and 'conv2diaton pull.bsh' 
+% Tips:
+% - In jEdit Search & Replace mark the Option 'Keep Dialog'
+
+AccordionTabTwoCBesDur= {      
+ % pull 1
+ %<f' bes'>8 <f' a'>8 <d' bes'>8 | 
+<g'' a''>8 <g'' b''>8 <e'' a''>8 | 
+ % push 2
+ %<g' c''>4 <f' d''> <g' ees''> <f' a'> | 
+<g'' a''>4 <d'' eisis''> <g'' bisis''> <d'' f''> | 
+ % pull 3
+% <f' bes'>2 r8 }
+ <g'' a''>2 r8 }
+
+  AccordionTab= { \dynamicUp           
+% 1. Place a copy of the piano melody above
+% 2. Separate piano melody into pull- and push-parts according to the staffTabLine you've already made      
+% 3. For each line: Double the line. Remark the 1st one (Keeps unchanged as reference) and then 
+%    change the second line using the transformation paper
+% Tips:
+% - In jEdit Search & Replace mark the Option 'Keep Dialog'
+% - 
+\AccordionTabTwoCBesDur
+ }
+
+
+ \layout {   
+ \context {
+   \Staff        
+   \consists "Grid_point_engraver"
+
+   gridInterval = #(ly:make-moment 4 4) % 4/4 - tact. How many beats per bar
+
+   % The following line has to be adjusted O-F-T-E-N.
+   \override GridPoint #'Y-extent = #'(-2 . -21)   
+ }
+ \context {
+    \ChoirStaff
+    \remove "System_start_delimiter_engraver" 
+ }
+}
+
+staffVoice = \new Staff=astaffvoice  {
+       \time 4/4
+       \set Staff.instrumentName="Voice"
+       \set Staff.midiInstrument="voice oohs"
+       \key bes \major
+       \partial 8*3 
+       \clef treble
+       {       
+               \context Voice = "melodyVoi" 
+               { <f' bes'>8 <f' a'>8 <d' bes'>8 | <g' c''>4 <f' d''> <g' es''> <f' a'> | <f' bes'>2 r8 }
+       \bar "|."
+       }
+}
+
+staffAccordionMel = \new Staff  \with { \remove "Clef_engraver" } {
+       #(set-accidental-style 'forget) %Set the accidentals (Vorzeichen) for each note, 
+                                       %do not remember them for the rest of the measure.  
+       \time 4/4
+       \set Staff.instrumentName="Accordion"
+       \set Staff.midiInstrument="voice oohs"
+       \key c \major
+       \clef treble
+       { \AccordionTab \bar "|." }
+}
+
+       AltOn = #(define-music-function (parser location mag) (number?)
+               #{ \override Stem #'length = #$(* 7.0 mag)
+               \override NoteHead #'font-size =
+               #$(inexact->exact (* (/ 6.0 (log 2.0)) (log mag))) #})
+     
+       AltOff = {
+               \revert Stem #'length
+               \revert NoteHead #'font-size
+               }
+
+BassRhytm = {s4 s8 | c2 c2 | c2 s8 }
+LyricBassRhythmI=  \lyricmode { c b | c }
+
+staffBassRhytm = \new Staff=staffbass  \with { \remove "Clef_engraver" } {
+       % This is not a RhythmicStaff  because it must be possible to append lyrics.
+               
+       \override Score.GridLine #'extra-offset = #'( 13.0 . 0.0 ) % x.y
+       \override Staff.StaffSymbol #'line-positions = #'( 0 ) 
+        % Shows one horizontal line. The vertical line (simulating a bar-line) is simulated by a grid
+        % Search for 'grid' in this page to find all related functions 
+       \time 4/4
+       {       
+               \context Voice = "VoiceBassRhytm" 
+               \stemDown \AltOn #0.6
+               \relative c''
+               {   
+               \BassRhytm
+               }
+               \AltOff
+       \bar "|."
+       }
+}
+
+\new Score 
+\with {
+ \consists "Grid_line_span_engraver" %The vertical line (simulating a bar-line) in the staffBassRhytm is a gridline 
+}
+\new ChoirStaff 
+       <<
+               \harmonies 
+               \staffVoice
+               \context Lyrics = "lmelodyVoi" \with {alignBelowContext=astaffvoice} { \lyricsto "melodyVoi" \verse }
+               \staffAccordionMel
+               \staffTabLine
+               \staffBassRhytm
+       \context Lyrics = "lBassRhytmAboveI" \with {alignAboveContext=staffbass} \lyricsto VoiceBassRhytm \LyricBassRhythmI
+       >>
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                            APPENDIX                          %
+%     macro 'macro_conv2diaton_push.bsh' for jedit editor      %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%{ 
+// original saved in 'Handorg_Adria_Diaton_III.xls'
+// Save this buffer, to the other recorded macros in the jedit editor
+// and the macro should appear in the
+// Macros menu.
+
+// /ak 17.8.07 This macro from converts lilypond piano notation into 
+// lilypond tabulator notation for the push-part (at the bottom the pull-part) of a diatonic accordion
+// It replaces the piano notes of the line where the cursor is by the accordion notation
+
+
+
+// Known issues: 1) A note at the end of line is not replaced
+
+textArea.goToEndOfWhiteSpace(false);
+textArea.goToStartOfWhiteSpace(true);
+
+
+String firstName, lastName; 
+
+int ReplaceTextInSelection(String sfind, String sreplace)
+{
+//MsgConcat = new StringBuffer(512);
+//MsgConcat.append("Ha");
+
+//Macros.message(view, "On that line replace \"" + sfind + "\" by \"" + sreplace+ "\"");
+SearchAndReplace.setSearchString(sfind.toString());
+SearchAndReplace.setReplaceString(sreplace.toString());
+SearchAndReplace.setBeanShellReplace(false);
+SearchAndReplace.setIgnoreCase(true);
+SearchAndReplace.replace(view);
+SearchAndReplace.setRegexp(true);
+return 1;
+}
+
+
+String smainfind;
+String smainrepl;
+
+
+// Push-part tmp
+smainfind="(\\s|^|<|\\{)(c,)([^\'^is^es])"; smainrepl="$1tmpd\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(cis,)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(des,)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(d,)([^\'^is^es])"; smainrepl="$1tmpbisis-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(dis,)([^\'^is^es])"; smainrepl="$1tmpdisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ees,)([^\'^is^es])"; smainrepl="$1tmpdisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(e,)([^\'^is^es])"; smainrepl="$1tmpg$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(f,)([^\'^is^es])"; smainrepl="$1tmpf$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(fis,)([^\'^is^es])"; smainrepl="$1tmpe$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ges,)([^\'^is^es])"; smainrepl="$1tmpe$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(g,)([^\'^is^es])"; smainrepl="$1tmpb$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(gis,)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(aes,)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(a,)([^\'^is^es])"; smainrepl="$1tmpa$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ais,)([^\'^is^es])"; smainrepl="$1tmpfisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(bes,)([^\'^is^es])"; smainrepl="$1tmpfisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(b,)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(c)([^\'^is^es])"; smainrepl="$1tmpd\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(cis)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(des)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(d)([^\'^is^es])"; smainrepl="$1tmpbisis$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(dis)([^\'^is^es])"; smainrepl="$1tmpdisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ees)([^\'^is^es])"; smainrepl="$1tmpdisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(e)([^\'^is^es])"; smainrepl="$1tmpf\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(f)([^\'^is^es])"; smainrepl="$1tmpe\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(fis)([^\'^is^es])"; smainrepl="$1tmpaisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ges)([^\'^is^es])"; smainrepl="$1tmpaisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(g)([^\'^is^es])"; smainrepl="$1tmpa\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(gis)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(aes)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(a)([^\'^is^es])"; smainrepl="$1tmpg\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ais)([^\'^is^es])"; smainrepl="$1tmpfisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(bes)([^\'^is^es])"; smainrepl="$1tmpfisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(b)([^\'^is^es])"; smainrepl="$1tmpr$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(c\')([^\'^is^es])"; smainrepl="$1tmpb\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(cis\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(des\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(d\')([^\'^is^es])"; smainrepl="$1tmpeisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(dis\')([^\'^is^es])"; smainrepl="$1tmpcisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ees\')([^\'^is^es])"; smainrepl="$1tmpcisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(e\')([^\'^is^es])"; smainrepl="$1tmpe\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(f\')([^\'^is^es])"; smainrepl="$1tmpd\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(fis\')([^\'^is^es])"; smainrepl="$1tmpgisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ges\')([^\'^is^es])"; smainrepl="$1tmpgisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(g\')([^\'^is^es])"; smainrepl="$1tmpg\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(gis\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(as\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(a\')([^\'^is^es])"; smainrepl="$1tmpf\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ais\')([^\'^is^es])"; smainrepl="$1tmpfisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(bes\')([^\'^is^es])"; smainrepl="$1tmpfisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(b\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(c\'\')([^\'^is^es])"; smainrepl="$1tmpa\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(cis\'\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(des\'\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(d\'\')([^\'^is^es])"; smainrepl="$1tmpeisis\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(dis\'\')([^\'^is^es])"; smainrepl="$1tmpbisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ees\'\')([^\'^is^es])"; smainrepl="$1tmpbisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(e\'\')([^\'^is^es])"; smainrepl="$1tmpd\'\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(f\'\')([^\'^is^es])"; smainrepl="$1tmpc\'\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(fis\'\')([^\'^is^es])"; smainrepl="$1tmpgisis\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ges\'\')([^\'^is^es])"; smainrepl="$1tmpgisis\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(g\'\')([^\'^is^es])"; smainrepl="$1tmpf\'\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(gis\'\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(aes\'\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(a\'\')([^\'^is^es])"; smainrepl="$1tmpe\'\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ais\'\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(bes\'\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(b\'\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+
+smainfind="(\\s|^|<|\\{)(tmp)()"; smainrepl="$1$3"; ReplaceTextInSelection( smainfind, smainrepl );
+*/
+
+/*
+// Pull-part tmp
+smainfind="(\\s|^|<|\\{)(c,)([^\'^is^es])"; smainrepl="$1tmpa-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(cis,)([^\'^is^es])"; smainrepl="$1tmpdisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(des,)([^\'^is^es])"; smainrepl="$1tmpdisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(d,)([^\'^is^es])"; smainrepl="$1tmpd\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(dis,)([^\'^is^es])"; smainrepl="$1tmpbisis-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ees,)([^\'^is^es])"; smainrepl="$1tmpbisis-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(e,)([^\'^is^es])"; smainrepl="$1tmpc\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(f,)([^\'^is^es])"; smainrepl="$1tmpf\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(fis,)([^\'^is^es])"; smainrepl="$1tmpfisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ges,)([^\'^is^es])"; smainrepl="$1tmpfisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(g,)([^\'^is^es])"; smainrepl="$1tmpg$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(gis,)([^\'^is^es])"; smainrepl="$1tmpe$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(aes,)([^\'^is^es])"; smainrepl="$1tmpe$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(a,)([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ais,)([^\'^is^es])"; smainrepl="$1tmpf$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(bes,)([^\'^is^es])"; smainrepl="$1tmpf$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(b,)([^\'^is^es])"; smainrepl="$1tmpb$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(c)([^\'^is^es])"; smainrepl="$1tmpa$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(cis)([^\'^is^es])"; smainrepl="$1tmpdisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(des)([^\'^is^es])"; smainrepl="$1tmpdisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(d)([^\'^is^es])"; smainrepl="$1tmpd\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(dis)([^\'^is^es])"; smainrepl="$1tmpbisis$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ees)([^\'^is^es])"; smainrepl="$1tmpbisis$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(e)([^\'^is^es])"; smainrepl="$1tmpc\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(f)([^\'^is^es])"; smainrepl="$1tmpf\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(fis)([^\'^is^es])"; smainrepl="$1tmpfisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ges)([^\'^is^es])"; smainrepl="$1tmpfisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(g)([^\'^is^es])"; smainrepl="$1tmpe\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(gis)([^\'^is^es])"; smainrepl="$1tmpaisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(aes)([^\'^is^es])"; smainrepl="$1tmpaisis\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(a)([^\'^is^es])"; smainrepl="$1tmpa\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ais)([^\'^is^es])"; smainrepl="$1tmpg\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(bes)([^\'^is^es])"; smainrepl="$1tmpg\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(b)([^\'^is^es])"; smainrepl="$1tmpc\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(c\')([^\'^is^es])"; smainrepl="$1tmpb\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(cis\')([^\'^is^es])"; smainrepl="$1tmpcisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(des\')([^\'^is^es])"; smainrepl="$1tmpcisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(d\')([^\'^is^es])"; smainrepl="$1tmpe\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(dis\')([^\'^is^es])"; smainrepl="$1tmpeisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ees\')([^\'^is^es])"; smainrepl="$1tmpeisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(e\')([^\'^is^es])"; smainrepl="$1tmpd\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(f\')([^\'^is^es])"; smainrepl="$1tmpg\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(fis\')([^\'^is^es])"; smainrepl="$1tmpfisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ges\')([^\'^is^es])"; smainrepl="$1tmpfisis\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(g\')([^\'^is^es])"; smainrepl="$1tmpf\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(gis\')([^\'^is^es])"; smainrepl="$1tmpgisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(aes\')([^\'^is^es])"; smainrepl="$1tmpgisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(a\')([^\'^is^es])"; smainrepl="$1tmpb\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ais\')([^\'^is^es])"; smainrepl="$1tmpa\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(bes\')([^\'^is^es])"; smainrepl="$1tmpa\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(b\')([^\'^is^es])"; smainrepl="$1tmpd\'\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(c\'\')([^\'^is^es])"; smainrepl="$1tmpf\'\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(cis\'\')([^\'^is^es])"; smainrepl="$1tmpbisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(des\'\')([^\'^is^es])"; smainrepl="$1tmpbisis\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(d\'\')([^\'^is^es])"; smainrepl="$1tmpc\'\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(dis\'\')([^\'^is^es])"; smainrepl="$1tmpeisis\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ees\'\')([^\'^is^es])"; smainrepl="$1tmpeisis\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(e\'\')([^\'^is^es])"; smainrepl="$1tmpe\'\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(f\'\')([^\'^is^es])"; smainrepl="$1tmpg\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(fis\'\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ges\'\')([^\'^is^es])"; smainrepl="$1tmpr-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(g\'\')([^\'^is^es])"; smainrepl="$1tmpf\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(gis\'\')([^\'^is^es])"; smainrepl="$1tmpgisis\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(aes\'\')([^\'^is^es])"; smainrepl="$1tmpgisis\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(a\'\')([^\'^is^es])"; smainrepl="$1tmpb\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(ais\'\')([^\'^is^es])"; smainrepl="$1tmpa\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(bes\'\')([^\'^is^es])"; smainrepl="$1tmpa\'\'$3"; ReplaceTextInSelection( smainfind, smainrepl );
+smainfind="(\\s|^|<|\\{)(b\'\')([^\'^is^es])"; smainrepl="$1tmpd\'\'\'-.$3"; ReplaceTextInSelection( smainfind, smainrepl );
+
+smainfind="(\\s|^|<|\\{)(tmp)()"; smainrepl="$1$3"; ReplaceTextInSelection( smainfind, smainrepl );
+*/
+
+
+%}
+
diff --git a/input/lsr/rhythms/adding-beams,-slurs,-ties-etc.-when-using-tuplet-and-non-tuplet-rythms..ly b/input/lsr/rhythms/adding-beams,-slurs,-ties-etc.-when-using-tuplet-and-non-tuplet-rythms..ly
new file mode 100644 (file)
index 0000000..e499b57
--- /dev/null
@@ -0,0 +1,24 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header { texidoc = "
+LilyPond syntax can involve many unusual placements for parentheses,
+brackets etc., which might sometimes have to be interleaved.For
+example, when entering a manual beam, the left square bracket has to be
+placed after the starting note and its duration, not before. Similarly,
+the right square bracket should directly follow the note which is to be
+at the end of the requested beaming, even if this note happens to be
+inside a tuplet section. This snippet demonstrates how to superpose
+manual beaming, manual slurs, ties, and phrasing slurs, while using
+tuplet sections (enclosed with curly braces).
+" }
+
+{
+  r16[ g16 \times 2/3 {r16 e'8] }
+  
+ g16( a \times 2/3 {b d e') }
+ g8[( a \times 2/3 {b d') e'~]}
+ \times 4/5 {e'32\( a b d' e'} a'4.\)
+}
diff --git a/input/lsr/rhythms/automatic-beams-two-per-two-in-4-4-or-2-2-time-signature.ly b/input/lsr/rhythms/automatic-beams-two-per-two-in-4-4-or-2-2-time-signature.ly
new file mode 100644 (file)
index 0000000..b52033e
--- /dev/null
@@ -0,0 +1,52 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header { texidoc = "
+In time signature 2/2 or 4/4 the beam are  @code{         _____        
+ _   _  Default | | | | I want | | | |. } Use a \"macro\" with
+#(override-auto-beam-setting '.....
+
+
+
+" }
+
+% Automatic beams two per two in 4/4 or 2/2 time signature
+%           _____
+% Default   | | | | 
+%           _   _
+% I want    | | | |
+
+% The good way adapted from David Bobrof
+
+% macro for beamed two per two in 2/2 and 4/4 time signature
+qbeam={  
+       #(override-auto-beam-setting '(end 1 8 * *) 1 4 'Staff)
+       #(override-auto-beam-setting '(end 1 8 * *) 2 4 'Staff)
+       #(override-auto-beam-setting '(end 1 8 * *) 3 4 'Staff) 
+       }
+% other macros 
+timeFractionstyle={ \override Staff.TimeSignature #'style = #'()}
+textn = ^\markup{ without the macro }
+texty = ^\markup{ with the macro }
+
+\score {
+ << 
+       \new Staff << \relative c'' {  
+               \timeFractionstyle
+               \time 4/4
+                g8\textn g g g   g g g g   g g g g4  g8 g g
+                }
+               >>
+               
+       %Use the macro  
+       
+       \new Staff << \relative c'' {  
+               \timeFractionstyle
+               \time 4/4
+               \qbeam
+               g8\texty g g g   g g g g  g g g g4  g8 g g 
+                }
+        >>      
+ >>
+\layout{ raggedright = ##t }
+}
diff --git a/input/lsr/rhythms/changing-time-signatures-inside-a-polymetric-section-using--compressmusic.ly b/input/lsr/rhythms/changing-time-signatures-inside-a-polymetric-section-using--compressmusic.ly
new file mode 100644 (file)
index 0000000..d135c08
--- /dev/null
@@ -0,0 +1,43 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header { texidoc = "
+The measureLength variable, together with measurePosition, determines
+when a barline is needed. However, when using \\compressMusic, the
+scaling of durations makes it difficult to change time signatures
+without making a mess of it. 
+
+Therefore, measureLength has to be set manually, using the
+ly:make-moment callback. The second argument has to be the same as the
+second argument of \\compressMusic.
+" }
+
+\layout {
+ \context { \Score
+    \remove "Timing_translator"
+    \remove "Default_bar_line_engraver"
+ }
+ \context {
+   \Staff
+   \consists "Timing_translator"
+   \consists "Default_bar_line_engraver"
+ }
+}
+
+<<
+ \new Staff {
+   \compressMusic #'( 8 . 5 ) {
+     \time 6/8
+     \set Timing.measureLength = #(ly:make-moment 3 5)
+     b8 b b b b b
+     \time 2/4
+     \set Timing.measureLength = #(ly:make-moment 2 5)
+     b4 b
+     }
+   }
+ \new Staff {
+   \clef bass
+   \time 2/4
+   c2 d e f  }
+ >>
+
diff --git a/input/lsr/rhythms/heavily-customized-polymetric-time-signatures.ly b/input/lsr/rhythms/heavily-customized-polymetric-time-signatures.ly
new file mode 100644 (file)
index 0000000..fdac8ae
--- /dev/null
@@ -0,0 +1,38 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header { texidoc = "
+Though the set-time-signature thing was not the most essential here, it
+has been included to show the beat of this piece (which is a template
+of a real balkan song!).
+" }
+
+#(define (compound-time one two three four five six seven eight nine ten num)
+  (markup #:override '(baseline-skip . 0) #:number 
+   (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num)) #:vcenter "+" (#:column (three num)) #:vcenter "+" (#:column (four num)) #:vcenter "+" (#:column (five num)) #:vcenter "+" (#:column (six num)) #:vcenter "+" (#:column (seven num)) #:vcenter "+" (#:column (eight num)) #:vcenter "+" (#:column (nine num)) #:vcenter "+" (#:column (ten num))))))
+
+
+melody =
+{         \relative c'' {
+        \set Staff.instrumentName = "Bb Sop."
+        \key g \major \time 25/8
+         \override Staff.TimeSignature #'stencil = #ly:text-interface::print
+  \override Staff.TimeSignature #'text = #(compound-time "3" "2" "2" "3" "2" "2" "2" "3" "2" "2" "8" )
+        c8[ c c] d4 c8[ c] b[ c b] a4 g fis8[ e d c] b'[ c d] e4-^ fis8[ g] | \break
+        c,4. d4 c4 d4. c4 d c2 d4. e4-^ d4 |
+        c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 | \break
+        c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 |
+        c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 | \break }
+}
+drum = {
+        \new DrumStaff \drummode
+        {
+                \bar "|:" bd4. ^\markup { "Drums" } sn4 bd \bar ":" sn4. bd4 sn \bar ":"
+                bd sn bd4. sn4 bd \bar ":|" 
+        }
+}
+
+{
+ \melody 
+ \drum 
+}