commit 2020.06.07.01

main
Michael Winter 5 years ago
parent 25d75ee55a
commit bef5c3f954

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

@ -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

@ -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

@ -126,3 +126,8 @@ pseudoIndent = % for changing just left-indent
#{
\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 masterMute, masterVol;
// set initial mixer values
partVols = [1, 1, 1, 1, 1];
partMutes = [1, 1, 1, 1, 1];
partPans = [0, 0, 0, 0, 0];
masterMute = 1;
masterVol = 1;
// these funcs update the elements of the transport panel
clockStringFunc = {
arg measure, beat;
var measureString, beatString, leadSpace;
@ -26,40 +28,29 @@
metronomeStringFunc = { arg beat; if(beat == 1, {[-30, -105, -104].asAscii}, {[-30, -105, -113].asAscii}) };
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;
masterView = {
var view, masterIndicators, master, generator, transport, ranSeed, order, startPosText,
prevSectionButton, prevSubsectionButton, playStopButton, nextSubsectionButton, nextSectionButton,
sectionDisplay, clock, metronome;
var view, generator, transport, ranSeed, order, sectionDisplay, clock, metronome;
// this func updates the whole transport panel
~updateTransport = {arg measure, beat;
clock.string = clockStringFunc.value(measure, beat);
metronome.stringColor = metronomeColorFunc.value(beat);
metronome.string = metronomeStringFunc.value(beat);
};
// this func handles the movement between sections
~updateSection = {arg shift, stop = true, manualCall = true;
var runThis;
runThis = (manualCall || (manualCall.not && ~autoAdvance.postln));
runThis = (manualCall || (manualCall.not && ~autoAdvance));
runThis = runThis && ((~currentSection + shift) < ~sectionOrder.size);
runThis = runThis && (((~currentSection % 4) == 3) && ~interludes && manualCall.not).not;
if(runThis, {
var truncOnly, section, subSection;
if(~isPlaying, {
if(stop, {~patterns[~sectionOrder[~currentSection]].stop});
if(stop, {
~patterns[~sectionOrder[~currentSection]].stop
})
});
truncOnly = case
@ -100,6 +91,7 @@
});
};
// these funcs receive messages from the synth
OSCFunc({ arg msg, time;
{
var measure, beat;
@ -108,7 +100,6 @@
~updateTransport.value(measure, beat)
}.defer;
},'/measureClock', s.addr);
OSCFunc({ arg msg, time; {metronome.string = ""}.defer},'/measureClockReset', s.addr);
view = View(win);
@ -116,25 +107,14 @@
ranSeed = TextField(view, Rect(10, 10, 10, 20)).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_([["generate"]]).action_({
//~appStatusString = "generating data";
//~appStatusFunc.start;
~genAll.value(ranSeed.string.asInteger);
}),
Button(view).states_([["transcribe"]]).action_({
~transcribe.value(~scoreData)
}),
[StaticText(view).string_(" "), stretch: 1],
nil);
Button(view).states_([["generate"]]).action_({~genAll.value(ranSeed.string.asInteger)}),
Button(view).states_([["transcribe"]]).action_({~transcribe.value(~scoreData)}),
[StaticText(view).string_(" "), stretch: 1], nil);
transport = HLayout(
prevSectionButton = Button(view).states_([["<<", Color.black]]).action_({| pState |
~updateSection.value(-4);
}),
prevSubsectionButton = Button(view).states_([["<", Color.black]]).action_({| pState |
~updateSection.value(-1);
}),
playStopButton = Button(view).states_([["play", Color.black], ["stop", Color.black, Color.grey]]).action_(
{| pState |
Button(view).states_([["<<", Color.black]]).action_({arg pState; ~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_(
{arg pState;
if(pState.value == 0, {
var measure, beat;
~isPlaying = false;
@ -156,15 +136,9 @@
})
}
),
nextSubsectionButton = Button(view).states_([[">", Color.black]]).action_({| pState |
~updateSection.value(1);
}),
nextSectionButton = Button(view).states_([[">>", Color.black]]).action_({| pState |
~updateSection.value(4);
}),
nil,
sectionDisplay = StaticText(win).string_("section: 1.1").font_(Font("Monaco", 70)),
nil);
Button(view).states_([[">", Color.black]]).action_({arg pState; ~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);
view.layout_(HLayout(
[VLayout(
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)),
nil, transport, nil,
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),
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],
@ -183,20 +157,19 @@
order = TextField(view).string_("1-4"),
Button(view).states_([["set order"]]).action_({
~patterns[~sectionOrder[~currentSection]].stop;
~sectionOrder = order.string.postln.split($,).collect({arg secEntry;
~sectionOrder = order.string.split($,).collect({arg secEntry;
var bounds;
bounds = secEntry.split($-).collect({arg item; item.asInteger - 1});
((bounds.minItem)..(bounds.maxItem)).collect({arg sec;
(sec.asInteger * 4) + [0, 1, 2, 3]
});
}).flat;
~sectionOrder.postln;
~currentSection = 0;
~updateSection.value(0);
}),
[StaticText(view).string_(" "), stretch: 1]),
[StaticText(view).string_(" "), stretch: 1], generator
), alignment: \top])) };
), alignment: \top]))};
faderView = {
var view, masterIndicators, trackIndicators, master, tracks;
view = View(win);
@ -204,38 +177,35 @@
trackIndicators = {LevelIndicator()} ! 5;
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);
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);
master = HLayout(
VLayout(
[HLayout(
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[1]), stretch: 2],
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_("("++groupNames[group]++")").align_(\center)
),
nil);
tracks = { |part|
), nil);
tracks = {arg part;
HLayout(
VLayout(
HLayout(
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]),
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),
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)
),
nil)

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

