[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Lessons learned from big data files & removing Bar_engraver (was Re: Com
From: |
Mike Solomon |
Subject: |
Lessons learned from big data files & removing Bar_engraver (was Re: Compiling files with lots of data) |
Date: |
Wed, 03 Jun 2009 09:20:44 -0400 |
User-agent: |
Microsoft-Entourage/11.4.0.080122 |
Hey all,
I finally figured out a workaround - if one knows the exact length of
her piece (say it is 3**7 32nd notes) and one knows the shortest duration in
the piece (say 32nd notes), then NOT removing the Bar_engraver, keeping \set
Score.timing = ##f, and adding a Voice { \repeat unfold 2187 { s32 \bar "" }
} takes 1hr on my machine compared to the 14 of the \remove Bar_engraver
solution. In the documentation for 2.12.0, I believe it suggests removing
the Bar_engraver as an option when making barless music - until the two
solutions take a comparable time to compile, I think an asterisk should be
added mentioning this discrepancy.
To convince yourself, try the following 2 minimal examples:
1) Quick way :
\version "2.13.0"
\new Score \with {
proportionalNotationDuration = #(ly:make-moment 1 4)
\override TimeSignature #'stencil = ##f
} {
\new Staff = "foo" { \set Score.timing = ##f { \repeat unfold 2000 a4 }
\\ { \repeat unfold 2000 s4 \bar "" } }
}
\layout {
\context {
\Voice
\remove Stem_engraver
\remove Beam_engraver
}
}
2) Slow way :
\version "2.13.0"
\new Score \with {
proportionalNotationDuration = #(ly:make-moment 1 4)
\override TimeSignature #'stencil = ##f
} {
\new Staff = "foo" { \set Score.timing = ##f \repeat unfold 2000 a4 }
}
\layout {
\context {
\Staff
\remove Bar_engraver
}
\context {
\Voice
\remove Stem_engraver
\remove Beam_engraver
}
}
Of course, I am always on the lookout for a better way than either of these,
so if you know of one, please let me know!
~Mike
On 6/2/09 9:19 AM, "Mike Solomon" <address@hidden> wrote:
> Hey,
> The piece is not from MIDI input, but rather was generated
> algorithmically in Python (thus the rigidity of the layout that you picked
> up on). All of the spaces are intentional. In my newest attempted compile
> of the work (I killed the old one in a fit of self doubt), I removed the
> beam engraver and the stem engraver in addition to the bar engraver. I also
> changed all of the 32nd notes to quarter notes (as every note in the piece
> was a 32nd note, they are all now quarter notes). So, to summarize:
> Bar_engraver gone
> Stem_engraver gone
> Beam_engraver gone
> proportionalNotationDuration = #(ly:make-moment 1 4)
> Slightly more than 2*(3**7) quarter notes (without stems)
> Grob count: 24833
>
> On hour 15 of my new compile... Keep the suggestions coming!
>
> ~Mike
>
>
> On 6/2/09 12:17 AM, "-Eluze" <address@hidden> wrote:
>
>>
>> is this from midi input?
>>
>> if so you should be sure to apply appropriate "--allow-tuplet=" options.
>> also, "funny" durations like s32*231 could indicate some kind of grace notes
>> in the original music
>>
>> see
>>
http://lilypond.org/doc/v2.12/Documentation/user/lilypond-program/Invoking-mi>>
d
>> i2ly
>>
http://lilypond.org/doc/v2.12/Documentation/user/lilypond-program/Invoking-mi>>
d
>> i2ly
>> for more details
>> furthermore, specific Voice options - eg. \voiceOne - should be added
>> manually
>
>
>
>
> _______________________________________________
> lilypond-user mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/lilypond-user
>