commit 2020.06.07.01

main
Michael Winter 5 years ago
parent 25d75ee55a
commit bef5c3f954

@ -2,7 +2,6 @@
\include "pseudoindent.ly" \include "pseudoindent.ly"
#(define factor 2) #(define factor 2)
#(define (enlarged-extent-laissez-vibrer::print grob) #(define (enlarged-extent-laissez-vibrer::print grob)
@ -28,7 +27,7 @@
bottom-margin = 1 \cm bottom-margin = 1 \cm
left-margin = 2.5 \cm left-margin = 2.5 \cm
ragged-bottom = ##t ragged-bottom = ##t
page-breaking = #ly:minimal-breaking %page-breaking = #ly:minimal-breaking
top-system-spacing = top-system-spacing =
#'((basic-distance . 15 ) #'((basic-distance . 15 )
@ -48,13 +47,11 @@
(padding . 0 ) (padding . 0 )
(stretchability . 0)) (stretchability . 0))
%min-systems-per-page = 5 systems-per-page = 5
%systems-per-page = 5
%max-systems-per-page = 5
print-page-number = ##t print-page-number = ##t
oddHeaderMarkup = \markup { \on-the-fly #not-first-page "(cic)" } oddHeaderMarkup = \markup { \on-the-fly #not-first-page \italic {Counterfeiting in Colonial Connecticut} }
evenHeaderMarkup = \markup { \on-the-fly #not-first-page "(cic)" } evenHeaderMarkup = \markup { \on-the-fly #not-first-page \italic {Counterfeiting in Colonial Connecticut} }
oddFooterMarkup = \markup { \fill-line { oddFooterMarkup = \markup { \fill-line {
\on-the-fly #not-first-page \on-the-fly #not-first-page
\concat { \concat {
@ -85,7 +82,7 @@
\layout { \layout {
indent = 0.0\cm indent = 0.0\cm
line-width = 17\cm line-width = 17\cm
ragged-last = ##t ragged-last = ##f
ragged-right = ##f ragged-right = ##f
\context { \context {
@ -179,6 +176,7 @@
} }
<< <<
\include "includes/cicc_guitar.ly" \include "includes/cicc_guitar.ly"
% { s1 | s1 | s1 | s1 | \break \pseudoIndents 0 44 s1 | s1 | s1 | s1 | }
>> >>
\new Staff \with { \new Staff \with {

@ -1,3 +1,112 @@
{
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 42 \repeat unfold 6 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 126 \repeat unfold 2 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 42 \repeat unfold 6 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 63 \repeat unfold 5 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 42 \repeat unfold 6 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 63 \repeat unfold 5 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
}
{ {
\set Score.markFormatter = #format-mark-box-numbers \tempo 2 = 90 \set Score.markFormatter = #format-mark-box-numbers \tempo 2 = 90

@ -1,3 +1,112 @@
{
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 42 \repeat unfold 6 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 126 \repeat unfold 2 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 42 \repeat unfold 6 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 63 \repeat unfold 5 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 42 \repeat unfold 6 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 63 \repeat unfold 5 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
}
{ {
\set Score.markFormatter = #format-mark-box-numbers \tempo 2 = 90 \set Score.markFormatter = #format-mark-box-numbers \tempo 2 = 90

@ -1,3 +1,112 @@
{
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 42 \repeat unfold 6 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 126 \repeat unfold 2 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 42 \repeat unfold 6 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 63 \repeat unfold 5 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 42 \repeat unfold 6 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 63 \repeat unfold 5 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\pseudoIndents 0 21 \repeat unfold 7 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
\repeat unfold 8 {s2 \noBreak} \break
}
{ {
\set Score.markFormatter = #format-mark-box-numbers \tempo 2 = 90 \set Score.markFormatter = #format-mark-box-numbers \tempo 2 = 90

@ -126,3 +126,8 @@ pseudoIndent = % for changing just left-indent
#{ #{
\pseudoIndents $name-tweaks $left-indent 0 \pseudoIndents $name-tweaks $left-indent 0
#}) #})
% [1] versions <2.19.1 can have end-of-line leftedges too
% - these were eliminated in issue 3761
% [2] versions >=2.19.16: the first system behaves differently from the rest
% - a side effect of issue 660 ?

@ -8,12 +8,14 @@
var partVols, partMutes, partPans; var partVols, partMutes, partPans;
var masterMute, masterVol; var masterMute, masterVol;
// set initial mixer values
partVols = [1, 1, 1, 1, 1]; partVols = [1, 1, 1, 1, 1];
partMutes = [1, 1, 1, 1, 1]; partMutes = [1, 1, 1, 1, 1];
partPans = [0, 0, 0, 0, 0]; partPans = [0, 0, 0, 0, 0];
masterMute = 1; masterMute = 1;
masterVol = 1; masterVol = 1;
// these funcs update the elements of the transport panel
clockStringFunc = { clockStringFunc = {
arg measure, beat; arg measure, beat;
var measureString, beatString, leadSpace; var measureString, beatString, leadSpace;
@ -26,40 +28,29 @@
metronomeStringFunc = { arg beat; if(beat == 1, {[-30, -105, -104].asAscii}, {[-30, -105, -113].asAscii}) }; metronomeStringFunc = { arg beat; if(beat == 1, {[-30, -105, -104].asAscii}, {[-30, -105, -113].asAscii}) };
metronomeColorFunc = { arg beat; if(beat == 1, {Color.red},{Color.black}) }; metronomeColorFunc = { arg beat; if(beat == 1, {Color.red},{Color.black}) };
/*
~appStatusFunc = Task({
loop {
{~appStatus.string = ~appStatusString ++ "*"}.defer;
0.5.wait; {~appStatus.string = ~appStatusString ++ "* *"}.defer;
0.5.wait; {~appStatus.string = ~appStatusString ++ "* * *"}.defer;
0.5.wait; {~appStatus.string = ~appStatusString ++ "* * * *"}.defer;
0.5.wait; {~appStatus.string = ~appStatusString ++ "* * * * *"}.defer;
0.5.wait;
}
});
*/
win = Window("Counterfeiting in Colonial Connecticut", Rect(500, 500, 1100, 500), false).front; win = Window("Counterfeiting in Colonial Connecticut", Rect(500, 500, 1100, 500), false).front;
masterView = { masterView = {
var view, masterIndicators, master, generator, transport, ranSeed, order, startPosText, var view, generator, transport, ranSeed, order, sectionDisplay, clock, metronome;
prevSectionButton, prevSubsectionButton, playStopButton, nextSubsectionButton, nextSectionButton,
sectionDisplay, clock, metronome;
// this func updates the whole transport panel
~updateTransport = {arg measure, beat; ~updateTransport = {arg measure, beat;
clock.string = clockStringFunc.value(measure, beat); clock.string = clockStringFunc.value(measure, beat);
metronome.stringColor = metronomeColorFunc.value(beat); metronome.stringColor = metronomeColorFunc.value(beat);
metronome.string = metronomeStringFunc.value(beat); metronome.string = metronomeStringFunc.value(beat);
}; };
// this func handles the movement between sections
~updateSection = {arg shift, stop = true, manualCall = true; ~updateSection = {arg shift, stop = true, manualCall = true;
var runThis; var runThis;
runThis = (manualCall || (manualCall.not && ~autoAdvance.postln)); runThis = (manualCall || (manualCall.not && ~autoAdvance));
runThis = runThis && ((~currentSection + shift) < ~sectionOrder.size); runThis = runThis && ((~currentSection + shift) < ~sectionOrder.size);
runThis = runThis && (((~currentSection % 4) == 3) && ~interludes && manualCall.not).not; runThis = runThis && (((~currentSection % 4) == 3) && ~interludes && manualCall.not).not;
if(runThis, { if(runThis, {
var truncOnly, section, subSection; var truncOnly, section, subSection;
if(~isPlaying, { if(~isPlaying, {
if(stop, {~patterns[~sectionOrder[~currentSection]].stop}); if(stop, {
~patterns[~sectionOrder[~currentSection]].stop
})
}); });
truncOnly = case truncOnly = case
@ -100,6 +91,7 @@
}); });
}; };
// these funcs receive messages from the synth
OSCFunc({ arg msg, time; OSCFunc({ arg msg, time;
{ {
var measure, beat; var measure, beat;
@ -108,7 +100,6 @@
~updateTransport.value(measure, beat) ~updateTransport.value(measure, beat)
}.defer; }.defer;
},'/measureClock', s.addr); },'/measureClock', s.addr);
OSCFunc({ arg msg, time; {metronome.string = ""}.defer},'/measureClockReset', s.addr); OSCFunc({ arg msg, time; {metronome.string = ""}.defer},'/measureClockReset', s.addr);
view = View(win); view = View(win);
@ -116,25 +107,14 @@
ranSeed = TextField(view, Rect(10, 10, 10, 20)).string_("20200525"), ranSeed = TextField(view, Rect(10, 10, 10, 20)).string_("20200525"),
Button(view).states_([["reset seed"]]).action_({ ranSeed.string = "20200525"}), Button(view).states_([["reset seed"]]).action_({ ranSeed.string = "20200525"}),
Button(view).states_([["random seed"]]).action_({ ranSeed.string = 50000000.rand.asString}), Button(view).states_([["random seed"]]).action_({ ranSeed.string = 50000000.rand.asString}),
Button(view).states_([["generate"]]).action_({ Button(view).states_([["generate"]]).action_({~genAll.value(ranSeed.string.asInteger)}),
//~appStatusString = "generating data"; Button(view).states_([["transcribe"]]).action_({~transcribe.value(~scoreData)}),
//~appStatusFunc.start; [StaticText(view).string_(" "), stretch: 1], nil);
~genAll.value(ranSeed.string.asInteger);
}),
Button(view).states_([["transcribe"]]).action_({
~transcribe.value(~scoreData)
}),
[StaticText(view).string_(" "), stretch: 1],
nil);
transport = HLayout( transport = HLayout(
prevSectionButton = Button(view).states_([["<<", Color.black]]).action_({| pState | Button(view).states_([["<<", Color.black]]).action_({arg pState; ~updateSection.value(-4)}),
~updateSection.value(-4); Button(view).states_([["<", Color.black]]).action_({arg pState; ~updateSection.value(-1)}),
}), Button(view).states_([["play", Color.black], ["stop", Color.black, Color.grey]]).action_(
prevSubsectionButton = Button(view).states_([["<", Color.black]]).action_({| pState | {arg pState;
~updateSection.value(-1);
}),
playStopButton = Button(view).states_([["play", Color.black], ["stop", Color.black, Color.grey]]).action_(
{| pState |
if(pState.value == 0, { if(pState.value == 0, {
var measure, beat; var measure, beat;
~isPlaying = false; ~isPlaying = false;
@ -156,15 +136,9 @@
}) })
} }
), ),
nextSubsectionButton = Button(view).states_([[">", Color.black]]).action_({| pState | Button(view).states_([[">", Color.black]]).action_({arg pState; ~updateSection.value(1)}),
~updateSection.value(1); Button(view).states_([[">>", Color.black]]).action_({arg pState; ~updateSection.value(4)}), nil,
}), sectionDisplay = StaticText(win).string_("section: 1.1").font_(Font("Monaco", 70)), nil);
nextSectionButton = Button(view).states_([[">>", Color.black]]).action_({| pState |
~updateSection.value(4);
}),
nil,
sectionDisplay = StaticText(win).string_("section: 1.1").font_(Font("Monaco", 70)),
nil);
view.layout_(HLayout( view.layout_(HLayout(
[VLayout( [VLayout(
HLayout(clock = StaticText(win).string_(" 1.1").font_(Font("Monaco", 200)), HLayout(clock = StaticText(win).string_(" 1.1").font_(Font("Monaco", 200)),
@ -172,10 +146,10 @@
metronome = StaticText(win).string_([-30, -105, -104].asAscii).font_(Font("Monaco", 300)).stringColor_(Color.red)), metronome = StaticText(win).string_([-30, -105, -104].asAscii).font_(Font("Monaco", 300)).stringColor_(Color.red)),
nil, transport, nil, nil, transport, nil,
HLayout(Button(view).states_([["auto advance", Color.black], ["auto advance", Color.black, Color.grey]]).action_({ HLayout(Button(view).states_([["auto advance", Color.black], ["auto advance", Color.black, Color.grey]]).action_({
|v| ~autoAdvance = if(v.value == 0, {false}, {true});~autoAdvance.postln; arg v; ~autoAdvance = if(v.value == 0, {false}, {true});~autoAdvance;
}).value_(1), }).value_(1),
Button(view).states_([["interludes", Color.black], ["interludes", Color.black, Color.grey]]).action_({ Button(view).states_([["interludes", Color.black], ["interludes", Color.black, Color.grey]]).action_({
|v| ~interludes = if(v.value == 0, {false}, {true}) arg v; ~interludes = if(v.value == 0, {false}, {true})
}), }),
[StaticText(view).string_(" "), stretch: 1]), [StaticText(view).string_(" "), stretch: 1]),
[StaticText(view).string_(" "), stretch: 1], [StaticText(view).string_(" "), stretch: 1],
@ -183,20 +157,19 @@
order = TextField(view).string_("1-4"), order = TextField(view).string_("1-4"),
Button(view).states_([["set order"]]).action_({ Button(view).states_([["set order"]]).action_({
~patterns[~sectionOrder[~currentSection]].stop; ~patterns[~sectionOrder[~currentSection]].stop;
~sectionOrder = order.string.postln.split($,).collect({arg secEntry; ~sectionOrder = order.string.split($,).collect({arg secEntry;
var bounds; var bounds;
bounds = secEntry.split($-).collect({arg item; item.asInteger - 1}); bounds = secEntry.split($-).collect({arg item; item.asInteger - 1});
((bounds.minItem)..(bounds.maxItem)).collect({arg sec; ((bounds.minItem)..(bounds.maxItem)).collect({arg sec;
(sec.asInteger * 4) + [0, 1, 2, 3] (sec.asInteger * 4) + [0, 1, 2, 3]
}); });
}).flat; }).flat;
~sectionOrder.postln;
~currentSection = 0; ~currentSection = 0;
~updateSection.value(0); ~updateSection.value(0);
}), }),
[StaticText(view).string_(" "), stretch: 1]), [StaticText(view).string_(" "), stretch: 1]),
[StaticText(view).string_(" "), stretch: 1], generator [StaticText(view).string_(" "), stretch: 1], generator
), alignment: \top])) }; ), alignment: \top]))};
faderView = { faderView = {
var view, masterIndicators, trackIndicators, master, tracks; var view, masterIndicators, trackIndicators, master, tracks;
view = View(win); view = View(win);
@ -204,38 +177,35 @@
trackIndicators = {LevelIndicator()} ! 5; trackIndicators = {LevelIndicator()} ! 5;
OSCFunc.new({arg msg; { OSCFunc.new({arg msg; {
{|i| masterIndicators[i].value = msg[3 + i].ampdb.linlin(-40, 0, 0, 1)} ! 2}.defer}, {arg i; masterIndicators[i].value = msg[3 + i].ampdb.linlin(-40, 0, 0, 1)} ! 2}.defer},
'/masterLevels', s.addr); '/masterLevels', s.addr);
OSCFunc.new({arg msg; { OSCFunc.new({arg msg; {
{|i| trackIndicators[i].value = msg[3 + i].ampdb.linlin(-40, 0, 0, 1)} ! 5}.defer}, {arg i; trackIndicators[i].value = msg[3 + i].ampdb.linlin(-40, 0, 0, 1)} ! 5}.defer},
'/trackLevels', s.addr); '/trackLevels', s.addr);
master = HLayout( master = HLayout(
VLayout( VLayout(
[HLayout( [HLayout(
Slider(view).value_(0.8).action_( Slider(view).value_(0.8).action_(
{|v| masterVol = v.value * 1.25; ~play.set(\masterVol, masterVol)}), {arg v; masterVol = v.value * 1.25; ~play.set(\masterVol, masterVol)}),
masterIndicators[0], masterIndicators[0],
masterIndicators[1]), stretch: 2], masterIndicators[1]), stretch: 2],
Button(view).states_([["mute", Color.black], ["mute", Color.black, Color.grey]]).action_( Button(view).states_([["mute", Color.black], ["mute", Color.black, Color.grey]]).action_(
{|v| masterMute = (1 - v.value).abs; ~play.set(\masterMute, masterMute)}), {arg v; masterMute = (1 - v.value).abs; ~play.set(\masterMute, masterMute)}),
StaticText(view).string_(" master ").align_(\center) StaticText(view).string_(" master ").align_(\center)
//StaticText(view).string_("("++groupNames[group]++")").align_(\center) ), nil);
), tracks = {arg part;
nil);
tracks = { |part|
HLayout( HLayout(
VLayout( VLayout(
HLayout( HLayout(
Slider(view).value_(0.8).action_( Slider(view).value_(0.8).action_(
{|v| partVols[part] = v.value * 1.25; ~play.set(partAbbr[part] ++ "Vol", partVols[part])}), {arg v; partVols[part] = v.value * 1.25; ~play.set(partAbbr[part] ++ "Vol", partVols[part])}),
trackIndicators[part]), trackIndicators[part]),
Button(view).states_([["mute", Color.black], ["mute", Color.black, Color.grey]]).action_( Button(view).states_([["mute", Color.black], ["mute", Color.black, Color.grey]]).action_(
{|v| partMutes[part] = (1 - v.value).abs; ~play.set(partAbbr[part] ++ "Mute", partMutes[part])}), {arg v; partMutes[part] = (1 - v.value).abs; ~play.set(partAbbr[part] ++ "Mute", partMutes[part])}),
StaticText(view).string_("pan").align_(\center), StaticText(view).string_("pan").align_(\center),
Knob(view).value_(0.5).action_( Knob(view).value_(0.5).action_(
{|v| partPans[part] = v.value * 2 - 1; ~play.set(partAbbr[part] ++ "Pan", partPans[part])}), {arg v; partPans[part] = v.value * 2 - 1; ~play.set(partAbbr[part] ++ "Pan", partPans[part])}),
StaticText(view).string_(trackNames[part]).align_(\center) StaticText(view).string_(trackNames[part]).align_(\center)
), ),
nil) nil)

@ -3,17 +3,19 @@
var appEnvironment; var appEnvironment;
//push new environment
appEnvironment = Environment.make; appEnvironment = Environment.make;
appEnvironment.push; appEnvironment.push;
s.waitForBoot({ s.waitForBoot({
// load // load all files
"cicc_musical_data_generator.scd".loadRelative; "cicc_musical_data_generator.scd".loadRelative;
"cicc_sonifier.scd".loadRelative; "cicc_sonifier.scd".loadRelative;
"cicc_gui.scd".loadRelative; "cicc_gui.scd".loadRelative;
"cicc_transcriber.scd".loadRelative; "cicc_transcriber.scd".loadRelative;
// generate all the data
~genAll = {arg seed; ~genAll = {arg seed;
~allMusicData = ~genMusicData.value(seed); ~allMusicData = ~genMusicData.value(seed);
~patterns = ~allMusicData[0]; ~patterns = ~allMusicData[0];
@ -24,6 +26,7 @@ s.waitForBoot({
~isPlaying = false; ~isPlaying = false;
}; };
// set the global variables
~dir = thisProcess.nowExecutingPath.dirname; ~dir = thisProcess.nowExecutingPath.dirname;
~genAll.value(20200525); ~genAll.value(20200525);
~play = Synth.new(\masterPlayerControl); ~play = Synth.new(\masterPlayerControl);
@ -35,3 +38,5 @@ s.waitForBoot({
appEnvironment.pop; appEnvironment.pop;
}); });
)

@ -8,6 +8,7 @@
~accompLowLowerBusB = Bus.audio(s, 1); ~accompLowLowerBusB = Bus.audio(s, 1);
~accompLowUpperBusB = Bus.audio(s, 1); ~accompLowUpperBusB = Bus.audio(s, 1);
~interludeBus = Bus.audio(s, 1); ~interludeBus = Bus.audio(s, 1);
~droneBus = Bus.audio(s, 1);
SynthDef(\masterPlayerControl, { SynthDef(\masterPlayerControl, {
arg sel = 0, arg sel = 0,
@ -20,13 +21,8 @@ SynthDef(\masterPlayerControl, {
guitarSigPanned, accompHighSigPanned, accompLowLowerSigPanned, accompLowUpperSigPanned, guitarSigPanned, accompHighSigPanned, accompLowLowerSigPanned, accompLowUpperSigPanned,
masterSig, imp; masterSig, imp;
//guitarSig = SelectX.ar(sel, [In.ar(~guitarBusA), In.ar(~guitarBusB)]) * guitarVol;
//accompHighSig = SelectX.ar(sel, [In.ar(~accompHighBusA), In.ar(~accompHighBusB)]) * accompHighVol;
//accompLowSig = SelectX.ar(sel, [In.ar(~accompLowBusA), In.ar(~accompLowBusB)]) * accompLowVol;
guitarSig = In.ar(~guitarBus) * guitarVol; guitarSig = In.ar(~guitarBus) * guitarVol;
accompHighSig = In.ar(~accompHighBus) * accompHighVol; accompHighSig = In.ar(~accompHighBus) * accompHighVol;
//accompLowSig = SelectX.ar(sel, [In.ar(~accompLowBusA), In.ar(~accompLowBusB)]) * accompLowVol;
accompLowLowerSig = Mix.ar( accompLowLowerSig = Mix.ar(
[ [
In.ar(~accompLowLowerBusA) * EnvGen.kr(Env.asr(0.001, 1, 0.1), (sel + 1) % 2), In.ar(~accompLowLowerBusA) * EnvGen.kr(Env.asr(0.001, 1, 0.1), (sel + 1) % 2),
@ -76,8 +72,7 @@ SynthDef(\transport, {arg measure = 0, beat = 0, gate = 1, dur = 1;
SynthDef(\karplus, {arg freq, gate = 1, amp = 0.5, bus; SynthDef(\karplus, {arg freq, gate = 1, amp = 0.5, bus;
Out.ar(bus, Out.ar(bus,
Pluck.ar(WhiteNoise.ar(0.1), Impulse.kr(0), 220.reciprocal, freq.reciprocal, 10, coef:0) * Pluck.ar(WhiteNoise.ar(0.1), Impulse.kr(0), 220.reciprocal, freq.reciprocal, 10, coef:0) *
Linen.kr(gate, doneAction: 2) * amp Linen.kr(gate, doneAction: 2) * amp)
)
}).add; }).add;
@ -87,7 +82,6 @@ SynthDef(\accompBass, {arg freq1 = 100, freq2 = 100, gate = 1, amp = 0.5, busLow
env = EnvGen.kr(Env.perc(0.1, 10, level: amp), Impulse.kr(0) + Changed.kr(freq2)); env = EnvGen.kr(Env.perc(0.1, 10, level: amp), Impulse.kr(0) + Changed.kr(freq2));
lower = SinOsc.ar(freq1, 0, 0.5) * env; lower = SinOsc.ar(freq1, 0, 0.5) * env;
upper = SinOsc.ar(freq2, 0, 0.5) * env; upper = SinOsc.ar(freq2, 0, 0.5) * env;
//EnvGen.kr(Env.cutoff(0.1, level: amp), cutoff);
Out.ar(busLower, lower); Out.ar(busLower, lower);
Out.ar(busUpper, upper) Out.ar(busUpper, upper)
}).add; }).add;
@ -96,14 +90,11 @@ SynthDef(\accompBass, {arg freq1 = 100, freq2 = 100, gate = 1, amp = 0.5, busLow
//this is not releasing properly //this is not releasing properly
SynthDef(\accompTreble, {arg freq, gate = 1, sustain, amp, bus; SynthDef(\accompTreble, {arg freq, gate = 1, sustain, amp, bus;
var treble; var treble;
treble = SinOsc.ar( treble = SinOsc.ar(freq, 0, EnvGen.kr(Env.sine(sustain, amp * 0.1), gate, doneAction: 2));
freq, 0,
EnvGen.kr(Env.sine(sustain, amp * 0.1), gate, doneAction: 2));
Out.ar(bus, treble) Out.ar(bus, treble)
}).add; }).add;
~droneBus = Bus.audio(s, 1);
SynthDef(\drone, { arg out=0, freq=440, amp=0.1, pan=0, gate=1, bus; SynthDef(\drone, { arg out=0, freq=440, amp=0.1, pan=0, gate=1, bus;
var z; var z;
z = LPF.ar( z = LPF.ar(
@ -116,8 +107,7 @@ SynthDef(\drone, { arg out=0, freq=440, amp=0.1, pan=0, gate=1, bus;
SynthDef(\droneFade, {arg gate = 0; SynthDef(\droneFade, {arg gate = 0;
Out.ar([0, 1], Clip.ar(In.ar(~droneBus, 1), -1, 1) * 0.1 * EnvGen.ar(Env.asr(20, 1, 20), gate)) Out.ar([0, 1], Clip.ar(In.ar(~droneBus, 1), -1, 1) * 0.1 * EnvGen.ar(Env.asr(20, 1, 20), gate))
} }).add;
).add;
~dronePattern = EventPatternProxy.new; ~dronePattern = EventPatternProxy.new;
@ -132,9 +122,7 @@ SynthDef(\droneFade, {arg gate = 0;
); );
OSCFunc({ arg msg, time; OSCFunc({ arg msg, time; {~updateSection.value(1, false, false)}.defer},'/playNextSubsection', s.addr);
{~updateSection.value(1, false, false)}.defer;
},'/playNextSubsection', s.addr);
//~~~~gen music //~~~~gen music
~genPatterns = {arg guitarSeqIn, accompLowSeqIn, accompHighSeqIn, sectionSeqIn, tempo = 0.08; ~genPatterns = {arg guitarSeqIn, accompLowSeqIn, accompHighSeqIn, sectionSeqIn, tempo = 0.08;
@ -164,7 +152,6 @@ OSCFunc({ arg msg, time;
genSectionSec = {arg seq, startTime, endTime, type; genSectionSec = {arg seq, startTime, endTime, type;
var durSum, resSeqs, inSecs, mult; var durSum, resSeqs, inSecs, mult;
//sectionSeq.postln;
durSum = 0; durSum = 0;
resSeqs = []; resSeqs = [];
seq.do({arg item; seq.do({arg item;
@ -180,8 +167,6 @@ OSCFunc({ arg msg, time;
}); });
durSum = durSum + if(type == 2, {item[1]}, {item[2]}); durSum = durSum + if(type == 2, {item[1]}, {item[2]});
}); });
//if(type == 1, {resSeqs = resSeqs.add([0, 0, 16])});
resSeqs.postln;
resSeqs resSeqs
}; };
@ -214,22 +199,12 @@ OSCFunc({ arg msg, time;
if(accompHighSecSeq == [], {accompHighSecSeq = [[Rest(-1), 1, 0], [Rest(-1), 1, 0]]}); if(accompHighSecSeq == [], {accompHighSecSeq = [[Rest(-1), 1, 0], [Rest(-1), 1, 0]]});
//guitarSecSeq.postln;
//accompLowSecSeq.postln;
//accompHighSecSeq.postln;
openStrings = [1/1, 3/2, 2/1, 5/2, 35/12, 7/2]; openStrings = [1/1, 3/2, 2/1, 5/2, 35/12, 7/2];
stringSeq = guitarSecSeq.slice(nil, 0); stringSeq = guitarSecSeq.slice(nil, 0);
fretSeq = guitarSecSeq.slice(nil, 1); fretSeq = guitarSecSeq.slice(nil, 1);
durSeq = guitarSecSeq.slice(nil, 2); durSeq = guitarSecSeq.slice(nil, 2);
susSeq = calcSustains.value(stringSeq, durSeq); susSeq = calcSustains.value(stringSeq, durSeq);
susSeq.last.postln;
durSeq.last.postln;
accompLowSecSeq.last.postln;
accompHighSecSeq.last.postln;
//trigSeq = guitarSeq.slice(nil, 3);
//~player = EventPatternProxy.new;
pattern = EventPatternProxy.new; pattern = EventPatternProxy.new;
pattern.source = Ppar([ pattern.source = Ppar([
Pbind( Pbind(
@ -252,7 +227,7 @@ OSCFunc({ arg msg, time;
//\cutoff, Pseq(accompLowSecSeq.drop(-1).size.collect({0}).add(1)), //\cutoff, Pseq(accompLowSecSeq.drop(-1).size.collect({0}).add(1)),
\busLower, if(secIndex % 2 == 0, {~accompLowLowerBusA.index}, {~accompLowLowerBusB.index}), \busLower, if(secIndex % 2 == 0, {~accompLowLowerBusA.index}, {~accompLowLowerBusB.index}),
\busUpper, if(secIndex % 2 == 0, {~accompLowUpperBusA.index}, {~accompLowUpperBusB.index})) \busUpper, if(secIndex % 2 == 0, {~accompLowUpperBusA.index}, {~accompLowUpperBusB.index}))
//\bus, ~accompLowBus) //\bus, ~accompLowBus)
}, { }, {
Pmono( Pmono(
\accompBass, \accompBass,
@ -263,7 +238,7 @@ OSCFunc({ arg msg, time;
//\cutoff, Pseq(accompLowSecSeq.drop(-1).size.collect({0}).add(1)), //\cutoff, Pseq(accompLowSecSeq.drop(-1).size.collect({0}).add(1)),
\busLower, if(secIndex % 2 == 0, {~accompLowLowerBusA.index}, {~accompLowLowerBusB.index}), \busLower, if(secIndex % 2 == 0, {~accompLowLowerBusA.index}, {~accompLowLowerBusB.index}),
\busUpper, if(secIndex % 2 == 0, {~accompLowUpperBusA.index}, {~accompLowUpperBusB.index})) \busUpper, if(secIndex % 2 == 0, {~accompLowUpperBusA.index}, {~accompLowUpperBusB.index}))
//\bus, ~accompLowBus) //\bus, ~accompLowBus)
}), }),
Pbind( Pbind(
\instrument, \accompTreble, \instrument, \accompTreble,

@ -1,13 +1,12 @@
( (
~transcribe = {arg scoreData; ~transcribe = {arg scoreData;
var rawMusicData, timeSigData, sectionData, dir, basePath, maxSize, openStrings, musicData; var rawMusicData, timeSigData, sectionData, dir, basePath, maxSize, lineBreakString, openStrings, musicData;
rawMusicData = scoreData[0]; rawMusicData = scoreData[0];
timeSigData = scoreData[1]; timeSigData = scoreData[1];
sectionData = scoreData[2]; sectionData = scoreData[2];
basePath = ~dir +/+ ".." +/+ "lilypond"; basePath = ~dir +/+ ".." +/+ "lilypond";
openStrings = [1/1, 3/2, 2/1, 5/2, 35/12, 7/2]; openStrings = [1/1, 3/2, 2/1, 5/2, 35/12, 7/2];
maxSize = 0; maxSize = 0;
@ -65,6 +64,49 @@
partData.extend((maxSize + ext), if(p == 0, {partData.last}, {[-1, partData.last[1]]})) partData.extend((maxSize + ext), if(p == 0, {partData.last}, {[-1, partData.last[1]]}))
}); });
lineBreakString = "";
sectionData.slice(nil, 0).add(musicData[0].size).differentiate.drop(1).clump(4).do({arg section;
var remainder, endSec;
remainder = 0;
section.do({arg len, index;
var measuresInFirst;
if(remainder % 16 == 0, {
lineBreakString = lineBreakString ++ "\\repeat unfold 8 {s2 \\noBreak} \\break \n";
}, {
lineBreakString = lineBreakString ++ "\\pseudoIndents 0 21 \\repeat unfold 7 {s2 \\noBreak} \\break \n";
});
remainder = len - (((64 - remainder) / 16).asInteger * 16);
((remainder / 64) - 1).asInteger.do({
lineBreakString = lineBreakString ++ "\\repeat unfold 8 {s2 \\noBreak} \\break \n";
});
remainder = remainder - (((remainder / 64) - 1).asInteger * 64);
if(remainder % 16 == 0, {
lineBreakString = lineBreakString ++ "\\repeat unfold 8 {s2 \\noBreak} \\break \n";
remainder = remainder % 64;
}, {
if(remainder > 72, {
lineBreakString = lineBreakString ++ "\\repeat unfold 8 {s2 \\noBreak} \\break \n";
remainder = remainder - 64;
}, {
lineBreakString = lineBreakString ++ "\\pseudoIndents 0 42 \\repeat unfold 6 {s2 \\noBreak} \\break \n";
remainder = 24;
});
});
remainder
});
if(remainder > 0, {
lineBreakString = lineBreakString ++ "\\pseudoIndents 0 " ++
(21 * (8 - (remainder / 8).asInteger)) ++ " \\repeat unfold " ++ (remainder / 8).asInteger ++ " {s2 \\noBreak} \\break \n";
});
});
musicData.do({arg part, p; musicData.do({arg part, p;
var amps, harm, modi, timeSigIndex, sectionCount, sectionIndex, subSectionIndex, curTimeSig, var amps, harm, modi, timeSigIndex, sectionCount, sectionIndex, subSectionIndex, curTimeSig,
lilyFile, lilyString, voices, lastVal, lilyNotes, lilyOcts, lilyGString, isHarmonic, measureCount, lilyFile, lilyString, voices, lastVal, lilyNotes, lilyOcts, lilyGString, isHarmonic, measureCount,
@ -109,7 +151,6 @@
part.clump(4).do({arg beat, i; part.clump(4).do({arg beat, i;
var gSum = 0; var gSum = 0;
//beat.postln;
beat.separate({arg a, b; ((a[0] != -1) || (b[0] != -1)) && (a != b)}).do({arg group, g; var noteLength, target = 0; beat.separate({arg a, b; ((a[0] != -1) || (b[0] != -1)) && (a != b)}).do({arg group, g; var noteLength, target = 0;
noteLength = group.size; noteLength = group.size;
gSum = gSum + noteLength; gSum = gSum + noteLength;
@ -128,7 +169,8 @@
-1, {"\"|.\" \\set Score.currentBarNumber = #1 "}); -1, {"\"|.\" \\set Score.currentBarNumber = #1 "});
pageBreak = switch(sectionData[sectionCount][1], 0, {""}, 1, {""}, -1, {measureCount = 0; "\n\\pageBreak \n"}); pageBreak = switch(sectionData[sectionCount][1], 0, {""}, 1, {""}, -1, {measureCount = 0; "\n\\pageBreak \n"});
isHarmonic = switch(sectionData[sectionCount][1], 0, {false}, 1, {true}, -1, {false}); isHarmonic = switch(sectionData[sectionCount][1], 0, {false}, 1, {true}, -1, {false});
lilyString = lilyString + " \\bar " ++ barType ++ " \\mark \\markup { \\bold \\box " ++ sectionIndex ++ "." ++ subSectionIndex ++ " }" ++ pageBreak; lilyString = lilyString + " \\bar " ++ barType ++
" \\mark \\markup { \\bold \\box " ++ sectionIndex ++ "." ++ subSectionIndex ++ " }" ++ pageBreak;
if(sectionCount < (sectionData.size - 1), {sectionCount = sectionCount + 1}); if(sectionCount < (sectionData.size - 1), {sectionCount = sectionCount + 1});
switch(sectionData[sectionCount][1], switch(sectionData[sectionCount][1],
0, {subSectionIndex = subSectionIndex + 1}, 0, {subSectionIndex = subSectionIndex + 1},
@ -183,7 +225,8 @@
if((p != 2) || (lilyNote == "r"), { if((p != 2) || (lilyNote == "r"), {
lilyString = lilyString ++ lilyNote ++ lilyDur ++ lilyGString; lilyString = lilyString ++ lilyNote ++ lilyDur ++ lilyGString;
}, { }, {
lilyString = lilyString ++ " <<{ " ++ lilyNote ++ lilyDur ++ " \\laissezVibrer " ++ lilyBeatingMark ++ " }\\\\ {\\new Voice { \\voiceTwo " ++ lilyString = lilyString ++ " <<{ " ++ lilyNote ++ lilyDur ++
" \\laissezVibrer " ++ lilyBeatingMark ++ " }\\\\ {\\new Voice { \\voiceTwo " ++
lilyNote ++ lilyDur ++ " \\laissezVibrer }}>> \\oneVoice " ++ lilyGString; lilyNote ++ lilyDur ++ " \\laissezVibrer }}>> \\oneVoice " ++ lilyGString;
}); });
@ -267,7 +310,7 @@
lilyString = lilyString.replace(match[0][1], "2\n R1")}); lilyString = lilyString.replace(match[0][1], "2\n R1")});
//write file //write file
lilyFile.write(lilyString); lilyFile.write("{\n" ++ lineBreakString ++ "}\n" ++ lilyString);
lilyFile.close; lilyFile.close;
}); });

Loading…
Cancel
Save