@ -8,6 +8,7 @@
~accompLowLowerBusB = Bus.audio(s, 1);
~accompLowUpperBusB = Bus.audio(s, 1);
~interludeBus = Bus.audio(s, 1);
~droneBus = Bus.audio(s, 1);
SynthDef(\masterPlayerControl, {
arg sel = 0,
@ -20,13 +21,8 @@ SynthDef(\masterPlayerControl, {
guitarSigPanned, accompHighSigPanned, accompLowLowerSigPanned, accompLowUpperSigPanned,
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;
accompHighSig = In.ar(~accompHighBus) * accompHighVol;
//accompLowSig = SelectX.ar(sel, [In.ar(~accompLowBusA), In.ar(~accompLowBusB)]) * accompLowVol;
accompLowLowerSig = Mix.ar(
[
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;
Out.ar(bus,
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;
@ -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));
lower = SinOsc.ar(freq1, 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(busUpper, upper)
}).add;
@ -96,14 +90,11 @@ SynthDef(\accompBass, {arg freq1 = 100, freq2 = 100, gate = 1, amp = 0.5, busLow
//this is not releasing properly
SynthDef(\accompTreble, {arg freq, gate = 1, sustain, amp, bus;
var treble;
treble = SinOsc.ar(
freq, 0,
EnvGen.kr(Env.sine(sustain, amp * 0.1), gate, doneAction: 2));
treble = SinOsc.ar(freq, 0, EnvGen.kr(Env.sine(sustain, amp * 0.1), gate, doneAction: 2));
Out.ar(bus, treble)
}).add;
~droneBus = Bus.audio(s, 1);
SynthDef(\drone, { arg out=0, freq=440, amp=0.1, pan=0, gate=1, bus;
var z;
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;
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;
@ -132,9 +122,7 @@ SynthDef(\droneFade, {arg gate = 0;
);
OSCFunc({ arg msg, time;
{~updateSection.value(1, false, false)}.defer;
},'/playNextSubsection', s.addr);
OSCFunc({ arg msg, time; {~updateSection.value(1, false, false)}.defer},'/playNextSubsection', s.addr);
//~~~~gen music
~genPatterns = {arg guitarSeqIn, accompLowSeqIn, accompHighSeqIn, sectionSeqIn, tempo = 0.08;
@ -164,7 +152,6 @@ OSCFunc({ arg msg, time;
genSectionSec = {arg seq, startTime, endTime, type;
var durSum, resSeqs, inSecs, mult;
//sectionSeq.postln;
durSum = 0;
resSeqs = [];
seq.do({arg item;
@ -180,8 +167,6 @@ OSCFunc({ arg msg, time;
});
durSum = durSum + if(type == 2, {item[1]}, {item[2]});
});
//if(type == 1, {resSeqs = resSeqs.add([0, 0, 16])});
resSeqs.postln;
resSeqs
};
@ -214,22 +199,12 @@ OSCFunc({ arg msg, time;
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];
stringSeq = guitarSecSeq.slice(nil, 0);
fretSeq = guitarSecSeq.slice(nil, 1);
durSeq = guitarSecSeq.slice(nil, 2);
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.source = Ppar([
Pbind(

@ -1,13 +1,12 @@
(
~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];
timeSigData = scoreData[1];
sectionData = scoreData[2];
basePath = ~dir +/+ ".." +/+ "lilypond";
openStrings = [1/1, 3/2, 2/1, 5/2, 35/12, 7/2];
maxSize = 0;
@ -65,6 +64,49 @@
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;
var amps, harm, modi, timeSigIndex, sectionCount, sectionIndex, subSectionIndex, curTimeSig,
lilyFile, lilyString, voices, lastVal, lilyNotes, lilyOcts, lilyGString, isHarmonic, measureCount,
@ -109,7 +151,6 @@
part.clump(4).do({arg beat, i;
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;
noteLength = group.size;
gSum = gSum + noteLength;
@ -128,7 +169,8 @@
-1, {"\"|.\" \\set Score.currentBarNumber = #1 "});
pageBreak = switch(sectionData[sectionCount][1], 0, {""}, 1, {""}, -1, {measureCount = 0; "\n\\pageBreak \n"});
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});
switch(sectionData[sectionCount][1],
0, {subSectionIndex = subSectionIndex + 1},
@ -183,7 +225,8 @@
if((p != 2) || (lilyNote == "r"), {
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;
});
@ -267,7 +310,7 @@
lilyString = lilyString.replace(match[0][1], "2\n R1")});
//write file
lilyFile.write(lilyString);
lilyFile.write("{\n" ++ lineBreakString ++ "}\n" ++ lilyString);
lilyFile.close;
});

Loading…
Cancel
Save