{"head":"4e616883a2a5579af6a380e0767153f5a8e85ef6","size":3,"push_id":45472251,"shas":[["734f7647977654f2f7f0e64948ea3a5735e31862","59bd0a3ff43b32849b319e645d4798d8a5d1e889@woutersnoei.nl","write and read support for UScore, UChain\n\nUChains and UScores can now be written and read from disk. They are\nwritten as text files with full compile strings; i.e. executable\nsupercollider code. Reading will only succeed if the code in the\ntextile returns an object of the corresponding class. The file\nextension doesn't matter (invent your own), and there is overwrite\nprotection just as in V1.\n\nNext to this I also revised the init methods for UChain and UScore\n(simpler and slightly faster now, and UScore also takes startTime and\ntrack as the first two arguments. Both classes call .changed( \\init )\nafter initiation, which happens also if a file is read in place\n(UChainGUI responds to it by rebuilding the gui, UScoreEditorGUI should\ndo so too - but doesn't yet). And I made releaseSelf false by default\n\nexample:\n\n// -- first run any example from test UScoreEditor rendering.scd\n\nz.write( \"~/Desktop/test_score.scd\" ); // write a file\n\ny = UScore.read( \"~/Desktop/test_score.scd\" ); // read it\ny.gui; // same as z.gui\n\nz.read(  \"~/Desktop/test_score.scd\" ); // replaces contents and calls\n.changed( \\init )","Wouter Snoei"],["a9187ee4ebb0258bd87e7e7d2ba45915774265c3","59bd0a3ff43b32849b319e645d4798d8a5d1e889@woutersnoei.nl","adding .gui method for UScore","Wouter Snoei"],["4e616883a2a5579af6a380e0767153f5a8e85ef6","59bd0a3ff43b32849b319e645d4798d8a5d1e889@woutersnoei.nl","add UServerCenter servers and LoadBalancers to startupV2 methods","Wouter Snoei"]],"ref":"refs/heads/V2"}