<div dir="ltr">Thanks, I will refer to your email as I try to develop my working method.<br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 17, 2017 at 3:33 AM, Evan Laforge <span dir="ltr"><<a href="mailto:qdunkan@gmail.com" target="_blank">qdunkan@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Mon, Jan 16, 2017 at 11:16 PM, Dennis Raddle <<a href="mailto:dennis.raddle@gmail.com">dennis.raddle@gmail.com</a>> wrote:<br></span><span class="">> About what I've learned about expression score realization, I could perhaps<br>
> share some things at some point. Unfortunately I have bad work habits... I<br>
> often don't take care to finish projects in a way that is presentable, so I<br>
> have many years of half-finished compositions that can't even be played back<br>
> with the current version of my program. I'm 48 years old and finally<br>
> realizing just how important it is to organize and finish things. And to<br>
> collaborate. I found another musician to collaborate with -- I will make<br>
> computer "interpretations" of his compositions.<br>
<br>
</span>I keep each score saved with a "known good" version of the MIDI<br>
output, along with a commit ID for the time it was generated.  So it<br>
not only archives a known good realization, it also acts as a<br>
regression test against code changes (checking all saved scores is<br>
part of the commit validation, in addition to the more usual unit<br>
tests), and if all else fails, I can get back to the original<br>
performance by rewinding the repo.  mp3 is good for archiving of<br>
course, but you'll never be able to change it again.<br>
</blockquote></div><br></div><div class="gmail_extra">Ah, yes, those are good ideas. But to get things to sound right, I have to configure my software synthesizers (such as samplers, modeled pianos, and analog synth emulators). I can set up all the synthesizers as VST plugins in Reaper, but versions change and there may be configuration elements not captured in the Reaper file, so I really need to archive a mp3 as a record of what I did. I can and should take greater care in managing the versions of the Haskell source, but it's harder to manage the configuration of the software synths and I would rather not invest the effort to reach a point of high confidence... when it's easy to archive an mp3.</div><div class="gmail_extra"><br></div><div class="gmail_extra">If I really want to revisit something I did a while back, it might take some work to get it going again with the current version of my Haskell source, but that's not such a bad thing... often I can learn things serendipitously from unintended software behavior.</div><div class="gmail_extra"><br></div><div class="gmail_extra">But the other approach, the one Knuth took with TeX, which is to make it 100% backward compatible for its entire life, is fascinating. I'm just one guy messing around as a hobby so it's obviously much more important for a widely used community resource like TeX.</div><div class="gmail_extra"><br></div><div class="gmail_extra">D</div><div class="gmail_extra"><br></div></div>