Thu Nov 22 09:03:30 EST 2012 Released sdr 0.7 commit 754a01e41840a9989d2735d3534c1ce247322560 Author: C. Scott Ananian Date: Mon Nov 19 14:52:52 2012 -0500 Release SDR 0.7. build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ea7146b558e4a525844e89ed4ae65debfc5fdbd6 Author: C. Scott Ananian Date: Thu Nov 22 07:52:30 2012 -0500 Turn on "strict" GWT compilation. build.xml | 1 + 1 file changed, 1 insertion(+) commit 3fcdff1f17ec5f6e6d9cc146bf11c4d08cf3a152 Author: C. Scott Ananian Date: Thu Nov 22 07:51:33 2012 -0500 Migrate to official Canvas widget in newest GWT; remove incubator dependency. .classpath | 1 - lib/gwt-incubator-july-14-2009.jar | Bin 2384256 -> 0 bytes src/net/cscott/sdr/webapp/SDRweb.gwt.xml | 26 ----- src/net/cscott/sdr/webapp/client/DanceFloor.java | 6 +- src/net/cscott/sdr/webapp/client/DancerCanvas.java | 115 +++++++++++--------- 5 files changed, 65 insertions(+), 83 deletions(-) commit 004a254e75fad11a688f6cf6378e10e06fae49eb Author: C. Scott Ananian Date: Thu Nov 22 07:05:54 2012 -0500 Remove dependency of Slider widget on gwt-incubator. I'd apparently already forked and copied most of this code over long ago; take the last little bits as well (ResizableWidgetCollection). src/net/cscott/sdr/webapp/SDRweb.gwt.xml | 1 - .../cscott/sdr/webapp/client/ResizableWidget.java | 45 +++ .../webapp/client/ResizableWidgetCollection.java | 326 ++++++++++++++++++++ src/net/cscott/sdr/webapp/client/SliderBar.java | 2 - 4 files changed, 371 insertions(+), 3 deletions(-) commit 5a54574dbe35bbc3dbb6ebd031cac306421371bf Author: C. Scott Ananian Date: Thu Nov 22 07:04:35 2012 -0500 Add validation JARs to classpath, recommended by latest GWT. build.xml | 1 + 1 file changed, 1 insertion(+) commit 403675f6f85458b275bb710334cd9d98b0343aa7 Author: C. Scott Ananian Date: Thu Nov 22 07:03:59 2012 -0500 Remove BigInteger thunk, no longer needed with latest GWT. .../webapp/client/thunk/java/math/BigInteger.java | 28 -------------------- 1 file changed, 28 deletions(-) commit 37edad01fa2c919d81e9ed8d6262a2e2ad1f879e Author: C. Scott Ananian Date: Thu Nov 22 07:52:53 2012 -0500 Update Appengine version to "2". war/WEB-INF/appengine-web.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d74edb0c24ab716c81af38c438853cb125195a4e Author: C. Scott Ananian Date: Tue Nov 20 23:18:26 2012 -0500 Add tag to appengine-web.xml. The GAE API encourages this. I'm pretty sure we're thread safe... war/WEB-INF/appengine-web.xml | 1 + 1 file changed, 1 insertion(+) commit d98f5f8e47be9afeaa6a2902517c27bf6ab48bae Author: C. Scott Ananian Date: Thu Nov 22 01:52:15 2012 -0500 Update to GAE 1.7.3 / GWT 2.5.0. .settings/com.google.appengine.eclipse.core.prefs | 7 +++++-- war/WEB-INF/lib/appengine-api-1.0-sdk-1.3.7.jar | Bin 10494022 -> 0 bytes war/WEB-INF/lib/appengine-api-1.0-sdk-1.7.3.jar | Bin 0 -> 28490349 bytes war/WEB-INF/lib/appengine-api-labs-1.3.7.jar | Bin 1336918 -> 0 bytes war/WEB-INF/lib/appengine-api-labs.jar | Bin 0 -> 3484786 bytes war/WEB-INF/lib/appengine-endpoints.jar | Bin 0 -> 5220451 bytes war/WEB-INF/lib/appengine-jsr107cache-1.3.7.jar | Bin 15404 -> 0 bytes war/WEB-INF/lib/appengine-jsr107cache-1.7.3.jar | Bin 0 -> 6962 bytes war/WEB-INF/lib/datanucleus-appengine-1.0.10.final.jar | Bin 0 -> 316059 bytes war/WEB-INF/lib/datanucleus-appengine-1.0.7.final.jar | Bin 297800 -> 0 bytes war/WEB-INF/lib/datanucleus-core-1.1.5.jar | Bin 1933065 -> 1933065 bytes war/WEB-INF/lib/datanucleus-jpa-1.1.5.jar | Bin 152768 -> 152768 bytes war/WEB-INF/lib/gwt-servlet.jar | Bin 1573890 -> 6212463 bytes war/WEB-INF/lib/jdo2-api-2.3-eb.jar | Bin 192820 -> 192696 bytes 14 files changed, 5 insertions(+), 2 deletions(-) commit 9a71627a69f3be2aa5ba29457e983f289616e876 Author: C. Scott Ananian Date: Thu Nov 22 07:03:08 2012 -0500 Add NONE and OUTSIDE_2 tags (they were already present in the grammar). src/net/cscott/sdr/calls/PhantomDancer.java | 1 + src/net/cscott/sdr/calls/StandardDancer.java | 5 +++++ src/net/cscott/sdr/calls/TaggedFormation.java | 4 ++-- .../client/thunk/net/cscott/sdr/calls/TaggedFormation.java | 8 ++++++-- 4 files changed, 14 insertions(+), 4 deletions(-) commit 9a8e158ca6b8b965a32998c0e9fac366557871d1 Author: C. Scott Ananian Date: Thu Nov 22 07:01:58 2012 -0500 Note that "spread" from completed double pass thru is disputed. resources/net/cscott/sdr/calls/lists/plus.calls | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit d6abf4032e0615cea985830888d4b5cb5f470037 Author: C. Scott Ananian Date: Tue Nov 20 23:24:12 2012 -0500 Lots and lots of call implementations and improvements! Tests, too. Basic: single file promenade N/4 _circle adjust improvements Plus: and spread (correct # of parts, removed old definition from DPT) chase right/left [*] coordinate dixie grand follow your neighbor linear cycle [*] spin chain and exchange the gears A1: quarter in/out (from 2 person formations) any hand one/three quarter thru brace thru clover and cross clover and double star thru horseshoe turn lockit partner hinge partner tag pass in/out pass the sea right/left roll to a wave square chain thru triple star thru triple trade turn and deal A2: slide slither C1: concentric (from quarter tags and diamonds) square chain the top C2: cross concentric (from quarter tags and diamonds) drop in/out/back/right/left wheel the ocean/sea C3A: one/three quarter mix grand one/three quarter mix grand mix grand swing and mix one/three quarter wheel the ocean/sea hop latch on N/4 C4: brace yourself cross breed thru [*] tag the star slim down advance to a column [*] = not tested (usually because definition involves other unimplemented calls or concepts) notes.txt | 14 + resources/net/cscott/sdr/calls/lists/a1.calls | 162 ++++++++ resources/net/cscott/sdr/calls/lists/a2.calls | 62 ++- resources/net/cscott/sdr/calls/lists/basic.calls | 73 +++- resources/net/cscott/sdr/calls/lists/c1.calls | 10 + resources/net/cscott/sdr/calls/lists/c2.calls | 75 ++++ resources/net/cscott/sdr/calls/lists/c3a.calls | 66 +++ resources/net/cscott/sdr/calls/lists/c4.calls | 52 ++- .../net/cscott/sdr/calls/lists/mainstream.calls | 45 +- resources/net/cscott/sdr/calls/lists/plus.calls | 160 ++++++- resources/net/cscott/sdr/tests/a1-calls-1 | 179 ++++++++ resources/net/cscott/sdr/tests/acey-deucey-2 | 3 +- resources/net/cscott/sdr/tests/brace-thru | 91 ++++ resources/net/cscott/sdr/tests/breathing-3 | 17 + resources/net/cscott/sdr/tests/c3a-calls-1 | 190 +++++++++ resources/net/cscott/sdr/tests/c4-calls-2 | 63 +++ resources/net/cscott/sdr/tests/concentric-1 | 163 +++++++- resources/net/cscott/sdr/tests/cross-concentric-1 | 45 ++ resources/net/cscott/sdr/tests/dixie-grand | 437 ++++++++++++++++++++ resources/net/cscott/sdr/tests/drop | 73 ++++ resources/net/cscott/sdr/tests/index | 14 +- resources/net/cscott/sdr/tests/plus-calls-1 | 48 +++ .../net/cscott/sdr/tests/right-roll-to-a-wave | 99 +++++ resources/net/cscott/sdr/tests/spread-1 | 62 ++- .../net/cscott/sdr/tests/square-chain-the-top | 64 +++ .../net/cscott/sdr/tests/swing-slip-slide-slither | 99 +++++ resources/net/cscott/sdr/tests/wheel-the-ocean | 85 ++++ src/net/cscott/sdr/calls/lists/C4List.java | 159 ++++++- src/net/cscott/sdr/calls/package-info.java | 2 +- src/net/cscott/sdr/package-info.java | 9 +- 30 files changed, 2514 insertions(+), 107 deletions(-) commit 3dd92191193e786a45818483c1f7e650f3553605 Author: C. Scott Ananian Date: Wed Nov 21 15:54:24 2012 -0500 Add 'no one'/'nobody' to the production in the grammar. This allows things like "nobody hop". resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 6 +++++- resources/net/cscott/sdr/calls/grm/jsapi.skel | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) commit 5414965b63949ad79d81bb576edb9715bf92523f Author: C. Scott Ananian Date: Wed Nov 21 13:32:51 2012 -0500 Sync dancers after a 'select'. src/net/cscott/sdr/calls/Evaluator.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit c12e3fd21efb7af627664fc58f8588d3a4dc8698 Author: C. Scott Ananian Date: Wed Nov 21 13:32:14 2012 -0500 Fix 'roll', which was over-eager about removing 'stand still' actions. src/net/cscott/sdr/calls/DanceState.java | 3 +++ src/net/cscott/sdr/calls/DancerPath.java | 2 +- src/net/cscott/sdr/calls/Position.java | 7 +++++++ 3 files changed, 11 insertions(+), 1 deletion(-) commit 761510469d8ac1718faf2a4508c7e95a7272026a Author: C. Scott Ananian Date: Wed Nov 21 13:03:27 2012 -0500 Improve center/outside two/six support; add tests. resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 2 ++ resources/net/cscott/sdr/calls/grm/jsapi.skel | 4 +-- resources/net/cscott/sdr/calls/lists/basic.calls | 28 +++++++++++++------ resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/selectors | 31 ++++++++++++++++++++++ 5 files changed, 56 insertions(+), 10 deletions(-) commit 38ec5d66a08f188a8a71f9a8b4a3e15b11e84cf6 Author: C. Scott Ananian Date: Tue Nov 20 23:21:32 2012 -0500 Implement opposite elongation rule and other concentric fixes. src/net/cscott/sdr/calls/lists/C1List.java | 61 ++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 3 deletions(-) commit 14818e8d34c6a89ea1712fa5f258e7a499a611db Author: C. Scott Ananian Date: Wed Nov 21 13:34:06 2012 -0500 Skip post conditions when doing _fractional. src/net/cscott/sdr/calls/transform/Fractional.java | 10 ++++++++++ 1 file changed, 10 insertions(+) commit 8242aff8b279cbd481d72a369813257d799da911 Author: C. Scott Ananian Date: Tue Nov 20 23:14:46 2012 -0500 Remove pre- and post-conditions when doing 'finish', 'like a', and 'first part'. src/net/cscott/sdr/calls/lists/C1List.java | 2 +- src/net/cscott/sdr/calls/transform/Finish.java | 13 ++++++++++--- src/net/cscott/sdr/calls/transform/FirstPart.java | 12 +++++++++++- 3 files changed, 22 insertions(+), 5 deletions(-) commit d3ff04d9fc3bc625d94f6752feea14343d815609 Author: C. Scott Ananian Date: Wed Nov 21 13:33:43 2012 -0500 Add INVERTED BOX formation. src/net/cscott/sdr/calls/FormationListFast.java | 21 +++++++++++++++++++++ src/net/cscott/sdr/calls/FormationListSlow.java | 2 ++ src/net/cscott/sdr/calls/MatcherList.java | 2 ++ 3 files changed, 25 insertions(+) commit df6e6971dfbad35d5125a206d39d3bcc571d8aa6 Author: C. Scott Ananian Date: Tue Nov 20 23:00:56 2012 -0500 New formations: GENERAL TANDEM, GENERAL SINGLE 1/4 TAG, GENERAL 1/4 TAG. src/net/cscott/sdr/calls/FormationListFast.java | 71 +++++++++++++++++++++++ src/net/cscott/sdr/calls/FormationListSlow.java | 14 +++++ src/net/cscott/sdr/calls/MatcherList.java | 6 ++ 3 files changed, 91 insertions(+) commit c03a98e2ead1982f6a0adfa250636bc8d52ba927 Author: C. Scott Ananian Date: Tue Nov 20 19:22:31 2012 -0500 Add words missing from pronunciation dictionary; add diagnostics for future. lib/sphinx/extradict | 3 +++ src/net/cscott/sdr/calls/grm/EmitDictionary.java | 13 ++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) commit 0addce9f7ff0c0cf290e00f2747dc17225c75c2f Author: C. Scott Ananian Date: Mon Nov 19 13:27:49 2012 -0500 Don't allow zero-time DancerPaths: these are almost certainly bugs. Fix bug in "go home" call where we inadvertently created a zero-time DancerPath. Add an assert in Evaluator where zero-time DancerPaths would cause a key conflict in a Map and lead to errors. src/net/cscott/sdr/calls/DancerPath.java | 2 +- src/net/cscott/sdr/calls/Evaluator.java | 1 + src/net/cscott/sdr/calls/lists/BasicList.java | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) commit 3bc102d2233583d41538967af885fceaf2518172 Author: C. Scott Ananian Date: Mon Nov 19 13:25:45 2012 -0500 Use top-level "breathedEval" in Evaluator.parseAndEval() helper. This is what users of parseAndEval expect: that its behavior is the same as (for example) typing the call at the PMSD prompt. Consumers didn't expect the result to be unbreathed, with the exception of a few old test cases which I have corrected. src/net/cscott/sdr/calls/Evaluator.java | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) commit 04188010da710e2d26d3e5d33fa2e7ed33c1f9e3 Author: C. Scott Ananian Date: Mon Nov 19 13:13:13 2012 -0500 Remove some completed items from notes; reorganize. notes.txt | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) commit 2c19371cd7159b262330edb20fb2acb956db3ca3 Author: C. Scott Ananian Date: Mon Nov 19 06:57:49 2012 -0500 Break up static initializer in AllGrm to avoid exceeding bytecode size limit. src/net/cscott/sdr/calls/grm/EmitJava.java | 37 +++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) commit ae00a593ccc0ca1da4c8852efae230a19bd06393 Author: C. Scott Ananian Date: Mon Nov 19 05:46:34 2012 -0500 Add metaconcept parsing tests. resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/parse-3 | 13 +++++++++++++ 2 files changed, 14 insertions(+) commit bbc0533313760874e3efda463aab4e4940aeba91 Author: C. Scott Ananian Date: Mon Nov 19 05:45:02 2012 -0500 Define 'echo' and 'reverse echo' metaconcepts (C4). resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 2 ++ resources/net/cscott/sdr/calls/grm/jsapi.skel | 2 +- resources/net/cscott/sdr/calls/lists/c4.calls | 14 ++++++++++++++ resources/net/cscott/sdr/tests/initially | 20 ++++++++++++++++++++ 4 files changed, 37 insertions(+), 1 deletion(-) commit cd2a070303f3cca915df8aade47b1e66363a6a0a Author: C. Scott Ananian Date: Sun Nov 18 00:27:56 2012 -0500 Define "oddly" and "evenly" concepts (C3B). resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 2 ++ resources/net/cscott/sdr/calls/grm/jsapi.skel | 2 +- resources/net/cscott/sdr/calls/lists/c3b.calls | 32 ++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) commit 6e1a2918c1dc903e1700bed2026b5d99622c09e2 Author: C. Scott Ananian Date: Mon Nov 19 05:40:26 2012 -0500 Introduce metaconcepts into grammar; handle nested _curry expressions. resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 11 ++++++++- resources/net/cscott/sdr/calls/grm/jsapi.skel | 4 +++- resources/net/cscott/sdr/tests/initially | 26 ++++++++++++++++++++++ src/net/cscott/sdr/calls/ExprList.java | 5 +++++ 4 files changed, 44 insertions(+), 2 deletions(-) commit 4592ae73044e7dca685cc3a53bf6fb1a5f535389 Author: C. Scott Ananian Date: Mon Nov 19 05:36:42 2012 -0500 Fixes for Finish, FirstPart, and LikeA transformations. If there's only one part, but it's a Part, recurse, since Part.howMany could be != 1. Account for Parts with Part.howMany==0 (initial setup adjustments) when performing the FirstPart transformation. src/net/cscott/sdr/calls/transform/Finish.java | 4 ++ src/net/cscott/sdr/calls/transform/FirstPart.java | 48 +++++++++++++++------ src/net/cscott/sdr/calls/transform/LikeA.java | 4 ++ 3 files changed, 42 insertions(+), 14 deletions(-) commit 2a7d5a16a83442ffef7ef522ae0a876096ed8891 Author: C. Scott Ananian Date: Sun Nov 18 21:10:49 2012 -0500 Implement _apply/_curry so that "initially twice " works. More generally, this could be used for "initially echo tandem swing thru" (from parallel ocean waves, for example) although I haven't implemented "echo" yet. The _apply function creates an application by filling in its arguments into the "holes" left by _arg expressions inside a template expressed as a _curry expression. For example: _apply(_curry('foo, _arg(1), _arg(0) 11), 22, 33) gets translated to: foo(33, 22, 11) and then this expression is evaluated. resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 2 +- src/net/cscott/sdr/calls/ExprList.java | 57 +++++++++++++++++----- src/net/cscott/sdr/package-info.java | 1 - 3 files changed, 47 insertions(+), 13 deletions(-) commit 03187eb38b40f648a428048cac9b8c3a0517dcd3 Author: C. Scott Ananian Date: Sun Nov 18 00:21:20 2012 -0500 Basic implementation of "initially" concept (C3A). Had to hack in a "concept" nonterminal in the grammar. Should really extract this automagically from the definitions somehow. Refactored "finally" Call object to make it easier to add the rest of the family of similar concepts ("like a", "_first part", etc). Simple concepts currently work, but not complicated concepts requiring currying. resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 12 +++++ resources/net/cscott/sdr/calls/grm/jsapi.skel | 3 ++ resources/net/cscott/sdr/calls/lists/c3a.calls | 14 +++++ resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/initially | 35 ++++++++++++ src/net/cscott/sdr/calls/ExprList.java | 24 ++++++++- src/net/cscott/sdr/calls/lists/C1List.java | 38 +++---------- src/net/cscott/sdr/calls/lists/C4List.java | 45 +++++----------- src/net/cscott/sdr/calls/transform/Finish.java | 57 ++++++++++++++++++++ .../calls/transform/{LikeA.java => FirstPart.java} | 50 +++++++++-------- src/net/cscott/sdr/calls/transform/LikeA.java | 6 +++ src/net/cscott/sdr/package-info.java | 1 + 12 files changed, 198 insertions(+), 88 deletions(-) commit 72056913465e0b649c3b4fc9171eb6b558af145c Author: C. Scott Ananian Date: Sat Nov 17 18:10:25 2012 -0500 Define 'like a' concept (C4). resources/net/cscott/sdr/calls/lists/c4.calls | 6 ++ resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/like-a | 52 +++++++++++++ src/net/cscott/sdr/calls/lists/C4List.java | 42 ++++++++++- src/net/cscott/sdr/calls/transform/LikeA.java | 99 +++++++++++++++++++++++++ 5 files changed, 199 insertions(+), 1 deletion(-) commit 9827e126751ee52868da8f70b8388b7becd426bd Author: C. Scott Ananian Date: Mon Nov 19 05:31:06 2012 -0500 Define dixie diamond (C1), fix dixie style and other definitions. Be more careful to specify the correct # of parts when using _maybe touch. resources/net/cscott/sdr/calls/lists/basic.calls | 2 +- resources/net/cscott/sdr/calls/lists/c1.calls | 7 +++++++ .../net/cscott/sdr/calls/lists/mainstream.calls | 20 ++++++++++++++------ resources/net/cscott/sdr/calls/lists/plus.calls | 8 +++++--- src/net/cscott/sdr/calls/transform/Finish.java | 2 +- 5 files changed, 28 insertions(+), 11 deletions(-) commit c70eeb3af4445d320efc12553e3639dd798d99f1 Author: C. Scott Ananian Date: Sat Nov 17 16:46:11 2012 -0500 Define 'swing and mix' (A2). resources/net/cscott/sdr/calls/lists/a1.calls | 2 +- resources/net/cscott/sdr/calls/lists/a2.calls | 7 ++ resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/parse-1 | 3 +- resources/net/cscott/sdr/tests/swing-and-mix | 98 +++++++++++++++++++++++++ 5 files changed, 109 insertions(+), 2 deletions(-) commit ca2f8adc1404f13d54a17e4fbcfe8c0ef4879719 Author: C. Scott Ananian Date: Sun Nov 18 00:25:30 2012 -0500 Fixes for new "swing through" definition. Don't try to apply "not grand" matcher function if formation has 4 or fewer dancers. This ensures that we don't break "tandem swing thru" from ocean waves. Carry over flags from original position when creating positions for unmatched dancers. This ensures that we don't lose the inactive dancer's roll directions during the "those who can turn by the..." part of swing thru / quarter thru. src/net/cscott/sdr/calls/GeneralFormationMatcher.java | 2 +- src/net/cscott/sdr/calls/MatcherList.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) commit 6fb24a232709f531adb1e4c773a149c0544000b1 Author: C. Scott Ananian Date: Sat Nov 17 16:24:02 2012 -0500 Redefine 'swing thru' in terms of '_quarter thru'. resources/net/cscott/sdr/calls/lists/a1.calls | 5 ++++ resources/net/cscott/sdr/calls/lists/basic.calls | 16 ++--------- resources/net/cscott/sdr/calls/lists/plus.calls | 7 +++++ resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/swing-thru | 31 ++++++++++++++++++++++ src/net/cscott/sdr/calls/lists/C1List.java | 2 +- src/net/cscott/sdr/calls/transform/Finish.java | 4 +-- 7 files changed, 49 insertions(+), 17 deletions(-) commit af92c34c852749f324a75343c3ce43db4b80e56d Author: C. Scott Ananian Date: Sat Nov 17 15:59:29 2012 -0500 Add concept definitions for 'twosome'. Doesn't work yet, but at least it parses. src/net/cscott/sdr/calls/lists/C3bList.java | 53 +++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) commit 16a281057091aefc5ccded517b828908472700f5 Author: C. Scott Ananian Date: Sat Nov 17 15:58:57 2012 -0500 Work on definitions of C4 calls. notes.txt | 21 ++++ resources/net/cscott/sdr/calls/lists/c1.calls | 14 +++ resources/net/cscott/sdr/calls/lists/c3b.calls | 8 ++ resources/net/cscott/sdr/calls/lists/c4.calls | 157 ++++++++++++++++++++++++ resources/net/cscott/sdr/tests/c4-calls-1 | 41 +++++++ resources/net/cscott/sdr/tests/index | 1 + src/net/cscott/sdr/package-info.java | 1 + 7 files changed, 243 insertions(+) commit 4c994754ea3041368920ea8e562ae09853bbf753 Author: C. Scott Ananian Date: Sat Nov 17 14:00:35 2012 -0500 Tweak precedence of 'finish'. Some issues here still. We'd like to do "finish finish " for example, and "finish twosome ". src/net/cscott/sdr/calls/lists/C1List.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9bea246e01231e6e0cc8818d686bf5acf1cbf77b Author: C. Scott Ananian Date: Sat Nov 17 13:41:12 2012 -0500 Fix 'change' test case: the quarter thru should be grand. resources/net/cscott/sdr/tests/change | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) commit ac745d056d0cadea7b5ff487ce281633eb7cdd23 Author: C. Scott Ananian Date: Sat Nov 17 13:31:59 2012 -0500 Define 'couple up' (C3A). resources/net/cscott/sdr/calls/lists/c3a.calls | 13 ++++ resources/net/cscott/sdr/tests/couple-up | 75 ++++++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 1 + 3 files changed, 89 insertions(+) commit aa03e17aff3082c549a50acc2cbf87b5fe5b5481 Author: C. Scott Ananian Date: Sat Nov 17 13:28:10 2012 -0500 Simplify definition of 'quarter thru'; define 'swing the fractions'. resources/net/cscott/sdr/calls/lists/a1.calls | 39 +++++++------------------ resources/net/cscott/sdr/calls/lists/c1.calls | 8 +++++ 2 files changed, 19 insertions(+), 28 deletions(-) commit 175b32e8ff427ac2ea512adbd0873b1055cafec6 Author: C. Scott Ananian Date: Sat Nov 17 13:33:16 2012 -0500 Add test case for 'finish' concept. resources/net/cscott/sdr/tests/finish | 59 +++++++++++++++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 1 + 2 files changed, 60 insertions(+) commit ceef9078fad4feb029269cf91778be8559dfa10b Author: C. Scott Ananian Date: Sat Nov 17 12:41:42 2012 -0500 Improve javadoc for FormationMatch. src/net/cscott/sdr/calls/FormationMatch.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 748c108b762bd8211d7225ea270360d7bc063878 Author: C. Scott Ananian Date: Sat Nov 17 12:41:01 2012 -0500 Define 'left hinge'. resources/net/cscott/sdr/calls/lists/mainstream.calls | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 216f6d30805cf8082a2d92312a056c3d9eb677bd Author: C. Scott Ananian Date: Sat Nov 17 12:39:05 2012 -0500 Improve definitions of 'remake' and 'quarter thru' family. Implement 'allow unmatched' and 'not grand' matcher functions in order to properly enforce the "not grand" constraints on remake. resources/net/cscott/sdr/calls/lists/a1.calls | 18 ++- resources/net/cscott/sdr/calls/lists/a2.calls | 7 +- resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/remake | 86 +++++++++++ .../cscott/sdr/calls/GeneralFormationMatcher.java | 2 +- src/net/cscott/sdr/calls/MatcherList.java | 152 +++++++++++++++++++- 6 files changed, 249 insertions(+), 17 deletions(-) commit 9e15901da17cb1f1c32998d8e3c2a4f9c3b8f77e Author: C. Scott Ananian Date: Sat Nov 17 01:59:09 2012 -0500 Improve definition of 'recycle', add 'facing recycle'. resources/net/cscott/sdr/calls/lists/a2.calls | 13 ++++ .../net/cscott/sdr/calls/lists/mainstream.calls | 35 +++++---- resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/mainstream-2 | 76 ++++++++++++++++++ resources/net/cscott/sdr/tests/recycle | 81 ++++++++++++++++++++ src/net/cscott/sdr/calls/lists/C1List.java | 10 +++ 6 files changed, 202 insertions(+), 14 deletions(-) commit f5f85a3edf51c871689960e1f1a43e11087342e4 Author: C. Scott Ananian Date: Sat Nov 17 01:38:13 2012 -0500 Implement 'finish' concept; refactor Fractional. src/net/cscott/sdr/calls/lists/C1List.java | 47 ++++++ src/net/cscott/sdr/calls/transform/Finish.java | 176 ++++++++++++++++++++ src/net/cscott/sdr/calls/transform/Fractional.java | 66 ++------ .../cscott/sdr/calls/transform/PartsVisitor.java | 92 ++++++++++ 4 files changed, 327 insertions(+), 54 deletions(-) commit 361f2c5d1a6735451bf16698e00c7854866976f5 Author: C. Scott Ananian Date: Sat Nov 17 01:37:05 2012 -0500 Partial implementation of 'center six' selector. "Center six u turn back" works; more complicated calls require us to make the outside two go away (which is presumably what '_anyone while the others' should do). resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 6 ++- resources/net/cscott/sdr/calls/grm/jsapi.skel | 3 +- resources/net/cscott/sdr/calls/lists/basic.calls | 8 ++++ src/net/cscott/sdr/calls/MatcherList.java | 46 ++++++++++++++++++++++ 4 files changed, 61 insertions(+), 2 deletions(-) commit 9335d14b25eb927f6a6d57b7aefb36aafb34c95b Author: C. Scott Ananian Date: Fri Nov 16 20:49:11 2012 -0500 Tweak 'swing thru' definition to fix '1/4 swing thru' from facing couples. Let 'Part' take a zero value for 'how many' to handle these magic initial "adjust" calls without screwing up the part count. Fix up BeatCounter to handle these "zero parts" without creating instantaneous DancerPaths. resources/net/cscott/sdr/calls/lists/basic.calls | 27 +++++++++++++++----- resources/net/cscott/sdr/calls/lists/c3b.calls | 2 +- .../net/cscott/sdr/calls/lists/mainstream.calls | 4 +-- src/net/cscott/sdr/calls/ast/Part.java | 8 ++++-- .../cscott/sdr/calls/transform/BeatCounter.java | 7 ++++- src/net/cscott/sdr/calls/transform/Fractional.java | 20 +++++++++++++++ 6 files changed, 55 insertions(+), 13 deletions(-) commit 14ef21e490b6bd737aef8d6c59cf4a4130aa7510 Author: C. Scott Ananian Date: Fri Nov 16 13:01:52 2012 -0500 Fixes for allemande left and RLG from "heads move in" formation. resources/net/cscott/sdr/calls/lists/basic.calls | 25 +++++++- resources/net/cscott/sdr/tests/allemande-2 | 70 ++++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 1 + 3 files changed, 94 insertions(+), 2 deletions(-) commit 830858443120367e0f72941e39835bd2b9714d00 Author: C. Scott Ananian Date: Fri Nov 16 12:50:24 2012 -0500 Fix bug in "go home" call when dancers are already standing on home spots. resources/net/cscott/sdr/tests/go-home-1 | 24 ++++++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 1 + src/net/cscott/sdr/calls/lists/BasicList.java | 18 ++++++++++-------- 3 files changed, 35 insertions(+), 8 deletions(-) commit 35f6f4a56aa30ff1ce33207b5f46b87bcea9f260 Author: C. Scott Ananian Date: Wed Nov 14 17:06:03 2012 -0500 Define 'reset' (c3b). resources/net/cscott/sdr/calls/lists/c3b.calls | 7 +++++ resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/reset | 35 ++++++++++++++++++++++++ 3 files changed, 43 insertions(+) commit 47d158329345c67e2ffc9c0a7e8ef2fb3a1ec654 Author: C. Scott Ananian Date: Wed Nov 14 17:05:35 2012 -0500 Define cross back (c2). resources/net/cscott/sdr/calls/lists/c2.calls | 15 +++++++ resources/net/cscott/sdr/tests/cross-back | 54 +++++++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 1 + src/net/cscott/sdr/package-info.java | 1 + 4 files changed, 71 insertions(+) commit 32262741a64c67889d165255fd4323229aa030b7 Author: C. Scott Ananian Date: Wed Nov 14 17:04:42 2012 -0500 Implement T-boned scoot back (and add test cases). .../net/cscott/sdr/calls/lists/mainstream.calls | 6 +- resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/scoot-back | 149 ++++++++++++++++++++ 3 files changed, 155 insertions(+), 1 deletion(-) commit a8dc745ed9786ce1df8cf4f4067a055ee1739279 Author: C. Scott Ananian Date: Wed Nov 14 16:29:12 2012 -0500 Define and cross (a1). There's a breathing bug when doing this from columns. Doesn't seem to be related to the definition in this commit, though. resources/net/cscott/sdr/calls/lists/a1.calls | 25 ++++++++ resources/net/cscott/sdr/tests/and-cross | 82 +++++++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 1 + src/net/cscott/sdr/package-info.java | 1 + 4 files changed, 109 insertions(+) commit 536b4a35cadd43d94608ce95908670d1e9dcba33 Author: C. Scott Ananian Date: Tue Nov 13 17:21:04 2012 -0500 Some additional breathing notes (from 2012-03-07). notes.txt | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) commit 3eaa9b3f9dc339c391cf5dfa97758b6222260220 Author: C. Scott Ananian Date: Mon Sep 13 23:36:58 2010 -0400 Update to GAE/GWT 1.3.7. .gitignore | 1 + .settings/com.google.appengine.eclipse.core.prefs | 4 ++-- .settings/com.google.gdt.eclipse.core.prefs | 4 +++- ...ngine-api-1.0-sdk-1.3.0.jar => appengine-api-1.0-sdk-1.3.7.jar} | Bin 9262117 -> 10494022 bytes war/WEB-INF/lib/appengine-api-labs-1.3.0.jar | Bin 583552 -> 0 bytes war/WEB-INF/lib/appengine-api-labs-1.3.7.jar | Bin 0 -> 1336918 bytes war/WEB-INF/lib/appengine-jsr107cache-1.3.7.jar | Bin 0 -> 15404 bytes war/WEB-INF/lib/datanucleus-appengine-1.0.4.1.final.jar | Bin 272431 -> 0 bytes war/WEB-INF/lib/datanucleus-appengine-1.0.7.final.jar | Bin 0 -> 297800 bytes war/WEB-INF/lib/gwt-servlet.jar | Bin 1559853 -> 1573890 bytes war/WEB-INF/lib/jsr107cache-1.1.jar | Bin 0 -> 8082 bytes 11 files changed, 6 insertions(+), 3 deletions(-) commit 40413c500d01bdb1473e8a9578c5244bccf987f6 Author: C. Scott Ananian Date: Mon Sep 13 23:36:20 2010 -0400 Quiet warnings from ant about includeantruntime property. build.xml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) commit a5408bc0d31f98101a9d2326f21d256bad08157c Author: C. Scott Ananian Date: Mon Sep 13 17:15:39 2010 -0400 Extend DWResolver to handle more starting formations. src/net/cscott/sdr/toolbox/DWResolver.java | 65 ++++++++++++++++++++++++++-- 1 file changed, 62 insertions(+), 3 deletions(-) commit affce23e1fc3d1f4f340ab3d2986a8a0057d3357 Author: C. Scott Ananian Date: Mon Sep 13 17:15:20 2010 -0400 Add GENERAL TIDAL LINE formation. src/net/cscott/sdr/calls/FormationListFast.java | 27 +++++++++++++++++++++++ src/net/cscott/sdr/calls/FormationListSlow.java | 4 ++++ src/net/cscott/sdr/calls/MatcherList.java | 2 ++ 3 files changed, 33 insertions(+) commit 4ee6c2b5d163b8351ecc0038a5f41888bdd6113b Author: C. Scott Ananian Date: Mon Sep 13 13:21:59 2010 -0400 Fix acey deucey: Don't let circulaters cross the center. resources/net/cscott/sdr/calls/lists/plus.calls | 14 ++- resources/net/cscott/sdr/tests/acey-deucey-4 | 44 ++++++++ resources/net/cscott/sdr/tests/acey-deucey-5 | 122 +++++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 2 + src/net/cscott/sdr/package-info.java | 3 +- 5 files changed, 183 insertions(+), 2 deletions(-) commit 2fd157d92dc4ef384774f68ff873bdbc0d56015e Author: C. Scott Ananian Date: Mon Sep 13 14:52:20 2010 -0400 Add GENERAL DIAMOND, GENERAL TWIN DIAMONDS, GENERAL POINT-TO-POINT DIAMONDS. src/net/cscott/sdr/calls/FormationListFast.java | 91 +++++++++++++++++++++++ src/net/cscott/sdr/calls/FormationListSlow.java | 15 +++- src/net/cscott/sdr/calls/MatcherList.java | 6 ++ src/net/cscott/sdr/calls/Position.java | 2 +- 4 files changed, 111 insertions(+), 3 deletions(-) commit 009e73d1d47cc34238bb068b6eaa76e6b127ef4e Author: C. Scott Ananian Date: Mon Sep 13 13:11:28 2010 -0400 Work on 'extend'. Disallow 'extend' when 'step to a wave' or 'step thru' is meant; make 'left extend' illegal from right-handed formations; explicitly define extend from 1/4 and 3/4 tag formations, since the "adjust to diamond spots" adjuster which would allow the single 1/4 tag and single 3/4 tag definitions to apply isn't written yet. Also added missing BEAU/BELLE tags to outsides of 1/4 and 3/4 tag formations. resources/net/cscott/sdr/calls/lists/basic.calls | 40 ++- resources/net/cscott/sdr/tests/acey-deucey-1 | 2 +- resources/net/cscott/sdr/tests/breathing-1 | 2 +- resources/net/cscott/sdr/tests/cast-2 | 2 +- resources/net/cscott/sdr/tests/centers | 2 +- resources/net/cscott/sdr/tests/circle | 2 +- resources/net/cscott/sdr/tests/cross-run-1 | 12 +- resources/net/cscott/sdr/tests/extend-basic | 323 ++++++++++++++++++++++ resources/net/cscott/sdr/tests/extend-level | 8 +- resources/net/cscott/sdr/tests/fan-the-top | 2 +- resources/net/cscott/sdr/tests/peel-the-top-1 | 2 +- resources/net/cscott/sdr/tests/peel-the-top-2 | 2 +- resources/net/cscott/sdr/tests/promenade-1 | 2 +- resources/net/cscott/sdr/tests/roll | 2 +- resources/net/cscott/sdr/tests/roll-away | 2 +- resources/net/cscott/sdr/tests/sweep-3 | 2 +- resources/net/cscott/sdr/tests/tag | 6 +- resources/net/cscott/sdr/tests/trade-1 | 2 +- resources/net/cscott/sdr/tests/uturn-basic | 6 +- resources/net/cscott/sdr/tests/uturn-mixed | 2 +- src/net/cscott/sdr/calls/FormationListFast.java | 64 ++--- src/net/cscott/sdr/calls/FormationListSlow.java | 24 +- src/net/cscott/sdr/package-info.java | 1 - 23 files changed, 431 insertions(+), 81 deletions(-) commit 8a87975b035149269397caa0ee745581060effa3 Author: C. Scott Ananian Date: Tue Jun 22 11:52:19 2010 -0400 Define 'spread'. resources/net/cscott/sdr/calls/lists/plus.calls | 48 ++++++++++++++++++-- resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/spread-1 | 45 ++++++++++++++++++ src/net/cscott/sdr/calls/grm/CompletionEngine.java | 40 ++++++++++++++++ 4 files changed, 130 insertions(+), 4 deletions(-) commit 44ecb094bc808be5e4fa0829c34127786d5debcd Author: C. Scott Ananian Date: Mon Sep 13 13:49:03 2010 -0400 Remove run.test target. Commit 807b8a247ab1cbc047579522862b7ab7dc20cb98 removed the 'Test' program which this target used to invoke. which was eliminated in commit build.xml | 14 -------------- 1 file changed, 14 deletions(-) commit aae0715f43cf70dd53b1cf4ab6cc988b3774efa2 Author: C. Scott Ananian Date: Wed Jun 23 09:49:46 2010 -0400 Sort grammar alternates alphabetically. This allows slightly more intuitive completion options. The sorting is not meaningful across nonterminal productions, so the result isn't perfect -- but it's closer to a strict alphabetic list of completions. src/net/cscott/sdr/calls/grm/CompletionEngine.java | 99 +++++++++++--------- src/net/cscott/sdr/calls/grm/SimplifyGrm.java | 94 +++++++++++++++++++ 2 files changed, 148 insertions(+), 45 deletions(-) commit ba7fef7580210d84a92f8325c223f124a71889d9 Author: C. Scott Ananian Date: Wed Jun 23 09:47:25 2010 -0400 Add lib/sphinx to classpath to allow BuildGrammars to work within Eclipse. .classpath | 1 + 1 file changed, 1 insertion(+) commit beeaa93e9e6209cc763a7d88acce603149f82d88 Author: C. Scott Ananian Date: Tue Jun 22 11:51:54 2010 -0400 Add some tricky parse tests, from the Ceder Chest. resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/parse-2 | 14 ++++++++++++++ src/net/cscott/sdr/package-info.java | 1 + 3 files changed, 16 insertions(+) commit f20ab1890e65f3f4cb26f5a5a0d5201a2d7731bd Author: C. Scott Ananian Date: Tue Jun 22 11:32:19 2010 -0400 Add additional tests for plus calls, especially acey deucey. Tests fail due to reasons other than failing acey deucey -- primarily extend from 1/4 tag and missing plus calls (ping pong circulate, chase right). resources/net/cscott/sdr/tests/acey-deucey-1 | 172 ++++++++++++++++++++++++++ resources/net/cscott/sdr/tests/acey-deucey-2 | 92 ++++++++++++++ resources/net/cscott/sdr/tests/acey-deucey-3 | 97 +++++++++++++++ resources/net/cscott/sdr/tests/index | 4 + resources/net/cscott/sdr/tests/plus-calls-1 | 37 ++++++ src/net/cscott/sdr/package-info.java | 3 + 6 files changed, 405 insertions(+) commit 6e73f6bf2073d7e8f2c570c2d1438e51772a4354 Author: C. Scott Ananian Date: Sun Jan 10 22:54:47 2010 -0500 Compress grammar classes into a JAR to allow deploying to GAE. GAE has file size/quantity limits which we're butting up against. Collect all the 1000 or so .class files for the call grammars into a single JAR, which neatly avoids the failures we'd been experiencing. build.xml | 5 +++++ 1 file changed, 5 insertions(+) commit a12d041c4551741653125f8695434b07a8bf1b87 Author: C. Scott Ananian Date: Sun Jan 10 17:13:00 2010 -0500 Tweak 'roll away' definition to work better with circle choreography. resources/net/cscott/sdr/calls/lists/basic.calls | 9 +++- resources/net/cscott/sdr/tests/roll-away | 2 +- resources/net/cscott/sdr/tests/vaya-con-dios | 58 +++++++++++----------- 3 files changed, 39 insertions(+), 30 deletions(-) commit cd964497b16bc1f89c5b2f1c95f0c551352aadcb Author: C. Scott Ananian Date: Sun Jan 10 17:08:16 2010 -0500 Improve 'allemande left' definition; also tweak 'promenade' definition. We now do all of the 'vaya-con-dios' singer choreography correctly. resources/net/cscott/sdr/calls/lists/basic.calls | 40 +++++++++++++++++++-- resources/net/cscott/sdr/tests/vaya-con-dios | 41 +++++++++++++++------- src/net/cscott/sdr/package-info.java | 3 -- 3 files changed, 65 insertions(+), 19 deletions(-) commit 58e7be2db126312f2ade619c087c1a4396454dd0 Author: C. Scott Ananian Date: Sun Jan 10 16:52:19 2010 -0500 Add note to 'quarter thru' definition. resources/net/cscott/sdr/calls/lists/a1.calls | 1 + 1 file changed, 1 insertion(+) commit f90c1e898582da59f61704a0952b03522869313c Author: C. Scott Ananian Date: Sun Jan 10 15:23:21 2010 -0500 Tweak 'ladies in men sashay' to look more natural. resources/net/cscott/sdr/calls/lists/basic.calls | 12 +++---- .../net/cscott/sdr/tests/ladies-in-men-sashay-2 | 33 +++++++++++++------- src/net/cscott/sdr/package-info.java | 1 - 3 files changed, 27 insertions(+), 19 deletions(-) commit 9dbd676448a36551f33807ab9d0180f8984f6b38 Author: C. Scott Ananian Date: Sun Jan 10 15:01:46 2010 -0500 Fix _circle adjust so that it works more generally; make it a call. It used to be a Matcher; make it a call instead and make it work for any O spot formation, not just a static square. src/net/cscott/sdr/calls/MatcherList.java | 64 -------------- src/net/cscott/sdr/calls/lists/BasicList.java | 118 ++++++++++++++++++++++++- 2 files changed, 116 insertions(+), 66 deletions(-) commit a9b0fbee3c427ea6b327004180f86dd34afcae27 Author: C. Scott Ananian Date: Sun Jan 10 13:14:46 2010 -0500 Force "left means mirror" for all calls. This is correct for almost all calls, and prevents oddities like a right-shoulder pass on a left pass thru (!). notes.txt | 7 +++++++ src/net/cscott/sdr/calls/lists/BasicList.java | 8 ++++++-- src/net/cscott/sdr/package-info.java | 4 ++-- 3 files changed, 15 insertions(+), 4 deletions(-) commit 674384898aa015c8f5fb8b4f7c9f719e166341a7 Author: C. Scott Ananian Date: Sun Jan 10 11:08:28 2010 -0500 Additional tests for the 'centers' concept, from Lynette's paper. resources/net/cscott/sdr/tests/centers | 40 ++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 5 deletions(-) commit 196226816caf45cad6049a09f0dcc56ed1b6462b Author: C. Scott Ananian Date: Sat Jan 9 16:28:11 2010 -0500 Bug fixes: INOUT PATTERN and use in 'partner swing' definition. The match selector takes a pattern for a single dancer. Further, the INOUT PATTERN definition classifies dancers in a thar as facing 'in', which is wrong. resources/net/cscott/sdr/calls/lists/basic.calls | 2 +- src/net/cscott/sdr/calls/ExprList.java | 28 ++++++++++++++++++---- 2 files changed, 25 insertions(+), 5 deletions(-) commit 20510d515271352d2f40dfbd593df5d3078d17d7 Author: C. Scott Ananian Date: Sat Jan 9 16:37:54 2010 -0500 Implement C2 call "bounce ". Good demonstration of the 'with designated' concept. Note that we had to wrap the u-turn back definition with a 'from: ANY' in order to get the designated dancers transferred to the tagged formation. resources/net/cscott/sdr/calls/lists/c2.calls | 33 +++++++++++++++++++++++++ resources/net/cscott/sdr/tests/bounce-1 | 29 ++++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 1 + 3 files changed, 63 insertions(+) commit 6c1830400c65fea889950c227c98fb2653591ae5 Author: C. Scott Ananian Date: Sat Jan 9 14:29:55 2010 -0500 Tweak "four men promenade inside" to end in promenade. resources/net/cscott/sdr/calls/lists/basic.calls | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) commit 4a590f27a11a8c3dd04e297966f28b953590da01 Author: C. Scott Ananian Date: Fri Jan 8 13:04:03 2010 -0500 Define "ladies in, men sashay" from the Basic list. This includes "as couples ladies in men sashay once and a half", which Barry Clasper called in a C1 dance for Tech Squares. The definition uses _circle adjust, which isn't quite working yet. resources/net/cscott/sdr/calls/lists/basic.calls | 71 +++++++++++++++++++- resources/net/cscott/sdr/tests/index | 2 + .../net/cscott/sdr/tests/ladies-in-men-sashay-1 | 57 ++++++++++++++++ .../net/cscott/sdr/tests/ladies-in-men-sashay-2 | 33 +++++++++ src/net/cscott/sdr/calls/FormationListFast.java | 23 +++++++ src/net/cscott/sdr/calls/FormationListSlow.java | 6 ++ src/net/cscott/sdr/calls/MatcherList.java | 2 + src/net/cscott/sdr/package-info.java | 1 + 8 files changed, 193 insertions(+), 2 deletions(-) commit bf6c51fb79256310dea219f9fb239eecebe96565 Author: C. Scott Ananian Date: Fri Jan 8 13:01:03 2010 -0500 Minor tweaks to PMSD's startup definitions and help. Import the Program enumeration into top-level, so you can do: /program=A1 instead of /program=Program.A1 resources/net/cscott/sdr/pmsd.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit 4317a0273d1f6fa0c3094a6a0053a43f37e4ead9 Author: C. Scott Ananian Date: Thu Jan 7 19:48:38 2010 -0500 Generalize the 'heads start' definition. This lets 'girls start' if they happen to be standing in the head or side positions, etc. resources/net/cscott/sdr/calls/lists/basic.calls | 40 ++++++---------------- resources/net/cscott/sdr/tests/implicit-start-1 | 29 ++++++++++++++++ resources/net/cscott/sdr/tests/index | 1 + src/net/cscott/sdr/calls/Evaluator.java | 6 ++-- 4 files changed, 44 insertions(+), 32 deletions(-) commit b17c594a43dff9dad707bce79bea3d1c4a4d1f78 Author: C. Scott Ananian Date: Mon Jan 4 16:38:54 2010 -0500 More refactoring of ChoreoEngine; accept "square up" to start playing the game. src/net/cscott/sdr/App.java | 4 +- src/net/cscott/sdr/ChoreoEngine.java | 222 +++++++++++++++++++++++------ src/net/cscott/sdr/CommandInput.java | 4 +- src/net/cscott/sdr/Mode.java | 25 +++- src/net/cscott/sdr/ScoreAccumulator.java | 3 + src/net/cscott/sdr/Settings.java | 33 +++-- src/net/cscott/sdr/anim/Game.java | 1 + src/net/cscott/sdr/anim/MenuHandler.java | 2 +- src/net/cscott/sdr/recog/RecogThread.java | 33 +++-- 9 files changed, 250 insertions(+), 77 deletions(-) commit 6b6b581ba59253f2945f0fa062a21d4a1444786f Author: C. Scott Ananian Date: Sun Jan 3 15:59:40 2010 -0500 Fix bug in speechInterrupter which blocked data after an interruption. The "all empty properties" packet we were constructing was giving the RaisedCosineWindower a fit -- the data packet had -1s for sample rate, which was being interpreted as a large positive number and hanging the windowing process while it computed cosine transformations over a very large window indeed. Anyway: just use the first packet we see as our pad packet for the future. That's much nicer to the rest of the pipeline. src/net/cscott/sdr/recog/SpeechInterrupter.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) commit e0e5cd493345e504e2c0c57494f2ca22a5cd656d Author: C. Scott Ananian Date: Sun Jan 3 09:45:31 2010 -0500 Factor out mode-switching from the Settings object. We now have a dedicated Mode object which is synchronized to allow multiple sources to influence the current game mode. I also moved the ChoreoThread from the App class into the ChoreoEngine. src/net/cscott/sdr/App.java | 109 +++-------------------------- src/net/cscott/sdr/ChoreoEngine.java | 107 +++++++++++++++++++++++++--- src/net/cscott/sdr/Mode.java | 62 ++++++++++++++++ src/net/cscott/sdr/Settings.java | 14 ---- src/net/cscott/sdr/anim/Game.java | 25 +++++-- src/net/cscott/sdr/anim/GameSettings.java | 24 ------- src/net/cscott/sdr/anim/MenuHandler.java | 4 +- 7 files changed, 188 insertions(+), 157 deletions(-) commit 26453b7a8a313d7071556f82d8e011c09976b5d8 Author: C. Scott Ananian Date: Sun Jan 3 02:17:26 2010 -0500 Sketch out ChoreoEngine. Implement a ChoreoEngine that simply plays an attract loop. Add DanceFloor class to manage communication with the graphical UI. src/net/cscott/sdr/App.java | 8 ++- src/net/cscott/sdr/ChoreoEngine.java | 58 +++++++++++++++++- src/net/cscott/sdr/DanceFloor.java | 76 ++++++++++++++++++++++++ src/net/cscott/sdr/anim/AnimDancer.java | 89 ++++++++++++---------------- src/net/cscott/sdr/anim/CheckerDancer.java | 45 ++------------ src/net/cscott/sdr/anim/Game.java | 8 ++- src/net/cscott/sdr/anim/SdrGame.java | 10 ++-- src/net/cscott/sdr/anim/VenueState.java | 41 +++---------- 8 files changed, 202 insertions(+), 133 deletions(-) commit e5f18fab3617fad159e9b66d19625df4c148eeaa Author: C. Scott Ananian Date: Sun Jan 3 01:56:24 2010 -0500 Notes on use of Locker's Choice in DW ocean-wave resolve technique. notes.txt | 3 +++ 1 file changed, 3 insertions(+) commit 5e2a1f1967dc359df00e5f189a35f31f6947badb Author: C. Scott Ananian Date: Sun Jan 3 01:55:01 2010 -0500 Add a low-level path object to complement DancerPath. This is based on EngineResults.DancerPath from the SDRweb webapp. src/net/cscott/sdr/calls/DancerBezierPath.java | 45 ++++++++++++++++++++++++ src/net/cscott/sdr/calls/DancerPath.java | 6 ++++ 2 files changed, 51 insertions(+) commit a127930ef76d1906eed7410433d86e287e08c039 Author: C. Scott Ananian Date: Sun Jan 3 01:51:25 2010 -0500 Normalize angles in GeneralFormationMatcher to avoid overflow. We were getting numeric overflow in the rational arithmetic package after running the "attract loop" sequence for a while, with unnormalized facing directions about 100 million (!). Normalize facing directions of meta dancers after a match to [0,1) to avoid doubling the direction value each match. src/net/cscott/sdr/calls/GeneralFormationMatcher.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 71b52f2f28a5cb96fb62e2bb240194bf3719cd1d Author: C. Scott Ananian Date: Sun Jan 3 01:50:06 2010 -0500 Add functions to evaluate a Bezier2D in floating point. src/net/cscott/sdr/util/Bezier.java | 50 +++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) commit 5c6491f0aeabeec4762d836006730e6748eb426a Author: C. Scott Ananian Date: Sat Jan 2 16:01:20 2010 -0500 Define simpleExpansion for EvaluatorChain; fix for StandardEvaluator. StandardEvaluator's simpleExpansion sometimes threw a ClassCastException; no more! Also define a sensible default toString() method for Evaluators. src/net/cscott/sdr/calls/Evaluator.java | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) commit 8692eacb18aff35917f12e928e280bdb2797cccf Author: C. Scott Ananian Date: Sat Jan 2 12:12:40 2010 -0500 Tweak timing of 'four ladies chain'; stub out _blend() call/concept. resources/net/cscott/sdr/calls/lists/basic.calls | 31 +++++++++++++++------- 1 file changed, 22 insertions(+), 9 deletions(-) commit 027710565278d7f1e78a3724f6713e1a56f75369 Author: C. Scott Ananian Date: Sat Jan 2 12:10:35 2010 -0500 Add "scramble home" call, useful for the game. resources/net/cscott/sdr/calls/lists/basic.calls | 21 +++++ src/net/cscott/sdr/calls/FormationListFast.java | 33 +++++++ src/net/cscott/sdr/calls/FormationListSlow.java | 3 + src/net/cscott/sdr/calls/MatcherList.java | 2 + src/net/cscott/sdr/calls/grm/CompletionEngine.java | 4 + src/net/cscott/sdr/calls/lists/BasicList.java | 94 +++++++++++++++++++- 6 files changed, 155 insertions(+), 2 deletions(-) commit ae9dffd3383b3b2b90acb2b4a3f9667daf74f12d Author: C. Scott Ananian Date: Sat Jan 2 10:55:26 2010 -0500 Make it easier to edit/reload call definitions from SDRweb dev mode. build.xml | 4 ++++ 1 file changed, 4 insertions(+) commit ae037bca1cd262e34a23f927e1da7b9c53f19f90 Author: C. Scott Ananian Date: Fri Jan 1 22:43:49 2010 -0500 Fix over-escaping in StringEscapeUtils.escapeJava() This caused the grammar rule for "you're home" to include a backslash escape in the terminal. =( src/net/cscott/sdr/util/StringEscapeUtils.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit aebe84a50836127125f6e53ca5724902a9388d86 Author: C. Scott Ananian Date: Fri Jan 1 13:23:09 2010 -0500 Start implementation of ScoreAccumulator; HUD improvements. src/net/cscott/sdr/App.java | 13 +++++---- src/net/cscott/sdr/ChoreoEngine.java | 1 + src/net/cscott/sdr/CommandInput.java | 1 + src/net/cscott/sdr/HUD.java | 21 ++++++++++++--- src/net/cscott/sdr/ScoreAccumulator.java | 41 ++++++++++++++++++++++++++--- src/net/cscott/sdr/anim/Game.java | 5 ++-- src/net/cscott/sdr/anim/GameSettings.java | 2 +- src/net/cscott/sdr/anim/HUDState.java | 40 ++++++++++++++++++++-------- 8 files changed, 95 insertions(+), 29 deletions(-) commit 044430a72609a7cb5fc1230372d6f58d8d06db49 Author: C. Scott Ananian Date: Fri Jan 1 11:56:38 2010 -0500 Make speech interrupter more aggressive about pulling data. This ensures that interruptions occur at the proper place in the data stream, even if the recognizer is running behind real time. It do anything about excessive buffering by the input device (such as happens with USB microphones), but at least it ensures the problem isn't compounded by the recognizer. src/net/cscott/sdr/recog/SpeechInterrupter.java | 114 +++++++++++++++-------- 1 file changed, 76 insertions(+), 38 deletions(-) commit 187cb9d24734109bcbb21d40d5b7db238a755a7b Author: C. Scott Ananian Date: Fri Jan 1 09:35:31 2010 -0500 Work around Sphinx bug w/ 0-length speech segments. src/net/cscott/sdr/recog/SpeechInterrupter.java | 8 ++++++++ 1 file changed, 8 insertions(+) commit bee5999fb53560931cf9338e1aae74fe0759fd94 Author: C. Scott Ananian Date: Fri Jan 1 09:01:01 2010 -0500 Move HUD to net.cscott.sdr, since it is independent of the UI. src/net/cscott/sdr/{anim => }/HUD.java | 2 +- src/net/cscott/sdr/anim/Game.java | 1 + src/net/cscott/sdr/anim/HUDState.java | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) commit 20899d3e8948001d0c80b79db69bf8dc15e07028 Author: C. Scott Ananian Date: Fri Jan 1 08:58:12 2010 -0500 Implement UI-independent HUD synchronization class; wire up HUDState to HUD. src/net/cscott/sdr/anim/Game.java | 5 +- src/net/cscott/sdr/anim/GameSettings.java | 6 ++ src/net/cscott/sdr/anim/HUD.java | 44 +++++++++++-- src/net/cscott/sdr/anim/HUDState.java | 99 ++++++++++++++++++----------- 4 files changed, 111 insertions(+), 43 deletions(-) commit a82188c069571b6c48267975e905f647b6b50c91 Author: C. Scott Ananian Date: Thu Dec 31 18:24:30 2009 -0500 Add "keep going until new call given" circle left/right definitions. Also needed to add an _if function to ensure that the looping construct is properly tail-recursive; the Opt/OptCall alternative executes an evaluateAll() internal to the MetaEvaluator. resources/net/cscott/sdr/calls/lists/basic.calls | 10 +++++++++ src/net/cscott/sdr/calls/ExprList.java | 24 ++++++++++++++++++++++ 2 files changed, 34 insertions(+) commit b52e1a0d518a75c4c1a17bbcdf7442cdba16dd2b Author: C. Scott Ananian Date: Thu Dec 31 17:42:02 2009 -0500 Expose environment to the dance engine via a property map in DanceState. First use of this is via: condition: MATCH(_PROPERTY(call-pending), true) for calls like circle left, which should "keep circling until the next call is given". We can add additional properties to the map if we wish to expose other environment state. By using a ConcurrentMap, the environment can safely interact asynchronously with the dance engine. resources/net/cscott/sdr/pmsd.js | 3 ++ src/net/cscott/sdr/PMSD.java | 44 ++++++++++++++++++++++++++---- src/net/cscott/sdr/calls/DanceState.java | 23 ++++++++++++++-- src/net/cscott/sdr/calls/ExprList.java | 35 ++++++++++++++++++++++++ 4 files changed, 97 insertions(+), 8 deletions(-) commit 926d6e1fd41d4f3624fc9a49485815680e8a8679 Author: C. Scott Ananian Date: Thu Dec 31 16:46:47 2009 -0500 Refactor GameSettings to separate out UI-independent code. .settings/com.google.appengine.eclipse.core.prefs | 4 +- .../sdr/{anim/GameSettings.java => Settings.java} | 69 ++------- src/net/cscott/sdr/anim/Game.java | 2 +- src/net/cscott/sdr/anim/GameSettings.java | 158 ++------------------ src/net/cscott/sdr/anim/MenuHandler.java | 2 +- src/net/cscott/sdr/anim/MenuState.java | 10 +- src/net/cscott/sdr/anim/VenueState.java | 5 +- 7 files changed, 39 insertions(+), 211 deletions(-) commit c4c9981b9ab6e57b110daec4a148147258e1aaa9 Author: C. Scott Ananian Date: Thu Dec 31 14:06:30 2009 -0500 Refactor PMSD, moving most interactive functions to JavaScript. Moved most of the PMSD command implementations from Java to JavaScript, which is really a much nicer language for this sort of thing. Also added /help and /license commands while I was at it, and make the 'formationDetails' and 'errorDetails' flags sane. build.xml | 9 +- resources/net/cscott/sdr/.gitignore | 2 + resources/net/cscott/sdr/pmsd.js | 146 ++++++++++++++++++++++++++++++++ resources/net/cscott/sdr/tests/sweep-1 | 16 ++-- src/net/cscott/sdr/PMSD.java | 101 +++++++--------------- 5 files changed, 193 insertions(+), 81 deletions(-) commit 1b0891f726052050a9ce2cdc6359a2b949b34a8d Author: C. Scott Ananian Date: Thu Dec 31 11:23:30 2009 -0500 Add example from Clark's "Beat Math" paper; test that timings are correct. Added a few tweaks to the call definitions and timings to make this work. At the moment we *don't* use callerlab's convention, that squared set calls ends in another squared set; we use the "challenge dancer's convention" instead which ends in a 2x4. Then we adjust on some of the old-timey calls to allow them to adjust to squared set spots from a 2x4 where needed. resources/net/cscott/sdr/calls/lists/basic.calls | 30 +++++-- resources/net/cscott/sdr/tests/beat-math-1 | 96 ++++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 1 + 3 files changed, 121 insertions(+), 6 deletions(-) commit 94f7f980545a3f87b72e89969b054695a4f0b573 Author: C. Scott Ananian Date: Thu Dec 31 11:17:26 2009 -0500 Add "you're home" call. This just checks that the dancers are actually home. Tweaked grammar to allow apostrophes in spoken text, and to make substitution in the emitter backslash-safe. Added _COUPLE_NUM_PATTERN function, to aid in checking whether the dancers are home. Wrote some notes about how this might work for a singing call progression. notes.txt | 11 ++++++++ resources/net/cscott/sdr/calls/lists/basic.calls | 22 +++++++++++++++ src/net/cscott/sdr/calls/ExprList.java | 32 +++++++++++++++++++++- src/net/cscott/sdr/calls/grm/AbstractEmit.java | 3 +- src/net/cscott/sdr/calls/grm/EmitANTLRv3.java | 6 +++- 5 files changed, 71 insertions(+), 3 deletions(-) commit bf23fe0460b45e35d32a2c385672fcb12636c114 Author: C. Scott Ananian Date: Thu Dec 31 10:01:43 2009 -0500 Use FormationList.js() helper instead of FormationListJS.initJS(). It's just a little cleaner. src/net/cscott/sdr/PMSD.java | 2 +- src/net/cscott/sdr/calls/Breather.java | 20 +- src/net/cscott/sdr/calls/EvalPrim.java | 2 +- src/net/cscott/sdr/calls/ExprList.java | 4 +- src/net/cscott/sdr/calls/FormationList.java | 16 +- src/net/cscott/sdr/calls/FormationListFast.java | 202 ++++++++++---------- src/net/cscott/sdr/calls/FormationListSlow.java | 2 +- .../cscott/sdr/calls/GeneralFormationMatcher.java | 8 +- src/net/cscott/sdr/calls/MatcherList.java | 8 +- src/net/cscott/sdr/calls/NamedTaggedFormation.java | 2 +- src/net/cscott/sdr/calls/Permutation.java | 2 +- src/net/cscott/sdr/calls/PredicateList.java | 2 +- src/net/cscott/sdr/calls/TaggedFormation.java | 6 +- src/net/cscott/sdr/toolbox/DWResolver.java | 2 +- 14 files changed, 143 insertions(+), 135 deletions(-) commit 5d060280954c7e09b7ef259b1ccf5a3a5052acf1 Author: C. Scott Ananian Date: Thu Dec 31 09:24:52 2009 -0500 Handle missing .tar.gz more gracefully in upload.sh upload.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) commit 81333c087d354284695cf05a54afdc7bed56b5c0 Author: C. Scott Ananian Date: Thu Dec 31 09:20:43 2009 -0500 Clean up Ast parser/lexer in the maint-clean target. build.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 5b195d44db984efa3cd34119e3873b9b1c822993 Author: C. Scott Ananian Date: Thu Dec 31 09:20:19 2009 -0500 Mention the web UI in the README; point to PMSD examples. README | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 5080b976eebee1489d12771d97879fae02f232dc Author: C. Scott Ananian Date: Thu Dec 31 00:54:36 2009 -0500 Handle "unknown speech" results from the Sphinx recognizer. src/net/cscott/sdr/recog/RecogThread.java | 3 +++ 1 file changed, 3 insertions(+) commit f9ba5aaa6077048f9c47bb0ef080a02b10f6a7f3 Author: C. Scott Ananian Date: Thu Dec 31 00:54:06 2009 -0500 Fix crash in Color constructor when audio volume is very low. src/net/cscott/sdr/anim/MusicState.java | 3 +++ 1 file changed, 3 insertions(+) commit 422230fde22ac705b72f22f488ba8614df1dc34a Author: C. Scott Ananian Date: Thu Dec 31 00:36:49 2009 -0500 Add SpeechInterrupter to ensure prompt transition of recognition grammars. We need to force a recognize() method-in-progress to return promptly so that we can switch grammars. We do so by forcing speech start/end pairs when the grammar changes, using a new SpeechInterrupter element in the frontend pipeline. resources/net/cscott/sdr/recog/sdr.config.xml | 5 +- src/net/cscott/sdr/App.java | 9 ++- src/net/cscott/sdr/CommandInput.java | 13 +++-- src/net/cscott/sdr/anim/Game.java | 5 +- src/net/cscott/sdr/anim/GameSettings.java | 22 ++++++- src/net/cscott/sdr/recog/RecogThread.java | 26 ++++++++- src/net/cscott/sdr/recog/SpeechInterrupter.java | 70 +++++++++++++++++++++++ 7 files changed, 138 insertions(+), 12 deletions(-) commit 5d9373017b1ef0d3a8c8e0b9972cfd1d4eba686d Author: C. Scott Ananian Date: Thu Dec 31 00:09:15 2009 -0500 Add additional javadoc to the generated AllGrm.java. resources/net/cscott/sdr/calls/grm/java.skel | 5 ++++- src/net/cscott/sdr/calls/grm/EmitJava.java | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) commit 45bab37316e650a689877eab230bf1ffdea87f7e Author: C. Scott Ananian Date: Wed Dec 30 23:17:16 2009 -0500 Bump version post-release. build.xml | 2 +- upload.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 6446211c50a4ab27ad2efb86f97dfd590dd5e09c Author: C. Scott Ananian Date: Wed Dec 30 16:24:34 2009 -0500 Release SDR 0.6. build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cb2e8a3a5638bc10ade69981081a6894989675c7 Author: C. Scott Ananian Date: Wed Dec 30 17:21:59 2009 -0500 Link to Dave Wilson's ocean wave resolve technique from the javadoc. src/net/cscott/sdr/toolbox/DWResolver.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit c4ce80a43c094ce7bda8841b72658cd837cdcdbd Author: C. Scott Ananian Date: Wed Dec 30 17:18:13 2009 -0500 Copy PMSD test cases to api/ output directory so they're web-browsable. build.xml | 7 +++++++ src/net/cscott/sdr/.gitignore | 1 + src/net/cscott/sdr/package-info.java | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) commit 1dabcff98a3322c3156ad3e8ce862668f16ea19b Author: C. Scott Ananian Date: Wed Dec 30 16:18:26 2009 -0500 Add more sanity checks to 'dist' rule. build.xml | 47 +++++++++++++++++++++++++++++++++++++++++++++-- upload.sh | 15 +++++---------- 2 files changed, 50 insertions(+), 12 deletions(-) commit 64fa40d9710be4e16f4a796e96f78eff38373ac6 Author: C. Scott Ananian Date: Wed Dec 30 16:16:11 2009 -0500 Improve chk-javadoc rule: rebuild docs if access property changed. build.xml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) commit 680d63b9cebec209ce2f5c5f5623dd65e9a078e5 Author: C. Scott Ananian Date: Wed Dec 30 15:09:54 2009 -0500 Update 'dist' rule: build tar file from git. We use git-archive to build the tar file from the contents of the repository, then add some additional generated files for convenience. build.xml | 42 +++++++++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 11 deletions(-) commit eafcbbdbd0a3e1ebed65d4b6c7aeb74b613e43f5 Author: C. Scott Ananian Date: Wed Dec 30 14:36:38 2009 -0500 Javadoc improvements to net.cscott.sdr.recog. src/net/cscott/sdr/recog/LevelMonitor.java | 2 +- src/net/cscott/sdr/recog/Microphone.java | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) commit 276fb82c307edf8d7947a36bd3c3635408d7c79d Author: C. Scott Ananian Date: Wed Dec 30 10:20:01 2009 -0500 Clean up warnings in net.cscott.sdr.anim (mostly unused imports). src/net/cscott/sdr/anim/CheckerDancer.java | 5 ++--- src/net/cscott/sdr/anim/Game.java | 1 - src/net/cscott/sdr/anim/Gauge.java | 2 +- src/net/cscott/sdr/anim/TextureText.java | 2 -- src/net/cscott/sdr/anim/VenueState.java | 3 --- 5 files changed, 3 insertions(+), 10 deletions(-) commit 312d40bab141be4ce3e5d0dcc3deaa6344c1de61 Author: C. Scott Ananian Date: Wed Dec 30 10:11:35 2009 -0500 Improve MusicState's drawing of the LevelMonitor. Our video frame rate is higher than the audio frame rate, so wait until we've got audio data before drawing it on the display. Also tweaked size, color, and opacity, and switched to a log scale. src/net/cscott/sdr/anim/MusicState.java | 34 +++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 11 deletions(-) commit e6a0c2d0857423b449af1cb3a734b72c016c7a93 Author: C. Scott Ananian Date: Wed Dec 30 10:05:03 2009 -0500 Collect an old debugging flag into the DevSettings class. src/net/cscott/sdr/App.java | 1 - src/net/cscott/sdr/DevSettings.java | 3 +++ src/net/cscott/sdr/anim/Game.java | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) commit df5bf4308da23a33e14ac95b04e81789cc7bfedd Author: C. Scott Ananian Date: Wed Dec 30 00:44:39 2009 -0500 Add custom Microphone frontend to allow switching Microphones on the fly. Also tweaked some Sphinx settings and added the "bow to your partner" call which exits the game. .settings/com.google.appengine.eclipse.core.prefs | 4 +- lib/sphinx/extradict | 1 + resources/net/cscott/sdr/calls/lists/basic.calls | 5 + resources/net/cscott/sdr/recog/sdr.config.xml | 8 +- src/net/cscott/sdr/App.java | 10 +- src/net/cscott/sdr/anim/Game.java | 14 +- src/net/cscott/sdr/anim/GameSettings.java | 21 ++- src/net/cscott/sdr/anim/MenuItem.java | 13 +- src/net/cscott/sdr/anim/MenuState.java | 44 ++++- src/net/cscott/sdr/recog/Microphone.java | 194 +++++++++++++++++++++ src/net/cscott/sdr/recog/RecogThread.java | 27 ++- src/net/cscott/sdr/recog/SphinxDemo.java | 67 +++---- 12 files changed, 340 insertions(+), 68 deletions(-) commit 7e6e383d4c0698263138afcd4442e7f71a6f0e43 Author: C. Scott Ananian Date: Tue Dec 29 16:40:08 2009 -0500 Keep game settings "for real", tweak menu system and key bindings. src/net/cscott/sdr/anim/Game.java | 15 ++- src/net/cscott/sdr/anim/GameSettings.java | 160 +++++++++++++++++++++++++++++ src/net/cscott/sdr/anim/HUDState.java | 2 + src/net/cscott/sdr/anim/MenuHandler.java | 15 +-- src/net/cscott/sdr/anim/MenuItem.java | 20 ++-- src/net/cscott/sdr/anim/MenuState.java | 108 +++++++++++++++++-- src/net/cscott/sdr/anim/VenueState.java | 11 +- 7 files changed, 298 insertions(+), 33 deletions(-) commit e63e47ddcd86f4586bbf150e930f59b0edd054c7 Author: C. Scott Ananian Date: Tue Dec 29 16:37:04 2009 -0500 Sphinx-related game improvements. Start refactoring the input side to allow for multiple recognition modes, and for changing the recognition mode and microphone after the thread has been started. build.xml | 2 +- notes.txt | 3 + resources/net/cscott/sdr/recog/menu.gram | 12 ++++ resources/net/cscott/sdr/recog/sdr.config.xml | 22 +----- src/net/cscott/sdr/App.java | 36 +++++----- src/net/cscott/sdr/ChoreoEngine.java | 7 +- src/net/cscott/sdr/CommandInput.java | 80 +++++++++++++--------- src/net/cscott/sdr/calls/grm/EmitDictionary.java | 4 +- src/net/cscott/sdr/recog/RecogThread.java | 54 ++++++++++----- src/net/cscott/sdr/recog/SphinxDemo.java | 1 + 10 files changed, 134 insertions(+), 87 deletions(-) commit efb8ae108a6c2719ff5234987fdfa1ca77b0473c Author: C. Scott Ananian Date: Tue Dec 29 16:02:35 2009 -0500 Turn off foot offset randomization in Game. It makes the graphics look jittery, instead of "natural" (which was the goal). src/net/cscott/sdr/anim/CheckerDancer.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 3efdded5c7a077e7acc4bcd0a94c1b6b86e460e6 Author: C. Scott Ananian Date: Mon Dec 28 17:22:38 2009 -0500 Update to latest sphinx4 from svn. .classpath | 7 +------ lib/sphinx/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar | Bin 11152735 -> 11152305 bytes lib/sphinx/jsapi.jar | Bin 51811 -> 0 bytes lib/sphinx/sphinx4.jar | Bin 823325 -> 837594 bytes lib/sphinx/update.sh | 1 - resources/net/cscott/sdr/calls/grm/jsapi.skel | 2 +- resources/net/cscott/sdr/recog/sdr.config.xml | 15 ++++++++++----- resources/net/cscott/sdr/recog/sdr.gram | 4 ++-- src/net/cscott/sdr/recog/RecogThread.java | 4 ++-- src/net/cscott/sdr/recog/SphinxDemo.java | 6 +++--- 10 files changed, 19 insertions(+), 20 deletions(-) commit 7953599758fc07187c551b75fc97ffedf12dec6e Author: C. Scott Ananian Date: Mon Dec 28 00:23:51 2009 -0500 Use UTF-8 encoding consistently. src/net/cscott/sdr/calls/grm/AbstractEmit.java | 2 +- src/net/cscott/sdr/calls/grm/BuildGrammars.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) commit e404330887b63f7d7428d8d8a498695009977d3a Author: C. Scott Ananian Date: Mon Dec 28 00:20:56 2009 -0500 Extract only the pronunciations we need from cmudict. Save memory by only loading the 200 or so words we need, instead of the full ~130,000 entries from cmudict. Also merge in some extra pronunciations for square-dance-specific words. build.xml | 7 ++ .../cscott/sdr/recog => lib/sphinx}/cmudict.0.6d | 0 .../net/cscott/sdr/recog => lib/sphinx}/extradict | 1 - resources/net/cscott/sdr/recog/.gitignore | 1 + resources/net/cscott/sdr/recog/sdr.config.xml | 2 +- src/net/cscott/sdr/calls/grm/BuildGrammars.java | 4 + src/net/cscott/sdr/calls/grm/EmitDictionary.java | 107 ++++++++++++++++++++ 7 files changed, 120 insertions(+), 2 deletions(-) commit e71dbecc81edf80c9dcff520edc09963109ce017 Author: C. Scott Ananian Date: Sat Dec 26 22:57:48 2009 -0500 Add pronunciations for some missing words in our call definitions. resources/net/cscott/sdr/recog/extradict | 3 +++ 1 file changed, 3 insertions(+) commit 3d68824b983bea2dfaa1b00068cda2719bc3c7d0 Author: C. Scott Ananian Date: Sat Dec 26 22:56:24 2009 -0500 Tweak build rules to fix problems launching SDR game ('ant run'). build.xml | 2 +- sdr.Manifest | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 658a5f6c05e5a64b4cb1d515f4753860bb291434 Author: C. Scott Ananian Date: Fri Dec 25 01:00:25 2009 -0500 Grammar notes. notes.txt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) commit 04cc88a131fc8726cd63dbfcc8226435053e2e4e Author: C. Scott Ananian Date: Thu Dec 24 00:58:15 2009 -0500 Tweak GAE configuration; trim unneeded classes from SDRweb upload. build.xml | 6 +++++- war/WEB-INF/appengine-web.xml | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) commit 27b6617dbf87096349fad7ef4145f1efec85c9c7 Author: C. Scott Ananian Date: Wed Dec 30 10:28:27 2009 -0500 Remove SDRweb generated files. war/WEB-INF/classes/META-INF/jdoconfig.xml | 15 --------------- war/WEB-INF/classes/log4j.properties | 24 ------------------------ 2 files changed, 39 deletions(-) commit 72ff03db6d09839ae78ffe73d3a2e94c69a1819b Author: C. Scott Ananian Date: Wed Dec 23 17:43:20 2009 -0500 Fix SDRweb breakage when DevSettings.ONLY_C4_GRAMMAR is true. src/net/cscott/sdr/calls/grm/EmitJava.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) commit 5d84430cc4fd5d4fd5a26ef5bd04a415e703f566 Author: C. Scott Ananian Date: Sun Dec 20 16:26:43 2009 -0500 Add CIRCLE_ADJUST matcher for circle choreography. This switches to the "other grouping" of dancers in a circle -- ie, "dancer and corner" instead of "dancer and partner". Since this adjusts facing direction by 1/8, call definitions need to make sure they don't turn more than 1/4 so that the total turn is less than 1/2 (and thus the animation routines can unambiguously determine the direction of rotation). src/net/cscott/sdr/calls/FormationListFast.java | 33 +++++++++++ src/net/cscott/sdr/calls/FormationListSlow.java | 3 + src/net/cscott/sdr/calls/MatcherList.java | 72 ++++++++++++++++++++++- 3 files changed, 107 insertions(+), 1 deletion(-) commit e59febff0023da9ee43289207c9789bfc25a6a33 Author: C. Scott Ananian Date: Wed Dec 23 14:58:41 2009 -0500 A1-C4 definition work. New definitions: mix, 1/4 thru, 3/4 thru, mini-busy, remake, keep busy, busy , by golly (fixed definition), change lanes, retain your lane, change the , change the centers, change the wave, reverse the pass (fixed definition). Added tests. Added _mod num(x, y) function. Allowed fractionalization of _anyone(who, what). resources/net/cscott/sdr/calls/lists/a1.calls | 55 +++++++++++ resources/net/cscott/sdr/calls/lists/a2.calls | 58 +++++++++--- resources/net/cscott/sdr/calls/lists/c3a.calls | 17 ++++ resources/net/cscott/sdr/calls/lists/c3b.calls | 98 +++++++++++++++----- resources/net/cscott/sdr/calls/lists/c4.calls | 4 + resources/net/cscott/sdr/tests/by-golly | 35 +++++++ resources/net/cscott/sdr/tests/change | 17 ++++ resources/net/cscott/sdr/tests/index | 4 + resources/net/cscott/sdr/tests/minibusy | 22 +++++ resources/net/cscott/sdr/tests/reverse-the-pass | 52 +++++++++++ src/net/cscott/sdr/calls/CallDB.java | 5 + src/net/cscott/sdr/calls/ExprList.java | 22 +++++ src/net/cscott/sdr/calls/lists/C2List.java | 2 +- src/net/cscott/sdr/calls/lists/C3aList.java | 37 ++++++++ src/net/cscott/sdr/calls/lists/C4List.java | 37 ++++++++ src/net/cscott/sdr/calls/transform/Fractional.java | 5 +- 16 files changed, 429 insertions(+), 41 deletions(-) commit b746b5a7e585adce0a1924bd2a081be99c11a7bc Author: C. Scott Ananian Date: Wed Dec 23 13:12:50 2009 -0500 Fix RH FACING DIAMOND and LH FACING DIAMOND, which were swapped. It's the handedness of the centers which matters, not that of the points. src/net/cscott/sdr/calls/FormationListFast.java | 176 +++++++++++------------ src/net/cscott/sdr/calls/FormationListSlow.java | 16 +-- 2 files changed, 96 insertions(+), 96 deletions(-) commit 55a32967e4a0e6ba0ffde6d6783be344c4220067 Author: C. Scott Ananian Date: Tue Dec 22 21:53:15 2009 -0500 Fix "grand square" add "grand square 6 steps". resources/net/cscott/sdr/calls/lists/basic.calls | 9 +++++---- resources/net/cscott/sdr/tests/basic-calls-3 | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) commit d47bf910898877102af64dfcf1c65c5f8ee7655e Author: C. Scott Ananian Date: Sun Dec 20 16:25:49 2009 -0500 Fix Ast parsing of OptCall/ParCall. How did this ever work? I guess we just never tested these. Added some tests. src/net/cscott/sdr/calls/parser/Ast.g | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) commit b47445801e6671bda9a60897803e7058dcb689de Author: C. Scott Ananian Date: Sun Dec 20 16:23:17 2009 -0500 Fix matches against targets with no dancers w/ a facing direction. This is used when it's the position of the dancers which matters, not their facing direction. src/net/cscott/sdr/calls/GeneralFormationMatcher.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) commit 30a7ded9985e438da4380c4e4e763c9ae509d2c0 Author: C. Scott Ananian Date: Sat Dec 19 17:34:40 2009 -0500 Add 'Server refresh' menu item to SDRweb; remove 'Locate' test. This makes debugging animations easier: you can just edit the call definitions and select "server refresh" to see your changes animated. .../sdr/webapp/client/DanceEngineService.java | 6 ++++++ .../sdr/webapp/client/DanceEngineServiceAsync.java | 5 +++++ src/net/cscott/sdr/webapp/client/SDRweb.java | 22 ++++++++++++++++---- .../sdr/webapp/server/DanceEngineServiceImpl.java | 5 +++++ 4 files changed, 34 insertions(+), 4 deletions(-) commit 54eebf5db414b1367ad88d21021f0c41046c542a Author: C. Scott Ananian Date: Mon Dec 21 09:45:42 2009 -0500 Fix grammar precedence problems. The new "heads down the middle and " call was conflicting with the "and roll" and "and sweep" rules, since "roll" and "sweep" are s. Adjusted some precedence levels to fix the problem (and fixed a bug to allow specifying precedence of calls which don't take arguments). Adjusted " ", "down the middle ", "as couples", "tandem", "siamese", and "roll". Added "and individually roll" as a looser-binding version of roll. "tandem trade and roll" means roll in tandem; "tandem trade and individually roll" means only apply tandem to the trade. I think the precedence levels make sense after this commit. resources/net/cscott/sdr/calls/lists/a1.calls | 8 +++++++ resources/net/cscott/sdr/calls/lists/basic.calls | 6 +++--- resources/net/cscott/sdr/calls/lists/plus.calls | 1 + resources/net/cscott/sdr/tests/parse-1 | 25 ++++++++++++++++++---- src/net/cscott/sdr/calls/grm/BuildGrammars.java | 4 +++- src/net/cscott/sdr/calls/lists/A1List.java | 2 +- src/net/cscott/sdr/calls/lists/C1List.java | 4 ++-- 7 files changed, 39 insertions(+), 11 deletions(-) commit efca416f6cd214adb157b8b4a932f117e9e00ecb Author: C. Scott Ananian Date: Sat Dec 19 17:30:52 2009 -0500 More definition work: 'down the middle', 'curlique', t-boned 'centers in'. More of the 'vaya-con-dios' test case works now, although a few workarounds were necessary. Also did some work on 'run' to make the 'center boys run' from columns work. All dancer pattern expression functions now take arguments specifying which dancers to include. resources/net/cscott/sdr/calls/lists/basic.calls | 18 +++++- resources/net/cscott/sdr/calls/lists/c4.calls | 14 +++++ .../net/cscott/sdr/calls/lists/mainstream.calls | 21 +++++-- resources/net/cscott/sdr/tests/vaya-con-dios | 58 +++++++++++++++++++- src/net/cscott/sdr/calls/CallDB.java | 1 + src/net/cscott/sdr/calls/ExprList.java | 41 ++++++++------ src/net/cscott/sdr/calls/package-info.java | 4 +- 7 files changed, 130 insertions(+), 27 deletions(-) commit 9cbcbe8629f184cefb7d170fd35196e669c92235 Author: C. Scott Ananian Date: Sat Dec 19 15:24:45 2009 -0500 Remove "heads start" from the spoken grammar. Heads/sides start is an SD-ism; we don't need it any more. resources/net/cscott/sdr/calls/lists/basic.calls | 16 ++++++++-------- resources/net/cscott/sdr/tests/concentric-1 | 2 +- resources/net/cscott/sdr/tests/run-1 | 4 ++-- resources/net/cscott/sdr/tests/siamese-1 | 2 +- src/net/cscott/sdr/calls/Evaluator.java | 9 ++++----- 5 files changed, 16 insertions(+), 17 deletions(-) commit ecfbfe4c2ae7e57d4846192df9a98fd37763cbb8 Author: C. Scott Ananian Date: Sat Dec 19 13:01:30 2009 -0500 Update to GAE v1.3.0. .classpath | 2 +- .settings/com.google.appengine.eclipse.core.prefs | 4 ++-- ...ngine-api-1.0-sdk-1.2.8.jar => appengine-api-1.0-sdk-1.3.0.jar} | Bin 9127976 -> 9262117 bytes .../{appengine-api-labs-1.2.8.jar => appengine-api-labs-1.3.0.jar} | Bin 583552 -> 583552 bytes ...ine-1.0.4.final.jar => datanucleus-appengine-1.0.4.1.final.jar} | Bin 272268 -> 272431 bytes 5 files changed, 3 insertions(+), 3 deletions(-) commit d7aaf4f619f71477be8f4bbbb669d4cf1f3e4f3c Author: C. Scott Ananian Date: Sat Dec 19 12:48:32 2009 -0500 Add additional allemande/dopaso tests, add 'reverse dixie style'. .../net/cscott/sdr/calls/lists/mainstream.calls | 2 + resources/net/cscott/sdr/tests/allemande-1 | 73 ++++++++++++++++++++ resources/net/cscott/sdr/tests/dopaso-1 | 40 +++++++++++ resources/net/cscott/sdr/tests/index | 2 + resources/net/cscott/sdr/tests/mainstream-2 | 18 ----- resources/net/cscott/sdr/tests/vaya-con-dios | 18 ++++- src/net/cscott/sdr/package-info.java | 5 +- 7 files changed, 137 insertions(+), 21 deletions(-) commit 4f7ab2b00ea1bfd483a6cdcbe15aa112ecf067ea Author: C. Scott Ananian Date: Sat Dec 19 11:42:05 2009 -0500 Javadoc tweak. src/net/cscott/sdr/calls/PredicateList.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 1be544ea5b5891f46a9d0daf44edac21f0900ce9 Author: C. Scott Ananian Date: Sat Dec 19 11:41:07 2009 -0500 DWResolver improvements. Shave about a quarter of a call off the average resolve length by adding 'hinge' from BGBG/GBGB waves. src/net/cscott/sdr/toolbox/DWResolver.java | 64 ++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 17 deletions(-) commit 12a69bfca57e8b36efd18c747eac892fa6296c1a Author: C. Scott Ananian Date: Fri Dec 18 17:09:51 2009 -0500 Mainstream calls 53-68, including 'dixie style' and 'spin chain thru'. .../net/cscott/sdr/calls/lists/mainstream.calls | 44 +++++-- resources/net/cscott/sdr/tests/dixie-style | 53 ++++++++ resources/net/cscott/sdr/tests/index | 2 + resources/net/cscott/sdr/tests/mainstream-1 | 2 +- resources/net/cscott/sdr/tests/mainstream-2 | 131 ++++++++++++++++++++ 5 files changed, 221 insertions(+), 11 deletions(-) commit 8fe39d3f902bdac8caf8ea2ad42cf44afbde574d Author: C. Scott Ananian Date: Fri Dec 18 16:40:33 2009 -0500 Simplify the DWResolver by eliminating an unnecessary case. src/net/cscott/sdr/toolbox/DWResolver.java | 33 +++++++++++++--------------- 1 file changed, 15 insertions(+), 18 deletions(-) commit c4b8b43cd945a24e2aa83582b3e85a577cd12b8f Author: C. Scott Ananian Date: Thu Dec 17 14:29:54 2009 -0500 Update Mainstream call list to match 2009-11 revised callerlab numbering. Also add test sequence for first 10 mainstream definitions, and definition for 'cloverleaf', 'eight chain thru' and 'centers in'. notes.txt | 2 + .../net/cscott/sdr/calls/lists/mainstream.calls | 128 ++++++++++---- resources/net/cscott/sdr/tests/eight-chain | 51 ++++++ resources/net/cscott/sdr/tests/index | 2 + resources/net/cscott/sdr/tests/mainstream-1 | 181 ++++++++++++++++++++ 5 files changed, 327 insertions(+), 37 deletions(-) commit d1b89ccff619375b9a3f5f29f5e2c4808a0418e2 Author: C. Scott Ananian Date: Thu Dec 17 13:28:34 2009 -0500 Update basic call list to match 2009-11 revised callerlab numbering. We also implemented a few extra calls: dosado to a wave, right and left thru and a quarter more, right and left thru full turn, ferris wheel. Renamed 'flutter wheel' -> 'flutterwheel' to match callerlab usage. resources/net/cscott/sdr/calls/lists/basic.calls | 620 +++++++++++--------- .../net/cscott/sdr/calls/lists/mainstream.calls | 4 +- resources/net/cscott/sdr/tests/basic-calls-2 | 42 ++ resources/net/cscott/sdr/tests/basic-calls-4 | 2 +- resources/net/cscott/sdr/tests/parse-1 | 6 +- resources/net/cscott/sdr/tests/r-l-grand-2 | 2 +- resources/net/cscott/sdr/tests/roll-away | 8 +- resources/net/cscott/sdr/tests/vaya-con-dios | 2 +- src/net/cscott/sdr/calls/lists/BasicList.java | 2 +- src/net/cscott/sdr/calls/transform/Fractional.java | 6 +- src/net/cscott/sdr/calls/transform/RemoveIn.java | 6 +- 11 files changed, 416 insertions(+), 284 deletions(-) commit 568835be3255d670ba2079feb69714b4912d96f6 Author: C. Scott Ananian Date: Wed Dec 16 22:44:34 2009 -0500 Tweak timing of 'turn thru'. resources/net/cscott/sdr/calls/lists/basic.calls | 1 + resources/net/cscott/sdr/calls/lists/mainstream.calls | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) commit 6cfc14d9e10918fd9af463dd8a524362a046054e Author: C. Scott Ananian Date: Wed Dec 16 22:23:26 2009 -0500 Clean up build log output of the AntlrPostProcessor. src/net/cscott/sdr/calls/grm/AntlrPostProcessor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit daf5887e9b6a6a6290f7f1de4eb8bdb7f780025e Author: C. Scott Ananian Date: Wed Dec 16 11:49:31 2009 -0500 Fix SDRweb bug where we'd stop playing before the final frame of the animation. src/net/cscott/sdr/webapp/client/SDRweb.java | 1 + 1 file changed, 1 insertion(+) commit 37929ca8d41f97521107ff0bfc6e9f9d3b84d31b Author: C. Scott Ananian Date: Wed Dec 16 11:48:50 2009 -0500 Tweak promenade/swing timing to seem more natural. Make adjustments at beginning/end fairly quick. resources/net/cscott/sdr/calls/lists/basic.calls | 23 +++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) commit 86747402eb04f81e30f063d0c1bb4a269dc62b14 Author: C. Scott Ananian Date: Wed Dec 16 11:44:31 2009 -0500 Update to JDK 1.6.0_17. .classpath | 4 ++-- .settings/org.eclipse.jdt.core.prefs | 19 ++++++++++++++++++- 2 files changed, 20 insertions(+), 3 deletions(-) commit d1ccce03008fac8d76420ee62725d7f6a02b19ac Author: C. Scott Ananian Date: Wed Dec 16 02:11:18 2009 -0500 Implement "partner swing" and MATCH as a selector. resources/net/cscott/sdr/calls/lists/basic.calls | 85 +++++++++++++++++-- resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/partner-swing | 95 ++++++++++++++++++++++ src/net/cscott/sdr/calls/ExprList.java | 12 ++- src/net/cscott/sdr/calls/SelectorList.java | 36 ++++++++ 5 files changed, 218 insertions(+), 11 deletions(-) commit 60902d8ad4a45c23b50ba775d924115b0554ee22 Author: C. Scott Ananian Date: Wed Dec 16 02:07:27 2009 -0500 Fix "cast off 1/8" and "single promenade 1/8"; compress spots for cast 1/8. resources/net/cscott/sdr/calls/lists/basic.calls | 4 ++++ resources/net/cscott/sdr/calls/lists/mainstream.calls | 9 +++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) commit 1d81f328c77b197562fa62a22263d32ac85a6fa8 Author: C. Scott Ananian Date: Wed Dec 16 02:06:13 2009 -0500 Add pinwheel formations; let us promenade from a pinwheel. resources/net/cscott/sdr/calls/lists/basic.calls | 4 ++ src/net/cscott/sdr/calls/FormationListFast.java | 84 ++++++++++++++++++++++ src/net/cscott/sdr/calls/FormationListSlow.java | 24 +++++++ src/net/cscott/sdr/calls/MatcherList.java | 8 +++ 4 files changed, 120 insertions(+) commit 633ff71daf6187c709d7a1d7195968be961af6e0 Author: C. Scott Ananian Date: Wed Dec 16 00:21:53 2009 -0500 Fix up "cast off n/4" and "cast off n/8" definitions. We now pivot around the correct anchor from couples, and handle /8 and /4 fractions. .../net/cscott/sdr/calls/lists/mainstream.calls | 73 +++++++++++++++++--- resources/net/cscott/sdr/tests/cast-1 | 70 +++++++++++++++++++ resources/net/cscott/sdr/tests/cast-2 | 28 ++++++++ resources/net/cscott/sdr/tests/index | 2 + src/net/cscott/sdr/package-info.java | 1 + 5 files changed, 165 insertions(+), 9 deletions(-) commit ea2fa257b494f9311fb189212dab9de67c9fa66b Author: C. Scott Ananian Date: Wed Dec 16 00:18:21 2009 -0500 Fix FormationList.valueOf() for NxM arguments. src/net/cscott/sdr/calls/FormationList.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit 86cd5f02dd4eb4414af62b084eab4269da85c90e Author: C. Scott Ananian Date: Mon Dec 14 22:38:40 2009 -0500 Add _INOUT PATTERN function and use it to improve "trade by" definition. resources/net/cscott/sdr/calls/lists/basic.calls | 8 +- src/net/cscott/sdr/calls/ExactRotation.java | 2 +- src/net/cscott/sdr/calls/ExprList.java | 121 +++++++++++++++++++++- 3 files changed, 125 insertions(+), 6 deletions(-) commit 9ca1b3421419ae3031ddb4bd5551f2b1f0d5292a Author: C. Scott Ananian Date: Sun Dec 13 19:25:39 2009 -0500 Define 'pass to the center' (mainstream) .../net/cscott/sdr/calls/lists/mainstream.calls | 15 +++++++++- resources/net/cscott/sdr/tests/index | 3 ++ .../net/cscott/sdr/tests/pass-to-the-center-1 | 11 +++++++ .../net/cscott/sdr/tests/pass-to-the-center-2 | 11 +++++++ .../net/cscott/sdr/tests/pass-to-the-center-3 | 31 ++++++++++++++++++++ src/net/cscott/sdr/package-info.java | 2 ++ 6 files changed, 72 insertions(+), 1 deletion(-) commit 2f4ec418f23ab96bb63c8efc5f0093f84de2919d Author: C. Scott Ananian Date: Sun Dec 13 19:21:32 2009 -0500 Add GWT/GAE support to ANT build files. build.xml | 115 +++++++++++++++++++++++++++++++++++++++-- sample.build.properties | 5 ++ war/WEB-INF/lib/junit-4.6.jar | Bin 0 -> 218226 bytes 3 files changed, 117 insertions(+), 3 deletions(-) commit 2652fa88c1ee97012070c7bfa36b53d9ddd2012a Author: C. Scott Ananian Date: Sun Dec 13 17:33:37 2009 -0500 Separate clean.flf target from clean target in Ant build file. build.xml | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) commit 16b40543961565671472cfbdb839b02363ac7e63 Author: C. Scott Ananian Date: Sun Dec 13 15:23:44 2009 -0500 Replace deprecated ImageBundle with GWT2.0 ClientBundle. src/net/cscott/sdr/webapp/client/DancerSimple.java | 142 ++++++++++---------- src/net/cscott/sdr/webapp/client/SDRweb.java | 30 +++-- 2 files changed, 90 insertions(+), 82 deletions(-) commit 394afccedfb81c5548768075eff42e659b27d5b6 Author: C. Scott Ananian Date: Sun Dec 13 15:06:46 2009 -0500 Update SliderBar to use ClientBundle instead of deprecated ImageBundle. src/net/cscott/sdr/webapp/client/SliderBar.java | 24 ++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) commit 779f7219b4b769ba754570bcd22987fb031dc2ae Author: C. Scott Ananian Date: Sun Dec 13 15:00:34 2009 -0500 Apply upstream r1576 to hacked SliderBar widget. "ResizableWidgets now add themselves to the ResizableWidgetCollection onLoad() and remove themselves onUnload() to improve performance and prevent memory leaks." src/net/cscott/sdr/webapp/client/SliderBar.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 432fcfc239d1471b20f2ef92f6549085647f2157 Author: C. Scott Ananian Date: Sun Dec 13 14:33:02 2009 -0500 Update to GWT 2.0/GAE 1.2.8/gwt-incubator 1.7. .classpath | 4 ++-- .settings/com.google.appengine.eclipse.core.prefs | 4 ++-- ...r-march-02-2009.jar => gwt-incubator-july-14-2009.jar} | Bin 2364650 -> 2384256 bytes ...-1.0-sdk-1.2.6.jar => appengine-api-1.0-sdk-1.2.8.jar} | Bin 8852258 -> 9127976 bytes ...ne-api-labs-1.2.6.jar => appengine-api-labs-1.2.8.jar} | Bin 542372 -> 583552 bytes war/WEB-INF/lib/datanucleus-appengine-1.0.3.jar | Bin 245333 -> 0 bytes war/WEB-INF/lib/datanucleus-appengine-1.0.4.final.jar | Bin 0 -> 272268 bytes war/WEB-INF/lib/gwt-servlet.jar | Bin 938019 -> 1559853 bytes war/WEB-INF/web.xml | 13 ------------- 9 files changed, 4 insertions(+), 17 deletions(-) commit 22f375090907344d5e3bbf661279822109c0cb5c Author: C. Scott Ananian Date: Sun Dec 13 11:53:40 2009 -0500 Notes on partner swing animation. notes.txt | 9 +++++++++ 1 file changed, 9 insertions(+) commit 0db8fbb0cc50112b6b6fbe3f9ec451d2bad8b5d2 Author: C. Scott Ananian Date: Sun Dec 13 12:03:09 2009 -0500 Make 'nobody run' work. resources/net/cscott/sdr/calls/lists/basic.calls | 52 ++++++++++++---------- src/net/cscott/sdr/package-info.java | 1 - 2 files changed, 29 insertions(+), 24 deletions(-) commit f20b603ef035504a1b83028b55807ed553d6658b Author: C. Scott Ananian Date: Sat Dec 12 01:25:28 2009 -0500 Add "two person selectors" to the grammar, like 'head boys'. Make 'run' work with two person selectors, fix walk-and-dodge, add test. resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 6 ++--- resources/net/cscott/sdr/calls/grm/jsapi.skel | 2 +- .../net/cscott/sdr/calls/lists/mainstream.calls | 2 +- resources/net/cscott/sdr/tests/index | 3 ++- resources/net/cscott/sdr/tests/walk-1 | 23 ++++++++++++++++++++ src/net/cscott/sdr/calls/grm/EmitJava.java | 2 +- src/net/cscott/sdr/package-info.java | 1 + 7 files changed, 32 insertions(+), 7 deletions(-) commit 847db2de4426febc274a0f21da9033caacff0da1 Author: C. Scott Ananian Date: Sat Dec 12 01:23:03 2009 -0500 Add PARALLEL GENERAL LINES / PARALLEL COLUMNS matchers; fix up 'circulate'. resources/net/cscott/sdr/calls/lists/basic.calls | 16 +++--- src/net/cscott/sdr/calls/FormationListFast.java | 62 ++++++++++++++++++++++ src/net/cscott/sdr/calls/FormationListSlow.java | 8 +++ src/net/cscott/sdr/calls/MatcherList.java | 16 +++--- 4 files changed, 86 insertions(+), 16 deletions(-) commit 1dfdd8340b97d36a52a3f8f40a7c6a27d9c1f5ad Author: C. Scott Ananian Date: Sat Dec 12 01:24:47 2009 -0500 Add 1x4 autotagger. src/net/cscott/sdr/calls/FormationListFast.java | 256 +++++++++++------------ src/net/cscott/sdr/calls/FormationListSlow.java | 13 +- src/net/cscott/sdr/calls/MatcherList.java | 4 +- src/net/cscott/sdr/calls/Tagger.java | 178 +++++++++++----- 4 files changed, 267 insertions(+), 184 deletions(-) commit 8ac19f9dee29267bb9a030d8995d61de7e49f019 Author: C. Scott Ananian Date: Sat Dec 12 01:18:21 2009 -0500 Post-process ANTLRv3-generated files to avoid "code too large" error. The static initializer was exceeding the method size limit due to the size of the generated tables. Splitting the DFA transition tables out into their own classes works around the problem. .settings/com.google.appengine.eclipse.core.prefs | 4 +- build.xml | 9 +++- .../cscott/sdr/calls/grm/AntlrPostProcessor.java | 55 ++++++++++++++++++++ 3 files changed, 65 insertions(+), 3 deletions(-) commit 2d5f5e3dd06b3395f046a92ea28a72c6dbbbaa1a Author: C. Scott Ananian Date: Fri Dec 11 22:52:07 2009 -0500 Implement /reload and /reset in PMSD. notes.txt | 2 +- src/net/cscott/sdr/PMSD.java | 20 ++++++++++++++++---- src/net/cscott/sdr/calls/CallDB.java | 5 +++++ 3 files changed, 22 insertions(+), 5 deletions(-) commit c002d3097ac7d93f18c6d815efbc3f9a3c21ea7c Author: C. Scott Ananian Date: Fri Dec 11 10:47:21 2009 -0500 Fix minor issue with nonterminal matching; check for missing rules. src/net/cscott/sdr/calls/grm/CompletionEngine.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit ca5b43193d3e9536d9717e5a5f38eb8ea397c0e7 Author: C. Scott Ananian Date: Fri Dec 11 10:49:52 2009 -0500 Rename 'cardinal' rule to 'times'. A cardinal number is something completely different. notes.txt | 2 +- resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 7 ++- resources/net/cscott/sdr/calls/grm/jsapi.skel | 2 +- src/net/cscott/sdr/calls/grm/CompletionEngine.java | 60 ++++++++++---------- src/net/cscott/sdr/calls/grm/EmitJava.java | 2 +- src/net/cscott/sdr/calls/lists/BasicList.java | 2 +- 6 files changed, 38 insertions(+), 37 deletions(-) commit c7b510d9b454e6f485f07ba4710e64e21f8a2ee0 Author: C. Scott Ananian Date: Fri Dec 11 10:26:46 2009 -0500 Fix typo in grammar used for call completion. src/net/cscott/sdr/calls/grm/EmitJava.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ad79c2edde5d0557d932b730c5f33c01d14310f3 Author: C. Scott Ananian Date: Fri Dec 11 09:10:06 2009 -0500 Emit javadoc for formations defined in FormationListFast. notes.txt | 2 +- src/net/cscott/sdr/calls/FormationList.java | 1 + src/net/cscott/sdr/calls/FormationListFast.java | 1575 +++++++++++++++++++++++ src/net/cscott/sdr/calls/FormationListSlow.java | 15 + 4 files changed, 1592 insertions(+), 1 deletion(-) commit efffac437092555efdf4d45a00228d2f28d44142 Author: C. Scott Ananian Date: Thu Dec 10 23:24:14 2009 -0500 Fix "facing couples/wave adjustment" when we've got mixed couples and waves. We use the 'mixed' matcher to define '_mixed touch' to end in RH MINIWAVE regardless of whether you're starting in the miniwave or facing. notes.txt | 6 +- resources/net/cscott/sdr/calls/lists/basic.calls | 63 +++++++++---- .../net/cscott/sdr/calls/lists/mainstream.calls | 6 +- resources/net/cscott/sdr/calls/lists/plus.calls | 4 +- resources/net/cscott/sdr/tests/mixed | 98 ++++++++++++++++++++ src/net/cscott/sdr/calls/package-info.java | 2 +- 6 files changed, 151 insertions(+), 28 deletions(-) commit 0a51e4b887cc5ca22d335667146f42795a0d163c Author: C. Scott Ananian Date: Thu Dec 10 23:21:47 2009 -0500 Breathe formation before matching with 'formation' Predicate. If/when we switch to "breathe after" instead of "breathe before" we'll probably want to revert this. But since we're doing "breathe before" the predicate needs to breathe in order to make 'ends in:' work. src/net/cscott/sdr/calls/PredicateList.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 65ede4447a7dce55b7a30cf20b1a79dc99d43c49 Author: C. Scott Ananian Date: Wed Dec 9 11:15:08 2009 -0500 Clean up uninteresting completed to-do list items in notes. notes.txt | 81 +++++++++---------------------------------------------------- 1 file changed, 11 insertions(+), 70 deletions(-) commit 43246ee185f2467d6777646377ef9dcdc972c9a3 Author: C. Scott Ananian Date: Wed Dec 9 11:07:56 2009 -0500 Notes on an alternate flutterwheel animation. notes.txt | 4 ++++ 1 file changed, 4 insertions(+) commit 9ad9a6120b6b44a00009dc7e05ff92c0445cfa32 Author: C. Scott Ananian Date: Tue Dec 8 10:41:45 2009 -0500 More notes. notes.txt | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) commit 8b8ca1a2f966a19415417c3a145f832b65ec74da Author: C. Scott Ananian Date: Wed Dec 9 00:24:12 2009 -0500 Improve Javadoc. resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 1 + src/net/cscott/sdr/calls/Breather.java | 3 +++ src/net/cscott/sdr/calls/DancerPath.java | 1 + src/net/cscott/sdr/calls/ExprList.java | 4 ++++ src/net/cscott/sdr/calls/NamedTaggedFormation.java | 2 +- src/net/cscott/sdr/calls/Program.java | 4 ++++ src/net/cscott/sdr/calls/TaggedFormation.java | 1 + src/net/cscott/sdr/calls/Tagger.java | 2 ++ src/net/cscott/sdr/calls/ast/Apply.java | 2 +- src/net/cscott/sdr/calls/ast/AstNode.java | 2 +- src/net/cscott/sdr/calls/ast/Comp.java | 6 +++--- src/net/cscott/sdr/calls/ast/Expr.java | 3 +++ src/net/cscott/sdr/calls/ast/If.java | 2 +- src/net/cscott/sdr/calls/ast/In.java | 4 ++-- src/net/cscott/sdr/calls/ast/Opt.java | 2 +- src/net/cscott/sdr/calls/ast/OptCall.java | 4 ++-- src/net/cscott/sdr/calls/ast/Par.java | 2 +- src/net/cscott/sdr/calls/ast/ParCall.java | 2 +- src/net/cscott/sdr/calls/ast/Part.java | 8 ++++---- src/net/cscott/sdr/calls/ast/Prim.java | 6 ++++-- src/net/cscott/sdr/calls/ast/Seq.java | 2 +- src/net/cscott/sdr/calls/ast/SeqCall.java | 5 +++-- src/net/cscott/sdr/calls/grm/AbstractEmit.java | 6 ++++-- src/net/cscott/sdr/calls/grm/EmitJSAPI.java | 2 ++ src/net/cscott/sdr/calls/grm/Grm.java | 2 ++ src/net/cscott/sdr/calls/grm/SimplifyGrm.java | 1 + src/net/cscott/sdr/calls/lists/A1List.java | 3 +++ src/net/cscott/sdr/calls/parser/package-info.java | 3 ++- src/net/cscott/sdr/package-info.java | 3 ++- src/net/cscott/sdr/recog/package-info.java | 3 ++- src/net/cscott/sdr/toolbox/DWResolver.java | 1 + src/net/cscott/sdr/toolbox/package-info.java | 6 ++++++ 32 files changed, 70 insertions(+), 28 deletions(-) commit bed24eb0407cfce70229912de379e63b4825fdb2 Merge: 3c39583 7fc3b16 Author: C. Scott Ananian Date: Tue Dec 8 08:27:58 2009 -0500 Merge branch 'sdrweb' with the GWT/GAE UI for SDR. Combining the SDRweb and SDR repositories into one source tree. commit 3c3958363206d88574d3060e7cb85c0260d7b867 Author: C. Scott Ananian Date: Tue Dec 8 00:28:47 2009 -0500 Don't run ANTLR on grammars in parallel. build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3020a2530efc2ab2b6f6de4a9e8992f4d1560a53 Author: C. Scott Ananian Date: Mon Dec 7 11:37:14 2009 -0500 Update ant build.xml file: use , better dependency checking. Updated to latest ant-contrib, too. We also don't screw w/ jar signatures if present, and we allow documentation of private members during development via a javadoc.access property in the build.properties file. build.xml | 169 +++++++++++++++++++++++------------------ lib/dev/ant-contrib-1.0b3.jar | Bin 0 -> 224277 bytes sample.build.properties | 4 + 3 files changed, 99 insertions(+), 74 deletions(-) commit 7fc3b162a00b8bf077a347e6eeee12df76a037a3 Author: C. Scott Ananian Date: Mon Dec 7 16:39:57 2009 -0500 Update GAE/GWT libraries and sdr.jar. .classpath | 4 ++-- .settings/com.google.appengine.eclipse.core.prefs | 4 ++-- src/net/cscott/sdr/webapp/server/DanceEngineServiceImpl.java | 2 +- ...ngine-api-1.0-sdk-1.2.2.jar => appengine-api-1.0-sdk-1.2.6.jar} | Bin 6510448 -> 8852258 bytes war/WEB-INF/lib/appengine-api-labs-1.2.6.jar | Bin 0 -> 542372 bytes war/WEB-INF/lib/datanucleus-appengine-1.0.2.final.jar | Bin 223232 -> 0 bytes war/WEB-INF/lib/datanucleus-appengine-1.0.3.jar | Bin 0 -> 245333 bytes .../{datanucleus-core-1.1.4-gae.jar => datanucleus-core-1.1.5.jar} | Bin 1932178 -> 1933065 bytes .../lib/{datanucleus-jpa-1.1.4.jar => datanucleus-jpa-1.1.5.jar} | Bin 152761 -> 152768 bytes war/WEB-INF/lib/gwt-servlet.jar | Bin 938019 -> 938019 bytes war/WEB-INF/lib/{jdo2-api-2.3-ea.jar => jdo2-api-2.3-eb.jar} | Bin 194835 -> 192820 bytes war/WEB-INF/lib/sdr.jar | Bin 7759002 -> 8400915 bytes 12 files changed, 5 insertions(+), 5 deletions(-) commit 49fa13cc6e25b04469a646e82b4ca1d1c25ab1bd Author: C. Scott Ananian Date: Fri Dec 4 01:21:05 2009 -0500 Move all grammars into net.cscott.sdr.calls.parser package. build.xml | 12 ++++++------ notes.txt | 2 +- src/net/cscott/sdr/calls/ast/.gitignore | 3 --- src/net/cscott/sdr/calls/ast/Apply.java | 2 +- src/net/cscott/sdr/calls/ast/AstNode.java | 3 ++- src/net/cscott/sdr/calls/ast/Expr.java | 2 +- src/net/cscott/sdr/calls/ast/If.java | 2 +- src/net/cscott/sdr/calls/ast/In.java | 2 +- src/net/cscott/sdr/calls/ast/Opt.java | 2 +- src/net/cscott/sdr/calls/ast/OptCall.java | 2 +- src/net/cscott/sdr/calls/ast/Par.java | 2 +- src/net/cscott/sdr/calls/ast/ParCall.java | 2 +- src/net/cscott/sdr/calls/ast/Part.java | 2 +- src/net/cscott/sdr/calls/ast/Prim.java | 3 ++- src/net/cscott/sdr/calls/ast/Seq.java | 2 +- src/net/cscott/sdr/calls/ast/SeqCall.java | 1 - src/net/cscott/sdr/calls/ast/TokenTypes.java | 5 ----- src/net/cscott/sdr/calls/grm/Grm.java | 2 +- src/net/cscott/sdr/calls/lists/BasicList.java | 2 +- .../sdr/calls/{transform => parser}/.gitignore | 3 +++ src/net/cscott/sdr/calls/{ast => parser}/Ast.g | 5 +++-- .../calls/{transform => parser}/AstTokenTypes.java | 2 +- .../calls/{transform => parser}/BuilderHelper.java | 2 +- .../sdr/calls/{transform => parser}/CallFile.g | 12 ++++++------ .../calls/{transform => parser}/CallFileBuilder.g | 4 ++-- .../cscott/sdr/calls/{ => parser}/TestParser.java | 3 ++- src/net/cscott/sdr/calls/parser/package-info.java | 4 ++++ .../cscott/sdr/calls/transform/CallFileLoader.java | 1 + src/net/cscott/sdr/calls/transform/Fractional.java | 2 +- .../sdr/calls/transform/TransformVisitor.java | 19 +++++++++++++++---- 30 files changed, 62 insertions(+), 48 deletions(-) commit 52bc3c92cfbf9a3ee49909d1f368e70091a8e1ab Author: C. Scott Ananian Date: Thu Dec 3 22:45:43 2009 -0500 Move Evaluator and EvalPrim into the net.cscott.sdr.calls package. Trying to clean up the calls.transform package here. build.xml | 4 ++-- notes.txt | 2 +- src/net/cscott/sdr/ChoreoEngine.java | 1 - src/net/cscott/sdr/PMSD.java | 2 +- src/net/cscott/sdr/calls/Call.java | 1 - src/net/cscott/sdr/calls/DanceState.java | 1 - .../cscott/sdr/calls/{transform => }/EvalPrim.java | 14 +----------- .../sdr/calls/{transform => }/Evaluator.java | 24 +++----------------- src/net/cscott/sdr/calls/ExprList.java | 1 - src/net/cscott/sdr/calls/ast/Apply.java | 2 +- src/net/cscott/sdr/calls/lists/A1List.java | 2 +- src/net/cscott/sdr/calls/lists/A2List.java | 4 ++-- src/net/cscott/sdr/calls/lists/BasicList.java | 2 +- src/net/cscott/sdr/calls/lists/C1List.java | 2 +- src/net/cscott/sdr/calls/lists/C2List.java | 2 +- src/net/cscott/sdr/calls/lists/C3bList.java | 2 +- src/net/cscott/sdr/calls/lists/PlusList.java | 4 ++-- .../cscott/sdr/calls/transform/BeatCounter.java | 1 + .../cscott/sdr/calls/transform/BuilderHelper.java | 1 + src/net/cscott/sdr/calls/transform/Fractional.java | 1 + src/net/cscott/sdr/toolbox/DWResolver.java | 2 +- 21 files changed, 22 insertions(+), 53 deletions(-) commit f487903d80586ffc7295416de0eda6d7942e6590 Author: C. Scott Ananian Date: Thu Dec 3 22:31:06 2009 -0500 Tweak PART: allow specified groups of more than one part & indeterminate parts. src/net/cscott/sdr/calls/ast/Apply.java | 5 ++ src/net/cscott/sdr/calls/ast/Ast.g | 21 +++--- src/net/cscott/sdr/calls/ast/Part.java | 67 ++++++++++++++++---- src/net/cscott/sdr/calls/ast/Prim.java | 5 ++ src/net/cscott/sdr/calls/ast/SeqCall.java | 8 +++ src/net/cscott/sdr/calls/lists/BasicList.java | 7 +- src/net/cscott/sdr/calls/package-info.java | 2 +- .../cscott/sdr/calls/transform/BeatCounter.java | 9 ++- .../cscott/sdr/calls/transform/BuilderHelper.java | 6 +- src/net/cscott/sdr/calls/transform/CallFile.g | 11 +++- .../cscott/sdr/calls/transform/CallFileBuilder.g | 11 ++-- src/net/cscott/sdr/calls/transform/Fractional.java | 62 +++++++++++++++--- src/net/cscott/sdr/calls/transform/RemoveIn.java | 6 +- .../sdr/calls/transform/TransformVisitor.java | 7 +- 14 files changed, 173 insertions(+), 54 deletions(-) commit 29409b80a9de17014ae1eb99eee53954fa8430ba Author: C. Scott Ananian Date: Tue Dec 1 01:11:08 2009 -0500 Tweak In AST node to take an Expr for the count. src/net/cscott/sdr/calls/ast/Ast.g | 2 +- src/net/cscott/sdr/calls/ast/In.java | 10 +++++----- src/net/cscott/sdr/calls/lists/BasicList.java | 5 ++--- src/net/cscott/sdr/calls/package-info.java | 6 +++--- src/net/cscott/sdr/calls/transform/BeatCounter.java | 7 ++++++- .../cscott/sdr/calls/transform/BuilderHelper.java | 8 ++++---- src/net/cscott/sdr/calls/transform/CallFile.g | 10 +++++----- src/net/cscott/sdr/calls/transform/CallFileBuilder.g | 2 +- src/net/cscott/sdr/calls/transform/Evaluator.java | 8 +++++++- src/net/cscott/sdr/calls/transform/Fractional.java | 7 ++++--- src/net/cscott/sdr/calls/transform/RemoveIn.java | 18 +++++++++++------- 11 files changed, 49 insertions(+), 34 deletions(-) commit a90d1495cad4a7f4518a2b35112a3739acd9505d Author: C. Scott Ananian Date: Mon Nov 30 11:57:33 2009 -0500 Fix 'heads promenade half way while ...' and 'left and right grand'. We need to promenade concentrically to leave space for the sides in the center, and when we mirror for left and right grand we also need to 'wrong way' it to get a double negative, since left and right grand is still a "right way" grand. resources/net/cscott/sdr/calls/lists/basic.calls | 31 ++++++++++++++-------- 1 file changed, 20 insertions(+), 11 deletions(-) commit e0cc7378b3185af5ee1cc552430ec5aa3219de79 Author: C. Scott Ananian Date: Mon Nov 30 01:46:55 2009 -0500 Fix "promenade home" from 1/8 out formations. resources/net/cscott/sdr/calls/lists/basic.calls | 43 ++++++++++-- resources/net/cscott/sdr/tests/basic-calls-1 | 16 +++++ resources/net/cscott/sdr/tests/basic-calls-4 | 17 +++++ resources/net/cscott/sdr/tests/dw-resolve | 10 +-- resources/net/cscott/sdr/tests/r-l-grand-2 | 57 ++++++++++++++- src/net/cscott/sdr/calls/ExprList.java | 81 ++++++++++++++++++++++ src/net/cscott/sdr/calls/SelectorList.java | 2 +- src/net/cscott/sdr/package-info.java | 4 -- 8 files changed, 216 insertions(+), 14 deletions(-) commit fd0e2a482a314037538084ada0bf502c8414b289 Author: C. Scott Ananian Date: Sun Nov 29 20:26:11 2009 -0500 Add a 'BREAKPOINT' predicate, to aid debugging definitions. src/net/cscott/sdr/calls/PredicateList.java | 10 ++++++++++ 1 file changed, 10 insertions(+) commit 0ff629d6790cfe66b684276e1bd0435675f8678b Author: C. Scott Ananian Date: Mon Dec 7 00:51:24 2009 -0500 Exclude all *GrammarParser classes from instrumentation. They cause "method too large" errors during coverage testing otherwise. build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 92ded1ae0c8d3f3fd38ade2a505bacf38b1048df Author: C. Scott Ananian Date: Sun Nov 29 19:15:37 2009 -0500 Fix matching of 1/8 off formations. src/net/cscott/sdr/calls/GeneralFormationMatcher.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 9f788ca0a9cea4868374b4baf666075ac9fa247c Author: C. Scott Ananian Date: Sun Nov 29 17:22:29 2009 -0500 Define R&L grand. (R&L grand ending 1/8 off doesn't quite work yet.) resources/net/cscott/sdr/calls/lists/basic.calls | 102 +++++++++++++++- resources/net/cscott/sdr/tests/index | 2 + resources/net/cscott/sdr/tests/r-l-grand-1 | 135 ++++++++++++++++++++++ resources/net/cscott/sdr/tests/r-l-grand-2 | 18 +++ src/net/cscott/sdr/calls/FormationListFast.java | 132 +++++++++++++-------- src/net/cscott/sdr/calls/FormationListSlow.java | 36 +++++- src/net/cscott/sdr/calls/MatcherList.java | 6 + src/net/cscott/sdr/package-info.java | 1 + 8 files changed, 374 insertions(+), 58 deletions(-) commit a209ca3103f8d86bd2121998b76c8763f24b36cd Author: C. Scott Ananian Date: Sun Nov 29 16:40:11 2009 -0500 Breathe "1/8 off" formations better. If the entire formation is 1/8 off, rotate it and breathe it like its "normal" self, which ensures that we handle stars, etc, properly. notes.txt | 2 +- resources/net/cscott/sdr/tests/fan-the-top | 10 ++++++---- src/net/cscott/sdr/calls/Breather.java | 12 ++++++++++++ 3 files changed, 19 insertions(+), 5 deletions(-) commit da3a917c7a8ebe3bb36074728e245ed4347cadb5 Author: C. Scott Ananian Date: Sun Nov 29 16:39:00 2009 -0500 Reflect latest versions of call definitions in run-*.sh helper scripts. By adding the 'resources' directory to the start of the classpath, we avoid the need to rebuild the jar file just to reflect a tweak in the call definition lists. run-pmsd.sh | 2 +- run-shell.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 7cb9aaa372d8841f6c3c0928e867ff19ddc0283d Author: C. Scott Ananian Date: Sat Nov 28 23:09:56 2009 -0500 Define 'flutterwheel' and 'counter rotate'. resources/net/cscott/sdr/calls/lists/a2.calls | 22 +++++ resources/net/cscott/sdr/calls/lists/basic.calls | 19 +++- resources/net/cscott/sdr/calls/lists/c1.calls | 10 ++ src/net/cscott/sdr/calls/CallDB.java | 2 + src/net/cscott/sdr/calls/FormationList.java | 6 +- src/net/cscott/sdr/calls/FormationListFast.java | 24 +++++ src/net/cscott/sdr/calls/FormationListSlow.java | 8 ++ src/net/cscott/sdr/calls/MatcherList.java | 11 +++ src/net/cscott/sdr/calls/lists/A2List.java | 111 ++++++++++++++++++++++ src/net/cscott/sdr/package-info.java | 2 +- 10 files changed, 209 insertions(+), 6 deletions(-) commit da11c90bf6d7d74590c4af5f38ff9e59663d535c Author: C. Scott Ananian Date: Sat Nov 28 10:07:14 2009 -0500 Add two test cases showing offset breathing issues. resources/net/cscott/sdr/tests/breathing-2 | 31 +++++++++++++++++++++++++++ resources/net/cscott/sdr/tests/cross-fold-1 | 25 +++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 2 ++ src/net/cscott/sdr/package-info.java | 2 ++ 4 files changed, 60 insertions(+) commit 960a1c8d5a7076e18bd7706d4411c733bc2fd4d0 Author: C. Scott Ananian Date: Sat Nov 28 09:57:10 2009 -0500 Define 'trade by'; added facing couple/wave adjustments; other definition work. Defined trade by and added test cases. Added cases to handle couple/wave adjustments where needed. Fixed roll direction in box the gnat definition. Fixed box circulate: the "centers" part is not implicit. notes.txt | 3 +- resources/net/cscott/sdr/calls/lists/basic.calls | 78 +++++--- resources/net/cscott/sdr/calls/lists/c3b.calls | 5 +- .../net/cscott/sdr/calls/lists/mainstream.calls | 3 +- resources/net/cscott/sdr/calls/lists/plus.calls | 2 + resources/net/cscott/sdr/tests/basic-calls-1 | 2 +- resources/net/cscott/sdr/tests/basic-calls-4 | 203 ++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 3 + resources/net/cscott/sdr/tests/reverse-the-top | 19 ++ resources/net/cscott/sdr/tests/trade-by | 79 ++++++++ src/net/cscott/sdr/calls/ExprList.java | 18 ++ src/net/cscott/sdr/calls/grm/CompletionEngine.java | 8 + src/net/cscott/sdr/calls/lists/C1List.java | 4 + src/net/cscott/sdr/calls/package-info.java | 2 +- src/net/cscott/sdr/package-info.java | 2 + 15 files changed, 402 insertions(+), 29 deletions(-) commit 6bc3d43736a0e5628826cb7edb6c4febcd2017fc Author: C. Scott Ananian Date: Thu Nov 26 01:45:29 2009 -0500 Use 'ends in' statement to refactor promenade family definitions. We don't overshoot short promenades now if the starting formation is unusual, and I've corrected the various bugs we had with reverse/wrong way promenades. resources/net/cscott/sdr/calls/lists/basic.calls | 105 +++++++++++++--------- resources/net/cscott/sdr/tests/basic-calls-1 | 29 +++--- resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/promenade-2 | 44 +++++++++ src/net/cscott/sdr/package-info.java | 2 +- 5 files changed, 127 insertions(+), 54 deletions(-) commit 0b03d3540d9e6c9453146c9611b300218f94a64d Author: C. Scott Ananian Date: Thu Nov 26 00:36:29 2009 -0500 Add a selector function to match against a new formation. Usually Selectors match against the current TaggedFormation (created by a Matcher). The 'formation' selector function lets you apply a new Matcher to the current dance state and select dancers based on the tags applied, without changing the current dance state. This is primarily for the use of post-conditions, which work against an untagged result formation, but it will probably have other uses as well. src/net/cscott/sdr/calls/SelectorList.java | 33 ++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) commit 59bc2fd20d86b356df85e6fedde90b125609c907 Author: C. Scott Ananian Date: Thu Nov 26 00:33:43 2009 -0500 Add post-condition 'ends in' statement. We add a new field to If in the AST, indicating whether the condition should be evaluated before or after its child. This allows us to define post-conditions: try 'this', and then check that 'that' is true. With a new 'formation' predicate, this lets us define assertions on the ending formation of a call. notes.txt | 3 +- src/net/cscott/sdr/calls/PredicateList.java | 32 ++++++++++++++++++ src/net/cscott/sdr/calls/ast/Ast.g | 27 ++++++++++------ src/net/cscott/sdr/calls/ast/If.java | 34 +++++++++++++------- src/net/cscott/sdr/calls/package-info.java | 2 +- .../cscott/sdr/calls/transform/BuilderHelper.java | 5 +-- src/net/cscott/sdr/calls/transform/CallFile.g | 17 +++++----- .../cscott/sdr/calls/transform/CallFileBuilder.g | 9 ++++-- src/net/cscott/sdr/calls/transform/Evaluator.java | 18 +++++++++-- 9 files changed, 107 insertions(+), 40 deletions(-) commit 54227eaf1aa531d28bbadef28f56bdbb33ff5f4d Author: C. Scott Ananian Date: Wed Nov 25 21:40:24 2009 -0500 Fix "heads trade" when heads aren't all centers or ends. resources/net/cscott/sdr/calls/lists/basic.calls | 25 +++++++++++++++------- resources/net/cscott/sdr/tests/sweep-2 | 3 +++ src/net/cscott/sdr/package-info.java | 1 - 3 files changed, 20 insertions(+), 9 deletions(-) commit 762d5c80b51b87721d618ec859de8e5a22785253 Author: C. Scott Ananian Date: Wed Nov 25 21:39:19 2009 -0500 Add "not" selector combiner, and use it to fix "ends X" calls. resources/net/cscott/sdr/calls/lists/basic.calls | 4 ++-- src/net/cscott/sdr/calls/SelectorList.java | 24 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) commit 3c4e2cb7fbf1714338bb93d396c39d2d34356622 Author: C. Scott Ananian Date: Wed Nov 25 18:15:16 2009 -0500 Update notes: we're done with "sweep 1/4". notes.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 48c901df6890acf011b5af24c75d0d5dde9008ac Author: C. Scott Ananian Date: Wed Nov 25 18:14:52 2009 -0500 Fix t-boned cross runs. notes.txt | 2 +- resources/net/cscott/sdr/calls/lists/basic.calls | 26 ++++++++-------------- src/net/cscott/sdr/package-info.java | 1 - 3 files changed, 10 insertions(+), 19 deletions(-) commit 020b67785728f73c2458010e7c8d4fe1369467ec Author: C. Scott Ananian Date: Wed Nov 25 13:50:52 2009 -0500 Document our current diamond breathing issues. The points of twin diamonds keep getting squashed in to quarter tag spots. This shouldn't happen: the symmetry constraints should prevent it. notes.txt | 3 ++- resources/net/cscott/sdr/tests/peel-the-top-1 | 8 +++++++- src/net/cscott/sdr/calls/FormationList.java | 6 ++---- 3 files changed, 11 insertions(+), 6 deletions(-) commit d8c3bfb2ac1a09c4d313b9d852474132c35cabf9 Author: C. Scott Ananian Date: Wed Nov 25 12:32:26 2009 -0500 Define PRESERVE_ROLL/PRESERVE_SWEEP prim flags; make "and roll" preserve sweep. We removed the default "standing still preserves roll" behavior and replaced it with an explicit PRESERVE_ROLL flag where that's the desired behavior. We also removed the code which cleared sweep unless the dancers ended facing in, since in recycle/wheel and deal/etc we need to have the sweep there so that the final "and roll" can preserve it. The FACING COUPLES restriction on sweep will make sure the dancers are facing the appropriate direction to sweep. (Eventually, we'll also need to make sure that the actual centers points match, to avoid "single wheel and sweep 1/4" from a RH wave being a legal usage; see 'sweep-3' test case.) We also needed to tweak the Ast grammar to allow dashes in flag names. We also adjusted a lot of doc tests to add the new roll/sweep/preserve flags. notes.txt | 16 ++--- resources/net/cscott/sdr/calls/lists/basic.calls | 7 ++- .../net/cscott/sdr/calls/lists/mainstream.calls | 6 +- resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/roll | 17 +++++ resources/net/cscott/sdr/tests/sweep-3 | 50 +++++++++++++++ src/net/cscott/sdr/calls/ast/Ast.g | 2 +- src/net/cscott/sdr/calls/ast/Prim.java | 16 ++++- src/net/cscott/sdr/calls/lists/PlusList.java | 4 +- src/net/cscott/sdr/calls/transform/EvalPrim.java | 66 ++++++++++---------- src/net/cscott/sdr/calls/transform/Evaluator.java | 4 +- src/net/cscott/sdr/package-info.java | 5 +- 12 files changed, 140 insertions(+), 54 deletions(-) commit 02548c9116c91efce8a1244f1cb9f76c381e2535 Author: C. Scott Ananian Date: Sun Nov 22 23:20:35 2009 -0500 Define sweep 1/4; preserve tags & position flags through the 'solid' concept. notes.txt | 4 +- resources/net/cscott/sdr/calls/lists/basic.calls | 26 +++++++- resources/net/cscott/sdr/tests/index | 2 + resources/net/cscott/sdr/tests/sweep-1 | 39 ++++++++++++ resources/net/cscott/sdr/tests/sweep-2 | 51 ++++++++++++++++ src/net/cscott/sdr/calls/Position.java | 9 +++ src/net/cscott/sdr/calls/grm/CompletionEngine.java | 33 ++++++++++ src/net/cscott/sdr/calls/lists/A1List.java | 63 ++++++++++++++++---- src/net/cscott/sdr/package-info.java | 2 + 9 files changed, 214 insertions(+), 15 deletions(-) commit 5cce10a8a88c80eb217d2dbc841e211e90fce8e3 Author: C. Scott Ananian Date: Mon Nov 23 11:19:34 2009 -0500 Exclude C4GrammarParser when instrumenting. When we add sweep 1/4, we start getting method length errors when instrumenting the C4 Grammar parser. Exclude it from the cobertura instrumentation rules. build.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 9a14ddfa2ed07d99aa35b876eed2c9fc07399a8b Author: C. Scott Ananian Date: Wed Nov 25 12:29:53 2009 -0500 Allow 'trade' from mixed couples & miniwaves; define 'slip'. This uses the new 'mixed' selector combiner. notes.txt | 2 +- resources/net/cscott/sdr/calls/lists/a2.calls | 6 ++++ resources/net/cscott/sdr/calls/lists/basic.calls | 23 +++++++++------ resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/mixed | 33 ++++++++++++++++++++++ 5 files changed, 55 insertions(+), 10 deletions(-) commit 108708931715b543d3369b6f31698fe5061c95c6 Author: C. Scott Ananian Date: Mon Nov 23 14:07:59 2009 -0500 Javadoc cleanups & notes. notes.txt | 4 +++- src/net/cscott/sdr/calls/ast/Prim.java | 10 ++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) commit d95841b495dae79c387c88414ef5d2f803fa361e Author: C. Scott Ananian Date: Mon Nov 23 11:27:08 2009 -0500 Transfer formation tags to as couples/tandem/solid formation. We needed to be able to add primitive tags to PhantomDancers to make this work, but that seemed like a straightforward thing to do. resources/net/cscott/sdr/tests/as-couples-1 | 53 ++++++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 1 + src/net/cscott/sdr/calls/FormationMatch.java | 14 +++++++ src/net/cscott/sdr/calls/PhantomDancer.java | 34 +++++++++++----- src/net/cscott/sdr/calls/lists/A1List.java | 56 ++++++++++++++++++++++++-- 5 files changed, 145 insertions(+), 13 deletions(-) commit e3e0ccb27389820b0551eff5a4ee47495d3c27bb Author: C. Scott Ananian Date: Sun Nov 22 23:41:39 2009 -0500 _and roll -> and roll: leading underscore is only for "unspoken" calls. Let's avoid the leading underscore whenever possible. resources/net/cscott/sdr/calls/lists/a2.calls | 2 +- resources/net/cscott/sdr/calls/lists/basic.calls | 10 +++++----- resources/net/cscott/sdr/calls/lists/c3b.calls | 8 ++++---- resources/net/cscott/sdr/calls/lists/plus.calls | 2 +- resources/net/cscott/sdr/tests/parse-1 | 20 ++++++++++---------- src/net/cscott/sdr/calls/CallDB.java | 10 +++++----- 6 files changed, 26 insertions(+), 26 deletions(-) commit 393b2acb2ad08ff39633a020670d9e4288eb248a Author: C. Scott Ananian Date: Sun Nov 22 21:52:14 2009 -0500 Work on predicates: add string matching, regularize naming. We have three varieties of 'equals' predicates now, named according to the type of their arguments: EQUAL STR, EQUAL NUM, EQUAL CALL (this last does a tree comparison). (Replaces EQUAL/CALL IS) Introduce a regexp matcher for strings (MATCH) and several functions which generate strings from DanceStates: _SELECTION PATTERN, _ROLL PATTERN, and _SWEEP PATTERN (Replaces the old _SELECTION PATTERN call which did both the string-generation and the matching part). To allow regexps as arguments for MATCH, added quoted-string support to both the CallFile and Ast parsers. We support java-style backslash escapes in the string, too. (This replaced the older quoted-string special case for the message after a condition node.) Regularize the name of the mathematic operators: we use spaces to separate words, not underscores. (_MULTIPLY_NUM etc -> _MULTIPLY NUM etc) Add a LESS predicate to go along with the GREATER predicate. notes.txt | 4 +- resources/net/cscott/sdr/calls/lists/basic.calls | 67 ++++---- resources/net/cscott/sdr/calls/lists/c2.calls | 2 +- resources/net/cscott/sdr/calls/lists/c3b.calls | 6 +- .../net/cscott/sdr/calls/lists/mainstream.calls | 4 +- resources/net/cscott/sdr/calls/lists/plus.calls | 7 +- src/net/cscott/sdr/calls/ExprList.java | 139 +++++++++++++++-- src/net/cscott/sdr/calls/PredicateList.java | 164 ++++++++++++-------- src/net/cscott/sdr/calls/ast/Ast.g | 6 +- src/net/cscott/sdr/calls/package-info.java | 2 +- src/net/cscott/sdr/calls/transform/CallFile.g | 14 +- .../cscott/sdr/calls/transform/CallFileBuilder.g | 4 +- src/net/cscott/sdr/calls/transform/Fractional.java | 2 +- 13 files changed, 281 insertions(+), 140 deletions(-) commit ce783192f5bb983e631c94c30665d47372e92878 Author: C. Scott Ananian Date: Sun Nov 22 17:16:06 2009 -0500 Add appropriate isConstant() definitions to PredicateList. src/net/cscott/sdr/calls/PredicateList.java | 47 +++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) commit c7c70b913f638edd19dca84fb318d934f9ee8ebb Author: C. Scott Ananian Date: Sun Nov 22 16:45:20 2009 -0500 Notes about the eventual Matcher refactoring. notes.txt | 3 +++ src/net/cscott/sdr/calls/Matcher.java | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) commit d631d8334ccec8e5d7932edeea874df28a21e15b Author: C. Scott Ananian Date: Mon Nov 23 13:42:12 2009 -0500 Remove out-of-date .antlr-eclipse file. This dated from the ANTLRv2 days. We're using ANTLRv3 now. .antlr-eclipse | 54 ------------------------------------------------------ 1 file changed, 54 deletions(-) commit dbc9112545687afead8b06c50621388327482374 Author: C. Scott Ananian Date: Sun Nov 22 15:33:47 2009 -0500 Describe the 'pythagoras' proof-of-concept a bit more. pythagoras.html | 3 +++ 1 file changed, 3 insertions(+) commit fadd2ff06cc24e9a83701f765f4ab2d30be03c72 Author: C. Scott Ananian Date: Sun Nov 22 15:15:28 2009 -0500 Clean up top-level directory; update NEWS and README. NEWS | 23 +++++++++++- README | 22 ++++++++++-- natural-v2.g | 110 ---------------------------------------------------------- natural-v3.g | 93 ------------------------------------------------- 4 files changed, 41 insertions(+), 207 deletions(-) commit c511e26ebd19662d13fc8ad23c97c7af81720e5a Author: C. Scott Ananian Date: Mon Nov 16 13:01:31 2009 -0500 Update old notes to match current code; add a few current questions. In addition to going back through all the old notes and trying to sync them with the current state of the code, I also added some unanswered questions from the profiling runs and some notes on the 'From' rewrite. notes.txt | 440 +++++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 295 insertions(+), 145 deletions(-) commit abbd81a73d9259edc81cc5bc58901d0b57c157a3 Author: C. Scott Ananian Date: Sat Nov 21 17:20:41 2009 -0500 Convert From/OptCall to use Expr. A little hack for top-level OptCall, so that we don't short-circuit the 'or' evaluation as soon as we hit a match (since that match might end up throwing a BadCallException). src/net/cscott/sdr/calls/ExprList.java | 13 ++- .../cscott/sdr/calls/GeneralFormationMatcher.java | 49 ++++++-- src/net/cscott/sdr/calls/Matcher.java | 17 ++- src/net/cscott/sdr/calls/MatcherList.java | 122 ++++++++++++++++---- src/net/cscott/sdr/calls/Tagger.java | 2 +- src/net/cscott/sdr/calls/ast/Ast.g | 9 +- src/net/cscott/sdr/calls/ast/OptCall.java | 36 ++---- src/net/cscott/sdr/calls/lists/A1List.java | 5 +- src/net/cscott/sdr/calls/lists/BasicList.java | 2 +- src/net/cscott/sdr/calls/package-info.java | 6 +- .../cscott/sdr/calls/transform/BuilderHelper.java | 21 +++- src/net/cscott/sdr/calls/transform/CallFile.g | 25 ++-- .../cscott/sdr/calls/transform/CallFileBuilder.g | 14 +-- src/net/cscott/sdr/calls/transform/Evaluator.java | 28 ++++- src/net/cscott/sdr/calls/transform/Fractional.java | 4 +- src/net/cscott/sdr/calls/transform/RemoveIn.java | 6 +- .../sdr/calls/transform/TransformVisitor.java | 2 +- 17 files changed, 236 insertions(+), 125 deletions(-) commit 5664cc5e47e0a8539c7f496e6aa8e87851530209 Author: C. Scott Ananian Date: Fri Nov 20 19:39:43 2009 -0500 Add Expr.isConstant(). This will allow caching of Expr evaluation, eventually. src/net/cscott/sdr/calls/ExprFunc.java | 6 ++++++ src/net/cscott/sdr/calls/ExprList.java | 22 ++++++++++++++++++++++ src/net/cscott/sdr/calls/ast/Expr.java | 7 +++++++ 3 files changed, 35 insertions(+) commit f3c061ed26516816e67119bd40993283ab96ad7b Author: C. Scott Ananian Date: Tue Nov 17 10:59:14 2009 -0500 Fix bogus ExprFunc type for LITERAL. The only instance of Class is Object.class, which isn't really what we meant for LITERAL to take. We now use an erased type. We could have made a LITERAL() method in the style of Collections.emptyList() which returns the ExprFunc of your choice, but the erased type seems cleaner. src/net/cscott/sdr/calls/ExprList.java | 45 +++++++++++++++----------------- 1 file changed, 21 insertions(+), 24 deletions(-) commit 4c44aca1b6cd5b2e5ca866eba04475a3858efe2c Author: C. Scott Ananian Date: Tue Nov 17 01:44:34 2009 -0500 Select/ParCall -> Expr. src/net/cscott/sdr/calls/ExprList.java | 31 +++--- src/net/cscott/sdr/calls/Matcher.java | 5 +- src/net/cscott/sdr/calls/PredicateList.java | 112 ++++++++++---------- src/net/cscott/sdr/calls/SelectorList.java | 92 +++++++++++++++- src/net/cscott/sdr/calls/ast/Ast.g | 8 +- src/net/cscott/sdr/calls/ast/ParCall.java | 48 ++++----- src/net/cscott/sdr/calls/lists/BasicList.java | 16 ++- .../cscott/sdr/calls/transform/BuilderHelper.java | 6 +- src/net/cscott/sdr/calls/transform/CallFile.g | 16 ++- .../cscott/sdr/calls/transform/CallFileBuilder.g | 4 +- src/net/cscott/sdr/calls/transform/Evaluator.java | 15 +-- src/net/cscott/sdr/calls/transform/RemoveIn.java | 2 +- .../sdr/calls/transform/TransformVisitor.java | 4 +- 13 files changed, 217 insertions(+), 142 deletions(-) commit d4f47052d835eb822a05c0affcf2189dab26bcac Author: C. Scott Ananian Date: Mon Nov 16 13:00:28 2009 -0500 Give more memory to cobertura/javadoc. build.xml | 1 + 1 file changed, 1 insertion(+) commit 72a43c480548b20dafd6e9cf5878d2ec5cb77c1c Author: C. Scott Ananian Date: Mon Nov 16 12:48:50 2009 -0500 Introduce new Selector type (part 1). src/net/cscott/sdr/calls/Selector.java | 14 ++++++ src/net/cscott/sdr/calls/SelectorList.java | 65 ++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) commit 0b7cb1d9477a9da816166a0e85be6d56c56ce681 Author: C. Scott Ananian Date: Mon Nov 16 11:08:55 2009 -0500 Rename Selector/SelectorList to Matcher/MatcherList. This is much clearer and avoids the confusion about "from" in the call definition list mapping to Selectors and "select" in the definition list mapping to ... what, Tags? The "from" clause now maps to Matchers, and (shortly) the "select" clause will map to Selectors. build.xml | 2 +- notes.txt | 72 +-- resources/net/cscott/sdr/calls/lists/basic.calls | 2 +- src/net/cscott/sdr/calls/Breather.java | 2 +- src/net/cscott/sdr/calls/Call.java | 2 +- src/net/cscott/sdr/calls/ExprList.java | 8 +- src/net/cscott/sdr/calls/FormationList.java | 12 +- src/net/cscott/sdr/calls/FormationListSlow.java | 1 - .../cscott/sdr/calls/GeneralFormationMatcher.java | 8 +- src/net/cscott/sdr/calls/Matcher.java | 36 ++ src/net/cscott/sdr/calls/MatcherList.java | 616 ++++++++++++++++++++ src/net/cscott/sdr/calls/Selector.java | 35 -- src/net/cscott/sdr/calls/SelectorList.java | 616 -------------------- src/net/cscott/sdr/calls/Tagger.java | 12 +- src/net/cscott/sdr/calls/ast/Apply.java | 2 +- src/net/cscott/sdr/calls/ast/Ast.g | 8 +- src/net/cscott/sdr/calls/ast/OptCall.java | 31 +- src/net/cscott/sdr/calls/lists/A1List.java | 12 +- src/net/cscott/sdr/calls/lists/C1List.java | 4 +- .../cscott/sdr/calls/transform/BuilderHelper.java | 6 +- src/net/cscott/sdr/calls/transform/EvalPrim.java | 6 +- src/net/cscott/sdr/calls/transform/Evaluator.java | 16 +- src/net/cscott/sdr/calls/transform/RemoveIn.java | 2 +- .../sdr/calls/transform/TransformVisitor.java | 4 +- src/net/cscott/sdr/toolbox/DWResolver.java | 6 +- 25 files changed, 763 insertions(+), 758 deletions(-) commit 2ba66f8ba8b04c3b549bd3baad5f43685cd6c337 Author: C. Scott Ananian Date: Sat Nov 14 18:37:18 2009 -0500 Replace Apply/Condition with Expr; update all doctests to match! notes.txt | 2 + resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 92 +++--- src/net/cscott/sdr/calls/BadCallException.java | 6 +- src/net/cscott/sdr/calls/Call.java | 60 ++-- src/net/cscott/sdr/calls/CallDB.java | 27 +- src/net/cscott/sdr/calls/ExprFunc.java | 19 +- src/net/cscott/sdr/calls/ExprList.java | 216 ++++++++++---- src/net/cscott/sdr/calls/Predicate.java | 43 ++- src/net/cscott/sdr/calls/PredicateList.java | 315 +++++++++----------- src/net/cscott/sdr/calls/SelectorList.java | 4 - src/net/cscott/sdr/calls/TestParser.java | 4 +- src/net/cscott/sdr/calls/ast/Apply.java | 152 +++------- src/net/cscott/sdr/calls/ast/Ast.g | 60 ++-- src/net/cscott/sdr/calls/ast/Condition.java | 84 ------ src/net/cscott/sdr/calls/ast/Expr.java | 37 ++- src/net/cscott/sdr/calls/ast/If.java | 24 +- src/net/cscott/sdr/calls/ast/Seq.java | 2 +- src/net/cscott/sdr/calls/grm/BuildGrammars.java | 46 +-- src/net/cscott/sdr/calls/grm/EmitANTLRv3.java | 4 +- src/net/cscott/sdr/calls/lists/A1List.java | 27 +- src/net/cscott/sdr/calls/lists/BasicList.java | 263 ++++++---------- src/net/cscott/sdr/calls/lists/C1List.java | 53 ++-- src/net/cscott/sdr/calls/lists/C2List.java | 18 +- src/net/cscott/sdr/calls/lists/C3bList.java | 17 +- src/net/cscott/sdr/calls/lists/MainstreamList.java | 8 + src/net/cscott/sdr/calls/lists/PlusList.java | 46 +-- src/net/cscott/sdr/calls/package-info.java | 26 +- .../cscott/sdr/calls/transform/BeatCounter.java | 24 +- .../cscott/sdr/calls/transform/BuilderHelper.java | 69 ++--- src/net/cscott/sdr/calls/transform/CallFile.g | 55 ++-- .../cscott/sdr/calls/transform/CallFileBuilder.g | 149 +++------ src/net/cscott/sdr/calls/transform/Evaluator.java | 50 ++-- src/net/cscott/sdr/calls/transform/Fractional.java | 56 ++-- src/net/cscott/sdr/calls/transform/RemoveIn.java | 38 ++- .../sdr/calls/transform/TransformVisitor.java | 13 +- .../cscott/sdr/calls/transform/ValueVisitor.java | 1 - .../cscott/sdr/calls/transform/package-info.java | 4 +- 37 files changed, 938 insertions(+), 1176 deletions(-) commit 39e889d9d392726d6661a4f607ec9800581f801c Author: C. Scott Ananian Date: Sat Nov 14 12:35:01 2009 -0500 Untabify the CallFile grammars. src/net/cscott/sdr/calls/transform/CallFile.g | 252 ++++++------- .../cscott/sdr/calls/transform/CallFileBuilder.g | 386 ++++++++++---------- 2 files changed, 319 insertions(+), 319 deletions(-) commit eaaed22a03f81f8e1495a8f285f7981a824546d3 Author: C. Scott Ananian Date: Sat Nov 14 12:17:11 2009 -0500 Begin replacing Apply/Condition/etc with a uniform Expr type. This will replace two "incomplete implementations of Common Lisp" with a single one, and let us more easily add complex Selectors and Predicates. notes.txt | 18 ++++ src/net/cscott/sdr/calls/ExprFunc.java | 20 ++++ src/net/cscott/sdr/calls/ExprList.java | 111 ++++++++++++++++++++ src/net/cscott/sdr/calls/FormationList.java | 18 ++++ src/net/cscott/sdr/calls/ast/Ast.g | 9 ++ src/net/cscott/sdr/calls/ast/Expr.java | 58 ++++++++++ .../cscott/sdr/calls/transform/BeatCounter.java | 6 ++ .../cscott/sdr/calls/transform/BuilderHelper.java | 55 +++++++--- src/net/cscott/sdr/calls/transform/CallFile.g | 13 ++- .../cscott/sdr/calls/transform/CallFileBuilder.g | 52 +++++++-- src/net/cscott/sdr/calls/transform/Evaluator.java | 8 +- .../sdr/calls/transform/TransformVisitor.java | 7 ++ .../cscott/sdr/calls/transform/ValueVisitor.java | 1 + 13 files changed, 349 insertions(+), 27 deletions(-) commit 24d617a67b04545ff29c286f4721702c3306bca5 Author: C. Scott Ananian Date: Fri Nov 13 10:53:03 2009 -0500 Extend GeneralFormationMatcher to match against multiple goal formations. This supports SIAMESE, as well as trades from 3-and-1 lines, left allemande, and other applications. .../cscott/sdr/calls/GeneralFormationMatcher.java | 282 +++++++++++++------- src/net/cscott/sdr/calls/SelectorList.java | 60 +---- 2 files changed, 193 insertions(+), 149 deletions(-) commit 87573358500a87087068d5af3f1554a0ed7259f7 Author: C. Scott Ananian Date: Thu Nov 12 13:46:39 2009 -0500 Avoid compile- or run-time dependency on JLine. This makes javadoc and profiling runs much happier, since we don't see all the JLine history and keybinding allocations, etc. It also makes Eclipse happier, since we can leave JLine out of Eclipse's classpath now and it doesn't try to use it when running PMSD. .classpath | 1 - src/net/cscott/sdr/PMSD.java | 159 +++++++++++++++++++++++++++++++++++------- 2 files changed, 135 insertions(+), 25 deletions(-) commit e5961c76a8093269362d7fc8c7273b8464f7e7e4 Author: C. Scott Ananian Date: Wed Nov 11 01:33:26 2009 -0500 Optimize GeneralFormationMatcher search. We now prune search trees where we can't possibly find more matches than the best match already found. src/net/cscott/sdr/calls/GeneralFormationMatcher.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) commit f08f4ae88739c80fd23970206db1ac1036a1d2ea Author: C. Scott Ananian Date: Wed Nov 11 01:09:20 2009 -0500 Additional doctests for Box. src/net/cscott/sdr/util/Box.java | 4 ++++ 1 file changed, 4 insertions(+) commit d5919e0f4418d50439f828fc2a8ac1d120ba8928 Author: C. Scott Ananian Date: Tue Nov 10 15:43:18 2009 -0500 Update to cobertura 1.9.3. lib/dev/cobertura/COPYRIGHT | 2 ++ lib/dev/cobertura/cobertura-1.9.1.jar | Bin 225192 -> 0 bytes lib/dev/cobertura/cobertura-1.9.3.jar | Bin 0 -> 445936 bytes 3 files changed, 2 insertions(+) commit 2514834d8d7567977a0a8222d02192c434831919 Author: C. Scott Ananian Date: Wed Nov 11 00:27:56 2009 -0500 Migrate cassowary from Vector and Hashtable to List and Map. .../grad/gjb/cassowary/ClFractionWrapper.java | 2 +- .../grad/gjb/cassowary/ClLinearExpression.java | 46 ++++----- src/EDU/Washington/grad/gjb/cassowary/ClReader.cup | 6 +- .../Washington/grad/gjb/cassowary/ClReader.flex | 4 +- .../grad/gjb/cassowary/ClSimplexSolver.java | 104 +++++++++----------- .../Washington/grad/gjb/cassowary/ClTableau.java | 24 ++--- .../Washington/grad/gjb/cassowary/ClVariable.java | 6 +- 7 files changed, 79 insertions(+), 113 deletions(-) commit 1eb29fefe2d2ae89da76ce7136e462297e740a5e Author: C. Scott Ananian Date: Tue Nov 10 22:07:39 2009 -0500 Remove cassowary's bespoke Set class, replace with java.util.LinkedHashSet. .../grad/gjb/cassowary/ClSimplexSolver.java | 45 ++++------ .../Washington/grad/gjb/cassowary/ClTableau.java | 14 ++-- src/EDU/Washington/grad/gjb/cassowary/Set.java | 86 -------------------- 3 files changed, 22 insertions(+), 123 deletions(-) commit 8bd71e7ff8bd9c8206a1faed1472bca1dd882f80 Author: C. Scott Ananian Date: Tue Nov 10 13:02:53 2009 -0500 Refactor cassowary: add type parameters to bespoke Set class. .../grad/gjb/cassowary/ClSimplexSolver.java | 57 ++++++++++---------- .../Washington/grad/gjb/cassowary/ClTableau.java | 46 ++++++++-------- src/EDU/Washington/grad/gjb/cassowary/Set.java | 37 +++++++------ 3 files changed, 72 insertions(+), 68 deletions(-) commit b75c60b188faa304cf2c7a0706e492a0a2a34ff5 Author: C. Scott Ananian Date: Tue Nov 10 21:28:01 2009 -0500 Fix cassowary doc tests. src/EDU/Washington/grad/gjb/cassowary/BreatheTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit ba53c3dbbcebbd5a9957fe1887a6725c02671828 Author: C. Scott Ananian Date: Wed Nov 11 01:25:37 2009 -0500 Use Fraction.valueOf() in Fraction.repr(). Update doctests where needed, including Position doctest. src/net/cscott/sdr/calls/FormationListFast.java | 1050 +++++++++++------------ src/net/cscott/sdr/calls/Position.java | 2 +- src/net/cscott/sdr/util/Fraction.java | 35 - 3 files changed, 526 insertions(+), 561 deletions(-) commit 5d0ecbda91dab02c8152a54ef10a0985d6c95722 Author: C. Scott Ananian Date: Wed Nov 11 01:25:20 2009 -0500 Fraction/Rotation optimizations: reuse objects for common values. src/net/cscott/sdr/calls/ExactRotation.java | 23 +++--- src/net/cscott/sdr/calls/Rotation.java | 57 ++++++++++++-- src/net/cscott/sdr/util/Fraction.java | 112 +++++++++++++++++++++++---- 3 files changed, 154 insertions(+), 38 deletions(-) commit 90e88a74d05d8ff653a468bc5e5d3c7ec01002f1 Author: C. Scott Ananian Date: Mon Nov 9 22:41:13 2009 -0500 Fix 'right and left thru'. resources/net/cscott/sdr/calls/lists/basic.calls | 5 ++++- src/net/cscott/sdr/package-info.java | 1 - 2 files changed, 4 insertions(+), 2 deletions(-) commit 55e9896b883df9fd0bbc2ff3be89dcdcb317aa25 Author: C. Scott Ananian Date: Mon Nov 9 14:15:35 2009 -0500 More notes/to do items. notes.txt | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) commit b333ef506f6fda7eaacadc11d106ec60a49ae638 Author: C. Scott Ananian Date: Wed Nov 11 01:21:38 2009 -0500 More tests of basic calls: grand square, promenade half way. resources/net/cscott/sdr/tests/basic-calls-3 | 68 ++++++++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 1 + 2 files changed, 69 insertions(+) commit 01e9faa342f1a690d6de962b8f3ffb5fd78be35d Author: C. Scott Ananian Date: Mon Nov 9 14:15:16 2009 -0500 Update basic-calls-2 test. resources/net/cscott/sdr/tests/basic-calls-2 | 66 +++++++++++++++++++++++++- src/net/cscott/sdr/package-info.java | 2 +- 2 files changed, 66 insertions(+), 2 deletions(-) commit 5de0a216cf65ba0e58b4bbf6e2a077242f057295 Author: C. Scott Ananian Date: Mon Nov 9 14:14:37 2009 -0500 Fix 'ALL' predicate (making 'star thru' work again). src/net/cscott/sdr/calls/PredicateList.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit f3a73f2daa666197f5bbc252892cf5667a7b209c Author: C. Scott Ananian Date: Mon Nov 9 14:13:44 2009 -0500 Allow 'everyone ' as a filler word (usually after 'centers '). resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 2 +- resources/net/cscott/sdr/calls/lists/basic.calls | 4 ++++ src/net/cscott/sdr/calls/grm/EmitJava.java | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) commit e0c10471d175677f28015132b0e6e65a42d5cd23 Author: C. Scott Ananian Date: Mon Nov 9 13:02:45 2009 -0500 More basic definition work: dive thru, first couple go left. Add test cases exercising the new calls, and document some failures we found (centers trade from columns, star thru, reverse single file promenade). resources/net/cscott/sdr/calls/lists/basic.calls | 53 ++++++++- resources/net/cscott/sdr/tests/basic-calls-1 | 133 ++++++++++++++++++++++ resources/net/cscott/sdr/tests/basic-calls-2 | 4 + resources/net/cscott/sdr/tests/index | 3 + resources/net/cscott/sdr/tests/trade-2 | 16 +++ src/net/cscott/sdr/package-info.java | 3 + 6 files changed, 210 insertions(+), 2 deletions(-) commit 8461a969d9c16d393f67fd984e88162a7a72b99d Author: C. Scott Ananian Date: Mon Nov 9 01:01:00 2009 -0500 Definition: grand square. resources/net/cscott/sdr/calls/lists/basic.calls | 53 +++++++++++++++++++++- src/net/cscott/sdr/calls/FormationListFast.java | 26 ++++++++++- src/net/cscott/sdr/calls/FormationListSlow.java | 14 ++++++ src/net/cscott/sdr/calls/SelectorList.java | 4 ++ 4 files changed, 95 insertions(+), 2 deletions(-) commit 8e58cc6eafefa1d73d96bd371be9e84e33a5d4fc Author: C. Scott Ananian Date: Mon Nov 9 00:57:42 2009 -0500 Definitions: single wheel, promenade half way, wheel and deal, peel the top. resources/net/cscott/sdr/calls/lists/a2.calls | 5 +++ resources/net/cscott/sdr/calls/lists/basic.calls | 36 ++++++++++++++------ resources/net/cscott/sdr/calls/lists/plus.calls | 8 ++--- .../cscott/sdr/calls/transform/BeatCounter.java | 2 +- 4 files changed, 35 insertions(+), 16 deletions(-) commit c3d235b12ecd19ba6c463d0fe06448c1bc3823e2 Author: C. Scott Ananian Date: Sun Nov 8 17:57:52 2009 -0500 Reorder BMS definitions to match Callerlab docs. I also did some minor work on the definitions as I was reorganizing them. notes.txt | 2 +- resources/net/cscott/sdr/calls/lists/basic.calls | 605 ++++++++++---------- .../net/cscott/sdr/calls/lists/mainstream.calls | 258 +++++++-- 3 files changed, 513 insertions(+), 352 deletions(-) commit 4a16af77bc50b0df32acb7b1308418f3f186d1bf Author: C. Scott Ananian Date: Sun Nov 8 15:05:59 2009 -0500 Make the FALSE and TRUE predicate work, even if they're missing parens. FALSE() and TRUE() is the 'correct' way to spell a zero-arg predicate, but with a little magic in the 'literal' predicate we make the no-parens forms work, too. src/net/cscott/sdr/calls/PredicateList.java | 7 +++++++ 1 file changed, 7 insertions(+) commit 987bf76ccf2a3258f6dc6ba88c3e87466aec7b6a Author: C. Scott Ananian Date: Sun Nov 8 11:00:39 2009 -0500 Squeeze diamonds! Switch to 3x2 spots for diamonds (like Vic Ceder sez), instead of 2x4 spots (as many people claim, based on "the points don't move after a hinge from a wave"). 3x2 spots match the output of our breathing algorithm. src/net/cscott/sdr/calls/Breather.java | 16 +--- src/net/cscott/sdr/calls/FormationList.java | 33 +++++--- src/net/cscott/sdr/calls/FormationListFast.java | 96 +++++++++++------------ src/net/cscott/sdr/calls/FormationListSlow.java | 40 +++------- src/net/cscott/sdr/calls/SelectorList.java | 4 +- 5 files changed, 88 insertions(+), 101 deletions(-) commit 3b1461469875a804422d1b4729bd009d7a347c2d Author: C. Scott Ananian Date: Sun Nov 8 09:24:52 2009 -0500 Remove 'heads...' special case; make 'heads/sides' an 'anyone' selector. We also parse 'head boys..'/'side girls..'/'center boys' etc, but don't link them into the grammar yet. We'll probably want to add the'&' operator to select, and might need to revisit certain matches if we want 'center 2' to work. resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 20 +++++- resources/net/cscott/sdr/calls/grm/jsapi.skel | 5 +- resources/net/cscott/sdr/calls/lists/a1.calls | 11 +++- resources/net/cscott/sdr/calls/lists/basic.calls | 71 +++------------------ src/net/cscott/sdr/calls/grm/EmitJava.java | 4 +- src/net/cscott/sdr/calls/transform/Evaluator.java | 7 +- 6 files changed, 46 insertions(+), 72 deletions(-) commit df9e224f64d3f7d1e28b010e82785e0f0b583ad0 Author: C. Scott Ananian Date: Sat Nov 7 19:21:38 2009 -0500 Update notes. notes.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 03afdc20973e72f2b7313024701fb371255aa0f7 Author: C. Scott Ananian Date: Sat Nov 7 18:13:44 2009 -0500 Implement tandem/as couples/siamese. (Note that roll/sweep is currently unimplemented in tandem/as couples/siamese.) notes.txt | 5 +- resources/net/cscott/sdr/calls/lists/basic.calls | 4 + resources/net/cscott/sdr/calls/lists/plus.calls | 4 +- resources/net/cscott/sdr/tests/index | 2 + resources/net/cscott/sdr/tests/parse-1 | 5 + resources/net/cscott/sdr/tests/siamese-1 | 59 ++++++++ resources/net/cscott/sdr/tests/tandem-1 | 81 ++++++++++ src/net/cscott/sdr/calls/CallDB.java | 2 + src/net/cscott/sdr/calls/SelectorList.java | 63 ++++++++ src/net/cscott/sdr/calls/lists/A1List.java | 171 ++++++++++++++++++++++ src/net/cscott/sdr/calls/lists/C1List.java | 52 ++++++- src/net/cscott/sdr/package-info.java | 3 +- 12 files changed, 445 insertions(+), 6 deletions(-) commit b2dc96fcf817040ddf5f4c0da648d526cad22005 Author: C. Scott Ananian Date: Sun Nov 8 01:07:19 2009 -0500 Make FormationMatch.unmatched hold *meta* dancers, not *input* dancers. This seems to be how I've understood it to work all along, just not how it was *implemented*. src/net/cscott/sdr/calls/FormationMatch.java | 4 +++- src/net/cscott/sdr/calls/GeneralFormationMatcher.java | 12 +++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) commit fd8c813c306644388134915c057356727c7a841a Author: C. Scott Ananian Date: Sat Nov 7 18:12:30 2009 -0500 Comments about the DWResolver. src/net/cscott/sdr/toolbox/DWResolver.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 91b48cc75c8e5faef229b8ebfb728942b49d1395 Author: C. Scott Ananian Date: Fri Nov 6 16:29:11 2009 -0500 Circle choreography definition work. notes.txt | 1 + resources/net/cscott/sdr/calls/lists/basic.calls | 41 ++++++++++++++++++++-- 2 files changed, 39 insertions(+), 3 deletions(-) commit 53933d31a7cf44b6f9142e8b3c7bd7eb8bca5b7e Author: C. Scott Ananian Date: Sat Nov 7 10:47:25 2009 -0500 Implement t-boned run, work on t-boned cross run. resources/net/cscott/sdr/calls/lists/basic.calls | 25 +++++++++++++++---- resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/run-1 | 28 ++++++++++++++++++++++ src/net/cscott/sdr/calls/package-info.java | 4 ++-- src/net/cscott/sdr/package-info.java | 1 + 5 files changed, 52 insertions(+), 7 deletions(-) commit 5f90827817a303ca4eef490e8087f018bf78a19c Author: C. Scott Ananian Date: Sat Nov 7 10:48:16 2009 -0500 Add 1x2 selector; add CENTER/END tags to 1x4 selector. src/net/cscott/sdr/calls/FormationList.java | 1 + src/net/cscott/sdr/calls/FormationListFast.java | 14 ++++++++++---- src/net/cscott/sdr/calls/FormationListSlow.java | 5 ++++- src/net/cscott/sdr/calls/SelectorList.java | 5 +++++ 4 files changed, 20 insertions(+), 5 deletions(-) commit 35758eb2b67fbc2a6730d481a7a95e1f39bd392a Author: C. Scott Ananian Date: Sat Nov 7 10:38:44 2009 -0500 Apply DESIGNATED tags at formation match time, not at 'select' time. This ensures conditionals involving DESIGNATED work correctly. src/net/cscott/sdr/calls/DanceState.java | 25 +++++++++++++++++++++ src/net/cscott/sdr/calls/transform/Evaluator.java | 10 +-------- 2 files changed, 26 insertions(+), 9 deletions(-) commit 519c2f1eed5d78d93e7bf92986127f24e6a7c5e9 Author: C. Scott Ananian Date: Sat Nov 7 07:51:24 2009 -0500 Optimize breather by skipping trimOverlap if there are no overlaps. src/net/cscott/sdr/calls/Breather.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit 8259332505ad5bc9c1d853967f369efcf4039521 Author: C. Scott Ananian Date: Sat Nov 7 10:55:46 2009 -0500 Replace SELECTED ARE with ARE predicate. resources/net/cscott/sdr/calls/lists/basic.calls | 2 +- src/net/cscott/sdr/calls/PredicateList.java | 16 ---------------- 2 files changed, 1 insertion(+), 17 deletions(-) commit f1740ab9ab0fc2fb7a02a20908c43d350cd99630 Author: C. Scott Ananian Date: Fri Nov 6 16:50:55 2009 -0500 Implement ALL predicate. resources/net/cscott/sdr/calls/lists/basic.calls | 4 ++-- src/net/cscott/sdr/calls/PredicateList.java | 11 ++++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) commit 8833e12f7ed8774a4c6e99aaf7407e3c49d3c9d7 Author: C. Scott Ananian Date: Fri Nov 6 11:43:23 2009 -0500 Add 'vaya-con-dios' test, which is a singing call figure. resources/net/cscott/sdr/tests/index | 3 +- resources/net/cscott/sdr/tests/vaya-con-dios | 62 ++++++++++++++++++++++++++ src/net/cscott/sdr/package-info.java | 1 + 3 files changed, 65 insertions(+), 1 deletion(-) commit 4c4b00452ed53420e566aa6d247ea16de73522c9 Author: C. Scott Ananian Date: Fri Nov 6 14:14:34 2009 -0500 Fix 'four ladies chain' definition. resources/net/cscott/sdr/calls/lists/basic.calls | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) commit 7f897ad656629b73e910adb6611e6e84da767049 Author: C. Scott Ananian Date: Fri Nov 6 13:10:10 2009 -0500 Fixes to DWResolver: it works now! Enable doctests. Leader/trailer tags are present only in top-level match, not in the individual wave matches. resources/net/cscott/sdr/tests/dw-resolve | 68 +++++++++++++++++++++++++--- src/net/cscott/sdr/package-info.java | 2 +- src/net/cscott/sdr/toolbox/DWResolver.java | 32 ++++++++++--- 3 files changed, 88 insertions(+), 14 deletions(-) commit 565ac15e0eb8061cbb8cb0334a5d1387bdb12840 Author: C. Scott Ananian Date: Fri Nov 6 13:53:23 2009 -0500 anyone_others -> anyone while others; also don't expand in BeatCounter. resources/net/cscott/sdr/calls/lists/basic.calls | 38 +++++++++++--------- resources/net/cscott/sdr/tests/parse-1 | 16 ++++----- .../cscott/sdr/calls/transform/BeatCounter.java | 30 +++++++++++++--- 3 files changed, 55 insertions(+), 29 deletions(-) commit 07557b7fc7440f278a98e5b51a335cdebd069cc0 Author: C. Scott Ananian Date: Sat Nov 7 11:47:12 2009 -0500 Test cases for concentric. resources/net/cscott/sdr/tests/concentric-1 | 147 +++++++++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 1 + src/net/cscott/sdr/package-info.java | 1 + 3 files changed, 149 insertions(+) commit 6dd8fc465781b5f4baccba9bad3afc70dccac1b6 Author: C. Scott Ananian Date: Fri Nov 6 09:28:58 2009 -0500 Add concentric/cross concentric/quasi concentric concept. We don't do the direction-adjustment after concentric correctly yet. Concentric is marked as safe for fractionalization. notes.txt | 3 +- resources/net/cscott/sdr/calls/lists/basic.calls | 9 +- resources/net/cscott/sdr/calls/lists/c1.calls | 5 + resources/net/cscott/sdr/calls/lists/c2.calls | 5 + resources/net/cscott/sdr/calls/lists/plus.calls | 2 +- src/net/cscott/sdr/calls/CallDB.java | 4 + src/net/cscott/sdr/calls/lists/BasicList.java | 23 +++ src/net/cscott/sdr/calls/lists/C1List.java | 198 ++++++++++++++++++++ src/net/cscott/sdr/calls/lists/C2List.java | 60 ++++++ src/net/cscott/sdr/calls/transform/Fractional.java | 18 +- 10 files changed, 322 insertions(+), 5 deletions(-) commit fb1b9def7e82236c0f9e81b309b89a7963ac35cc Author: C. Scott Ananian Date: Thu Nov 5 16:36:15 2009 -0500 Speed up roll: one beat instead of two. src/net/cscott/sdr/calls/lists/PlusList.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit d437d81825ecabb17fe1d5eaa7467a88d300254a Author: C. Scott Ananian Date: Thu Nov 5 15:16:40 2009 -0500 Four ladies chain, acey deucey, and other definitions work. resources/net/cscott/sdr/calls/lists/basic.calls | 48 ++++++++++++++++++---- resources/net/cscott/sdr/calls/lists/plus.calls | 5 +++ 2 files changed, 44 insertions(+), 9 deletions(-) commit 85cb8e8f2723f1ce4dfa18da7a8c9e237ce393bd Author: C. Scott Ananian Date: Thu Nov 5 15:08:01 2009 -0500 Add "promenade family" to the basic.calls list. resources/net/cscott/sdr/calls/lists/basic.calls | 184 ++++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/promenade-1 | 32 ++++ 3 files changed, 217 insertions(+) commit e9f4b452e3fb426293f7e8b62355d1a2ea403a56 Author: C. Scott Ananian Date: Thu Nov 5 15:01:04 2009 -0500 Add several new formations and selectors. New 4-person formations: RH STAR, LH STAR New 8-person formations: SINGLE FILE PROMENADE, REVERSE SINGLE FILE PROMENADE, RH ALAMO RING, LH ALAMO RING, STAR PROMENADE, WRONG WAY STAR PROMENADE. We also breathed out the RH/LH SINGLE PROMENADE formations so that the are no longer stars in the center, adding the RH/LH STAR formations for the star case. Now PROMENADE is the as-couples version of LH SINGLE PROMENADE, and STAR PROMENADE is the as-couples version of LH STAR. (The non-star PROMENADE formation is also what you get if you reverse wheel around a half from a STATIC SQUARE -- there's no breathing into stars there.) src/net/cscott/sdr/calls/FormationListFast.java | 100 +++++++++++++++++++++-- src/net/cscott/sdr/calls/FormationListSlow.java | 51 +++++++++--- src/net/cscott/sdr/calls/SelectorList.java | 16 ++++ 3 files changed, 150 insertions(+), 17 deletions(-) commit eb68274bfd37dabc672365e23e771cd8913374a2 Author: C. Scott Ananian Date: Thu Nov 5 21:05:11 2009 -0500 Lazy evaluation of predicates with substitution and arguments. We now represent the nested calls of the arguments in the condition node, instead of eagerly evaluating it, which also allows us to better match calls with arguments in the CALL IS predicate. We might have to eventually have a 'force' call which eagerly evaluates its argument, since we don't memo-ize arithmetic results. But we don't have much math, really, so unmemoized lazy evaluation should work fine for now. src/net/cscott/sdr/calls/PredicateList.java | 41 +++++++++++++++++++- .../cscott/sdr/calls/transform/BuilderHelper.java | 6 +++ .../cscott/sdr/calls/transform/CallFileBuilder.g | 12 +++--- 3 files changed, 50 insertions(+), 9 deletions(-) commit 8730366beb9a61c8563f40f6713dda68c9cbfb71 Author: C. Scott Ananian Date: Thu Nov 5 14:22:47 2009 -0500 _and_roll -> _and roll resources/net/cscott/sdr/calls/lists/plus.calls | 2 +- resources/net/cscott/sdr/tests/parse-1 | 18 +++++++++--------- src/net/cscott/sdr/calls/CallDB.java | 10 +++++----- 3 files changed, 15 insertions(+), 15 deletions(-) commit 2479f6609a607e222795c9918b9092429219d3f6 Author: C. Scott Ananian Date: Thu Nov 5 01:51:15 2009 -0500 Work on Basic call definitions. resources/net/cscott/sdr/calls/lists/a2.calls | 5 +- resources/net/cscott/sdr/calls/lists/basic.calls | 105 ++++++++++++++++------ 2 files changed, 80 insertions(+), 30 deletions(-) commit d0dec2dd647f66d4638b9b4e0716113b1005fa9a Author: C. Scott Ananian Date: Wed Nov 4 23:14:02 2009 -0500 Fix fold/cross fold. notes.txt | 4 +- resources/net/cscott/sdr/calls/lists/basic.calls | 23 ----------- .../net/cscott/sdr/calls/lists/mainstream.calls | 40 ++++++++++++++++++++ resources/net/cscott/sdr/tests/peel-the-top-2 | 5 +++ src/net/cscott/sdr/package-info.java | 1 - 5 files changed, 47 insertions(+), 26 deletions(-) commit a7eedb9bb5607bc063c50e2e2c350490c19fca0d Author: C. Scott Ananian Date: Wed Nov 4 22:41:24 2009 -0500 Apply BEAU/BELLE/LEADER/TRAILER tags to 1x4, 2x2, GENERAL LINE selectors. notes.txt | 2 +- src/net/cscott/sdr/calls/SelectorList.java | 9 +- src/net/cscott/sdr/calls/Tagger.java | 234 +++++++++++++++++++++------- src/net/cscott/sdr/util/Tools.java | 6 + 4 files changed, 191 insertions(+), 60 deletions(-) commit f758c0c367cd591060d1053e4153330cc874873a Author: C. Scott Ananian Date: Mon Nov 2 14:32:35 2009 -0500 More notes; add idea to notes file about computing call definition metrics. notes.txt | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 68 insertions(+), 2 deletions(-) commit 52b81dc69e6361ce3b65c1a39810593280e7fa96 Author: C. Scott Ananian Date: Mon Nov 2 12:56:34 2009 -0500 Define 'peel the top' (and document some failures of 'ends fold'). notes.txt | 6 +++- resources/net/cscott/sdr/calls/lists/plus.calls | 30 ++++++++++++++++++ resources/net/cscott/sdr/tests/index | 2 ++ resources/net/cscott/sdr/tests/peel-the-top-1 | 37 +++++++++++++++++++++++ resources/net/cscott/sdr/tests/peel-the-top-2 | 26 ++++++++++++++++ src/net/cscott/sdr/calls/SelectorList.java | 4 +++ src/net/cscott/sdr/package-info.java | 2 ++ 7 files changed, 106 insertions(+), 1 deletion(-) commit 14a7e108166be5265df37239fe6b133020923550 Author: C. Scott Ananian Date: Mon Nov 2 11:35:59 2009 -0500 Add formations/selectors for four-person "box-like" zees. src/net/cscott/sdr/calls/FormationListFast.java | 32 +++++++++++++++++++++++ src/net/cscott/sdr/calls/FormationListSlow.java | 24 +++++++++++++++++ src/net/cscott/sdr/calls/SelectorList.java | 12 +++++++++ 3 files changed, 68 insertions(+) commit ae5ca6e1792170385e08797e1fcf3ae942104d05 Author: C. Scott Ananian Date: Mon Nov 2 11:15:30 2009 -0500 Sketch definitions of press ahead/back/in/out/right/left. resources/net/cscott/sdr/calls/lists/c1.calls | 13 +++++++++++++ resources/net/cscott/sdr/calls/lists/c2.calls | 15 +++++++++++++++ src/net/cscott/sdr/calls/CallDB.java | 1 + 3 files changed, 29 insertions(+) commit b629c4f1f5071335075d6ee3abee0e3ae5555982 Author: C. Scott Ananian Date: Mon Nov 2 11:14:47 2009 -0500 Update notes. notes.txt | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) commit edad0f1c6bc6bcee19da265bc2375f2ffdbce965 Author: C. Scott Ananian Date: Sun Nov 1 23:45:53 2009 -0500 Add "print formation with roll/sweep details" mode to PMSD. src/net/cscott/sdr/PMSD.java | 21 ++++++++++++++-- src/net/cscott/sdr/calls/Formation.java | 26 +++++++++++++++++++- src/net/cscott/sdr/calls/Position.java | 41 +++++++++++++++++++++++++++++++ 3 files changed, 85 insertions(+), 3 deletions(-) commit e1a851ea297a176093736ee76b84c73b98ab9b2d Author: C. Scott Ananian Date: Sun Nov 1 20:44:15 2009 -0500 Fix roll after a collision (like in 'partner hinge and roll'). notes.txt | 6 +++++- resources/net/cscott/sdr/calls/lists/plus.calls | 3 ++- src/net/cscott/sdr/calls/lists/PlusList.java | 13 ++++++++++--- src/net/cscott/sdr/package-info.java | 1 - 4 files changed, 17 insertions(+), 6 deletions(-) commit 3b7672700447d8c09291a0bec60cfaf1d15a9f6c Author: C. Scott Ananian Date: Sun Nov 1 11:39:25 2009 -0500 Document (with tests) some problems with 'roll'. notes.txt | 28 +++++++++++---- resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/roll | 65 ++++++++++++++++++++++++++++++++++ src/net/cscott/sdr/package-info.java | 2 ++ 4 files changed, 90 insertions(+), 6 deletions(-) commit acf459105806d2a599696d1d2e6825ff794ca43b Author: C. Scott Ananian Date: Sun Nov 1 11:21:04 2009 -0500 Preserve roll direction in Formation.recenter(). src/net/cscott/sdr/calls/Formation.java | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) commit 67598fb7fd22888540880329149c2bbf594c319c Author: C. Scott Ananian Date: Sun Nov 1 02:41:50 2009 -0500 Make 'circle left/right' work, add more tests. resources/net/cscott/sdr/calls/lists/basic.calls | 31 +++++++++---- resources/net/cscott/sdr/tests/circle | 51 ++++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 2 + resources/net/cscott/sdr/tests/parse-1 | 6 +++ resources/net/cscott/sdr/tests/trade-and-roll | 27 ++++++++++++ 5 files changed, 108 insertions(+), 9 deletions(-) commit 8d2fee23e9c74e91805729fd801bd320d250faab Author: C. Scott Ananian Date: Sun Nov 1 00:50:38 2009 -0400 Implement "trade down the line" & CALL IS, TBONED, SELECTION PATTERN predicates. resources/net/cscott/sdr/calls/lists/basic.calls | 51 +++++++-- resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/trade-1 | 73 ++++++++++++ src/net/cscott/sdr/calls/FormationList.java | 1 + src/net/cscott/sdr/calls/FormationListFast.java | 8 ++ src/net/cscott/sdr/calls/FormationListSlow.java | 2 + src/net/cscott/sdr/calls/PredicateList.java | 133 ++++++++++++++++++++++ src/net/cscott/sdr/calls/SelectorList.java | 4 + 8 files changed, 261 insertions(+), 12 deletions(-) commit 34f7503a80627e659fb927d24bc3b4d8a8535325 Author: C. Scott Ananian Date: Sat Oct 31 20:47:15 2009 -0400 More work on defining ; add " trade down the line" We introduced new CENTER_ selectors which select the center members of the formation, regardless of its shape. Use these to start defining how works, and include a hack to make "boys trade" equivalent to "boys trade down the line". resources/net/cscott/sdr/calls/lists/basic.calls | 32 +++-- resources/net/cscott/sdr/tests/parse-1 | 8 ++ src/net/cscott/sdr/calls/SelectorList.java | 162 ++++++++++++++++++++++ 3 files changed, 194 insertions(+), 8 deletions(-) commit 473e91db41cbd6c06aca3dc8261206ccb309ccad Author: C. Scott Ananian Date: Sun Nov 1 11:38:38 2009 -0500 Ensure generated PMSD index is promptly copied to the classpath. build.xml | 3 +++ 1 file changed, 3 insertions(+) commit 81e205b498ef61c94aeca01af24634a7fcd0ae59 Author: C. Scott Ananian Date: Sat Oct 31 15:27:07 2009 -0400 Properly escape strings in the various Java code generators. src/net/cscott/sdr/calls/FormationListSlow.java | 3 ++- src/net/cscott/sdr/calls/grm/BuildGrammars.java | 4 ++- src/net/cscott/sdr/calls/grm/EmitJava.java | 8 +++--- src/net/cscott/sdr/calls/grm/Grm.java | 31 ++++++----------------- src/net/cscott/sdr/util/StringEscapeUtils.java | 26 +++++++++++++++++++ 5 files changed, 44 insertions(+), 28 deletions(-) commit 5474405acd9bc5e7a186cef98c5414a27e220c9b Author: C. Scott Ananian Date: Sat Oct 31 15:10:46 2009 -0400 Add default arguments to the call list grammar; more work. Allowing arguments to have default values helps us work around a grammar infelicity: because ANTLR doesn't support left recursion, we have to combine the " " and " while the others " into one rule, with an optional second part. That means we need to specify what the second defaults to ("nothing"), if it is missing. We could go back and use this mechanism to let "square thru" default to "square thru(4)", etc. Not going to do that in this commit, but maybe in the future. resources/net/cscott/sdr/calls/lists/basic.calls | 12 ++--- resources/net/cscott/sdr/tests/parse-1 | 8 ++-- src/net/cscott/sdr/calls/Call.java | 14 ++++++ src/net/cscott/sdr/calls/grm/BuildGrammars.java | 13 ++++-- src/net/cscott/sdr/calls/lists/BasicList.java | 5 ++ src/net/cscott/sdr/calls/lists/C3bList.java | 7 +++ src/net/cscott/sdr/calls/lists/PlusList.java | 7 +++ .../cscott/sdr/calls/transform/BuilderHelper.java | 49 ++++++++++++++++++-- src/net/cscott/sdr/calls/transform/CallFile.g | 46 ++++++++++++------ .../cscott/sdr/calls/transform/CallFileBuilder.g | 25 ++++++---- 10 files changed, 144 insertions(+), 42 deletions(-) commit e624174398b0a6b18ba9be80271386eb987981ab Author: C. Scott Ananian Date: Sat Oct 31 12:20:44 2009 -0400 Start integrating concept into the grammar. resources/net/cscott/sdr/calls/lists/basic.calls | 29 ++++++++------ resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/parse-1 | 45 ++++++++++++++++++++++ 3 files changed, 64 insertions(+), 11 deletions(-) commit 6fd82bfb09fb50e0132d24ac312632ad9ad0a431 Author: C. Scott Ananian Date: Mon Nov 2 12:57:03 2009 -0500 Don't discard message & priority when building an If. src/net/cscott/sdr/calls/ast/If.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 466be4b0391e52765ca17c4957820d39c5e724b4 Author: C. Scott Ananian Date: Sat Oct 31 18:25:24 2009 -0400 Make the ARE predicate so a subset test, not an equality test. src/net/cscott/sdr/calls/PredicateList.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit eb60e36fdedb0ee5dc9e7f73aebbe732b434b3a2 Author: C. Scott Ananian Date: Sat Oct 31 11:13:52 2009 -0400 Fix definition/clarify grammar for roll away, add tests. We also define the ARE predicate, and fix an unquoted argument in the 'ladies chain' definition. resources/net/cscott/sdr/calls/lists/basic.calls | 31 +++++++-- resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/roll-away | 77 ++++++++++++++++++++++ src/net/cscott/sdr/calls/PredicateList.java | 21 ++++++ 4 files changed, 124 insertions(+), 6 deletions(-) commit d11d39cb20600f970ffd0dbe9ce912b2fe5dda0b Author: C. Scott Ananian Date: Sat Oct 31 11:09:26 2009 -0400 Add left/reverse/mirror to the fractional "safe set". src/net/cscott/sdr/calls/transform/Fractional.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4ee5ed2ce1ca9aabc7a531e646596b5013718c5e Author: C. Scott Ananian Date: Sat Oct 31 11:08:21 2009 -0400 Don't makeSimpleCall if the call has arguments... ...even if the arguments aren't used. src/net/cscott/sdr/calls/transform/BuilderHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 82e78095e9e03912e5f7c2d4027ba3525592cd2a Author: C. Scott Ananian Date: Sat Oct 31 11:07:52 2009 -0400 Add /parse helper to PMSD to help test proper call parsing. src/net/cscott/sdr/PMSD.java | 8 ++++++++ src/net/cscott/sdr/calls/ast/Apply.java | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+) commit ff7df2099f583a62cf294e7b1dc53949f3672699 Author: C. Scott Ananian Date: Sat Oct 31 12:51:41 2009 -0400 Update to ANTLR 3.2 (it still won't do left recursion, sigh). .classpath | 4 ++-- build.xml | 1 - lib/antlr-3.1.1-runtime.jar | Bin 116205 -> 0 bytes lib/antlr-runtime-3.2.jar | Bin 0 -> 151989 bytes lib/dev/README | 2 ++ lib/dev/antlr-3.1.1.jar | Bin 1513525 -> 0 bytes lib/dev/antlr-3.2-src.jar | Bin 0 -> 556095 bytes lib/dev/antlr-3.2.jar | Bin 0 -> 1928009 bytes run-pmsd.sh | 2 +- run-shell.sh | 2 +- 10 files changed, 6 insertions(+), 5 deletions(-) commit 16ad30381aff8e5200fa3ab7ada3347e01a41887 Author: C. Scott Ananian Date: Fri Oct 30 22:23:34 2009 -0400 More notes. notes.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) commit a5f6b4670c9025d90392bc32a386fcba0c019bd0 Author: C. Scott Ananian Date: Fri Oct 30 18:04:50 2009 -0400 Improve the JavaScript tab-completion engine for PMSD. We now properly look through all prototypes and up the scope chain when looking for possible completions; we also handle pressing tab just after a final period correctly now (by passing '-1' to String.split()). src/net/cscott/sdr/PMSD.java | 68 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 55 insertions(+), 13 deletions(-) commit 3b89f86ae8d0aab83c6b0b1a383434c9bae2e409 Author: C. Scott Ananian Date: Fri Oct 30 00:24:30 2009 -0400 Documentation tweaks. notes.txt | 6 +++--- src/net/cscott/sdr/calls/transform/EvalPrim.java | 14 +++++++++----- 2 files changed, 12 insertions(+), 8 deletions(-) commit feeeec6794e63471d7714636905d7887596061bc Author: C. Scott Ananian Date: Thu Oct 29 19:14:53 2009 -0400 Fix doctest for BeatCounter, which had rotted. src/net/cscott/sdr/calls/transform/BeatCounter.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) commit 490a461fbf17f5c62b93795ba1d918d3c8a3bbe9 Author: C. Scott Ananian Date: Thu Oct 29 17:06:28 2009 -0400 Rewrite Breather.trimOverlap() to use Cassowary constraint solver. Trimming overlaps requires an mixed integer programming solver, in order to handle the conditional constraints. Now we specify the desired properties of the trimmed formation more declaratively, and let Cassowary figure out the actual boundary coordinates necessary to fulfill our desired conditions. src/net/cscott/sdr/calls/Breather.java | 598 ++++++++++++++++++-------------- 1 file changed, 341 insertions(+), 257 deletions(-) commit 324d893c60598902eda3a80e2214f7f6ff7a1da0 Author: C. Scott Ananian Date: Thu Oct 29 15:54:39 2009 -0400 Tweaks to ClBranchAndBound. Decrease the LARGE_NUMBER to 100 to avoid overflow problems. Check for ClEditOrStayConstraints, because the way that stay constraints behave when constraints are removed makes our branch-and-bound algorithm misbehave. (Stay constraints are reset to their "current values" when a constraint is removed; we need them to 'stay' where they were when we began to solve() so that we can continue evaluating other branches.) src/EDU/Washington/grad/gjb/cassowary/ClBranchAndBound.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 1b8e179d6083e286abe63a535eee2d63f94c036c Author: C. Scott Ananian Date: Thu Oct 29 13:01:58 2009 -0400 Add two new doctests for Breather; update "theory of breathing". src/net/cscott/sdr/calls/Breather.java | 51 +++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) commit 03a9a92cfb3936525e327f186b902e2dfe998c25 Author: C. Scott Ananian Date: Wed Oct 28 15:40:11 2009 -0400 List all tests in the ant run.junit target. .gitignore | 1 + build.xml | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) commit ab3622aa354c1d7bd3647f47d781a212dad642de Author: C. Scott Ananian Date: Thu Oct 29 00:01:56 2009 -0400 Compile FormationListSlow to FormationListFast. build.xml | 28 +- src/net/cscott/sdr/calls/FormationList.java | 13 +- src/net/cscott/sdr/calls/FormationListFast.java | 748 ++++++++++++++++++++++- src/net/cscott/sdr/calls/FormationListJS.java | 2 +- src/net/cscott/sdr/calls/FormationListSlow.java | 86 ++- 5 files changed, 858 insertions(+), 19 deletions(-) commit 63fc80d4d00c3cd4218ee00333bbd360a77757e6 Author: C. Scott Ananian Date: Wed Oct 28 23:58:28 2009 -0400 Attempt to reuse common Fraction objects. src/net/cscott/sdr/util/Fraction.java | 52 +++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) commit 8b67f1c1e95fbee25e11778ded0e2fe676a7997b Author: C. Scott Ananian Date: Wed Oct 28 23:46:50 2009 -0400 Add repr() methods to ExactRotation/Rotation/Position/Fraction. src/net/cscott/sdr/calls/ExactRotation.java | 19 ++++++++++++ src/net/cscott/sdr/calls/Position.java | 22 ++++++++++++++ src/net/cscott/sdr/calls/Rotation.java | 17 +++++++++++ src/net/cscott/sdr/util/Fraction.java | 43 +++++++++++++++++++++++++++ 4 files changed, 101 insertions(+) commit bd1e5767cbfc1022f055e369604975d1c6bde838 Author: C. Scott Ananian Date: Wed Oct 28 16:51:13 2009 -0400 Change FormationList field types from TaggedFormation to NamedTaggedFormation. src/net/cscott/sdr/calls/FormationList.java | 2 +- src/net/cscott/sdr/calls/FormationListJS.java | 4 +- src/net/cscott/sdr/calls/FormationListSlow.java | 148 +++++++++++------------ 3 files changed, 77 insertions(+), 77 deletions(-) commit e72e13122ae0086055570d55502bb0db296748aa Author: C. Scott Ananian Date: Wed Oct 28 15:35:04 2009 -0400 Split FormationList into FormationListFast/FormationListSlow. This is in preparation for post-processing FormationListSlow to yield FormationListFast, which will hard-code positions and tags, instead of using slow breathing and matching operations to build the formation list. The post-processing step also helps reduce dependencies during static initialization, which aids debugging core core. build.xml | 3 + src/net/cscott/sdr/PMSD.java | 5 +- src/net/cscott/sdr/calls/Breather.java | 10 + src/net/cscott/sdr/calls/FormationList.java | 533 +++----------------- src/net/cscott/sdr/calls/FormationListFast.java | 10 + src/net/cscott/sdr/calls/FormationListFast.stub | 10 + src/net/cscott/sdr/calls/FormationListJS.java | 118 +++++ .../{FormationList.java => FormationListSlow.java} | 95 ++-- .../cscott/sdr/calls/GeneralFormationMatcher.java | 3 + src/net/cscott/sdr/calls/NamedTaggedFormation.java | 1 + src/net/cscott/sdr/calls/Permutation.java | 1 + src/net/cscott/sdr/calls/SelectorList.java | 2 + src/net/cscott/sdr/calls/TaggedFormation.java | 3 + src/net/cscott/sdr/calls/transform/EvalPrim.java | 1 + src/net/cscott/sdr/toolbox/DWResolver.java | 1 + 15 files changed, 263 insertions(+), 533 deletions(-) commit 9d2c978cbc99cc297905f7e404b45aa7853af653 Author: C. Scott Ananian Date: Wed Oct 28 23:41:25 2009 -0400 Use Javascript 1.7 in run-shell.sh and 'run.shell' ant target. build.xml | 1 + run-shell.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) commit 6b003562eafdcfeb180f30befc5b6eba74479cc7 Author: C. Scott Ananian Date: Wed Oct 28 14:35:53 2009 -0400 Use JavaScript version 1.7 for both doctests and PMSD. lib/dev/jdoctest/jdoctest-1.5.jar | Bin 18611 -> 18687 bytes src/net/cscott/sdr/PMSD.java | 1 + 2 files changed, 1 insertion(+) commit f779f7a072405e3746242f8cea7635505cb80d09 Author: C. Scott Ananian Date: Mon Oct 26 12:59:58 2009 -0400 Add some more helper methods to cassowary; including a way to eval an expr. src/EDU/Washington/grad/gjb/cassowary/CL.java | 24 ++++++++++++-------- .../grad/gjb/cassowary/ClLinearExpression.java | 21 +++++++++++++---- 2 files changed, 31 insertions(+), 14 deletions(-) commit 8b2335ba749fcbb9f3442a9ff8841efc9c54078a Author: C. Scott Ananian Date: Mon Oct 26 11:30:25 2009 -0400 Make run-shell.sh pass on its arguments to the shell. run-shell.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 237aac7901cd74de11c8358de25bb2069e3756cf Author: C. Scott Ananian Date: Mon Oct 26 11:29:47 2009 -0400 LL: remove some unnecessary method calls. src/net/cscott/sdr/util/LL.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 7d33aa2937f317d0d1f93257b38bdb6afea041e6 Author: C. Scott Ananian Date: Mon Oct 26 11:29:17 2009 -0400 Tweak Box.toString() for easier debugging lists of boxes. src/net/cscott/sdr/calls/Formation.java | 4 +-- src/net/cscott/sdr/util/Box.java | 47 +++++++++++++++++++++++-------- 2 files changed, 37 insertions(+), 14 deletions(-) commit 18d0b6deabeb10c6f486f4d2978f16e1fa7112a8 Author: C. Scott Ananian Date: Wed Oct 21 00:09:34 2009 -0400 New 'addConstraintIf'/'addConstraintIfNot' helpers for ClBranchAndBound. .../Washington/grad/gjb/cassowary/BreatheTest.java | 45 +++++++++----------- .../grad/gjb/cassowary/ClBranchAndBound.java | 37 ++++++++++++++++ 2 files changed, 58 insertions(+), 24 deletions(-) commit 64aca88aa379a30675cef98a0692a3b11edf0eab Author: C. Scott Ananian Date: Sat Oct 24 11:17:36 2009 -0400 Avoid revisiting equivalent subproblems in the ClBranchAndBound solver. .../grad/gjb/cassowary/ClAbstractVariable.java | 6 +- .../grad/gjb/cassowary/ClBranchAndBound.java | 65 ++++++++++++++++++-- 2 files changed, 65 insertions(+), 6 deletions(-) commit 3e94bdfb54702f50bc7862f97a854986ce564603 Author: C. Scott Ananian Date: Tue Oct 20 21:55:09 2009 -0400 Extend Cassowary to handle mixed integer linear programming problems. We use the branch-and-bound algorithm, invoking Cassowary to solve subproblems, in order to handle mixed integer linear programming problems. This lets us introduce boolean variables to handle overlap constraints ("either the x dimension should not overlap, or the y dimension should not overlap"). Extend BreatheTest to include a proof-of-concept of this method of resolving formation overlaps. .../Washington/grad/gjb/cassowary/BreatheTest.java | 44 ++--- src/EDU/Washington/grad/gjb/cassowary/CL.java | 4 + .../grad/gjb/cassowary/ClBooleanVariable.java | 23 +++ .../grad/gjb/cassowary/ClBranchAndBound.java | 189 ++++++++++++++++++++ .../grad/gjb/cassowary/ClIntegerVariable.java | 19 ++ .../grad/gjb/cassowary/ClSimplexSolver.java | 4 + 6 files changed, 249 insertions(+), 34 deletions(-) commit 63cccfad4dc8cf08e6b5fc0bcb694783784b7060 Author: C. Scott Ananian Date: Tue Oct 20 13:12:06 2009 -0400 Feasibility test for using Cassowary to implement Breather.trimOverlaps() .../Washington/grad/gjb/cassowary/BreatheTest.java | 171 +++++++++++++++++++- 1 file changed, 170 insertions(+), 1 deletion(-) commit ed426b99938ad6735db05dcc9522789e3285123f Author: C. Scott Ananian Date: Wed Oct 21 00:09:01 2009 -0400 Define 'trade the wave' (as 'everyone cross run'). resources/net/cscott/sdr/calls/lists/plus.calls | 5 +++++ src/net/cscott/sdr/calls/grm/CompletionEngine.java | 6 ++++++ 2 files changed, 11 insertions(+) commit b96b90e8c5eac62083a7f81733afda9929a381a4 Author: C. Scott Ananian Date: Tue Oct 20 21:50:03 2009 -0400 Update to post-1.5 jdoctest, with support for packages named EDU.* lib/dev/jdoctest/jdoctest-1.5.jar | Bin 18605 -> 18611 bytes 1 file changed, 0 insertions(+), 0 deletions(-) commit 64d805c15733097ae4ac1a7638194d3d61728c9e Author: C. Scott Ananian Date: Tue Oct 20 21:52:33 2009 -0400 Use repeatable hash code for ClAbstractVariable for deterministic behavior. .../Washington/grad/gjb/cassowary/ClAbstractVariable.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) commit e6ab405e3b78488912b0c485762ba43a892b406d Author: C. Scott Ananian Date: Sun Oct 18 23:31:04 2009 -0400 Rewrite core of breathing algorithm to use Cassowary linear constraint solver. Replace our ad-hoc multi-pass constraint resolver with a "real" one based on the LGPL Cassowary library (reworked to use exact rational arithmetic). This makes the behavior of the algorithm much more obvious and eliminates problems with unusual formations (like the 'half of an ends cross run' in the cross-run-1 test). It may be worth revisiting the trimOverlaps() routine in the breather to use the constraint solver, too. resources/net/cscott/sdr/tests/cross-run-1 | 12 +- src/net/cscott/sdr/calls/Breather.java | 168 ++++++++++++---------------- 2 files changed, 78 insertions(+), 102 deletions(-) commit 736ad7a3dab842f2cf34ffa2b6708661c0039002 Author: C. Scott Ananian Date: Sun Oct 18 22:02:40 2009 -0400 Rework Cassowary to use exact rational arithmetic. .../Washington/grad/gjb/cassowary/BreatheTest.java | 69 +++---- src/EDU/Washington/grad/gjb/cassowary/CL.java | 41 ++--- .../grad/gjb/cassowary/ClConstraint.java | 14 +- .../grad/gjb/cassowary/ClEditConstraint.java | 4 +- .../Washington/grad/gjb/cassowary/ClEditInfo.java | 10 +- .../grad/gjb/cassowary/ClEditOrStayConstraint.java | 10 +- .../{ClDouble.java => ClFractionWrapper.java} | 48 ++--- .../grad/gjb/cassowary/ClLinearConstraint.java | 8 +- .../grad/gjb/cassowary/ClLinearEquation.java | 42 +++-- .../grad/gjb/cassowary/ClLinearExpression.java | 178 +++++++++--------- .../grad/gjb/cassowary/ClLinearInequality.java | 60 +++--- src/EDU/Washington/grad/gjb/cassowary/ClPoint.java | 12 +- .../grad/gjb/cassowary/ClSimplexSolver.java | 194 ++++++++++---------- .../grad/gjb/cassowary/ClStayConstraint.java | 8 +- .../Washington/grad/gjb/cassowary/ClStrength.java | 16 +- .../grad/gjb/cassowary/ClSymbolicWeight.java | 59 +++--- .../Washington/grad/gjb/cassowary/ClTableau.java | 4 +- src/EDU/Washington/grad/gjb/cassowary/ClTests.java | 127 ++++++------- .../Washington/grad/gjb/cassowary/ClVariable.java | 22 ++- 19 files changed, 459 insertions(+), 467 deletions(-) commit 80a076c643392e7834a202e09f3b027212927496 Author: C. Scott Ananian Date: Sun Oct 18 18:48:11 2009 -0400 Simple proof-of-concept using Cassowary to solve a set of breathing constraints. .../Washington/grad/gjb/cassowary/BreatheTest.java | 66 ++++++++++++++++++++ 1 file changed, 66 insertions(+) commit 2a031ad5ed5d18ab933b3d90700e62bb3f682e16 Author: C. Scott Ananian Date: Sun Oct 18 18:47:40 2009 -0400 JUnit-ize the cassowary test suite. src/EDU/Washington/grad/gjb/cassowary/ClTests.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) commit 80c3c53a108d395fff0e2355406e1456c56b37b2 Author: C. Scott Ananian Date: Sun Oct 18 18:47:08 2009 -0400 Add another CL.Minus helper function. src/EDU/Washington/grad/gjb/cassowary/CL.java | 4 ++++ 1 file changed, 4 insertions(+) commit 9fd5c6ee3f3443788c3fbef3ed1219f153322cc9 Author: C. Scott Ananian Date: Sun Oct 18 17:56:02 2009 -0400 Cassowary: Clean up some unnecessary code. .classpath | 1 - lib/java-cup-11a-runtime.jar | Bin 13287 -> 0 bytes .../Washington/grad/gjb/cassowary/ClParseTest.java | 32 - src/EDU/Washington/grad/gjb/cassowary/Makefile.am | 68 --- src/EDU/Washington/grad/gjb/cassowary/Makefile.in | 420 ------------- src/EDU/Washington/grad/gjb/cassowary/Yylex.java | 620 -------------------- .../Washington/grad/gjb/cassowary/demos/.nbattrs | 4 - .../grad/gjb/cassowary/demos/DraggableBox.java | 99 ---- .../grad/gjb/cassowary/demos/Makefile.am | 19 - .../grad/gjb/cassowary/demos/Makefile.in | 300 ---------- .../grad/gjb/cassowary/demos/QuadDemo.java | 270 --------- .../grad/gjb/cassowary/demos/quaddemo.htm | 5 - src/EDU/Washington/grad/gjb/cassowary/parser.java | 541 ----------------- src/EDU/Washington/grad/gjb/cassowary/sym.java | 25 - 14 files changed, 2404 deletions(-) commit b2b4855a7db103bf1b920ed0caff86fbc48a5c30 Author: C. Scott Ananian Date: Sun Oct 18 17:43:11 2009 -0400 Import Cassowary source. Import the source from the Cassowary constraint solver from SourceForge CVS (checked out today, 2009-10-18). .classpath | 1 + lib/java-cup-11a-runtime.jar | Bin 0 -> 13287 bytes src/EDU/Washington/grad/gjb/cassowary/CL.java | 157 +++ src/EDU/Washington/grad/gjb/cassowary/COPYING.LGPL | 444 ++++++++ .../grad/gjb/cassowary/ClAbstractVariable.java | 67 ++ .../grad/gjb/cassowary/ClConstraint.java | 79 ++ .../Washington/grad/gjb/cassowary/ClDouble.java | 79 ++ .../grad/gjb/cassowary/ClDummyVariable.java | 50 + .../grad/gjb/cassowary/ClEditConstraint.java | 37 + .../Washington/grad/gjb/cassowary/ClEditInfo.java | 61 + .../grad/gjb/cassowary/ClEditOrStayConstraint.java | 48 + .../grad/gjb/cassowary/ClLinearConstraint.java | 42 + .../grad/gjb/cassowary/ClLinearEquation.java | 92 ++ .../grad/gjb/cassowary/ClLinearExpression.java | 438 +++++++ .../grad/gjb/cassowary/ClLinearInequality.java | 163 +++ .../grad/gjb/cassowary/ClObjectiveVariable.java | 42 + .../Washington/grad/gjb/cassowary/ClParseTest.java | 32 + src/EDU/Washington/grad/gjb/cassowary/ClPoint.java | 66 ++ src/EDU/Washington/grad/gjb/cassowary/ClReader.cup | 82 ++ .../Washington/grad/gjb/cassowary/ClReader.flex | 103 ++ .../grad/gjb/cassowary/ClSimplexSolver.java | 1200 ++++++++++++++++++++ .../grad/gjb/cassowary/ClSlackVariable.java | 46 + .../grad/gjb/cassowary/ClStayConstraint.java | 37 + .../Washington/grad/gjb/cassowary/ClStrength.java | 64 ++ .../grad/gjb/cassowary/ClSymbolicWeight.java | 154 +++ .../Washington/grad/gjb/cassowary/ClTableau.java | 273 +++++ src/EDU/Washington/grad/gjb/cassowary/ClTests.java | 516 +++++++++ .../Washington/grad/gjb/cassowary/ClVariable.java | 112 ++ .../grad/gjb/cassowary/ExCLConstraintNotFound.java | 21 + .../Washington/grad/gjb/cassowary/ExCLError.java | 22 + .../grad/gjb/cassowary/ExCLInternalError.java | 27 + .../gjb/cassowary/ExCLNonlinearExpression.java | 21 + .../grad/gjb/cassowary/ExCLNotEnoughStays.java | 21 + .../grad/gjb/cassowary/ExCLRequiredFailure.java | 21 + .../grad/gjb/cassowary/ExCLTooDifficult.java | 21 + src/EDU/Washington/grad/gjb/cassowary/LICENSE | 18 + src/EDU/Washington/grad/gjb/cassowary/Makefile.am | 68 ++ src/EDU/Washington/grad/gjb/cassowary/Makefile.in | 420 +++++++ src/EDU/Washington/grad/gjb/cassowary/README | 68 ++ src/EDU/Washington/grad/gjb/cassowary/Set.java | 81 ++ src/EDU/Washington/grad/gjb/cassowary/Timer.java | 78 ++ src/EDU/Washington/grad/gjb/cassowary/Yylex.java | 620 ++++++++++ .../Washington/grad/gjb/cassowary/demos/.nbattrs | 4 + .../grad/gjb/cassowary/demos/DraggableBox.java | 99 ++ .../grad/gjb/cassowary/demos/Makefile.am | 19 + .../grad/gjb/cassowary/demos/Makefile.in | 300 +++++ .../grad/gjb/cassowary/demos/QuadDemo.java | 270 +++++ .../grad/gjb/cassowary/demos/quaddemo.htm | 5 + src/EDU/Washington/grad/gjb/cassowary/parser.java | 541 +++++++++ src/EDU/Washington/grad/gjb/cassowary/sym.java | 25 + 50 files changed, 7255 insertions(+) commit fc5d6a68e5cfc57d16a2b8f6545a1592476d4c42 Author: C. Scott Ananian Date: Sun Oct 18 16:55:19 2009 -0400 Breathing: Ensure we iterate until symmetry condition is resolved. We also add some additional toString() methods to make it easier to see what's going on. src/net/cscott/sdr/calls/Breather.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) commit 0a70dd6d768aaccf6bd9a5b95ac934e5838c5a75 Author: C. Scott Ananian Date: Sun Oct 18 16:52:08 2009 -0400 More breathing work: replace sharedEdges with more accurate handhold count. Replace the old 'shared edges' hack with a count of the number of handholds which would be broken if a given edge was trimmed. This does a better job keeping the centers of diamonds together. src/net/cscott/sdr/calls/Breather.java | 113 +++++++++++++++++++++----------- 1 file changed, 75 insertions(+), 38 deletions(-) commit 46fba5bdb8b3d05c24215570740ecb3948c1095d Author: C. Scott Ananian Date: Sat Oct 17 18:18:30 2009 -0400 Move breathing to separate line so we can put a breakpoint on it. src/net/cscott/sdr/calls/transform/Evaluator.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 020f37966c4585624fb34f30872b09b6479a1b1c Author: C. Scott Ananian Date: Sat Oct 17 18:17:59 2009 -0400 Improve "half of a cross run". resources/net/cscott/sdr/calls/lists/basic.calls | 11 +++- resources/net/cscott/sdr/tests/cross-run-1 | 75 ++++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 1 + 3 files changed, 85 insertions(+), 2 deletions(-) commit d5cfb24a93e794046803ff6a784043bacd2ad1ed Author: C. Scott Ananian Date: Sat Oct 17 16:32:27 2009 -0400 Add a "designated dancer stack" to the DanceState. This allows us to implement calls like "rims ", "bounce ", " tie", and even " run". We need to adjust some doctests after we redefine 'run'. resources/net/cscott/sdr/calls/lists/basic.calls | 29 ++++---- src/net/cscott/sdr/calls/DanceState.java | 28 +++++++- src/net/cscott/sdr/calls/TaggedFormation.java | 12 ++++ src/net/cscott/sdr/calls/lists/BasicList.java | 72 ++++++++++++++++++++ src/net/cscott/sdr/calls/package-info.java | 4 +- src/net/cscott/sdr/calls/transform/Evaluator.java | 10 +++ src/net/cscott/sdr/calls/transform/Fractional.java | 6 +- 7 files changed, 143 insertions(+), 18 deletions(-) commit 92ac7ed3322f91cee2d1c8803d53bb1a1a6f957c Author: C. Scott Ananian Date: Sat Oct 17 16:29:39 2009 -0400 Fix breathing of 1/2 run situation. This was complicated: because we try to resolve unshared edges first, the completely-overlapped X axis of the end dancers (who share fewer edges) was trying to be trimmed (unsuccessfully) before the shared-but-less-overlapped Y axis trim bits. We now put all completely-overlapped trim bits at the end of the list... but this feels like a hack to me; I wouldn't be surprised if I have to revisit this again. But we've got a test case at least to ensure that we don't regress if I end up having to fix this another way. src/net/cscott/sdr/calls/Breather.java | 43 +++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) commit 6a7a10bc0092adee1f8af91b3c003590fab51775 Author: C. Scott Ananian Date: Sat Oct 17 16:12:46 2009 -0400 Improve toString() methods inside Breather. src/net/cscott/sdr/calls/Breather.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) commit 193bc55c3f842b1b6218c64a6d72aa821a1b4095 Author: C. Scott Ananian Date: Sat Oct 17 16:08:01 2009 -0400 Additional notes. notes.txt | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) commit 6880f9d9a00345dd326a01e1d71ba7fe283c5c04 Author: C. Scott Ananian Date: Sat Oct 17 16:07:03 2009 -0400 Fix confusing ordering in hinge-1 test. resources/net/cscott/sdr/tests/hinge-1 | 4 +--- src/net/cscott/sdr/package-info.java | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) commit 6ec4e89b4590b091209872a99344daf9955fde72 Author: C. Scott Ananian Date: Fri Oct 16 10:45:57 2009 -0400 Breathing work: remove unnecessary breathing in 'from' evaluation. We only breathe the input formation to a 'from' -- breathing the input ensures that we don't pile up collisions to the point where we can't resolve them later, and not breathing the output ensures that we don't unnecessarily screw with space invaders and 'do your parts'. (Note that 'input' and 'output' may be reversed from your initial idea here, the 'input' is the meta formation, and the 'output' are the bits we're substituting into the meta.) We still have a breather at top-level -- we'll have to fix that eventually to make calls like "press ahead" work. (Formations with phantoms might also need to avoid breathing -- or they might just instantiate phantoms at the top level so that the breathing works out.) Probably we'll need to set a 'space invader' flag on the formation or in the dance state to inhibit the top-level breather when necessary. resources/net/cscott/sdr/tests/centers | 2 + src/net/cscott/sdr/calls/Breather.java | 26 +++++++++++ src/net/cscott/sdr/calls/transform/Evaluator.java | 48 +++++++++++++++------ 3 files changed, 64 insertions(+), 12 deletions(-) commit 9a7374f21140a33711ddc6d304415602c0808849 Author: C. Scott Ananian Date: Thu Oct 15 14:39:50 2009 -0400 Rework predicate evaluation to allow returning non-boolean types. Previously, something like EQUAL(ADD(1,1),2) could not be evaluated, because there was no way for the ADD(1,1) part to return something other than a boolean. Now we have evaluateAsString/evaluateAsNumber, and we parse: EQUAL(ADD(1,1), 2) as: (Condition equal (Condition add (Condition literal (Condition 1)) (Condition literal (Condition 1))) (Condition literal (Condition 2))) So the only time that the 'predicate' field is interpreted literally as a string is when the 'literal' predicate evaluates its single argument. In the callfile parser, we treat 'num-dancers' as (Condition literal (Condition num-dancers)) but 'num-dancers()' as (Condition equal) This lets us define no-argument predicates that return a non-boolean value. src/net/cscott/sdr/calls/Predicate.java | 16 ++++++ src/net/cscott/sdr/calls/PredicateList.java | 60 ++++++++++++++------ src/net/cscott/sdr/calls/ast/Condition.java | 12 ++-- src/net/cscott/sdr/calls/package-info.java | 2 +- src/net/cscott/sdr/calls/transform/CallFile.g | 4 +- .../cscott/sdr/calls/transform/CallFileBuilder.g | 17 ++++-- 6 files changed, 82 insertions(+), 29 deletions(-) commit 1e9536cc4e87d6dabe0ea6feed40de3845e72433 Author: C. Scott Ananian Date: Thu Oct 15 11:53:45 2009 -0400 Notes on 'do your part'. notes.txt | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) commit 9aae06f3cb4193dee2d7932226f8a9d537b54fec Author: C. Scott Ananian Date: Wed Oct 14 23:31:20 2009 -0400 Clarify starting formation for 'breathing-1' test case. resources/net/cscott/sdr/tests/breathing-1 | 8 ++++++++ 1 file changed, 8 insertions(+) commit 5f6ae9b4c0c7d66f8167d26e1ef85ed89fd86586 Author: C. Scott Ananian Date: Wed Oct 14 21:53:56 2009 -0400 Improve TimedFormation.toString() src/net/cscott/sdr/calls/TimedFormation.java | 11 +++++++++++ 1 file changed, 11 insertions(+) commit b889db86dec37cd840eef92ff3ff571527f3dd3d Author: C. Scott Ananian Date: Wed Oct 14 21:39:28 2009 -0400 Implement DanceState.toString() to facilitate debugging. ..and update doctest to match DanceState.toString() change. src/net/cscott/sdr/calls/DanceState.java | 12 ++++++++++++ src/net/cscott/sdr/calls/transform/Evaluator.java | 3 +-- 2 files changed, 13 insertions(+), 2 deletions(-) commit 7a955921eb4b622b9c99e7fd78152a321ee13ac4 Author: C. Scott Ananian Date: Wed Oct 14 21:41:37 2009 -0400 Rework a doctest w/ which Infinitest kept choking on. src/net/cscott/sdr/calls/TaggedFormation.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) commit 1445b42d387f3ec6343f46045e3a42baea2fbc1d Author: C. Scott Ananian Date: Tue Oct 13 23:48:29 2009 -0400 Improve error message caused by incomplete selects -- include tags involved. src/net/cscott/sdr/calls/transform/Evaluator.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 87635e19467825361ce53f49851f81d7a772c388 Author: C. Scott Ananian Date: Tue Oct 13 23:46:23 2009 -0400 Make sure dancerComparator keeps different dancers unequal. Otherwise the toString() location map is missing some dancers, could have other consequences as well. src/net/cscott/sdr/calls/Formation.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit cda4437001bd40c312081f97ed7984a8b23ada70 Author: C. Scott Ananian Date: Tue Oct 13 23:45:45 2009 -0400 Fix 'centers run' from tidal wave. resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 4 +-- resources/net/cscott/sdr/calls/lists/basic.calls | 39 ++++++++++++---------- resources/net/cscott/sdr/tests/centers | 37 ++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 1 + src/net/cscott/sdr/calls/package-info.java | 4 +-- 5 files changed, 63 insertions(+), 22 deletions(-) commit a2b1be3e90a56b3867a322a0700b7de76b67b6ed Author: C. Scott Ananian Date: Mon Oct 12 01:56:00 2009 -0400 Fix breathing: ensure pieces are centered during an insert into a metaformation. This makes partner hinge from a tidal two-faced line end in a right-hand column, not some trade stair step formation. notes.txt | 2 +- resources/net/cscott/sdr/tests/breathing-1 | 43 ++++++++++++++++++++++++++++ resources/net/cscott/sdr/tests/index | 1 + src/net/cscott/sdr/calls/Breather.java | 14 +++++++++ src/net/cscott/sdr/calls/Formation.java | 2 ++ 5 files changed, 61 insertions(+), 1 deletion(-) commit 6350e65c6c4a4e38359bfd80eea144b0a19cb5f1 Author: C. Scott Ananian Date: Sun Oct 11 22:07:24 2009 -0400 Update notes wrt centers/ends notes.txt | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 63 insertions(+), 6 deletions(-) commit aa58a9cddb583aac4c1605ad970e9b752303438c Author: C. Scott Ananian Date: Sun Oct 11 21:26:06 2009 -0400 Fix DWResolver; add tests; add /resolveStep command to PMSD. Some tests are failing because we don't yet support centers/ends calls. Mark them as such. resources/net/cscott/sdr/tests/dw-resolve | 37 +++++++++++++++++++ resources/net/cscott/sdr/tests/index | 1 + src/net/cscott/sdr/PMSD.java | 9 +++++ src/net/cscott/sdr/package-info.java | 1 + src/net/cscott/sdr/toolbox/DWResolver.java | 55 ++++++++++++++++++++++++++-- 5 files changed, 100 insertions(+), 3 deletions(-) commit 89b581d89bdfeea6407b82d64215d4210e4dfb41 Author: C. Scott Ananian Date: Sun Oct 11 21:17:09 2009 -0400 Add tests for 'tag the line' and variants. resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/tag | 45 ++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) commit 4f49e44a3a71e05466ed2a7f8587ccee2f85d6f9 Author: C. Scott Ananian Date: Sun Oct 11 21:15:37 2009 -0400 Clean up error messages in Fraction transformation. src/net/cscott/sdr/calls/transform/Fractional.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 45328ab82352fdc056a237db7c894029cb93d91e Author: C. Scott Ananian Date: Sun Oct 11 21:03:14 2009 -0400 Don't assert in BeatCounter, throw CantCountBeatsException instead. Bail and use the post-evaluation time adjustment routine when the BeatCounter class fails. src/net/cscott/sdr/calls/transform/BeatCounter.java | 12 +++++++----- src/net/cscott/sdr/calls/transform/RemoveIn.java | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) commit 41b59e55fcab8d3196d7ecf9e69c30b4caa2321f Author: C. Scott Ananian Date: Sun Oct 11 19:57:45 2009 -0400 Fix right arm turns in basic call database. resources/net/cscott/sdr/calls/lists/basic.calls | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 1968b4c69160a953c6ec3e858c6a41a4de96457a Author: C. Scott Ananian Date: Thu Oct 8 21:29:28 2009 -0400 Add 'half tag' (mainstream) and 'three quarter tag' (plus) resources/net/cscott/sdr/calls/lists/basic.calls | 4 +++- resources/net/cscott/sdr/calls/lists/mainstream.calls | 4 ++++ resources/net/cscott/sdr/calls/lists/plus.calls | 4 ++++ 3 files changed, 11 insertions(+), 1 deletion(-) commit 3373044b1b14b457b3c4a324bdf1e9112338838c Author: C. Scott Ananian Date: Wed Oct 7 12:51:36 2009 -0400 Make call parser case-insensitive. src/net/cscott/sdr/calls/CallDB.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e20e6293e493c749360cadb697926b2292cf55bd Author: C. Scott Ananian Date: Wed Oct 7 12:50:52 2009 -0400 Add /setFormationWithDancers help to PMSD. This lets you directly instantiate an abstract formation (RH_COLUMN, say) with specific dancers. src/net/cscott/sdr/PMSD.java | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) commit 0aead3d86648f77e87629b6cfb1ad6f11854ae03 Author: C. Scott Ananian Date: Sat Oct 3 23:14:42 2009 -0400 Formation.map -> Formation.mapStd to make usage from JavaScript doctests easier. Rhino's not too good at resolving overloaded methods; rename the method to make the job easier. src/net/cscott/sdr/calls/Formation.java | 4 ++-- src/net/cscott/sdr/calls/Permutation.java | 5 +++-- src/net/cscott/sdr/calls/TaggedFormation.java | 16 ++++++++-------- 3 files changed, 13 insertions(+), 12 deletions(-) commit 9e603465c4feeb2160eab3da1d035373de3cfcae Author: C. Scott Ananian Date: Sat Oct 3 21:05:22 2009 -0400 Rename Permutation.applyToFormation to Permutation.permute(). src/net/cscott/sdr/calls/Permutation.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 520c48d0d0fcd8f3b0d319f6f35c6ae5163cf706 Author: C. Scott Ananian Date: Sat Oct 3 20:41:00 2009 -0400 Add symmetry test for permutations; fix symmetry of formation permutations. src/net/cscott/sdr/calls/Permutation.java | 49 ++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 8 deletions(-) commit 08b44faf860161f803aff319d38c965a94164ed7 Author: C. Scott Ananian Date: Sat Oct 3 11:14:54 2009 -0400 Script-friendly version of Formation.map() src/net/cscott/sdr/calls/Formation.java | 27 +++++++++++++ src/net/cscott/sdr/calls/Permutation.java | 31 +++++++++++++-- src/net/cscott/sdr/calls/TaggedFormation.java | 53 +++++++++++++++++++++++++ 3 files changed, 108 insertions(+), 3 deletions(-) commit 1aa88135c67d8a9c227fff5c570b80ae11df138f Author: C. Scott Ananian Date: Sat Oct 3 10:19:21 2009 -0400 Convert Formations to/from Permutations. src/net/cscott/sdr/calls/Permutation.java | 68 +++++++++++++++++++++++++++-- 1 file changed, 65 insertions(+), 3 deletions(-) commit df7cf21da4698bbb9da77e1e960d9544505cf3cb Author: C. Scott Ananian Date: Thu Oct 1 14:00:07 2009 -0400 Refactor unusual Formation mapping constructors to usual map() function. src/net/cscott/sdr/calls/Breather.java | 2 +- src/net/cscott/sdr/calls/Formation.java | 5 ++++- src/net/cscott/sdr/calls/TaggedFormation.java | 5 ++++- 3 files changed, 9 insertions(+), 3 deletions(-) commit 2312bb8f61faa4700832787320567f1485fa3ad8 Author: C. Scott Ananian Date: Thu Oct 1 13:41:53 2009 -0400 Clean up imports for Fractional transformation. src/net/cscott/sdr/calls/transform/Fractional.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) commit a084fc20fca29aa1a8114aeea21e676d6167716f Author: C. Scott Ananian Date: Fri Sep 11 23:06:51 2009 -0400 Add Permutation.identity(n) and Permution.permute(List). src/net/cscott/sdr/calls/Permutation.java | 39 ++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) commit 094b35a42906072090eb14ce1552cb76bf778bdf Author: C. Scott Ananian Date: Fri Sep 11 22:38:56 2009 -0400 Permutation.canonical() method. src/net/cscott/sdr/calls/Permutation.java | 79 ++++++++++++++++++++++------- 1 file changed, 61 insertions(+), 18 deletions(-) commit 16e772fae9e79dda7cb00e286ca2eed6e32efbcd Author: C. Scott Ananian Date: Fri Sep 11 11:51:38 2009 -0400 Hash-cons Permutation objects. src/net/cscott/sdr/calls/Permutation.java | 81 +++++++++++++++++++++-------- 1 file changed, 58 insertions(+), 23 deletions(-) commit babda9f7a4c10348f3e84e83a2ae4d02c0936a5f Author: C. Scott Ananian Date: Wed Sep 9 19:02:36 2009 -0400 Permutation class, to represent changes during resolution. src/net/cscott/sdr/calls/Permutation.java | 236 +++++++++++++++++++++++++++++ 1 file changed, 236 insertions(+) commit 4ff0a091e27f55070c2e668a66fe63ade9332bcb Author: C. Scott Ananian Date: Mon Aug 31 20:58:36 2009 -0400 Update to JDoctest-1.5; use JDoctestRunner. .classpath | 3 +- build.xml | 34 ++++++++++++++++++++ lib/dev/jdoctest/jdoctest-1.4.jar | Bin 9575 -> 0 bytes lib/dev/jdoctest/jdoctest-1.5.jar | Bin 0 -> 18605 bytes sample.build.properties | 5 +++ src/net/cscott/sdr/JUnitDocTests.java | 21 ------------ src/net/cscott/sdr/PMSD.java | 3 ++ src/net/cscott/sdr/calls/Breather.java | 3 ++ src/net/cscott/sdr/calls/CallDB.java | 3 ++ src/net/cscott/sdr/calls/DancerPath.java | 3 ++ src/net/cscott/sdr/calls/ExactRotation.java | 4 +++ src/net/cscott/sdr/calls/Formation.java | 5 ++- src/net/cscott/sdr/calls/FormationList.java | 4 +++ .../cscott/sdr/calls/GeneralFormationMatcher.java | 4 +++ src/net/cscott/sdr/calls/NamedTaggedFormation.java | 3 ++ src/net/cscott/sdr/calls/Position.java | 3 ++ src/net/cscott/sdr/calls/PredicateList.java | 4 +++ src/net/cscott/sdr/calls/Program.java | 5 +++ src/net/cscott/sdr/calls/Rotation.java | 4 +++ src/net/cscott/sdr/calls/SelectorList.java | 4 +++ src/net/cscott/sdr/calls/StandardDancer.java | 4 +++ src/net/cscott/sdr/calls/TaggedFormation.java | 3 ++ src/net/cscott/sdr/calls/ast/Apply.java | 4 +++ src/net/cscott/sdr/calls/ast/AstNode.java | 4 +++ src/net/cscott/sdr/calls/ast/If.java | 5 +++ src/net/cscott/sdr/calls/ast/Prim.java | 13 ++++---- src/net/cscott/sdr/calls/grm/CompletionEngine.java | 4 +++ src/net/cscott/sdr/calls/grm/Grm.java | 4 +++ src/net/cscott/sdr/calls/lists/BasicList.java | 4 +++ .../cscott/sdr/calls/transform/BeatCounter.java | 4 +++ .../cscott/sdr/calls/transform/CallFileLoader.java | 4 +++ src/net/cscott/sdr/calls/transform/EvalPrim.java | 4 +++ src/net/cscott/sdr/calls/transform/Evaluator.java | 4 +++ src/net/cscott/sdr/calls/transform/Fractional.java | 4 +++ src/net/cscott/sdr/calls/transform/RemoveIn.java | 4 +++ src/net/cscott/sdr/util/Bezier.java | 5 +++ src/net/cscott/sdr/util/Box.java | 4 +++ src/net/cscott/sdr/util/LL.java | 4 +++ src/net/cscott/sdr/util/ListUtils.java | 5 +++ src/net/cscott/sdr/util/Tools.java | 4 +++ 40 files changed, 177 insertions(+), 29 deletions(-) commit 35779d6d7e8962dd2630e8243b2b6251fb31ad03 Author: C. Scott Ananian Date: Wed Aug 26 11:45:24 2009 -0400 Add basic implementation of Dave Wilson's ocean wave resolve technique. src/net/cscott/sdr/toolbox/DWResolver.java | 110 ++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) commit 09a437fc822bd91f4f8bbdbbfec61e833d7e35bc Author: C. Scott Ananian Date: Sat Jul 25 08:15:27 2009 -0400 Add a few additional doctests. src/net/cscott/sdr/calls/NamedTaggedFormation.java | 5 +++++ src/net/cscott/sdr/calls/TaggedFormation.java | 9 +++++++-- src/net/cscott/sdr/calls/ast/Apply.java | 9 ++++++++- 3 files changed, 20 insertions(+), 3 deletions(-) commit 76addc55032640e6f562268c7e9e2a8b40214169 Author: C. Scott Ananian Date: Wed Jul 15 19:59:35 2009 -0400 Update JUnit test bridge: use Parameterized test runner. lib/dev/jdoctest/jdoctest-1.4.jar | Bin 9437 -> 9575 bytes src/net/cscott/sdr/JUnitDocTests.java | 26 ++++++++++++++------------ 2 files changed, 14 insertions(+), 12 deletions(-) commit 075e4e4ff52168de28a0ddbca5e5acf980634223 Author: C. Scott Ananian Date: Wed Jul 15 18:36:19 2009 -0400 Bridge JDoctest and JUnit, so we can do continuous testing. .classpath | 7 ++----- build.xml | 1 + lib/dev/jdoctest/jdoctest-1.4.jar | Bin 6433 -> 9437 bytes lib/dev/junit-4.1.jar | Bin 112249 -> 0 bytes lib/dev/junit-4.6.jar | Bin 0 -> 218226 bytes src/net/cscott/sdr/JUnitDocTests.java | 19 +++++++++++++++++++ 6 files changed, 22 insertions(+), 5 deletions(-) commit 1249e8213bfe729429e863b3e8e611d326a530b5 Author: C. Scott Ananian Date: Wed Jul 15 15:25:45 2009 -0400 PMSD: support nested invocations sharing the same state object. We also add an 'errorDetails' boolean property to the state object. The idea here is that we can set /errorDetails=true and then /runTest('foobar') and get additional information about the failing part of the test. Perhaps other uses can be found as well -- we can turn on/off parts of the test with something like /if (someVariable) exit; for example. resources/net/cscott/sdr/tests/index | 1 + resources/net/cscott/sdr/tests/pmsd | 29 +++++++ src/net/cscott/sdr/PMSD.java | 154 +++++++++++++++++++++------------- 3 files changed, 125 insertions(+), 59 deletions(-) commit e5f9f473b591a678d71ee6b385596034cd61833f Author: C. Scott Ananian Date: Wed Jul 15 13:56:59 2009 -0400 Split call insertion point from playback pointer. This improves the UI experience a lot, since your insertion point isn't jumping back and forth as engine results come in. Still to come: setting a "keep playing" bit so that the most recently entered call will play automatically when its engine results are returned (and if you can type fast enough, you could "call" a whole dance in real time this way). src/net/cscott/sdr/webapp/client/Model.java | 77 ++++++++++++++++++-------- src/net/cscott/sdr/webapp/client/SDRweb.java | 22 ++++++-- war/SDRweb.css | 4 +- 3 files changed, 74 insertions(+), 29 deletions(-) commit 0884c13dfd904e058ce3e26fb1d366d24da895aa Author: C. Scott Ananian Date: Tue Jul 14 11:55:31 2009 -0400 Keep winding number rotated 180 degrees so that couple #1 stays at the bottom. .../cscott/sdr/webapp/server/DanceEngineServiceImpl.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) commit 25e25df4987f09a5c30957a2e95c8e3bd22e591f Author: C. Scott Ananian Date: Tue Jul 14 11:24:02 2009 -0400 Make hexagon/bigon/octagon actually work properly. The headingMult factors were wrong, and we now keep windings so that they always point directly to the current position, which helps ensure we wrap at the correct times. Also assign initial winding numbers so that we are continuously decreasing as we go around the square CCW from couple #1. .../sdr/webapp/server/DanceEngineServiceImpl.java | 107 ++++++++++++-------- 1 file changed, 67 insertions(+), 40 deletions(-) commit f1ba3fdc9ad87dbd101594a46f72e03d35130f96 Author: C. Scott Ananian Date: Mon Jul 13 19:24:25 2009 -0400 Initial hexagon/bigon/octagon implementation. .../cscott/sdr/webapp/client/EngineResults.java | 4 +- src/net/cscott/sdr/webapp/client/Sequence.java | 15 +- .../sdr/webapp/server/DanceEngineServiceImpl.java | 175 +++++++++++++++++--- 3 files changed, 161 insertions(+), 33 deletions(-) commit c151d49025b21db5372bab442f17a20057abcf6a Author: C. Scott Ananian Date: Mon Jul 13 19:35:56 2009 -0400 Update to SDR from git head (9ffea6f1547b5294b63e04a72ac9f0bb6d2e225e). lib/sdr-src.jar | Bin 738671 -> 749054 bytes war/WEB-INF/lib/sdr.jar | Bin 7787839 -> 7759002 bytes 2 files changed, 0 insertions(+), 0 deletions(-) commit d3490d24d819c53549c88417b080f717ff0a6f6d Author: C. Scott Ananian Date: Mon Jul 13 19:35:21 2009 -0400 Update to GWT/GAE SDK 1.7.0. .settings/com.google.appengine.eclipse.core.prefs | 4 ++-- ...ngine-api-1.0-sdk-1.2.1.jar => appengine-api-1.0-sdk-1.2.2.jar} | Bin 6296757 -> 6510448 bytes war/WEB-INF/lib/datanucleus-appengine-1.0.1.final.jar | Bin 215163 -> 0 bytes war/WEB-INF/lib/datanucleus-appengine-1.0.2.final.jar | Bin 0 -> 223232 bytes war/WEB-INF/lib/datanucleus-core-1.1.0.jar | Bin 1911616 -> 0 bytes war/WEB-INF/lib/datanucleus-core-1.1.4-gae.jar | Bin 0 -> 1932178 bytes war/WEB-INF/lib/datanucleus-jpa-1.1.0.jar | Bin 137737 -> 0 bytes war/WEB-INF/lib/datanucleus-jpa-1.1.4.jar | Bin 0 -> 152761 bytes war/WEB-INF/lib/gwt-servlet.jar | Bin 936744 -> 938019 bytes war/WEB-INF/lib/{jdo2-api-2.3-SNAPSHOT.jar => jdo2-api-2.3-ea.jar} | Bin 179508 -> 194835 bytes 10 files changed, 2 insertions(+), 2 deletions(-) commit 9ffea6f1547b5294b63e04a72ac9f0bb6d2e225e Author: C. Scott Ananian Date: Mon Jul 13 19:10:01 2009 -0400 Update to latest Sphinx4 release (1.0beta2, Feb 2009) lib/sphinx/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar | Bin 11151530 -> 11152735 bytes lib/sphinx/sphinx4.jar | Bin 1407210 -> 823325 bytes src/net/cscott/sdr/recog/SphinxDemo.java | 3 --- 3 files changed, 3 deletions(-) commit 43ad8fab8aefea186f0a296467c60c2a44af3b05 Author: C. Scott Ananian Date: Mon Jul 13 18:24:44 2009 -0400 Note which test cases are currently failing (and where). notes.txt | 2 +- src/net/cscott/sdr/package-info.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) commit d9593ad0d9b096f11290547eb30bb7cf9ec42c51 Author: C. Scott Ananian Date: Mon Jul 13 18:17:07 2009 -0400 Add /runTest('foo') and /runAllTests commands to PMSD. src/net/cscott/sdr/PMSD.java | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) commit ce99397720a38aecf319b8e74b86f2be9a326e65 Author: C. Scott Ananian Date: Mon Jul 13 18:16:48 2009 -0400 Better comments in the test cases. resources/net/cscott/sdr/tests/hinge-1 | 6 ++++-- resources/net/cscott/sdr/tests/index | 7 ++++++- src/net/cscott/sdr/PMSD.java | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) commit 8041b116676176b6d9da12fe35b1132e09af3911 Author: C. Scott Ananian Date: Mon Jul 13 03:34:55 2009 -0400 Avoid creating a BeatCounter when we don't have to (but don't create a loop!) src/net/cscott/sdr/calls/transform/RemoveIn.java | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) commit 7aa9ab9dd8c75173081b5a3d32ebd26fdda2af68 Author: C. Scott Ananian Date: Mon Jul 13 11:10:11 2009 -0400 Add a to-do list to notes.txt. notes.txt | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) commit eee1af4640465c3ad2960fe18ff44e1fb72c51c0 Author: C. Scott Ananian Date: Mon Jul 13 03:41:50 2009 -0400 Add a bunch of new PMSD test cases. resources/net/cscott/sdr/tests/extend-level | 55 +++++++++++++++++++++++ resources/net/cscott/sdr/tests/fan-the-top | 63 +++++++++++++++++++++++++++ resources/net/cscott/sdr/tests/hinge-1 | 44 +++++++++++++++++++ resources/net/cscott/sdr/tests/index | 3 ++ resources/net/cscott/sdr/tests/uturn-basic | 24 +++++----- 5 files changed, 177 insertions(+), 12 deletions(-) commit 21b852db59019c1481b8dc4066968f11b6224f4e Author: C. Scott Ananian Date: Mon Jul 13 03:32:16 2009 -0400 Sort PMSD test case index. src/net/cscott/sdr/PMSD.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 96afd3a4154dd1386c763a9bf1dec205f804a354 Author: C. Scott Ananian Date: Mon Jul 13 03:31:08 2009 -0400 Define fan the top from a two-faced line. resources/net/cscott/sdr/calls/lists/plus.calls | 2 +- src/net/cscott/sdr/calls/FormationList.java | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) commit 46116a4fc0334a866a0e0ccc9a9a25aaf0892b61 Author: C. Scott Ananian Date: Mon Jul 13 02:19:41 2009 -0400 Remove the @deadbeef stuff from Formation.toString() It was causing doctests to fail when some of the hex strings were shorter than the "expected" value. src/net/cscott/sdr/calls/Breather.java | 10 ++++----- src/net/cscott/sdr/calls/Formation.java | 12 +++++----- src/net/cscott/sdr/calls/NamedTaggedFormation.java | 4 ++-- src/net/cscott/sdr/calls/TaggedFormation.java | 4 ++-- src/net/cscott/sdr/calls/transform/EvalPrim.java | 2 +- src/net/cscott/sdr/util/SdrToString.java | 23 ++++++++++++++++++++ 6 files changed, 39 insertions(+), 16 deletions(-) commit 2d6445390893636c9f781f2df5cb32f9d12136fd Author: C. Scott Ananian Date: Mon Jul 13 01:19:12 2009 -0400 More precise symmetry test handles match such as n| with partial specificity. .../cscott/sdr/calls/GeneralFormationMatcher.java | 22 ++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) commit d0e734cabc1a16f31c43346740cc641bc0d5ae55 Author: C. Scott Ananian Date: Mon Jul 13 01:18:30 2009 -0400 Change GENERAL_PARTNERS to || src/net/cscott/sdr/calls/FormationList.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit de47aad201390629b0672b3f396f78f16755346b Author: C. Scott Ananian Date: Sun Jul 12 23:43:26 2009 -0400 Fix u-turn direction when you have mixed couples and miniwaves. resources/net/cscott/sdr/calls/lists/basic.calls | 14 ++++---- resources/net/cscott/sdr/tests/index | 3 +- resources/net/cscott/sdr/tests/uturn-mixed | 42 ++++++++++++++++++++++ src/net/cscott/sdr/calls/FormationList.java | 3 ++ src/net/cscott/sdr/calls/SelectorList.java | 2 ++ src/net/cscott/sdr/calls/package-info.java | 4 +-- 6 files changed, 59 insertions(+), 9 deletions(-) commit dd286236a1b736f27794f1945a419ce36abe91f1 Author: C. Scott Ananian Date: Sun Jul 12 23:12:55 2009 -0400 Fix loss of roll direction during 'roll'. As demonstrated with the committed test case for "u turn back and roll". resources/net/cscott/sdr/tests/index | 2 +- resources/net/cscott/sdr/tests/uturn-basic | 128 ++++++++++++++++++++++++++ src/net/cscott/sdr/calls/DanceState.java | 2 +- src/net/cscott/sdr/calls/ast/Prim.java | 2 +- src/net/cscott/sdr/calls/lists/PlusList.java | 17 ++-- 5 files changed, 140 insertions(+), 11 deletions(-) commit 8655cd402f5dd47629a0395c5dbc068824d4ef11 Author: C. Scott Ananian Date: Sun Jul 12 23:15:15 2009 -0400 Allow comments in the initial lines of PMSD test cases. resources/net/cscott/sdr/tests/extend-basic | 2 ++ resources/net/cscott/sdr/tests/index | 1 + src/net/cscott/sdr/PMSD.java | 50 +++++++++++++++++++++------ 3 files changed, 42 insertions(+), 11 deletions(-) commit 831080aa2dcdcecc97a17bd6bc2f595644858f25 Author: C. Scott Ananian Date: Sun Jul 12 22:07:06 2009 -0400 Hook up doctests based on PMSD test cases in resources/net/cscott/sdr/tests. build.xml | 17 ++++- resources/net/cscott/sdr/tests/extend-basic | 21 ++++++ resources/net/cscott/sdr/tests/index | 3 + src/net/cscott/sdr/PMSD.java | 105 ++++++++++++++++++++++----- src/net/cscott/sdr/package-info.java | 2 + 5 files changed, 129 insertions(+), 19 deletions(-) commit d8baffdad5337196118db9ab7844499c12d34c79 Author: C. Scott Ananian Date: Sun Jul 12 20:28:53 2009 -0400 Add PMSD.runTest() to run a test case from the command line or doctest. run-pmsd.sh | 2 +- src/net/cscott/sdr/PMSD.java | 107 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+), 1 deletion(-) commit 107e3a4ee1a12b26fc66026bfc869cb3f8d98d27 Author: C. Scott Ananian Date: Sun Jul 12 19:18:26 2009 -0400 Improve FormationList -- apply missing tags to parallel lines. src/net/cscott/sdr/calls/FormationList.java | 74 +++++++++++++++++++-------- 1 file changed, 52 insertions(+), 22 deletions(-) commit d00c34ba030f16c9ed14713ad21a7530c0264169 Author: C. Scott Ananian Date: Sun Jul 12 19:05:41 2009 -0400 Make "u turn back" from couples/miniwaves work. resources/net/cscott/sdr/calls/lists/basic.calls | 2 +- src/net/cscott/sdr/calls/lists/BasicList.java | 7 ++++++- src/net/cscott/sdr/calls/transform/BeatCounter.java | 3 +++ src/net/cscott/sdr/calls/transform/RemoveIn.java | 9 ++++++++- 4 files changed, 18 insertions(+), 3 deletions(-) commit 4d5939e8a89c2281ad3be074e529b0ee2d8c4132 Author: C. Scott Ananian Date: Sun Jul 12 17:47:50 2009 -0400 Refactor PMSD frontend to more easily allow file input/doctesting. src/net/cscott/sdr/PMSD.java | 54 ++++++++++++++++++++++++++++++++---------- 1 file changed, 41 insertions(+), 13 deletions(-) commit 196a6f4360bb934b8bc96e9c51e818fac8f6196c Author: C. Scott Ananian Date: Sun Jul 12 16:54:48 2009 -0400 Improve PMSD by adding a custom Java Host object to the Javascript scope. This allows commands like: /program = Program.BASIC; setFormation(Formation.FOUR_SQUARE) /printFormation etc. src/net/cscott/sdr/PMSD.java | 76 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 65 insertions(+), 11 deletions(-) commit 7a27bb94c466467897f295eeb196285c7076081a Author: C. Scott Ananian Date: Sun Jul 12 15:43:17 2009 -0400 Add PMSD.State to the scope chain for javascript evaluation. This lets us use commands like: /exit() to invoke PMSD.State.exit(). But I think I want to use a custom host object so I can use setters and getters to make the syntax more natural. src/net/cscott/sdr/PMSD.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) commit 51a971d1684fd7276f06c10a9f43d5114eaf6e4d Author: C. Scott Ananian Date: Sun Jul 12 15:24:13 2009 -0400 Add PMSD, a very simple text-based frontend for testing and debugging. .classpath | 2 + build.xml | 1 + run-pmsd.sh | 2 + src/net/cscott/sdr/PMSD.java | 177 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 182 insertions(+) commit d7c869ebacceb9a18e663fb751e45b7cf9a0f576 Author: C. Scott Ananian Date: Sun Jul 12 09:50:56 2009 -0400 Error reporting improvements. Split formation name and reason in the NoMatchException constructor, so we can construct meaningful messages for compound NoMatchExceptions from ORs and the line. Name formations joined by OR for this purpose as well. Improve messages generated by Evaluators and OR selectors (and update doctests!) Use NamedTaggedFormation for _ends_in to make sure we don't lose the selector name! Also use NamedTaggedFormation for ANY and NONE selectors. src/net/cscott/sdr/calls/FormationList.java | 16 ++-- .../cscott/sdr/calls/GeneralFormationMatcher.java | 19 +++-- src/net/cscott/sdr/calls/NamedTaggedFormation.java | 16 ++++ src/net/cscott/sdr/calls/NoMatchException.java | 7 +- src/net/cscott/sdr/calls/SelectorList.java | 79 +++++++++++++------- src/net/cscott/sdr/calls/package-info.java | 4 +- src/net/cscott/sdr/calls/transform/Evaluator.java | 40 +++++++--- 7 files changed, 124 insertions(+), 57 deletions(-) commit 2b165cd11e7b7f5721e32e61f821e1d6c6412bdf Author: C. Scott Ananian Date: Sun Jul 12 15:20:16 2009 -0400 Bug fix: ensure that Apply.expand() throws BadCallException on failure. It was using CallDB.lookup(), which was throwing IllegalArgumentException. src/net/cscott/sdr/calls/ast/Apply.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 245c2490183fac8c7dc03b095909a28ab4153ce0 Author: C. Scott Ananian Date: Sun Jul 12 10:22:32 2009 -0400 Suppress warnings. src/net/cscott/sdr/calls/Timed.java | 4 ++-- src/net/cscott/sdr/calls/TimedAction.java | 2 +- src/net/cscott/sdr/calls/TimedFormation.java | 2 +- src/net/cscott/sdr/calls/TimedPosition.java | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) commit 63b6a26b6ecad417191d40ba1de0b2e8ff5b7fd6 Author: C. Scott Ananian Date: Sat Jul 11 16:34:42 2009 -0400 Deprecate getProperWhole() since it's dangerous for negative arguments. The sign is supposed to be included in the "proper whole" part, but there's no way to represent negative 0 for arguments between -1 and 0. Introduce new floor() method which is a safer alternative. Also add quantize() method, which can be used to round if that's what's wanted. src/net/cscott/sdr/calls/ExactRotation.java | 2 +- src/net/cscott/sdr/calls/Rotation.java | 4 ++-- src/net/cscott/sdr/calls/lists/BasicList.java | 7 +++---- src/net/cscott/sdr/util/Fraction.java | 15 +++++++++++++++ 4 files changed, 21 insertions(+), 7 deletions(-) commit 1dbf5d8ad458b4f64c9727946d121bf9c657f77d Author: C. Scott Ananian Date: Sat Jul 11 16:02:28 2009 -0400 Notes on _blend pseudo-concept. notes.txt | 9 +++++++++ 1 file changed, 9 insertions(+) commit e55f092a15490d78ddc8d6e117040d94769cd8df Author: C. Scott Ananian Date: Sat Jul 11 16:01:47 2009 -0400 Move minSweep() method from DancerPath into ExactRotation. src/net/cscott/sdr/calls/DancerPath.java | 26 +++----------------------- src/net/cscott/sdr/calls/ExactRotation.java | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 23 deletions(-) commit bba413feda52c3e034d10278fef375aaf1a7a893 Author: C. Scott Ananian Date: Fri Jul 10 19:12:32 2009 -0400 Add starting formation menu; make two couple dancing work. src/net/cscott/sdr/webapp/client/Model.java | 11 ++++++++++ src/net/cscott/sdr/webapp/client/SDRweb.java | 10 +++++++++ src/net/cscott/sdr/webapp/client/Sequence.java | 6 ++++-- .../sdr/webapp/server/DanceEngineServiceImpl.java | 22 +++++++++++++++----- 4 files changed, 42 insertions(+), 7 deletions(-) commit 6f5efea770da26c657dab8de4d0399ec8e2ae7f5 Author: C. Scott Ananian Date: Fri Jul 10 10:16:13 2009 -0400 We don't need to manually breathe now that we're using a breathing evaluator. src/net/cscott/sdr/webapp/server/DanceEngineServiceImpl.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit d262db291201f5c8a8c6cdc5cf8c6f20e2d9ffc3 Author: C. Scott Ananian Date: Fri Jul 10 10:12:29 2009 -0400 Display starting formation, even when no calls have been entered. src/net/cscott/sdr/webapp/server/DanceEngineServiceImpl.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) commit e121d5e6635cfc2cd5a3d1224107eb164e5bde95 Author: C. Scott Ananian Date: Fri Jul 10 10:12:03 2009 -0400 Breathe all formations during evaluation. src/net/cscott/sdr/webapp/server/DanceEngineServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 0aae609332359a8ab5350665699d438fae6a617a Author: C. Scott Ananian Date: Thu Jul 9 21:33:34 2009 -0400 Alternate definition of lead right that lets you do half. This also improves the animation and ensures we don't show a wheel thru. resources/net/cscott/sdr/calls/lists/basic.calls | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) commit ed681b6e6b3f1a843fb319377cbd420a1e403ea3 Author: C. Scott Ananian Date: Thu Jul 9 13:14:55 2009 -0400 Allow "do half of a fan the top". Add an intermediate halfway point for the fan the top definition. This improves the animation, as the breathing now happens in two stages instead of all at once at the end. In order to make this work, I also had to extend the call file grammar to accept 1/8 rotations, and the Ast grammar to accept negative fractions as rotation amounts. resources/net/cscott/sdr/calls/lists/plus.calls | 17 +++++++--- src/net/cscott/sdr/calls/ast/Ast.g | 3 +- src/net/cscott/sdr/calls/transform/CallFile.g | 23 ++++++++++---- .../cscott/sdr/calls/transform/CallFileBuilder.g | 12 +++---- src/net/cscott/sdr/calls/transform/EvalPrim.java | 13 +++++++- src/net/cscott/sdr/calls/transform/Evaluator.java | 33 ++++++++++++++++++++ 6 files changed, 83 insertions(+), 18 deletions(-) commit 3dbda085bc1ae0b4ba5a26ae8447b36705789def Author: C. Scott Ananian Date: Wed Jul 8 21:49:19 2009 -0400 Breathe formations as we compose them in the MetaEvaluator. This ensures that we resolve collisions, and is good to use in the top-level evaluator to make sure the formations we animate are appropriately composed. src/net/cscott/sdr/calls/transform/Evaluator.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) commit 64241d84812db50e301177b1fa0b36df1bd81da0 Author: C. Scott Ananian Date: Wed Jul 8 11:32:19 2009 -0400 Rework evaluation of In. We resurrect the 'RemoveIn' class and rework it a bit to make it actually useful (instead of interesting but dead code). We avoid pushing In nodes down 'too far' so we don't do unnecessary work on the 'wrong side' of a If or Opt -- but be careful when writing recursive definitions, because the BeatCounter does recurse. Careful placement of In nodes (so that recursion is not necessary) avoids this: eg, instead of putting a "2 beats per hand" In at the top of the square thru N definition (which would require recursion to count and then evenly distribute the beats) we push the Ins down in the definition so that each part has an appropriate number of beats. Since recursive call definitions are rare, we don't expect this to be a problem in practice. We also add an '_in' pseudo-concept, so that we can push In nodes into Apply nodes without expanding them, and rewrite the definition of 'square thru' to use this concept. resources/net/cscott/sdr/calls/lists/basic.calls | 14 ++-- src/net/cscott/sdr/calls/lists/BasicList.java | 16 ++++- src/net/cscott/sdr/calls/package-info.java | 4 +- .../cscott/sdr/calls/transform/BeatCounter.java | 41 ++++++----- src/net/cscott/sdr/calls/transform/Evaluator.java | 5 ++ src/net/cscott/sdr/calls/transform/RemoveIn.java | 74 +++++++++++--------- .../cscott/sdr/calls/transform/package-info.java | 13 ++++ 7 files changed, 102 insertions(+), 65 deletions(-) commit a1b17fe29840ee886e16e4f8829009a05be20dbc Author: C. Scott Ananian Date: Wed Jul 8 11:23:40 2009 -0400 Remove old external tool builder defs for ANTLR v2 eclipse integration. .project | 30 ------------------------------ 1 file changed, 30 deletions(-) commit 76eda242cb4536f055a3069dc56e18967c7a1d8e Author: C. Scott Ananian Date: Mon Jul 6 05:35:21 2009 -0400 Update to SDR 0.5. lib/sdr-src.jar | Bin 727541 -> 738671 bytes war/WEB-INF/lib/sdr.jar | Bin 7730105 -> 7787839 bytes 2 files changed, 0 insertions(+), 0 deletions(-) commit 099e6a3b2dd74104c409d03f653a36af61c0cf61 Author: C. Scott Ananian Date: Mon Jul 6 04:55:15 2009 -0400 Release SDR 0.5. build.xml | 2 +- upload.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 458b94b36de9f82f6f5fe3f7a572e7085b3dbb33 Author: C. Scott Ananian Date: Mon Jul 6 05:05:03 2009 -0400 Add beginnings of c2 list. resources/net/cscott/sdr/calls/lists/c2.calls | 7 +++++++ src/net/cscott/sdr/calls/CallDB.java | 1 + 2 files changed, 8 insertions(+) commit 5d4ad675a8b732bfb79dc7719acc18fe08dcf32e Author: C. Scott Ananian Date: Mon Jul 6 04:36:28 2009 -0400 Improve error reporting in Evaluator. src/net/cscott/sdr/calls/transform/Evaluator.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) commit 27804ed1cc6d69ee45891ef5dcc8f9188aad0781 Author: C. Scott Ananian Date: Mon Jul 6 04:31:05 2009 -0400 Document 'square expansion' idea for smooth animation. notes.txt | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) commit 5ada483c444c384391f884978ecafcbcb738e8df Author: C. Scott Ananian Date: Mon Jul 6 04:30:52 2009 -0400 Fix timing of square thru N. "2 beats per hand" is what Callerlab says. resources/net/cscott/sdr/calls/lists/basic.calls | 21 ++++++++++++++++----- src/net/cscott/sdr/calls/package-info.java | 2 +- 2 files changed, 17 insertions(+), 6 deletions(-) commit efce1d0b6ceacee7ba32f956129d253706bfacd5 Author: C. Scott Ananian Date: Mon Jul 6 03:29:26 2009 -0400 Use 'Not on list' as message for call parsing errors. src/net/cscott/sdr/calls/CallDB.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 274434138c69baa553b28da77bb6ebc693dda1bc Author: C. Scott Ananian Date: Mon Jul 6 03:36:32 2009 -0400 Teach eclipse that sdr-src.jar has the source for sdr.jar. .classpath | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c1a25149cdb3fc8dafeca0e6e5221a5bb87a73e8 Author: C. Scott Ananian Date: Mon Jul 6 03:26:33 2009 -0400 Allow dashes in call names ("u-turn back", "all-eight circulate"). Dashes are tricky because they're not present in spoken input. src/net/cscott/sdr/calls/CallDB.java | 2 +- src/net/cscott/sdr/calls/grm/CompletionEngine.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 73c8e59075146f33ee26266d49f26fc6545b175c Author: C. Scott Ananian Date: Mon Jul 6 03:25:45 2009 -0400 Hack up a definition of 'fan the top' which doesn't use 'concentric'. resources/net/cscott/sdr/calls/lists/plus.calls | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 3fb307bc46c18744e349844d7a9a631d3f578d3e Author: C. Scott Ananian Date: Mon Jul 6 03:24:38 2009 -0400 Simple definition of 'swing' (used in definition of 'spin the top'). resources/net/cscott/sdr/calls/lists/a2.calls | 5 +++++ 1 file changed, 5 insertions(+) commit 8192a48f28bd3e814498117cfad3845a9013efa1 Author: C. Scott Ananian Date: Mon Jul 6 03:23:52 2009 -0400 Bezier class is unused in GWT client (it defines its own simplified version). src/net/cscott/SDRbase.gwt.xml | 1 - 1 file changed, 1 deletion(-) commit 7aa6a3cd61778219cc7952e3108cc7f6329e0722 Author: C. Scott Ananian Date: Mon Jul 6 02:35:03 2009 -0400 Allow 'do half of an all eight circulate' (with the 'an'). src/net/cscott/sdr/calls/lists/BasicList.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 7a2ff3b3682dbc6b7a207261600b3ff80f6edce1 Author: C. Scott Ananian Date: Mon Jul 6 02:34:31 2009 -0400 Define centers/ends of RH and LH waves. src/net/cscott/sdr/calls/FormationList.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 3d3b93e60b52e34e89ff98a98c4fa701c83657f9 Author: C. Scott Ananian Date: Mon Jul 6 02:33:39 2009 -0400 Update doctests to match last commit (path velocity fix). src/net/cscott/sdr/calls/DancerPath.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) commit e83df9916d23895f253d6b473c493a42f40e4042 Author: C. Scott Ananian Date: Sun Jul 5 18:53:21 2009 -0400 Fix the bezier velocity computation. src/net/cscott/sdr/calls/DancerPath.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit ffa352b3d2ff10616e0f7d181eb43be17b221b13 Author: C. Scott Ananian Date: Sun Jul 5 17:32:31 2009 -0400 Fix bug where error division is not shown if the first call is bad. war/SDRweb.css | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 548b3fec5d822c00ae48e92238c48203bf70ba8c Author: C. Scott Ananian Date: Sun Jul 5 15:38:14 2009 -0400 Return dancer paths from engine; hook up dancer animations. Requires an updated sdr.jar src/net/cscott/sdr/webapp/client/DanceFloor.java | 3 + .../cscott/sdr/webapp/client/EngineResults.java | 110 +++++++++++++++----- src/net/cscott/sdr/webapp/client/Position.java | 10 ++ src/net/cscott/sdr/webapp/client/SDRweb.java | 24 +++-- .../sdr/webapp/server/DanceEngineServiceImpl.java | 50 ++++++++- war/WEB-INF/lib/sdr.jar | Bin 7726759 -> 7730105 bytes 6 files changed, 159 insertions(+), 38 deletions(-) commit bcbc9798b206caf21a96afdb27c97f988b53713e Author: C. Scott Ananian Date: Sun Jul 5 17:27:27 2009 -0400 Check in SVG version of iPhone loading screen. images/loading-iphone.svg | 1132 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1132 insertions(+) commit dbd1f7c412627b7e5f7dc55863fe8e04e21d639e Author: C. Scott Ananian Date: Sun Jul 5 17:26:21 2009 -0400 Fix DancerPath beziers so that they work with 'stand still' and 'turn in place' We also improve the beziers returned for linear direction transitions to make the change in angle more linear (ie, return a path closer to a circular arc). src/net/cscott/sdr/calls/DancerPath.java | 102 ++++++++++++++++++++++++++---- 1 file changed, 90 insertions(+), 12 deletions(-) commit 638254cba17b6b2384eb515275347d545b22c9f7 Author: C. Scott Ananian Date: Sun Jul 5 17:25:37 2009 -0400 Tweak javadoc for Rotation.normalize(). src/net/cscott/sdr/calls/Rotation.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9c256308e05fb5ec31de67b8c74d435970608e82 Author: C. Scott Ananian Date: Sun Jul 5 17:25:12 2009 -0400 Small improvements to Point and Bezier. src/net/cscott/sdr/util/Bezier.java | 15 ++++++++++----- src/net/cscott/sdr/util/Point.java | 1 + 2 files changed, 11 insertions(+), 5 deletions(-) commit 03b4a278567fe1c4bb250aac0fdc9cf8feb5be7a Author: C. Scott Ananian Date: Sun Jul 5 14:05:55 2009 -0400 Initial version of DancerPath and timing cache. I'm going to have to redo the caches as sorted lists instead of sorted maps, since GWT doesn't support SortedMap.floorEntry (yet?). .../cscott/sdr/webapp/client/EngineResults.java | 82 ++++++++++++++++++-- src/net/cscott/sdr/webapp/client/SDRweb.java | 11 +-- .../sdr/webapp/server/DanceEngineServiceImpl.java | 2 +- 3 files changed, 78 insertions(+), 17 deletions(-) commit bb9817ee2f1e06df7b80dba0c9bf68a8acd479e5 Author: C. Scott Ananian Date: Sun Jul 5 13:08:36 2009 -0400 Center the formation on the dance floor; use 'dance floor' coordinates. src/net/cscott/sdr/webapp/client/DanceFloor.java | 26 +++++++++++++++++++--- src/net/cscott/sdr/webapp/client/SDRweb.java | 19 +++++----------- 2 files changed, 28 insertions(+), 17 deletions(-) commit b4e12aa7e17493182468213c7624fbcedc666c7d Author: C. Scott Ananian Date: Sun Jul 5 12:28:58 2009 -0400 Adjust call name/error layout so that they overlay the dance floor. src/net/cscott/sdr/webapp/client/SDRweb.java | 18 +++++++++++------- war/SDRweb.css | 12 ++++++++++++ war/SDRweb.html | 2 +- 3 files changed, 24 insertions(+), 8 deletions(-) commit 5c4c0edb539d5080431742a43f8db4ac1001482f Author: C. Scott Ananian Date: Sun Jul 5 15:35:48 2009 -0400 Fix primitive tags on StandardDancers; add test cases. src/net/cscott/sdr/calls/StandardDancer.java | 93 +++++++++++++++++++++++--- 1 file changed, 84 insertions(+), 9 deletions(-) commit 02399e365b19514951bd86279e35731e3f5b281d Author: C. Scott Ananian Date: Sun Jul 5 10:53:56 2009 -0400 Add DanceFloor component, and position it. Adjust the height of the canvas panel so that the dance floor doesn't overlap the play bar. Add some sample dancers so we can see that everything's working. src/net/cscott/sdr/webapp/client/DanceFloor.java | 65 ++++++++++++++++++++ src/net/cscott/sdr/webapp/client/Dancer.java | 2 + src/net/cscott/sdr/webapp/client/DancerCanvas.java | 1 + src/net/cscott/sdr/webapp/client/DancerSimple.java | 1 + src/net/cscott/sdr/webapp/client/SDRweb.java | 18 +++--- war/SDRweb.css | 17 +++++ 6 files changed, 97 insertions(+), 7 deletions(-) commit 0a0de1abecadbb9741e6af54baceedaab3b09b57 Author: C. Scott Ananian Date: Sun Jul 5 10:53:20 2009 -0400 The empty string is not a valid call. src/net/cscott/sdr/webapp/client/SDRweb.java | 1 + 1 file changed, 1 insertion(+) commit 00e5616542d1e74b8c05d5e30c02d4398873560c Author: C. Scott Ananian Date: Sun Jul 5 02:09:55 2009 -0400 Add with/without canvas Dancer classes to draw dancer images. .settings/com.google.gwt.eclipse.core.prefs | 4 +- src/net/cscott/sdr/webapp/SDRweb.gwt.xml | 8 +- .../cscott/sdr/webapp/client/DanceFloorCanvas.java | 23 ---- .../cscott/sdr/webapp/client/DanceFloorSimple.java | 10 -- .../webapp/client/{DanceFloor.java => Dancer.java} | 5 +- src/net/cscott/sdr/webapp/client/DancerCanvas.java | 79 +++++++++++ src/net/cscott/sdr/webapp/client/DancerSimple.java | 138 ++++++++++++++++++++ src/net/cscott/sdr/webapp/client/SDRweb.java | 3 +- 8 files changed, 228 insertions(+), 42 deletions(-) commit e35e622f8b39f758ac9f84d541a689022a28476f Author: C. Scott Ananian Date: Sat Jul 4 20:43:03 2009 -0400 Add canvas tests for dancer images; generate static images for hosted mode. .../cscott/sdr/webapp/client/dancers/boy-0-bl.png | Bin 0 -> 605 bytes .../cscott/sdr/webapp/client/dancers/boy-0-rd.png | Bin 0 -> 601 bytes .../cscott/sdr/webapp/client/dancers/boy-1-bl.png | Bin 0 -> 744 bytes .../cscott/sdr/webapp/client/dancers/boy-1-rd.png | Bin 0 -> 764 bytes .../cscott/sdr/webapp/client/dancers/boy-2-bl.png | Bin 0 -> 607 bytes .../cscott/sdr/webapp/client/dancers/boy-2-rd.png | Bin 0 -> 607 bytes .../cscott/sdr/webapp/client/dancers/boy-3-bl.png | Bin 0 -> 743 bytes .../cscott/sdr/webapp/client/dancers/boy-3-rd.png | Bin 0 -> 760 bytes .../cscott/sdr/webapp/client/dancers/boy-4-bl.png | Bin 0 -> 602 bytes .../cscott/sdr/webapp/client/dancers/boy-4-rd.png | Bin 0 -> 602 bytes .../cscott/sdr/webapp/client/dancers/boy-5-bl.png | Bin 0 -> 741 bytes .../cscott/sdr/webapp/client/dancers/boy-5-rd.png | Bin 0 -> 759 bytes .../cscott/sdr/webapp/client/dancers/boy-6-bl.png | Bin 0 -> 609 bytes .../cscott/sdr/webapp/client/dancers/boy-6-rd.png | Bin 0 -> 611 bytes .../cscott/sdr/webapp/client/dancers/boy-7-bl.png | Bin 0 -> 739 bytes .../cscott/sdr/webapp/client/dancers/boy-7-rd.png | Bin 0 -> 755 bytes src/net/cscott/sdr/webapp/client/dancers/gen1.html | 178 ++++++++++++++++++ src/net/cscott/sdr/webapp/client/dancers/gen2.html | 189 ++++++++++++++++++++ .../cscott/sdr/webapp/client/dancers/girl-0-bl.png | Bin 0 -> 1024 bytes .../cscott/sdr/webapp/client/dancers/girl-0-rd.png | Bin 0 -> 1044 bytes .../cscott/sdr/webapp/client/dancers/girl-1-bl.png | Bin 0 -> 1060 bytes .../cscott/sdr/webapp/client/dancers/girl-1-rd.png | Bin 0 -> 1072 bytes .../cscott/sdr/webapp/client/dancers/girl-2-bl.png | Bin 0 -> 1014 bytes .../cscott/sdr/webapp/client/dancers/girl-2-rd.png | Bin 0 -> 1026 bytes .../cscott/sdr/webapp/client/dancers/girl-3-bl.png | Bin 0 -> 1059 bytes .../cscott/sdr/webapp/client/dancers/girl-3-rd.png | Bin 0 -> 1063 bytes .../cscott/sdr/webapp/client/dancers/girl-4-bl.png | Bin 0 -> 1029 bytes .../cscott/sdr/webapp/client/dancers/girl-4-rd.png | Bin 0 -> 1045 bytes .../cscott/sdr/webapp/client/dancers/girl-5-bl.png | Bin 0 -> 1072 bytes .../cscott/sdr/webapp/client/dancers/girl-5-rd.png | Bin 0 -> 1084 bytes .../cscott/sdr/webapp/client/dancers/girl-6-bl.png | Bin 0 -> 1014 bytes .../cscott/sdr/webapp/client/dancers/girl-6-rd.png | Bin 0 -> 1022 bytes .../cscott/sdr/webapp/client/dancers/girl-7-bl.png | Bin 0 -> 1060 bytes .../cscott/sdr/webapp/client/dancers/girl-7-rd.png | Bin 0 -> 1058 bytes 34 files changed, 367 insertions(+) commit 8c43def47ebe0fc203fafc70dfa8b0feae42d446 Author: C. Scott Ananian Date: Sat Jul 4 20:42:14 2009 -0400 Draft in support for location services on Safari. We'll stick this in the database and make a nice map of SDR users once GAE's Java interface to the datastore supports GeoPt. src/net/cscott/sdr/webapp/client/SDRweb.java | 51 ++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) commit e0ca144e6035b0ac6f9a8333902e5ae57c1863ad Author: C. Scott Ananian Date: Sat Jul 4 17:14:49 2009 -0400 UI/CSS styling improvements. src/net/cscott/sdr/webapp/client/SDRweb.java | 21 ++++++--------------- war/SDRweb.css | 11 +---------- 2 files changed, 7 insertions(+), 25 deletions(-) commit d5230330930220d0354b2b4941963a0363f87b72 Author: C. Scott Ananian Date: Sat Jul 4 16:28:43 2009 -0400 iPhone improvements: page scaling, loading screen, no autocapitalization. src/net/cscott/sdr/webapp/client/SDRweb.java | 2 ++ src/net/cscott/sdr/webapp/public/loading-iphone.png | Bin 0 -> 81630 bytes war/SDRweb.css | 3 +++ war/SDRweb.html | 7 ++++--- 4 files changed, 9 insertions(+), 3 deletions(-) commit a20756ea5cb3c81ccc8afea056cd457a4bfdbb2f Author: C. Scott Ananian Date: Sat Jul 4 12:50:54 2009 -0400 Move images into an ImageBundle (also add icon for 'add'). src/net/cscott/sdr/webapp/client/SDRweb.java | 38 +- src/net/cscott/sdr/webapp/client/icon_add.png | Bin 0 -> 323 bytes .../icon_close_button.png} | Bin 304 -> 304 bytes .../icon_media_pause.png} | Bin 464 -> 464 bytes .../icon_media_play.png} | Bin 660 -> 660 bytes .../cscott/sdr/webapp/public/stock_media-pause.svg | 641 -------------------- .../cscott/sdr/webapp/public/stock_media-play.svg | 319 ---------- 7 files changed, 25 insertions(+), 973 deletions(-) commit 206ccfa6642fadb8cdfd1cc6d577227f24f66e8c Author: C. Scott Ananian Date: Sat Jul 4 12:13:39 2009 -0400 Detect canvas support for easier debugging in hosted mode on non-Mac. src/net/cscott/sdr/webapp/SDRweb.gwt.xml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) commit 131187504777e7b88070a66ea07b451455f59a26 Author: C. Scott Ananian Date: Sat Jul 4 10:33:41 2009 -0400 Convert DancerPaths to beziers for position and direction. src/net/cscott/sdr/calls/DancerPath.java | 204 +++++++++++++++++++++++++++++- src/net/cscott/sdr/util/Bezier.java | 113 +++++++++++++++++ src/net/cscott/sdr/util/Point.java | 9 ++ 3 files changed, 319 insertions(+), 7 deletions(-) commit 0247dc979c717bd240e9a6319aa560b7fd396af0 Author: C. Scott Ananian Date: Fri Jul 3 19:55:47 2009 -0400 Normalize the calls entered. src/net/cscott/sdr/webapp/client/Model.java | 2 ++ 1 file changed, 2 insertions(+) commit e4ad3aea86f9edd1daf0b45f00c73f5aa4229fb2 Author: C. Scott Ananian Date: Fri Jul 3 19:55:05 2009 -0400 Update sdr.jar file, with bugfixes to call parsing. (We throw BadCallException for bad calls now.) war/WEB-INF/lib/sdr.jar | Bin 7725793 -> 7726759 bytes 1 file changed, 0 insertions(+), 0 deletions(-) commit 0c5a1523235dba432b66bdb9cece84f755d4b110 Author: C. Scott Ananian Date: Fri Jul 3 18:40:14 2009 -0400 Ensure that illegal calls are reported correctly (not silently "fixed up"!) resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 7 ++++++ src/net/cscott/sdr/calls/CallDB.java | 29 +++++++++++++++++++--- 2 files changed, 33 insertions(+), 3 deletions(-) commit 9266147cc69159d7debd88ef63832cb2f2939984 Author: C. Scott Ananian Date: Fri Jul 3 17:43:37 2009 -0400 Hook up error message and current call UI. src/net/cscott/sdr/webapp/client/Model.java | 1 - src/net/cscott/sdr/webapp/client/SDRweb.java | 39 ++++++++++++++++++++------ war/SDRweb.css | 15 ++++++++++ 3 files changed, 45 insertions(+), 10 deletions(-) commit 82d530c8a27d72ce98e8d1bd5491529a4487a65a Author: C. Scott Ananian Date: Fri Jul 3 17:01:07 2009 -0400 Fixup the invalid call marker. Suppress the invalid call marker when it's also the last call; show an extra border when the insertion point is adjacent to the header. src/net/cscott/sdr/webapp/client/SDRweb.java | 11 ++++++++--- war/SDRweb.css | 14 +++++++++++--- 2 files changed, 19 insertions(+), 6 deletions(-) commit 11ec05361c9a36662a7803ffa58cde0e7c9d4d63 Author: C. Scott Ananian Date: Fri Jul 3 16:44:29 2009 -0400 Slider improvements: banish step size (except for keyboard control) src/net/cscott/sdr/webapp/client/SDRweb.java | 15 +++-- src/net/cscott/sdr/webapp/client/SliderBar.java | 82 +++++++++-------------- 2 files changed, 41 insertions(+), 56 deletions(-) commit d1dea4a444a6db00399946c2dc3c162504bcf49f Author: C. Scott Ananian Date: Fri Jul 3 15:45:13 2009 -0400 Copy GWT incubator Slider widget into net.cscott.sdr.webapp.client. This is so we can hack it to bits to get rid of the step size crap. src/net/cscott/sdr/webapp/client/SDRweb.java | 3 - src/net/cscott/sdr/webapp/client/SliderBar.java | 984 ++++++++++++++++++++ src/net/cscott/sdr/webapp/client/slider.gif | Bin 0 -> 596 bytes .../cscott/sdr/webapp/client/sliderDisabled.gif | Bin 0 -> 363 bytes src/net/cscott/sdr/webapp/client/sliderSliding.gif | Bin 0 -> 596 bytes 5 files changed, 984 insertions(+), 3 deletions(-) commit 7ce8ee8407bf1bf41db942e983a43f23d1206b46 Author: C. Scott Ananian Date: Fri Jul 3 15:31:09 2009 -0400 Put sequence title into window title. src/net/cscott/sdr/webapp/client/SDRweb.java | 7 ++++++- war/SDRweb.html | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) commit 2ff93b79f13c439bcbc00798e6bec4ee8a18475e Author: C. Scott Ananian Date: Fri Jul 3 15:24:11 2009 -0400 Add highlighted and invalid call UI. Also change close button to an image. src/net/cscott/sdr/webapp/client/Model.java | 109 ++++++++++++++++++-- src/net/cscott/sdr/webapp/client/SDRweb.java | 111 +++++++++++++++++---- src/net/cscott/sdr/webapp/public/close-button.png | Bin 0 -> 304 bytes war/SDRweb.css | 31 +++++- 4 files changed, 226 insertions(+), 25 deletions(-) commit a467838bdab7a6945780bac7aeeae8d21db0dabd Author: C. Scott Ananian Date: Fri Jul 3 15:23:07 2009 -0400 Work around compiler or GAE verification error in CallFileLexer. war/WEB-INF/lib/sdr.jar | Bin 7715191 -> 7725793 bytes 1 file changed, 0 insertions(+), 0 deletions(-) commit 5238814d70f53ddd80600d2ce13a4199fb0f4105 Author: C. Scott Ananian Date: Fri Jul 3 15:01:47 2009 -0400 Work around GAE validation error. Either our compiler is generating bogus code for this empty production, or else GAE's validator is failing on it -- but in either case, adding some code here works around the problem. src/net/cscott/sdr/calls/transform/CallFile.g | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 5fcd3b4e7e05c84e2d4f35e6a712e9a2a9fca4e4 Author: C. Scott Ananian Date: Fri Jul 3 08:43:05 2009 -0400 Move icons to module base directory. src/net/cscott/sdr/webapp/client/SDRweb.java | 4 ++-- .../net/cscott/sdr/webapp/public}/stock_media-pause.png | Bin 464 -> 464 bytes .../net/cscott/sdr/webapp/public}/stock_media-pause.svg | 0 .../net/cscott/sdr/webapp/public}/stock_media-play.png | Bin 660 -> 660 bytes .../net/cscott/sdr/webapp/public}/stock_media-play.svg | 0 5 files changed, 2 insertions(+), 2 deletions(-) commit e1dd918fdac6b6db0c9ffeb42fd635c82c2ae1dc Author: C. Scott Ananian Date: Fri Jul 3 01:43:07 2009 -0400 Handler slider animation through play state listener. src/net/cscott/sdr/webapp/client/SDRweb.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit 5dfadf92e4dc17596e66bf39e721e97a4fdd0dbe Author: C. Scott Ananian Date: Fri Jul 3 01:33:43 2009 -0400 Implement playSlider animation (and sliderPos in model). src/net/cscott/sdr/webapp/client/Model.java | 43 +- src/net/cscott/sdr/webapp/client/SDRweb.java | 88 +++- war/SDRweb.css | 4 + war/icons/stock_media-pause.png | Bin 0 -> 464 bytes war/icons/stock_media-pause.svg | 641 ++++++++++++++++++++++++++ war/icons/stock_media-play.png | Bin 0 -> 660 bytes war/icons/stock_media-play.svg | 319 +++++++++++++ 7 files changed, 1089 insertions(+), 6 deletions(-) commit ad6ff2ebd22108c39abb0dd41262a08c8e4841cf Author: C. Scott Ananian Date: Thu Jul 2 23:15:17 2009 -0400 Allow resaving a sequence (don't try to modify an assigned primary key). .settings/com.google.appengine.eclipse.core.prefs | 4 +++- src/net/cscott/sdr/webapp/client/Sequence.java | 6 ++++++ src/net/cscott/sdr/webapp/server/SequenceInfoJDO.java | 7 ++++--- 3 files changed, 13 insertions(+), 4 deletions(-) commit 736dfa9d6ddfba43873cf76184aae79d61a19731 Author: C. Scott Ananian Date: Thu Jul 2 23:14:54 2009 -0400 Use different caption for logout window. src/net/cscott/sdr/webapp/client/SDRweb.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit 35b54c8e8cc1bcedb628a033aadaacf2cbe99e70 Author: C. Scott Ananian Date: Thu Jul 2 22:45:29 2009 -0400 Hook up the dance engine to the Model and to the playback slider. .../cscott/sdr/webapp/client/EngineResults.java | 6 ++++ src/net/cscott/sdr/webapp/client/Model.java | 30 ++++++++++++++++++-- src/net/cscott/sdr/webapp/client/SDRweb.java | 24 ++++++++++++---- .../cscott/sdr/webapp/server/SequenceInfoJDO.java | 2 +- 4 files changed, 54 insertions(+), 8 deletions(-) commit 0c722e288d9045404edeaa7ce1bc7941af6be251 Author: C. Scott Ananian Date: Thu Jul 2 21:09:44 2009 -0400 Add basic danceService; remove unused loginService. .classpath | 5 +- .../sdr/webapp/client/DanceEngineService.java | 17 +++++ .../sdr/webapp/client/DanceEngineServiceAsync.java | 16 ++++ .../cscott/sdr/webapp/client/EngineResults.java | 10 +++ src/net/cscott/sdr/webapp/client/LoginInfo.java | 53 ------------- src/net/cscott/sdr/webapp/client/LoginService.java | 9 --- .../sdr/webapp/client/LoginServiceAsync.java | 7 -- src/net/cscott/sdr/webapp/client/Sequence.java | 4 +- .../sdr/webapp/server/DanceEngineServiceImpl.java | 80 ++++++++++++++++++++ .../cscott/sdr/webapp/server/LoginServiceImpl.java | 30 -------- war/WEB-INF/lib/antlr-3.1.1-runtime.jar | Bin 0 -> 116205 bytes war/WEB-INF/lib/commons-lang-2.4.jar | Bin 0 -> 261809 bytes war/WEB-INF/lib/jutil.jar | Bin 0 -> 279092 bytes war/WEB-INF/web.xml | 8 +- 14 files changed, 134 insertions(+), 105 deletions(-) commit f1f94c1b0f9b91af077f181035a26edc0a1b5d29 Author: C. Scott Ananian Date: Thu Jul 2 00:25:14 2009 -0400 Update libraries from SDR; add additional thunks for Fraction/Bezier classes. lib/sdr-src.jar | Bin 718821 -> 727541 bytes .../cscott/sdr/webapp/client/EngineResults.java | 9 ++---- src/net/cscott/sdr/webapp/client/Model.java | 4 +-- .../thunk/java/io/InvalidObjectException.java | 5 +++ .../thunk/java/io/ObjectStreamException.java | 6 ++++ .../webapp/client/thunk/java/math/BigInteger.java | 28 +++++++++++++++++ .../net/cscott/sdr/calls/TaggedFormation.java | 33 ++++++++++++++++++++ war/WEB-INF/lib/sdr.jar | Bin 7712194 -> 7715191 bytes 8 files changed, 76 insertions(+), 9 deletions(-) commit b6f232c9cfa0f98b76b2c880674a0a8c1f0de7df Author: C. Scott Ananian Date: Thu Jul 2 00:23:32 2009 -0400 Remove unnecessary classes from GWT export. src/net/cscott/SDRbase.gwt.xml | 7 ------- 1 file changed, 7 deletions(-) commit 53db8153312ff84db3278fa9242c83de339fa768 Author: C. Scott Ananian Date: Wed Jul 1 10:16:53 2009 -0400 Fix syntax error in _tag the line definition. resources/net/cscott/sdr/calls/lists/basic.calls | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit e6cc00ed010cb106281551fe5b77d784b73b45d1 Author: C. Scott Ananian Date: Wed Jul 1 10:04:31 2009 -0400 Alternative grammar for 'heads start'. (Commented out.) resources/net/cscott/sdr/calls/lists/basic.calls | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) commit 40245c7c6e3eff4c544631b205145bcacb257d85 Author: C. Scott Ananian Date: Tue Jun 30 21:27:23 2009 -0400 Add 'heads/sides pair off' and 'heads/sides lead left/right'. This is a hack to work around the absence (for now) of a real 'heads ' (or 'centers ') call. I'll remove these once I can say 'heads start '. resources/net/cscott/sdr/calls/lists/basic.calls | 50 ++++++++++++++++++++- src/net/cscott/sdr/calls/transform/Evaluator.java | 23 ++++++++++ 2 files changed, 71 insertions(+), 2 deletions(-) commit ee1fbc630068d76d81225d6bdc8312de1c505a43 Author: C. Scott Ananian Date: Tue Jun 30 21:22:27 2009 -0400 Throw BadCallException when a call lookup fails. Yeah, it seems obvious. src/net/cscott/sdr/calls/ast/Apply.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 43c0d1b485939132904698a1a7195a1a7c326a04 Author: C. Scott Ananian Date: Tue Jun 30 09:39:19 2009 -0400 Additional notes and eclipse settings. .settings/org.eclipse.jdt.core.prefs | 6 +++++- notes.txt | 19 ++++++++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) commit cc22c36064ee08b47b26f76ee4dfd277ad243e07 Author: C. Scott Ananian Date: Sun Jun 28 21:08:32 2009 -0400 Refactor iframe close code, eliminating need for static field. src/net/cscott/sdr/webapp/client/SDRweb.java | 28 ++++++++++++++------------ 1 file changed, 15 insertions(+), 13 deletions(-) commit 47d38fc07a115d47fdff92a44b74d2460ee20c2c Author: C. Scott Ananian Date: Sun Jun 28 20:51:26 2009 -0400 Save actual sequence in addition to metadata about sequence. src/net/cscott/sdr/webapp/client/Model.java | 23 +++- src/net/cscott/sdr/webapp/client/SDRweb.java | 131 ++++++++------------ src/net/cscott/sdr/webapp/client/Sequence.java | 17 +++ src/net/cscott/sdr/webapp/client/SequenceInfo.java | 4 +- .../sdr/webapp/client/SequenceStorageService.java | 11 +- .../webapp/client/SequenceStorageServiceAsync.java | 4 +- .../cscott/sdr/webapp/server/SequenceInfoJDO.java | 20 ++- .../webapp/server/SequenceStorageServiceImpl.java | 34 ++++- 8 files changed, 147 insertions(+), 97 deletions(-) commit 2ead39e4f663098fe0b051203f0eace292e8e202 Author: C. Scott Ananian Date: Sun Jun 28 19:24:13 2009 -0400 Add basic sequence saving infrastructure. We also upgrade to appengine SDK 1.2.1 in this commit and remove the old tutorial GreetingService files. .classpath | 2 +- .settings/com.google.appengine.eclipse.core.prefs | 4 +- .../cscott/sdr/webapp/client/GreetingService.java | 12 --- .../sdr/webapp/client/GreetingServiceAsync.java | 10 --- src/net/cscott/sdr/webapp/client/Model.java | 15 ++-- .../sdr/webapp/client/NotLoggedInException.java | 15 ++++ src/net/cscott/sdr/webapp/client/SDRweb.java | 27 +++++- src/net/cscott/sdr/webapp/client/SequenceInfo.java | 25 ++++-- .../sdr/webapp/client/SequenceStorageService.java | 22 +++++ .../webapp/client/SequenceStorageServiceAsync.java | 14 +++ .../sdr/webapp/server/GreetingServiceImpl.java | 19 ---- src/net/cscott/sdr/webapp/server/PMF.java | 17 ++++ .../cscott/sdr/webapp/server/SequenceInfoJDO.java | 50 +++++++++++ .../webapp/server/SequenceStorageServiceImpl.java | 91 ++++++++++++++++++++ ...k-1.2.0.jar => appengine-api-1.0-sdk-1.2.1.jar} | Bin 5584571 -> 6296757 bytes .../lib/datanucleus-appengine-1.0.0.final.jar | Bin 205574 -> 0 bytes .../lib/datanucleus-appengine-1.0.1.final.jar | Bin 0 -> 215163 bytes war/WEB-INF/web.xml | 8 +- 18 files changed, 266 insertions(+), 65 deletions(-) commit 2e83b3b1fa9dd8c5ce514c0363adc35c46f6fb44 Author: C. Scott Ananian Date: Sun Jun 28 13:36:07 2009 -0400 Add sequence meta information class: title and tags. src/net/cscott/sdr/webapp/client/Model.java | 49 ++++++++++++++++++++ src/net/cscott/sdr/webapp/client/SDRweb.java | 15 +++++- src/net/cscott/sdr/webapp/client/SequenceInfo.java | 27 +++++++++++ 3 files changed, 90 insertions(+), 1 deletion(-) commit ffeb72136d2caa3a6050b4124fe371bab9777743 Author: C. Scott Ananian Date: Sun Jun 28 10:54:46 2009 -0400 Implement Google login popup for open/save. src/net/cscott/sdr/webapp/client/LoginInfo.java | 53 +++++++++++ src/net/cscott/sdr/webapp/client/LoginService.java | 9 ++ .../sdr/webapp/client/LoginServiceAsync.java | 7 ++ src/net/cscott/sdr/webapp/client/SDRweb.java | 96 +++++++++++++++++--- .../cscott/sdr/webapp/server/LoginServiceImpl.java | 30 ++++++ war/SDRweb.css | 13 +++ war/WEB-INF/web.xml | 10 ++ 7 files changed, 204 insertions(+), 14 deletions(-) commit 1144d79015fdb8b96f8f1a5ccfac511b69c6eafd Author: C. Scott Ananian Date: Sat Jun 27 19:02:34 2009 -0400 Google login-in-iframe infrastructure. We can login in an iframe, and then redirect to /closeme.html to close the popup and continue after login. src/net/cscott/sdr/webapp/client/SDRweb.java | 50 +++++++++++++++++++++++++- war/closeme.html | 12 +++++++ 2 files changed, 61 insertions(+), 1 deletion(-) commit b819c35dc80e4bbcf0679d36fb9e459b37e9154a Author: C. Scott Ananian Date: Sat Jun 27 19:01:55 2009 -0400 Suppress serialization warnings. src/net/cscott/sdr/webapp/client/EngineResults.java | 1 + src/net/cscott/sdr/webapp/client/Sequence.java | 1 + 2 files changed, 2 insertions(+) commit 4bebe1baeaa74c8c0e1d14bd9d645e94a0265b1a Author: C. Scott Ananian Date: Sat Jun 27 16:25:44 2009 -0400 Select all when call entry is focused. src/net/cscott/sdr/webapp/client/SDRweb.java | 30 +++++++++++++++----------- 1 file changed, 18 insertions(+), 12 deletions(-) commit d4e0c44841cad851bf8111176d20370a99718e45 Author: C. Scott Ananian Date: Sat Jun 27 16:06:09 2009 -0400 Call list and suggestion improvements. Make remove buttons work, add bottom border to call list, make suggestions appropriate for the current program level. Select call entry text after a call is added to the list. src/net/cscott/sdr/webapp/client/CallOracle.java | 6 ++- src/net/cscott/sdr/webapp/client/Model.java | 5 ++- src/net/cscott/sdr/webapp/client/SDRweb.java | 45 ++++++++++++++-------- war/SDRweb.css | 1 + 4 files changed, 40 insertions(+), 17 deletions(-) commit 993eb13ce8aecd286938f251052d3e3bacf7a076 Author: C. Scott Ananian Date: Sat Jun 27 15:41:59 2009 -0400 Better call entry functionality. src/net/cscott/sdr/webapp/client/Model.java | 5 ++-- src/net/cscott/sdr/webapp/client/SDRweb.java | 37 ++++++++------------------ 2 files changed, 14 insertions(+), 28 deletions(-) commit 543f548b61f0bcf10bbce41dc4e948e90b575f2f Author: C. Scott Ananian Date: Sat Jun 27 15:40:35 2009 -0400 Remove remote logging applet. war/WEB-INF/web.xml | 2 ++ 1 file changed, 2 insertions(+) commit 203fa33a511545fe5ef61dfab527d66ca852d74c Author: C. Scott Ananian Date: Sat Jun 27 12:42:43 2009 -0400 Use .ico for shortcut icon. src/net/cscott/sdr/webapp/public/icon.ico | Bin 0 -> 894 bytes war/SDRweb.html | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) commit 1f92c2d398ea4314b37aeb34cb17f1b3ec5defbb Author: C. Scott Ananian Date: Sat Jun 27 12:40:54 2009 -0400 Make file new/print/close menu items functional. src/net/cscott/sdr/webapp/client/Model.java | 30 ++++++++++++--- src/net/cscott/sdr/webapp/client/SDRweb.java | 53 ++++++++++++++++++-------- 2 files changed, 61 insertions(+), 22 deletions(-) commit b9fcd2ab2b0f450f42f783bc8d40d54a2ce3ad80 Author: C. Scott Ananian Date: Sat Jun 27 12:34:56 2009 -0400 Update SDK, add remote logging servlet. .settings/com.google.gwt.eclipse.core.prefs | 4 ++-- war/WEB-INF/web.xml | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) commit 030389148234aa143e6dd830efa72ade96fe6997 Author: C. Scott Ananian Date: Sat Jun 27 10:11:01 2009 -0400 Hook up UI for changing dance program. src/net/cscott/sdr/webapp/client/Model.java | 6 ++++++ src/net/cscott/sdr/webapp/client/SDRweb.java | 25 +++++++++++++++++++----- src/net/cscott/sdr/webapp/client/Sequence.java | 2 +- 3 files changed, 27 insertions(+), 6 deletions(-) commit 8373b325923388df6f8aa718bb8401bb10523ed1 Author: C. Scott Ananian Date: Sat Jun 27 09:50:40 2009 -0400 Add basic model behind UI; add calls to call list when entered. .../cscott/sdr/webapp/client/EngineResults.java | 35 ++++++++ src/net/cscott/sdr/webapp/client/Model.java | 85 ++++++++++++++++++++ src/net/cscott/sdr/webapp/client/SDRweb.java | 80 +++++++++++++----- src/net/cscott/sdr/webapp/client/Sequence.java | 33 ++++++++ 4 files changed, 214 insertions(+), 19 deletions(-) commit 48976de608d51dfe56fdde818aa7f8ae2bdaad9f Author: C. Scott Ananian Date: Sun Jun 7 10:56:54 2009 -0400 Clean up imports. src/net/cscott/sdr/calls/lists/PlusList.java | 11 ----------- 1 file changed, 11 deletions(-) commit 55ac5d0fc57de828b28a712410f0346151f3a10d Author: C. Scott Ananian Date: Sat May 23 18:14:32 2009 -0400 Add a list join() method. src/net/cscott/sdr/util/ListUtils.java | 52 +++++++++++++++++++++++++++++ src/net/cscott/sdr/util/package-info.java | 4 ++- 2 files changed, 55 insertions(+), 1 deletion(-) commit 241bf95af3c1f35d3faba4419e75c15f4383e146 Author: C. Scott Ananian Date: Sat May 23 18:13:26 2009 -0400 Javadoc improvements. src/net/cscott/sdr/calls/grm/CompletionEngine.java | 4 ++-- src/net/cscott/sdr/calls/grm/Grm.java | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) commit 2de025f2a520f18eb7ddf252d46f8cb72abd461b Author: C. Scott Ananian Date: Wed May 20 09:58:15 2009 -0400 Additions to the GWT module. src/net/cscott/SDRbase.gwt.xml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) commit bc39f88a5ad3f9a24b19c463ddd940d456ef472e Author: C. Scott Ananian Date: Wed Apr 22 14:08:04 2009 -0400 Add iPhone standalone-app support (and icon). src/net/cscott/sdr/webapp/public/icon128.png | Bin 0 -> 6291 bytes war/SDRweb.html | 7 +++++-- 2 files changed, 5 insertions(+), 2 deletions(-) commit 5462260c93186b1b894612a5a508278d563f540f Author: C. Scott Ananian Date: Wed Apr 22 14:03:21 2009 -0400 Add GWT module definition for core SDR functionality. src/net/cscott/SDRbase.gwt.xml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) commit 6b2d5dc4be24f52ee0b8b3122042e5227ad3af1b Author: C. Scott Ananian Date: Wed Apr 22 14:02:14 2009 -0400 Add bezier curve evaluation functions which operate on exact Fractions. This will be useful if we ever allow fractionalizing a Prim. src/net/cscott/sdr/util/Bezier.java | 40 +++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) commit a2f7c84a4421b42f3938c64b85d2d2173bd94a73 Author: C. Scott Ananian Date: Tue Apr 21 09:46:18 2009 -0400 Use slider widget; minor menu and level label improvements. src/net/cscott/sdr/webapp/SDRweb.gwt.xml | 3 +- src/net/cscott/sdr/webapp/client/SDRweb.java | 26 ++++++++--- war/SDRweb.css | 64 +++++++++++++++++++++++++- war/SDRweb.html | 2 +- 4 files changed, 86 insertions(+), 9 deletions(-) commit 24951c40b12f90504b8a82bc4cbf500a4a60ef5d Author: C. Scott Ananian Date: Mon Apr 20 01:28:39 2009 -0400 Split out canvas support to allow development in hosted mode. src/net/cscott/sdr/webapp/SDRweb.gwt.xml | 12 ++++++++ src/net/cscott/sdr/webapp/client/DanceFloor.java | 13 ++++++++ .../cscott/sdr/webapp/client/DanceFloorCanvas.java | 23 ++++++++++++++ .../cscott/sdr/webapp/client/DanceFloorSimple.java | 10 ++++++ src/net/cscott/sdr/webapp/client/SDRweb.java | 32 +++----------------- 5 files changed, 62 insertions(+), 28 deletions(-) commit 037ba8880151e55e94ff3f2fc1a60c8155f47896 Author: C. Scott Ananian Date: Sun Apr 19 13:49:08 2009 -0400 Use upstream SDR package, instead of manually copying the files over. We grab the source from lib/sdr-src.jar, and add the binary sdr.jar into the war libraries. This removes a lot of code which were straight copies from SDR, and sets us up to write the server side component based on the untranslated SDR code. .classpath | 4 +- .settings/com.google.gwt.eclipse.core.prefs | 2 +- lib/sdr-src.jar | Bin 0 -> 718821 bytes src/net/cscott/SDR.gwt.xml | 14 + src/net/cscott/sdr/SDR.gwt.xml | 11 - src/net/cscott/sdr/calls/Program.java | 31 -- src/net/cscott/sdr/calls/grm/CompletionEngine.java | 380 ------------- src/net/cscott/sdr/calls/grm/GrmVisitor.java | 10 - src/net/cscott/sdr/calls/grm/ToStringVisitor.java | 58 -- src/net/cscott/sdr/calls/grm/package-info.java | 6 - src/net/cscott/sdr/calls/lists/AllGrm.java | 589 -------------------- src/net/cscott/sdr/calls/lists/package-info.java | 5 - src/net/cscott/sdr/util/LL.java | 178 ------ src/net/cscott/sdr/webapp/SDRweb.gwt.xml | 4 +- .../cscott/sdr/calls/grm/CompletionTokenizer.java | 0 .../thunk}/net/cscott/sdr/calls/grm/Grm.java | 0 .../client/thunk}/net/cscott/sdr/util/Tools.java | 0 war/WEB-INF/lib/sdr.jar | Bin 0 -> 7712194 bytes 18 files changed, 20 insertions(+), 1272 deletions(-) commit 19de1487bb94234ff2475c3b6e6df81245c12793 Author: C. Scott Ananian Date: Sun Apr 19 10:23:44 2009 -0400 Update to minimize differences with SDR "upstream". src/net/cscott/JUtil.gwt.xml | 6 + src/net/cscott/jutil/UnmodifiableIterator.java | 43 +++++ src/net/cscott/sdr/SDR.gwt.xml | 4 +- src/net/cscott/sdr/calls/grm/CompletionEngine.java | 78 +++------ .../cscott/sdr/calls/grm/CompletionTokenizer.java | 32 ++++ src/net/cscott/sdr/calls/grm/Grm.java | 25 +++ src/net/cscott/sdr/calls/grm/GrmDB.java | 36 ---- src/net/cscott/sdr/calls/lists/AllGrm.java | 177 ++++++++++---------- src/net/cscott/sdr/util/LL.java | 16 +- src/net/cscott/sdr/util/Tools.java | 3 - 10 files changed, 224 insertions(+), 196 deletions(-) commit 4a5bf9c74560a0819c24b45a9b4959c8657766e4 Author: C. Scott Ananian Date: Sun Apr 19 10:20:04 2009 -0400 Minor changes to CompletionEngine to support GWT compilation. Pull out unnecessary stuff which isn't supported by GWT; rephrase some stuff to use libraries in GWT, and in the case of CompletionTokenizer, split the unsupported method into another class so that we can swap it out with a GWT-compatible implementation using GWT's replacement mechanism. src/net/cscott/sdr/calls/grm/CompletionEngine.java | 56 ++++---------------- .../cscott/sdr/calls/grm/CompletionTokenizer.java | 40 ++++++++++++++ src/net/cscott/sdr/util/LL.java | 9 ++-- 3 files changed, 55 insertions(+), 50 deletions(-) commit 34e143ab4ae42ee0694480a61e79d3c2338029d1 Author: C. Scott Ananian Date: Sun Apr 19 10:19:24 2009 -0400 Add sdr-src.jar to the .gitignore file. .gitignore | 1 + 1 file changed, 1 insertion(+) commit eb7146e4bbc670765d85ce2a4eca38f906b56bd2 Author: C. Scott Ananian Date: Sat Apr 18 09:06:05 2009 -0400 Add source jar target (src-jar). This isn't complete buildable sources w/ makefiles & etc: this is just a convenient package for tools (like eclipse and GWT) which can take advantage of local source to provide javadoc tooltips (eclipse), or compilation of dependencies (GWT). build.xml | 10 ++++++++++ upload.sh | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) commit 807b8a247ab1cbc047579522862b7ab7dc20cb98 Author: C. Scott Ananian Date: Sat Apr 18 08:49:03 2009 -0400 Remove out-of-date Test class: this is all in doctests now. src/net/cscott/sdr/calls/Test.java | 76 ------------------------------------ 1 file changed, 76 deletions(-) commit 1a79e3b13cdf3fc7b3123c26d95bc35da86c0135 Author: C. Scott Ananian Date: Sat Apr 18 08:35:18 2009 -0400 Add some notes about the GWT interface. notes.txt | 55 +++++++++++++++++-------------------------------------- 1 file changed, 17 insertions(+), 38 deletions(-) commit 7be211f1fe4dfe72d3fccba11fde50b2f71c929b Author: C. Scott Ananian Date: Sat Apr 18 08:34:58 2009 -0400 Clean up some warnings. src/net/cscott/sdr/App.java | 2 -- src/net/cscott/sdr/ChoreoEngine.java | 2 -- src/net/cscott/sdr/calls/CallDB.java | 2 +- src/net/cscott/sdr/calls/DanceState.java | 2 +- src/net/cscott/sdr/calls/DancerPath.java | 1 - src/net/cscott/sdr/calls/PredicateList.java | 2 -- src/net/cscott/sdr/util/LL.java | 1 + 7 files changed, 3 insertions(+), 9 deletions(-) commit a8cdffd7fd291748ffc0e6e58078de454d34f254 Author: C. Scott Ananian Date: Sat Apr 18 08:34:09 2009 -0400 Centralize the logic which limits us to C4 to speed up development compiles. src/net/cscott/sdr/DevSettings.java | 15 +++++++++++++++ src/net/cscott/sdr/calls/CallDB.java | 4 +++- src/net/cscott/sdr/calls/grm/BuildGrammars.java | 9 ++++++--- src/net/cscott/sdr/calls/grm/Grm.java | 4 +++- 4 files changed, 27 insertions(+), 5 deletions(-) commit d894b5f73c5408517ee7d744b28cc74b2e0b616a Author: C. Scott Ananian Date: Sat Apr 18 08:17:20 2009 -0400 Move track(n) from c3b to plus, since track(2) is plus. resources/net/cscott/sdr/calls/lists/c3b.calls | 49 +--------------------- resources/net/cscott/sdr/calls/lists/plus.calls | 51 ++++++++++++++++++++++- src/net/cscott/sdr/calls/grm/BuildGrammars.java | 2 +- 3 files changed, 53 insertions(+), 49 deletions(-) commit 8796b2a0140ea1786661ee432f79301df225516b Author: C. Scott Ananian Date: Sat Apr 18 08:14:16 2009 -0400 Support user-friendly messages in If nodes and BadCallException. We also support \-continuation in lines in the call defintion grammar at the same time. resources/net/cscott/sdr/calls/lists/basic.calls | 21 +++++----- src/net/cscott/sdr/calls/BadCallException.java | 14 ++++++- src/net/cscott/sdr/calls/ast/Ast.g | 12 +++++- src/net/cscott/sdr/calls/ast/If.java | 41 +++++++++++++++++++- .../cscott/sdr/calls/transform/BuilderHelper.java | 13 ++++--- src/net/cscott/sdr/calls/transform/CallFile.g | 21 ++++++++-- .../cscott/sdr/calls/transform/CallFileBuilder.g | 4 +- 7 files changed, 99 insertions(+), 27 deletions(-) commit 423175dd7e61b43b42da363b0e6a35c89622b5fc Author: C. Scott Ananian Date: Tue Apr 14 11:39:54 2009 -0400 Share subtrees in Java call completion grammar. This reduces the amount of code for the GWT javascript compilation from 164K-172K to 112K-120K. notes.txt | 47 +++++++ resources/net/cscott/sdr/calls/grm/java.skel | 17 +-- src/net/cscott/sdr/calls/grm/BuildGrammars.java | 5 +- src/net/cscott/sdr/calls/grm/CompletionEngine.java | 11 +- src/net/cscott/sdr/calls/grm/EmitJava.java | 115 +++++++++++++-- src/net/cscott/sdr/calls/grm/Grm.java | 147 ++++++++++++++++++-- src/net/cscott/sdr/calls/grm/GrmDB.java | 26 ---- 7 files changed, 302 insertions(+), 66 deletions(-) commit 2176a162439bc9b29a7e6e878157acb705ab56f9 Author: C. Scott Ananian Date: Tue Apr 14 01:08:57 2009 -0400 Share subtrees in call completion grammar. This reduces the amount of code for the obfuscated javascript compilation from 164K-172K to 112K-120K. (The 'detailed' compilation goes from 1.6M to 804K.) src/net/cscott/sdr/calls/grm/GrmDB.java | 27 +- src/net/cscott/sdr/calls/lists/A1Grm.java | 46 -- src/net/cscott/sdr/calls/lists/A2Grm.java | 46 -- src/net/cscott/sdr/calls/lists/AllGrm.java | 588 +++++++++++++++++++++ src/net/cscott/sdr/calls/lists/BasicGrm.java | 46 -- src/net/cscott/sdr/calls/lists/C1Grm.java | 46 -- src/net/cscott/sdr/calls/lists/C2Grm.java | 46 -- src/net/cscott/sdr/calls/lists/C3aGrm.java | 46 -- src/net/cscott/sdr/calls/lists/C3bGrm.java | 47 -- src/net/cscott/sdr/calls/lists/C4Grm.java | 47 -- src/net/cscott/sdr/calls/lists/MainstreamGrm.java | 46 -- src/net/cscott/sdr/calls/lists/PlusGrm.java | 46 -- 12 files changed, 605 insertions(+), 472 deletions(-) commit a138f635d55d588e166775f67e7facefbc3297ca Author: C. Scott Ananian Date: Tue Apr 14 01:13:26 2009 -0400 Compile to compressed javascript. .settings/com.google.gwt.eclipse.core.prefs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 050a86b3a7745e791222851d39559819dee55c7a Author: C. Scott Ananian Date: Tue Apr 14 00:48:51 2009 -0400 Import GWTCanvas from GWT incubator. .classpath | 1 + lib/gwt-incubator-march-02-2009.jar | Bin 0 -> 2364650 bytes src/net/cscott/sdr/webapp/SDRweb.gwt.xml | 3 ++- src/net/cscott/sdr/webapp/client/SDRweb.java | 23 ++++++++++++++++++++++- 4 files changed, 25 insertions(+), 2 deletions(-) commit 508a4f76c7034fb8bfb4313cc61e01fe39cf7edd Author: C. Scott Ananian Date: Mon Apr 13 18:39:33 2009 -0400 Update call completion grammars from SDR project. src/net/cscott/sdr/calls/grm/CompletionEngine.java | 36 ++++++++------- src/net/cscott/sdr/calls/grm/GrmDB.java | 15 ++++--- src/net/cscott/sdr/calls/lists/A1Grm.java | 46 ++++++++++++++++++++ src/net/cscott/sdr/calls/lists/A2Grm.java | 46 ++++++++++++++++++++ src/net/cscott/sdr/calls/lists/BasicGrm.java | 13 +++--- src/net/cscott/sdr/calls/lists/C1Grm.java | 46 ++++++++++++++++++++ src/net/cscott/sdr/calls/lists/C2Grm.java | 46 ++++++++++++++++++++ src/net/cscott/sdr/calls/lists/C3aGrm.java | 46 ++++++++++++++++++++ .../sdr/calls/lists/{C4Grm.java => C3bGrm.java} | 17 +++++--- src/net/cscott/sdr/calls/lists/C4Grm.java | 13 +++--- .../lists/{BasicGrm.java => MainstreamGrm.java} | 21 +++++---- src/net/cscott/sdr/calls/lists/PlusGrm.java | 46 ++++++++++++++++++++ 12 files changed, 344 insertions(+), 47 deletions(-) commit a03a64376eb73ae1c707c223d144f23b23994982 Author: C. Scott Ananian Date: Mon Apr 13 18:30:14 2009 -0400 Clean up natural language grammar. Don't allow "scoot back once" -- it has to be more than 1 repetition. Allow "do half of a scoot back" but not "scoot back once and half": be more careful about the context in which the article can be elided. Use a separate token in the java grammar, instead of trying to parse digits as part of the nonterminal. Finally, allow "two quarters" as a synonym for "half", because sometimes you will call "swing and circle two quarters", for example. resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 5 +-- resources/net/cscott/sdr/calls/grm/java.skel | 4 +++ resources/net/cscott/sdr/calls/grm/jsapi.skel | 7 ++-- src/net/cscott/sdr/calls/CallDB.java | 8 ++--- src/net/cscott/sdr/calls/grm/CompletionEngine.java | 36 +++++++++++--------- src/net/cscott/sdr/calls/grm/EmitJava.java | 6 ++-- src/net/cscott/sdr/calls/lists/BasicList.java | 22 ++++++++++-- 7 files changed, 57 insertions(+), 31 deletions(-) commit 52a379288034de6439c1424186f4832ce09a28b8 Author: C. Scott Ananian Date: Mon Apr 13 03:49:02 2009 -0400 Import CompletionEngine from SDR; hook it up to a SuggestBox. .gitignore | 2 + .settings/com.google.gdt.eclipse.core.prefs | 3 + .settings/com.google.gwt.eclipse.core.prefs | 4 +- src/net/cscott/sdr/SDR.gwt.xml | 11 + src/net/cscott/sdr/calls/Program.java | 31 ++ src/net/cscott/sdr/calls/grm/CompletionEngine.java | 416 ++++++++++++++++++++ src/net/cscott/sdr/calls/grm/Grm.java | 216 ++++++++++ src/net/cscott/sdr/calls/grm/GrmDB.java | 24 ++ src/net/cscott/sdr/calls/grm/GrmVisitor.java | 10 + src/net/cscott/sdr/calls/grm/ToStringVisitor.java | 58 +++ src/net/cscott/sdr/calls/grm/package-info.java | 6 + src/net/cscott/sdr/calls/lists/BasicGrm.java | 43 ++ src/net/cscott/sdr/calls/lists/C4Grm.java | 44 +++ src/net/cscott/sdr/calls/lists/package-info.java | 5 + src/net/cscott/sdr/util/LL.java | 178 +++++++++ src/net/cscott/sdr/util/Tools.java | 145 +++++++ src/net/cscott/sdr/webapp/SDRweb.gwt.xml | 4 + src/net/cscott/sdr/webapp/client/CallOracle.java | 37 ++ src/net/cscott/sdr/webapp/client/SDRweb.java | 29 +- war/SDRweb.css | 2 +- .../classes/net/cscott/sdr/webapp/SDRweb.gwt.xml | 18 - 21 files changed, 1263 insertions(+), 23 deletions(-) commit 46de0146b1013dd0f256548a94cf90c861a5ce95 Author: C. Scott Ananian Date: Mon Apr 13 03:09:05 2009 -0400 Fix the completion rule for ?/+/* by simplifying it. The proper backtracking procedure for Concat is complicated, and the rule for Mult was reimplementing it poorly. The whole mess can be greatly simplified by just rewriting Mult in terms of Alt and Concat. src/net/cscott/sdr/calls/grm/CompletionEngine.java | 99 ++++++++++---------- 1 file changed, 49 insertions(+), 50 deletions(-) commit a595c7dc41ad7212260deb575e50a0eede1a57b0 Author: C. Scott Ananian Date: Mon Apr 13 00:02:57 2009 -0400 Add some hacks to support the iPhone. Unfortunately, these hacks don't actually work. Fixed-position layouts seem to be unfriendly to the iPhone. src/net/cscott/sdr/webapp/client/SDRweb.java | 10 +++++++++- war/SDRweb.css | 5 +++++ war/SDRweb.html | 3 ++- 3 files changed, 16 insertions(+), 2 deletions(-) commit 842d3646639d8488408b11f18323bf98f14db492 Author: C. Scott Ananian Date: Sun Apr 12 23:18:14 2009 -0400 Use campfire-style scrolling hack to make browser scrollbars work. Unfortunately, it seems like the iPhone doesn't like this as much. src/net/cscott/sdr/webapp/client/SDRweb.java | 100 ++++++++++++++++---------- war/SDRweb.css | 64 ++++++++++++++--- war/SDRweb.html | 8 ++- 3 files changed, 122 insertions(+), 50 deletions(-) commit 92eedcd86cc88f7ea5dfadbafc5a6629acd75b8f Author: C. Scott Ananian Date: Sun Apr 12 20:19:52 2009 -0400 Mockup UI In this version the canvas grows and the play button falls off the bottom if the number of calls gets too large. .gitignore | 1 + src/net/cscott/sdr/webapp/client/SDRweb.java | 201 +++++++++++++------------- war/SDRweb.css | 52 +++---- war/SDRweb.html | 26 +--- war/WEB-INF/appengine-web.xml | 2 +- 5 files changed, 132 insertions(+), 150 deletions(-) commit e1456c23eb03b5eb5b30ca6c935c0cbecb0ab60a Author: C. Scott Ananian Date: Sun Apr 12 14:05:43 2009 -0400 Initial skeleton created by Eclipse plugin. .classpath | 8 ++ .gitignore | 1 + .project | 40 ++++++ .settings/com.google.appengine.eclipse.core.prefs | 3 + .settings/com.google.gwt.eclipse.core.prefs | 3 + src/META-INF/jdoconfig.xml | 15 +++ src/log4j.properties | 24 ++++ src/net/cscott/sdr/webapp/SDRweb.gwt.xml | 18 +++ .../cscott/sdr/webapp/client/GreetingService.java | 12 ++ .../sdr/webapp/client/GreetingServiceAsync.java | 10 ++ src/net/cscott/sdr/webapp/client/SDRweb.java | 141 ++++++++++++++++++++ .../sdr/webapp/server/GreetingServiceImpl.java | 19 +++ war/SDRweb.css | 34 +++++ war/SDRweb.html | 53 ++++++++ war/WEB-INF/appengine-web.xml | 11 ++ war/WEB-INF/classes/META-INF/jdoconfig.xml | 15 +++ war/WEB-INF/classes/log4j.properties | 24 ++++ .../classes/net/cscott/sdr/webapp/SDRweb.gwt.xml | 18 +++ war/WEB-INF/lib/appengine-api-1.0-sdk-1.2.0.jar | Bin 0 -> 5584571 bytes .../lib/datanucleus-appengine-1.0.0.final.jar | Bin 0 -> 205574 bytes war/WEB-INF/lib/datanucleus-core-1.1.0.jar | Bin 0 -> 1911616 bytes war/WEB-INF/lib/datanucleus-jpa-1.1.0.jar | Bin 0 -> 137737 bytes war/WEB-INF/lib/geronimo-jpa_3.0_spec-1.1.1.jar | Bin 0 -> 52877 bytes war/WEB-INF/lib/geronimo-jta_1.1_spec-1.1.1.jar | Bin 0 -> 16030 bytes war/WEB-INF/lib/gwt-servlet.jar | Bin 0 -> 936744 bytes war/WEB-INF/lib/jdo2-api-2.3-SNAPSHOT.jar | Bin 0 -> 179508 bytes war/WEB-INF/logging.properties | 28 ++++ war/WEB-INF/web.xml | 24 ++++ 28 files changed, 501 insertions(+) commit 16373afd821f75c99ebc967d066bbb461a52e684 Author: C. Scott Ananian Date: Sun Apr 12 10:35:00 2009 -0400 Update App framework to match new DancerPath/Evaluator mechanisms. src/net/cscott/sdr/App.java | 47 +++++++++++++++++------------ src/net/cscott/sdr/ChoreoEngine.java | 18 +++++++---- src/net/cscott/sdr/CommandInput.java | 5 ++- src/net/cscott/sdr/recog/RecogThread.java | 24 ++++++++++++++- 4 files changed, 66 insertions(+), 28 deletions(-) commit 902611674f8bd49bb8ca4d83be90882256e5286a Author: C. Scott Ananian Date: Sun Apr 12 00:01:25 2009 -0400 Finish call CompletionEngine and add doctests. src/net/cscott/sdr/calls/grm/CompletionEngine.java | 251 +++++++++++++++----- src/net/cscott/sdr/calls/grm/EmitJava.java | 5 + src/net/cscott/sdr/calls/grm/GrmDB.java | 1 + 3 files changed, 202 insertions(+), 55 deletions(-) commit b56ac60ff238de3a4a845e342db9b5d7ff143fe5 Author: C. Scott Ananian Date: Sat Apr 11 20:43:09 2009 -0400 Add a "pretty name" for nonterminals. This makes call completions more pleasant, by hiding implementation details like anything_1, anything_2, etc and anything_3_suffix. src/net/cscott/sdr/calls/grm/BuildGrammars.java | 14 ++++++++------ src/net/cscott/sdr/calls/grm/CompletionEngine.java | 6 ++++-- src/net/cscott/sdr/calls/grm/Grm.java | 16 +++++++++++++++- 3 files changed, 27 insertions(+), 9 deletions(-) commit 43b0f75f6a927b4f51fe30bc38680d676840d023 Author: C. Scott Ananian Date: Sat Apr 11 20:24:06 2009 -0400 Improve Grm simplification: hoist common prefixes; combine nested Concats. This improves the performance of our call completion engine, since we don't waste time redundantly trying to match repeated prefixes. src/net/cscott/sdr/calls/grm/EmitJava.java | 2 +- src/net/cscott/sdr/calls/grm/Grm.java | 12 +++++++++ src/net/cscott/sdr/calls/grm/SimplifyGrm.java | 33 ++++++++++++++++++++++--- 3 files changed, 42 insertions(+), 5 deletions(-) commit e9b657c6c105e3f3c404998b209866d7752afda8 Author: C. Scott Ananian Date: Sat Apr 11 19:45:02 2009 -0400 Backend of call completion engine. Still missing a simple lexer to go on the front end. src/net/cscott/sdr/calls/grm/CompletionEngine.java | 267 ++++++++++++++++++++ src/net/cscott/sdr/calls/grm/EmitJava.java | 1 + src/net/cscott/sdr/calls/grm/GrmDB.java | 4 +- 3 files changed, 270 insertions(+), 2 deletions(-) commit 427c36c6f7b6eac51b9ed9228cb222434410d8b8 Author: C. Scott Ananian Date: Sat Apr 11 19:41:32 2009 -0400 Add simple persistent linked list implementation to net.cscott.sdr.util. src/net/cscott/sdr/util/LL.java | 178 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) commit 2f7c3277cfd050d68f87885b3c9de71a0e7c0cb0 Author: C. Scott Ananian Date: Fri Apr 10 12:31:31 2009 -0400 Rename C3BList to C3bList to be consistent with generated filenames. src/net/cscott/sdr/calls/CallDB.java | 4 ++-- src/net/cscott/sdr/calls/lists/{C3BList.java => C3bList.java} | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) commit 96dd358bf833933fd221e3fab2726952e9e85f95 Author: C. Scott Ananian Date: Fri Apr 10 11:52:19 2009 -0400 Emit post-processed version of natural language grammar as Java source. We can use the post-processed version as input to a call completion engine, without having to re-run the processing steps on every startup. (The post-processed version handles precedence and left recursion.) We might consider using this same trick on the CallDB and FormationList at some point, to avoid having to parse and load those everytime. build.xml | 16 ++++-- resources/net/cscott/sdr/calls/grm/java.skel | 20 +++++++ resources/net/cscott/sdr/recog/.gitignore | 7 ++- src/net/cscott/sdr/calls/CallDB.java | 2 +- src/net/cscott/sdr/calls/grm/BuildGrammars.java | 5 +- src/net/cscott/sdr/calls/grm/EmitJava.java | 54 ++++++++++++++++++ src/net/cscott/sdr/calls/grm/Grm.java | 69 ++++++++++++++++++++++- src/net/cscott/sdr/calls/grm/GrmDB.java | 25 ++++++++ src/net/cscott/sdr/calls/lists/.gitignore | 1 + 9 files changed, 191 insertions(+), 8 deletions(-) commit 8f0820d2242ca527a61f071d435c4d9693d7bc6b Author: C. Scott Ananian Date: Thu Apr 9 14:32:20 2009 -0400 Allow parenthesization in typed calls. resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 10 +++++++++- resources/net/cscott/sdr/calls/grm/jsapi.skel | 3 +++ src/net/cscott/sdr/calls/CallDB.java | 6 ++++++ src/net/cscott/sdr/calls/grm/BuildGrammars.java | 3 +++ 4 files changed, 21 insertions(+), 1 deletion(-) commit c1957b242367dcf502dfb5d838e74be162cda314 Author: C. Scott Ananian Date: Thu Apr 9 14:00:36 2009 -0400 Even more notes and ideas. notes.txt | 125 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) commit b009ac935a0e658f874b895aa98b4b64b500cc10 Author: C. Scott Ananian Date: Thu Apr 9 13:59:19 2009 -0400 Allow left recursion in the call grammar. We transform the input grammar to remove the left recursion before giving it to sphinx/antlr. Now calls like " and roll" can be safely added. src/net/cscott/sdr/calls/CallDB.java | 2 -- src/net/cscott/sdr/calls/grm/BuildGrammars.java | 34 ++++++++++++++++-- src/net/cscott/sdr/calls/grm/EmitANTLRv3.java | 44 ++++++++++++++++++++--- src/net/cscott/sdr/calls/grm/EmitJSAPI.java | 3 +- src/net/cscott/sdr/calls/grm/NumberParams.java | 11 ++++-- src/net/cscott/sdr/calls/grm/Rule.java | 1 - src/net/cscott/sdr/calls/lists/BasicList.java | 14 ++++---- src/net/cscott/sdr/calls/lists/C3BList.java | 4 +++ 8 files changed, 91 insertions(+), 22 deletions(-) commit 68750adba8f2b04b8d3de9ffa8c6588dc9e92386 Author: C. Scott Ananian Date: Wed Apr 8 23:31:06 2009 -0400 Enable assertions when building grammars. build.xml | 2 ++ 1 file changed, 2 insertions(+) commit f20234116a7e842b57d4640e0e007dfa8b965bb3 Author: C. Scott Ananian Date: Mon Apr 6 09:51:18 2009 -0400 Additional implementation notes & to-dos. notes.txt | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) commit b474c636ebc155a8d51501d228f32876dd67ff42 Author: C. Scott Ananian Date: Mon Apr 6 09:50:19 2009 -0400 Fixes to basic/mainstream call list: we can do 'dixie style' now. resources/net/cscott/sdr/calls/lists/basic.calls | 16 +++++++++++----- resources/net/cscott/sdr/calls/lists/mainstream.calls | 12 ++++++------ 2 files changed, 17 insertions(+), 11 deletions(-) commit 3184e826b86b16b533cb63d26e705d5cee9d340e Author: C. Scott Ananian Date: Mon Apr 6 09:31:57 2009 -0400 Add SASHAY_START and SASHAY_FINISH flags to Prim and DancerPath. Movements such as half-sashay and dodge involve motions which do not begin in the "step forward" direction. Add bits to DancerPath and Prim to flag these, so that we don't animate the motion as an S-shape beginning and ending in the facing direction. Update lots of doctests to match, since the new flags show up in the output from tests involving dosados. resources/net/cscott/sdr/calls/lists/basic.calls | 63 +++++++++-------- src/net/cscott/sdr/calls/DancerPath.java | 74 ++++++++++++++------ src/net/cscott/sdr/calls/ast/Prim.java | 28 ++++++-- src/net/cscott/sdr/calls/lists/BasicList.java | 2 +- src/net/cscott/sdr/calls/lists/PlusList.java | 2 +- src/net/cscott/sdr/calls/package-info.java | 4 +- src/net/cscott/sdr/calls/transform/EvalPrim.java | 69 ++++++++++-------- src/net/cscott/sdr/calls/transform/Fractional.java | 4 +- src/net/cscott/sdr/calls/transform/RemoveIn.java | 4 +- 9 files changed, 155 insertions(+), 95 deletions(-) commit 00c299038b81f729b9d095643822a7e345e4ebf5 Author: C. Scott Ananian Date: Sun Apr 5 02:24:25 2009 -0400 Updates to Basic call list. Also add ANY selector to match "any other" formation, and convenience SINGLE_QUARTER_TAG and SINGLE_THREE_QUARTER_TAG selectors. Update doctests (add breathing) to match. resources/net/cscott/sdr/calls/lists/basic.calls | 81 ++++++++++++++------- src/net/cscott/sdr/calls/SelectorList.java | 18 +++++ src/net/cscott/sdr/calls/package-info.java | 2 +- src/net/cscott/sdr/calls/transform/Evaluator.java | 14 ++-- 4 files changed, 79 insertions(+), 36 deletions(-) commit b14d9c1214046adbea493aa8fd0cba7d2254ca11 Author: C. Scott Ananian Date: Sat Apr 4 23:40:12 2009 -0400 Throw exceptions on parser error; ensure successful parse matches whole string. src/net/cscott/sdr/calls/CallDB.java | 6 +++++- src/net/cscott/sdr/calls/ast/AstNode.java | 8 ++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) commit 256b62a030e77746243566f2bbc65b0ef6e481b1 Author: C. Scott Ananian Date: Sat Apr 4 23:24:22 2009 -0400 Make sure we match EOF on AstNode.parse(). This helps ensure that we properly complain if we don't match the entire input string. src/net/cscott/sdr/calls/ast/Ast.g | 5 +++++ src/net/cscott/sdr/calls/ast/AstNode.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) commit a688c5b8f395c4342bd242e9b079a3304b0c21f8 Author: C. Scott Ananian Date: Sat Apr 4 23:19:12 2009 -0400 Fix square thru: argument evaluation in predicates, typos. We evaluate arguments lazily; but don't forget to actually evaluate them before evaluating predicates! resources/net/cscott/sdr/calls/lists/basic.calls | 2 +- src/net/cscott/sdr/calls/ast/Apply.java | 2 +- src/net/cscott/sdr/calls/package-info.java | 2 +- .../cscott/sdr/calls/transform/CallFileBuilder.g | 12 +++- src/net/cscott/sdr/calls/transform/Evaluator.java | 71 ++++++++++++-------- 5 files changed, 56 insertions(+), 33 deletions(-) commit fb29f207d693cf107a0655c64678bcdc6ddacd17 Author: C. Scott Ananian Date: Sat Apr 4 23:21:34 2009 -0400 Be careful about expanding 3/4(x) as a shortcut for _fractional. In particular, we don't want to transform _subtract_num(3, 2) to _subtract_num(3, _fractional(2))! src/net/cscott/sdr/calls/transform/CallFileBuilder.g | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 19bfc0b961c58a518145352544bc4c297bcd0e40 Author: C. Scott Ananian Date: Sat Apr 4 22:54:34 2009 -0400 Add doctests for PredicateList. src/net/cscott/sdr/calls/PredicateList.java | 96 +++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) commit 95fb46010209bdb677169fd656d9bb38e4cb1ae1 Author: C. Scott Ananian Date: Sat Apr 4 22:25:12 2009 -0400 Fix _subtract_num; add test cases for math operations. src/net/cscott/sdr/calls/lists/BasicList.java | 44 ++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 4 deletions(-) commit 5fba15bf9652cd88e09cc8eb056974b7af8ca373 Author: C. Scott Ananian Date: Sat Apr 4 22:23:13 2009 -0400 Fix definition of wheel around. resources/net/cscott/sdr/calls/lists/basic.calls | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c9a95e2a698642c78152fae940409a0dbbfb4a5c Author: C. Scott Ananian Date: Sat Apr 4 10:23:14 2009 -0400 Implement left/mirror/reverse. src/net/cscott/sdr/calls/CallDB.java | 2 + src/net/cscott/sdr/calls/DancerPath.java | 12 ++++ src/net/cscott/sdr/calls/Formation.java | 57 +++++++++++++++++- src/net/cscott/sdr/calls/Position.java | 29 ++++++++++ src/net/cscott/sdr/calls/lists/BasicList.java | 77 ++++++++++++++++++++----- src/net/cscott/sdr/calls/lists/C3BList.java | 56 ++++++++++++++++++ 6 files changed, 219 insertions(+), 14 deletions(-) commit 14469669c821df453e008fbae9396f935c950bd9 Author: C. Scott Ananian Date: Sat Apr 4 08:29:52 2009 -0400 Improvements to natural language grammar skeletons. Turn off backtracking and up the lookahead, so that ANTLR tells us about grammar ambiguities instead of suppressing those notices. (It wouldn't be an issue if ANTLR was fully backtracking, but in fact in commits to a given rule alternative and won't backtrack out of multiple rules to try a higher-level alternative. This leads to subtle and non-obvious bugs.) Tweak the grammar to get rid of ambiguities and add "typing" shortcuts (digits for typed-out-english-phrases) in a way that won't cause parsing problems. Loosen the fraction rule (accept "do half of a scoot back") but tighten the cardinal rule ("scoot back 1 time" is out; say, "scoot back once"). Change the grammar start production to make sure we're attempting to match the EOF at the end of the phrase. Add some doc tests showing how we resolve some grammar ambiguities. (These tests don't all succeed yet.) resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 53 ++++++++++++++++------ resources/net/cscott/sdr/calls/grm/jsapi.skel | 9 ++-- src/net/cscott/sdr/calls/CallDB.java | 38 +++++++++++----- 3 files changed, 72 insertions(+), 28 deletions(-) commit 5c728fdf19678385ec9fd99adf0e7cb2fe405b6f Author: C. Scott Ananian Date: Sat Apr 4 08:22:51 2009 -0400 Remove precedence from definitions of calls which don't strictly need it. It's error prone to have to remember to add a default precedence to every call. Instead just use '0' as the default precedence. (Document in Rule that we are, in fact, explicitly setting a default precedence of 0 on every rule.) resources/net/cscott/sdr/calls/lists/basic.calls | 28 ++++++++++---------- resources/net/cscott/sdr/calls/lists/c3b.calls | 2 +- .../net/cscott/sdr/calls/lists/mainstream.calls | 2 +- src/net/cscott/sdr/calls/grm/Rule.java | 1 + 4 files changed, 17 insertions(+), 16 deletions(-) commit 7bb01bd571820181ccf945a592cee399466a741a Author: C. Scott Ananian Date: Sat Apr 4 08:20:23 2009 -0400 Remove old ANTLRv2 support in natural-language call grammar. resources/net/cscott/sdr/calls/grm/antlr.skel | 81 ----------------------- src/net/cscott/sdr/calls/grm/BuildGrammars.java | 5 -- src/net/cscott/sdr/calls/grm/EmitANTLR.java | 61 ----------------- 3 files changed, 147 deletions(-) commit 53177705014fa4fde297dbfc302e32b861f1ad88 Author: C. Scott Ananian Date: Fri Apr 3 00:35:05 2009 -0400 Add doctests for Evaluator. We can do two-couple walk and dodge, and trade and roll now. src/net/cscott/sdr/calls/transform/Evaluator.java | 58 ++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) commit ba35aead775bdade2655935db35ab53248369bfb Author: C. Scott Ananian Date: Fri Apr 3 00:34:08 2009 -0400 Implement SELECTED ARE(x) predicate. src/net/cscott/sdr/calls/PredicateList.java | 24 +++++++++++++++++++++ src/net/cscott/sdr/calls/TaggedFormation.java | 6 ++++++ src/net/cscott/sdr/calls/transform/Evaluator.java | 6 ++---- 3 files changed, 32 insertions(+), 4 deletions(-) commit e0b3a5c3d3a175cac906d366d6bbd2de6354978c Author: C. Scott Ananian Date: Fri Apr 3 00:31:11 2009 -0400 Implement _and_roll(), fix walk and dodge, hinge, and square thru. Square thru without a suffix is "square thru 4". Partner hinge is only allowed at A1 and above. resources/net/cscott/sdr/calls/lists/basic.calls | 22 ++++- resources/net/cscott/sdr/calls/lists/plus.calls | 6 ++ src/net/cscott/sdr/calls/CallDB.java | 2 + src/net/cscott/sdr/calls/DanceState.java | 15 ++++ src/net/cscott/sdr/calls/DancerPath.java | 9 ++ src/net/cscott/sdr/calls/lists/PlusList.java | 96 +++++++++++++++++++++ src/net/cscott/sdr/calls/transform/Evaluator.java | 7 +- 7 files changed, 150 insertions(+), 7 deletions(-) commit 919ab550bbaf6099bec142e9e293b8347e162032 Author: C. Scott Ananian Date: Fri Apr 3 00:25:48 2009 -0400 Bug fix to BuildGrm: prevent left recursion by using proper priority grammar. src/net/cscott/sdr/calls/grm/BuildGrammars.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit 727f22d09c7a552476504fe1624bb0f4129ad252 Author: C. Scott Ananian Date: Thu Apr 2 19:37:09 2009 -0400 Preserve flags when matching formations... ...and don't let them get in the way of a successful match. src/net/cscott/sdr/calls/GeneralFormationMatcher.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit 80cc4c27b782275435cb947bd6dbd23686beec93 Author: C. Scott Ananian Date: Thu Apr 2 19:35:30 2009 -0400 Add a Formation.toStringDiagram(prefix) helper method. This is used a lot in the javascript doctests, because otherwise 1B> looks like a javascript shell prompt. src/net/cscott/sdr/calls/Formation.java | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) commit 9b6dca8ec12933b9951afff4b4b2c6303183d060 Author: C. Scott Ananian Date: Thu Apr 2 18:59:56 2009 -0400 Fixes for ANTLRv3 version of "spoken English" call grammar. Fix BOYS->BOY GIRLS->GIRL, since that's how our tags are named. Allow typed input to use digits rather than english words: "square thru 3 1/2" in addition to "square thru three and a half". resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 17 +++++++++++++++-- src/net/cscott/sdr/calls/CallDB.java | 8 +++++++- 2 files changed, 22 insertions(+), 3 deletions(-) commit af34b9465cf6507a7141f393635d65608f1f1e1d Author: C. Scott Ananian Date: Tue Mar 31 09:23:55 2009 -0400 Refined implementation of SELECT. Added notes describing the new SELECT implementation strategy. Added DancerPath.translate() to remap a DancerPath after formation insertion and breathing. Added DanceState.syncDancers(Fraction time) to allow the component states of a SELECT to be synchronized before they are merged and breathed together. notes.txt | 34 +++++++++ src/net/cscott/sdr/calls/DanceState.java | 29 ++++++-- src/net/cscott/sdr/calls/DancerPath.java | 11 +++ src/net/cscott/sdr/calls/transform/Evaluator.java | 77 +++++++++++++++------ 4 files changed, 124 insertions(+), 27 deletions(-) commit eaff0ee172cfad0cfff3a678cf0cd27adcf2f48a Author: C. Scott Ananian Date: Mon Mar 30 10:12:17 2009 -0400 Initial implementation of MetaEvaluator for SELECT. src/net/cscott/sdr/calls/transform/Evaluator.java | 63 ++++++++++++++++++--- 1 file changed, 56 insertions(+), 7 deletions(-) commit e45bf6447ee3465b7c93dcc469aac8a0efbce5d6 Author: C. Scott Ananian Date: Mon Mar 30 10:07:09 2009 -0400 Add DanceState.syncDancers(). Refactor implementation of DanceState to combine the timeOfLastMovement and movements maps by using a navigable TreeMap. src/net/cscott/sdr/calls/DanceState.java | 53 ++++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 14 deletions(-) commit 1c5643f3acdda137262cece207ffba47c832d1ee Author: C. Scott Ananian Date: Mon Mar 30 10:05:11 2009 -0400 Add 'heads/sides start' call; make OTHERS an alias for the ALL tag. Others is more natural for a human to read in a call definition, even if what it means is "ALL (who remain)". resources/net/cscott/sdr/calls/lists/basic.calls | 28 +++++++++++++++++----- src/net/cscott/sdr/calls/ast/ParCall.java | 5 ++-- 2 files changed, 25 insertions(+), 8 deletions(-) commit 46deabf1aad6939ce6dce0931a9a7290287cceb4 Author: C. Scott Ananian Date: Sat Mar 21 10:27:50 2009 -0400 One-character bug fix to SELECT. src/net/cscott/sdr/calls/transform/Evaluator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 04feca26e6ff94c266ca6dff4a9f1eec16d095ed Author: C. Scott Ananian Date: Wed Mar 18 09:39:57 2009 -0400 Implement SELECT in Evaluator. src/net/cscott/sdr/calls/transform/Evaluator.java | 40 +++++++++++++++------ 1 file changed, 30 insertions(+), 10 deletions(-) commit af52c773b8328328ef011d5f742ccaed82a398d3 Author: C. Scott Ananian Date: Wed Mar 18 09:42:08 2009 -0400 Be explicit in FormationMatch about unmatched dancers. This avoids confusion if the target matched happens to be a single dancer, and avoids hacky tests against the size of the matched formation when trying to identify part of a match. src/net/cscott/sdr/calls/FormationMatch.java | 13 +++++++++++-- src/net/cscott/sdr/calls/GeneralFormationMatcher.java | 3 ++- 2 files changed, 13 insertions(+), 3 deletions(-) commit e7d1ae9405f88159e61eff8f6167d8127828e06e Author: C. Scott Ananian Date: Mon Mar 16 10:06:47 2009 -0400 Purge Warp/Warped from the world. This was left over from the Elaborate idea; we've replaced that with stacks of Evaluators. (So nested Evaluators now play the role once help by explicit Warped nodes in the call tree.) .../cscott/sdr/calls/GeneralFormationMatcher.java | 38 +++++++++ src/net/cscott/sdr/calls/Warp.java | 85 -------------------- src/net/cscott/sdr/calls/ast/Ast.g | 11 --- src/net/cscott/sdr/calls/ast/Warped.java | 41 ---------- src/net/cscott/sdr/calls/lists/BasicList.java | 7 +- .../cscott/sdr/calls/transform/BeatCounter.java | 4 - .../cscott/sdr/calls/transform/BuilderHelper.java | 8 -- src/net/cscott/sdr/calls/transform/Evaluator.java | 6 -- .../sdr/calls/transform/TransformVisitor.java | 3 - .../cscott/sdr/calls/transform/ValueVisitor.java | 1 - 10 files changed, 42 insertions(+), 162 deletions(-) commit ef5b9e78699cd4171a833bfc58e71ea16ba8a5e5 Author: C. Scott Ananian Date: Mon Mar 16 09:38:53 2009 -0400 Add new Evaluator framework, replacing the old Evaluate/Elaborate class. Evaluation now occurs in a stack of Evaluators, each of which manages its own continuation. The result is accumulated in a mutable DanceState object. Concepts (implemented in the Call class) are now split into two kinds: "simple" concepts (like fractional) which just transform the subcalls in some manner, resulting in a call tree that can be interpreted by the Standard Evaluator; and "complex" concepts (like tandem) which use their own custom Evaluator class on their children (often by doing some pre-processing, invoking the standard evaluator, and then post-processing the results). Transformations which operate on the call tree (like Fractional) must now be careful only to expand "simple" concepts. The Standard Evaluator is finished, but it invokes a MetaEvaluator to deal with 'FROM' clauses, and a PartsCombineEvaluator to deal with 'SELECT'; neither of this is complete yet. src/net/cscott/sdr/calls/Call.java | 21 +- src/net/cscott/sdr/calls/DanceState.java | 139 +++++++++ src/net/cscott/sdr/calls/FormationMatch.java | 4 +- src/net/cscott/sdr/calls/Test.java | 6 +- src/net/cscott/sdr/calls/ast/Apply.java | 6 + src/net/cscott/sdr/calls/lists/BasicList.java | 12 + .../cscott/sdr/calls/transform/BuilderHelper.java | 4 + src/net/cscott/sdr/calls/transform/Evaluate.java | 208 -------------- src/net/cscott/sdr/calls/transform/Evaluator.java | 304 ++++++++++++++++++++ src/net/cscott/sdr/calls/transform/Fractional.java | 3 + 10 files changed, 493 insertions(+), 214 deletions(-) commit 3420021c64873473b66e054045bc95aac8b8f8a9 Author: C. Scott Ananian Date: Mon Mar 16 09:32:59 2009 -0400 Add methods to TaggedFormation to query against any in a set of Tags. src/net/cscott/sdr/calls/TaggedFormation.java | 31 ++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) commit 89233bf5763d9949aa3fee0dece2ac9e986ca624 Author: C. Scott Ananian Date: Mon Mar 16 09:31:03 2009 -0400 Lots more notes! notes.txt | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 99 insertions(+), 1 deletion(-) commit b8e5c55f085fac6e97ce87866390ac14b25b42cc Author: C. Scott Ananian Date: Mon Mar 16 09:29:50 2009 -0400 Add missing cases to ValueVisitor. src/net/cscott/sdr/calls/transform/BeatCounter.java | 10 ++++++++++ src/net/cscott/sdr/calls/transform/ValueVisitor.java | 2 ++ 2 files changed, 12 insertions(+) commit c3a316a4f44e39af4c5024caa710f5d6395514a4 Author: C. Scott Ananian Date: Mon Mar 16 00:09:07 2009 -0400 Add DancerPath.scaleTime() to adjust timing of DancerPaths. src/net/cscott/sdr/calls/DancerPath.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) commit e8525188c8c00d96c9bc75b7a6306ce9c0e61e2e Author: C. Scott Ananian Date: Wed Mar 11 19:41:25 2009 -0400 Factor out a common superclass from TimedAction, TimedPosition, and TimedFormation. src/net/cscott/sdr/calls/Action.java | 4 +- src/net/cscott/sdr/calls/Timed.java | 62 ++++++++++++++++++++++++++ src/net/cscott/sdr/calls/TimedAction.java | 22 +++++---- src/net/cscott/sdr/calls/TimedFormation.java | 30 ++++--------- src/net/cscott/sdr/calls/TimedPosition.java | 32 ++++--------- 5 files changed, 92 insertions(+), 58 deletions(-) commit 4d0f2df2a041b73127920fb688b38ed105962623 Author: C. Scott Ananian Date: Tue Mar 10 16:27:15 2009 -0400 Rename DanceState to DanceProgram. We'll reuse 'DanceState' to represent the dynamic state of the dance. 'DanceProgram' is the static state; there might be a better name for it but this will do for now. src/net/cscott/sdr/App.java | 4 ++-- src/net/cscott/sdr/ChoreoEngine.java | 4 ++-- src/net/cscott/sdr/CommandInput.java | 4 ++-- .../calls/{DanceState.java => DanceProgram.java} | 8 ++++---- src/net/cscott/sdr/calls/Predicate.java | 2 +- src/net/cscott/sdr/calls/PredicateList.java | 16 ++++++++-------- src/net/cscott/sdr/calls/Test.java | 2 +- src/net/cscott/sdr/calls/transform/Evaluate.java | 20 ++++++++------------ src/net/cscott/sdr/recog/RecogThread.java | 6 +++--- 9 files changed, 31 insertions(+), 35 deletions(-) commit 852f2db0c38288e3eda75b90e2f8486c4605dff9 Author: C. Scott Ananian Date: Tue Mar 10 10:06:07 2009 -0400 Rename net.cscott.sdr.calls.transform.Elaborate to Evaluate. src/net/cscott/sdr/calls/Test.java | 6 +++--- .../sdr/calls/transform/{Elaborate.java => Evaluate.java} | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) commit 8e9e229c3f64fff8848c98667bda2598debe3256 Author: C. Scott Ananian Date: Tue Mar 10 09:59:19 2009 -0400 Update notes.txt. notes.txt | 69 ++++++++++++++------------------ src/net/cscott/sdr/calls/ast/Prim.java | 4 +- 2 files changed, 33 insertions(+), 40 deletions(-) commit 0c5f6603917fbe3a96114483e74fde784d80b69d Author: C. Scott Ananian Date: Mon Mar 9 23:58:18 2009 -0400 Release SDR 0.4. Breathing's done! Now let's start putting complete calls together. build.xml | 6 ++++-- upload.sh | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) commit 3b98253f40e1846d6da5385d35d467abedcc9588 Author: C. Scott Ananian Date: Mon Mar 9 23:56:13 2009 -0400 Upgrade to JDoctest 1.4. lib/dev/jdoctest/jdoctest-1.3.jar | Bin 6351 -> 0 bytes lib/dev/jdoctest/jdoctest-1.4.jar | Bin 0 -> 6433 bytes 2 files changed, 0 insertions(+), 0 deletions(-) commit 6e25bfff9ac9ba1a72780c72abb488bc44f95d44 Author: C. Scott Ananian Date: Mon Mar 9 23:54:12 2009 -0400 Fix "face in" from Positions with inexact rotations. We use the new Rotation.included() and Rotation.union() methods to implement "face in" from inexact rotations by iterating over the included rotations and then unioning the results. src/net/cscott/sdr/calls/Position.java | 23 +++++++++++++------ src/net/cscott/sdr/calls/Rotation.java | 38 ++++++++++++++++++++++++-------- 2 files changed, 45 insertions(+), 16 deletions(-) commit 5037fe446acda50ccd70023ab4b44bc51299322b Author: C. Scott Ananian Date: Mon Mar 9 23:01:46 2009 -0400 Add Rotation.included() and Rotation.union(). These methods ease working with inexact rotations: we can just iterate over the set of ExactRotations included, perform whatever operation, and the union the results back into an inexact Rotation. src/net/cscott/sdr/calls/Rotation.java | 84 ++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) commit e3ea1a3f77b56ef2170e29d80fd2fece97fe689d Author: C. Scott Ananian Date: Mon Mar 9 20:20:37 2009 -0400 We now properly breathe out to a star rather than a diamond if we can. src/net/cscott/sdr/calls/Breather.java | 90 ++++++++++++++++++++------------ 1 file changed, 57 insertions(+), 33 deletions(-) commit b18aa5811874b8424d211619c97458f5dde81315 Author: C. Scott Ananian Date: Sat Mar 7 22:55:55 2009 -0500 Trim overlapping bounds during breathe to properly handle expansion. We now handle compressed formations, properly breathing them out. We have a special 'star recognition' hack to ensure that stars aren't expanded to diamonds. We do however overcompensate from very compressed formations, expanding them to diamonds when we could expand to stars -- there's a doctest describing these. src/net/cscott/sdr/calls/Breather.java | 281 ++++++++++++++++++++-- src/net/cscott/sdr/calls/transform/EvalPrim.java | 8 +- 2 files changed, 268 insertions(+), 21 deletions(-) commit 82026b2e1f383da145c23673dcb3f05456072497 Author: C. Scott Ananian Date: Sat Mar 7 22:55:16 2009 -0500 Add Box.overlaps(); also write some doctests. src/net/cscott/sdr/util/Box.java | 53 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) commit e0d7f875cc0fae0884c33382caae142b01453836 Author: C. Scott Ananian Date: Thu Mar 5 02:01:22 2009 -0500 Rename FormationMapper to Breather. .../calls/{FormationMapper.java => Breather.java} | 42 ++++++++++---------- src/net/cscott/sdr/calls/FormationList.java | 4 +- .../cscott/sdr/calls/GeneralFormationMatcher.java | 4 +- src/net/cscott/sdr/calls/transform/EvalPrim.java | 2 +- 4 files changed, 26 insertions(+), 26 deletions(-) commit 07636cfd3340fb435c09c583e5bd2944c2fefed2 Author: C. Scott Ananian Date: Thu Mar 5 01:45:07 2009 -0500 Rework expansion algorithm in breathe(). This fixes the regression introduced in the last commit. We treat the boundary expansion as a integer in/equality problem. The "equal size gaps" symmetry constraint is the only sketchy part. We now breathe diamonds properly when the centers are treated solid. src/net/cscott/sdr/calls/FormationMapper.java | 365 ++++++++++++++----------- 1 file changed, 203 insertions(+), 162 deletions(-) commit cb9db27ff3cb8ca1cf205fe3bb91ced8d902631a Author: C. Scott Ananian Date: Wed Mar 4 20:04:59 2009 -0500 Refactor breathing code; we handle collisions to left and right hands now. Refactored/rewrote breathing code, unifying the implementations of FormationMapper.insert() and FormationMapper.breathe(). We now accept arbitrary input and output FormationPieces. Add more doctests; also add top-level documentation describing the breathing algorithm. Breathing overlapping dancers out isn't implemented yet, but it's stubbed in. This commit regresses a doctest: when diamonds with the centers solid are breathed into a formation with only a single dancer at each spot, the centers are expanded distributing space equally among the three spots, and then the points are expanded to a full space, resulting in a total formation width of 1 2/3 dancer spaces. src/net/cscott/sdr/calls/FormationMapper.java | 449 ++++++++++++-------- .../cscott/sdr/calls/GeneralFormationMatcher.java | 13 +- 2 files changed, 286 insertions(+), 176 deletions(-) commit 76d601eb0ce5c5391df08e4632f8f77414409529 Author: C. Scott Ananian Date: Wed Mar 4 21:03:13 2009 -0500 Factor out Formation.sortedDancers() method. Lots of places are manually sorting the dancers; make sortedDancers() method in formation and then use it consistently whenever the order is important (esp toString() methods and doctests). src/net/cscott/sdr/anim/VenueState.java | 3 +-- src/net/cscott/sdr/calls/Formation.java | 25 ++++++++++++++++--------- src/net/cscott/sdr/calls/FormationList.java | 4 +--- src/net/cscott/sdr/calls/FormationMapper.java | 10 +++++----- src/net/cscott/sdr/calls/FormationMatch.java | 11 ++++------- src/net/cscott/sdr/calls/TaggedFormation.java | 4 +--- 6 files changed, 28 insertions(+), 29 deletions(-) commit bb4e69077b6137a9ebf34802335e89e6be778162 Author: C. Scott Ananian Date: Wed Mar 4 19:41:15 2009 -0500 Update JDoctest and JUtil. Both JDoctest and JUtil are now at pre-release versions. JDoctest gets cleaned up expected/actual messages on error, and support for writing out the discovered javascript doctests to files. JUtil's net.cscott.jutil.Factories class gets better support for TreeMap and TreeSet. lib/dev/jdoctest/jdoctest-1.3.jar | Bin 6314 -> 6351 bytes lib/jutil.jar | Bin 211936 -> 279092 bytes 2 files changed, 0 insertions(+), 0 deletions(-) commit a402ba988984944961ca9017cc2fb1739d140f98 Author: C. Scott Ananian Date: Wed Mar 4 19:38:14 2009 -0500 Add multimap support to Tools convenience class. We also work around some 'unchecked cast' warnings caused by our use of varargs. Varargs arrays do not play nicely with generics, unfortunately. These warnings are harmless, but we can suppress them with some strategic method overloading for common cases. src/net/cscott/sdr/calls/grm/AbstractEmit.java | 7 +- src/net/cscott/sdr/util/Tools.java | 215 +++++++++++++++++++++++- 2 files changed, 215 insertions(+), 7 deletions(-) commit 0047b3685ac078bd1bcf22292b2c205f426ccc05 Author: C. Scott Ananian Date: Wed Mar 4 19:17:54 2009 -0500 Use EnumSets for Sets of TaggedFormation.Tags. This was an apparent oversight; I used EnumSet everywhere else in this class. src/net/cscott/sdr/calls/FormationList.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 0ad0889d5d0e36fc259fcf505573b3a4e950526f Author: C. Scott Ananian Date: Wed Mar 4 19:16:35 2009 -0500 Have eclipse compile to bin.eclipse/; no more fights with ant over bin/. .classpath | 4 ++-- .gitignore | 1 + build.xml | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) commit 3a9bd9e494f01c71e5f90bf784499e5b435365eb Author: C. Scott Ananian Date: Mon Mar 2 19:28:01 2009 -0500 Some convenience functions to make sets and maps more like first class objects. Much of the convenience in writing in scripting languages like Python and Ruby comes from the fact that lists, sets and maps are first class objects and can easily be created and manipulated. While full-scale list comprehensions are probably out of easy reach for Java, we can at least make it much easier to create simple lists, sets, pairs, and maps with a few elements. (Pairs are a workaround for the fact that the map constructor wants to alternate K and V type arguments.) Use: import static net.cscott.sdr.util.Tools.*; to make the l(), s(), p(), and m() constructors available. src/net/cscott/sdr/util/Tools.java | 102 ++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) commit a27efb4dc8cd4502155b73256e1dcd2308303b91 Author: C. Scott Ananian Date: Mon Mar 2 19:09:29 2009 -0500 Add varargs convenience method for Formation.select(). We also broaden the type of the standard method from Set to Collection, which lets us pass Arrays.asList() without creating an intermediate LinkedHashSet(). src/net/cscott/sdr/calls/Formation.java | 20 +++++++++++++------- src/net/cscott/sdr/calls/TaggedFormation.java | 6 +++--- src/net/cscott/sdr/calls/transform/EvalPrim.java | 7 ++----- 3 files changed, 18 insertions(+), 15 deletions(-) commit a6073cf328eb96236cf80306995dda2403521d32 Author: C. Scott Ananian Date: Mon Mar 2 19:03:19 2009 -0500 Delint: remove unused imports. src/net/cscott/sdr/anim/SdrGame.java | 1 - src/net/cscott/sdr/anim/VenueState.java | 3 --- src/net/cscott/sdr/calls/FormationList.java | 1 - 3 files changed, 5 deletions(-) commit 98f67aa2ad5b5d653a24311ad3ddab43937d27ca Author: C. Scott Ananian Date: Sun Mar 1 18:32:43 2009 -0500 Update Prim to use Prim.Flags; add appropriate parser support. Our parsers now take the valid flag names directly from Prim.Flags, which should avoid having to update the parsers again if we add/remove flag types. We also added support for FORCE_ROLL_RIGHT and FORCE_ROLL_LEFT to EvalPrim. src/net/cscott/sdr/calls/ast/Ast.g | 22 +++- src/net/cscott/sdr/calls/ast/Prim.java | 134 ++++++++++++++------ .../cscott/sdr/calls/transform/BuilderHelper.java | 9 +- src/net/cscott/sdr/calls/transform/CallFile.g | 25 ++-- .../cscott/sdr/calls/transform/CallFileBuilder.g | 21 ++- src/net/cscott/sdr/calls/transform/EvalPrim.java | 13 +- 6 files changed, 155 insertions(+), 69 deletions(-) commit f3c4dc8879fb3461f5d7e8fd99cf54e554b05bd6 Author: C. Scott Ananian Date: Sun Mar 1 15:44:33 2009 -0500 Integrate coverage report using cobertura-1.9.1. .gitignore | 1 + build.xml | 51 +++- lib/dev/README | 2 + lib/dev/cobertura/COPYING | 340 +++++++++++++++++++++++++ lib/dev/cobertura/COPYRIGHT | 31 +++ lib/dev/cobertura/README | 31 +++ lib/dev/cobertura/cobertura-1.9.1.jar | Bin 0 -> 225192 bytes lib/dev/cobertura/lib/asm-3.0.jar | Bin 0 -> 42710 bytes lib/dev/cobertura/lib/asm-tree-3.0.jar | Bin 0 -> 21512 bytes lib/dev/cobertura/lib/jakarta-oro-2.0.8.jar | Bin 0 -> 65261 bytes lib/dev/cobertura/lib/jakarta-oro-license.txt | 53 ++++ lib/dev/cobertura/lib/log4j-1.2.9.jar | Bin 0 -> 352291 bytes lib/dev/cobertura/lib/log4j-license.txt | 48 ++++ src/overview.html | 7 + 14 files changed, 559 insertions(+), 5 deletions(-) commit cbabb576739e06d3a1970ca44934486784e91e9e Author: C. Scott Ananian Date: Sun Mar 1 15:42:14 2009 -0500 Additional doctests for ExactRotation, Formation, Position, and Program. src/net/cscott/sdr/calls/ExactRotation.java | 82 +++++++++++++++++++++++++-- src/net/cscott/sdr/calls/Formation.java | 4 ++ src/net/cscott/sdr/calls/Position.java | 55 ++++++++++++++++-- src/net/cscott/sdr/calls/Program.java | 9 +++ 4 files changed, 141 insertions(+), 9 deletions(-) commit 696d7a0d0c02e94ebcad9c3e00a2a571b4233a59 Author: C. Scott Ananian Date: Sun Mar 1 17:07:57 2009 -0500 Update EvalPrim to use Position.Flags; remove redundant state from DancerPath. Moved the roll and sweep directions from DancerPath to Position.flags. Preserve roll and sweep directions in the formation during "do nothing" actions. src/net/cscott/sdr/calls/DancerPath.java | 17 +--- src/net/cscott/sdr/calls/transform/EvalPrim.java | 115 ++++++++++++++++------ 2 files changed, 84 insertions(+), 48 deletions(-) commit 7ecae47c8cffc780121424ddc245acabd295f6bc Author: C. Scott Ananian Date: Sun Mar 1 13:21:45 2009 -0500 Add roll/sweep/left-shoulder flags to Position object. This allows the formation to preserve the "last roll" and "last sweep" directions, and to keep the left/right shoulder information around for resolving collisions. It's possible we should add a "was-selected" flag to allow calls like, "same four right and left through". src/net/cscott/sdr/calls/Position.java | 297 ++++++++++++++++++++++++++------ 1 file changed, 249 insertions(+), 48 deletions(-) commit c72d054bb8c27cc3774ad58b153ba2fc049fc282 Author: C. Scott Ananian Date: Fri Feb 27 19:35:40 2009 -0500 Update to pre-release jdoctest 1.4. Update the javascript in footer. We use the EXPECT FAIL stuff in doctests now. build.xml | 25 +++++++------------------ lib/dev/jdoctest/jdoctest-1.3.jar | Bin 5388 -> 6314 bytes 2 files changed, 7 insertions(+), 18 deletions(-) commit d08770519edde8bd1d4ccc6014d61572cd20748b Author: C. Scott Ananian Date: Fri Feb 27 09:36:24 2009 -0500 Add tests for FormationMapper.breathe(). Some of these tests currently fail: breathing out appears not to work correctly for dancers on the centerline, and collision resolution hasn't been implemented yet. src/net/cscott/sdr/calls/FormationMapper.java | 104 ++++++++++++++++++++++++- 1 file changed, 102 insertions(+), 2 deletions(-) commit 7d949f2d40f8ac95ba8015b1bc2582c8df721794 Author: C. Scott Ananian Date: Wed Feb 25 21:40:28 2009 -0500 Sort maps/sets in Formation.toString() so test output is consistent. src/net/cscott/sdr/calls/Formation.java | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) commit 1db49101b471ca02223780b440312422b1023bab Author: C. Scott Ananian Date: Wed Feb 25 21:00:55 2009 -0500 Update SelectorList to match FormationList. src/net/cscott/sdr/calls/FormationList.java | 12 ++++++------ src/net/cscott/sdr/calls/SelectorList.java | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+), 6 deletions(-) commit 9bee1755b7af0c6c49f3b18665a9de0d2950928b Author: C. Scott Ananian Date: Wed Feb 25 20:06:06 2009 -0500 Work on quarter tags in FormationList. Add single (three-) quarter tags of various sorts, and use these to create the 8-person tags. Apply proper tags to the formation (adding OUTSIDE_4, OUTSIDE_6, and CENTER_6 tags) and fix orientation. Also clean up some old commented-out code in FormationList. In the future, we might need to add "ends out" and "diamond spots" variations of the tags, as well as adding "tag spots" and "ends in" variations of the diamonds. src/net/cscott/sdr/calls/Formation.java | 2 + src/net/cscott/sdr/calls/FormationList.java | 139 +++++++++++++++---------- src/net/cscott/sdr/calls/TaggedFormation.java | 3 +- 3 files changed, 89 insertions(+), 55 deletions(-) commit 7ec0f84e4c9a22873ebcecca1ad07b201ba384f0 Author: C. Scott Ananian Date: Wed Feb 25 19:52:28 2009 -0500 Introduce NamedTaggedFormation. Instead of using an anonymous inner class to associate nice names with standard formations, factor out a "real" public NamedTaggedFormation class, and use it. Also fix the FormationList.main() self test code, and add some additional doctests to FormationList that assert that canonical formations are centered and have most of the dancers facing in the north/south direction. src/net/cscott/sdr/calls/FormationList.java | 38 ++++++++++++++------ .../cscott/sdr/calls/GeneralFormationMatcher.java | 7 +++- src/net/cscott/sdr/calls/NamedTaggedFormation.java | 30 ++++++++++++++++ 3 files changed, 63 insertions(+), 12 deletions(-) commit e06ddd10b73d8a69cd3f1644eba07e4eaa15171c Author: C. Scott Ananian Date: Mon Feb 23 10:37:00 2009 -0500 Javadoc improvements to FormationMapper. src/net/cscott/sdr/calls/FormationMapper.java | 173 ++++++++++++++----------- 1 file changed, 97 insertions(+), 76 deletions(-) commit 55cbae9ad4fca77f130b94d2131348e6831c8901 Author: C. Scott Ananian Date: Mon Feb 23 10:36:21 2009 -0500 Rename FormationMapper.compress() to FormationMapper.breathe(). src/net/cscott/sdr/calls/FormationList.java | 28 ++++++++++---------- src/net/cscott/sdr/calls/FormationMapper.java | 8 +++--- .../cscott/sdr/calls/GeneralFormationMatcher.java | 2 +- 3 files changed, 19 insertions(+), 19 deletions(-) commit 2d60fb1676b7e1f011655e35a8e54d8e1a9ab3fc Author: C. Scott Ananian Date: Mon Feb 23 09:27:56 2009 -0500 SDR can do "scoot back and roll"! Add functions to handle in/out movement & rotation directions to the Position class (Position.forwardStep(), Position.sideStep(), Position.turn()). The Position.turn() method takes a reference point, since "step forward, turning in a quarter" evaluates the "turn in" at the start point, not the point you reach after stepping forward. The new capability is then used by EvalPrim to properly handle primitive actions involving in/out movements. Some bugs were fixed in the process involving sweep and roll directions. We now can evaluate the prims representing left-handed or right-handed scoot back, and get the roll direction correct at the end (only original leaders can roll). Added a comment to FormationMapper documenting that FormationMapper.compress() doesn't work to breathe *out* formations which require it, which happens during the scoot back. src/net/cscott/sdr/calls/FormationMapper.java | 7 + src/net/cscott/sdr/calls/Position.java | 173 +++++++++++-- src/net/cscott/sdr/calls/transform/EvalPrim.java | 288 ++++++++++++++++------ 3 files changed, 367 insertions(+), 101 deletions(-) commit ef6312a7b8ce6dfbfe87a7c3cd536edada77c1e1 Author: C. Scott Ananian Date: Mon Feb 23 09:26:09 2009 -0500 Tweak how in/out rotation directions show up in Prim.toString(). src/net/cscott/sdr/calls/ast/Ast.g | 4 ++-- src/net/cscott/sdr/calls/ast/Prim.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) commit 9320b626abb7437386664dd5380a2e71d84e5d85 Author: C. Scott Ananian Date: Thu Feb 19 10:26:27 2009 -0500 Assert that canonical formations are compressed. Add easier-to-use FormationMapper.compress() version, which just takes a Formation and compresses it ("breathes it in"). Use this to write a doctest for FormationList asserting that all standard formations are compressed. There is currently one glaring exception: diamonds are not compressed; they are in the "ends stay where they are after a centers hinge" position; ie, the ends are one full phantom dancer spot away from the centerline, where a compressed formation would put them just half a phantom dancer spot away (just enough room for the centers). I'm not certain yet whether this is a bug. I suspect I will need to recognize both "expanded" diamonds and "compressed" diamonds, much like quarter tags have the "ends in diamond spots" and "ends together" variants. Also added FormationList.all list which contains all the defined formations. src/net/cscott/sdr/calls/FormationList.java | 51 +++++++++++++++++++------ src/net/cscott/sdr/calls/FormationMapper.java | 24 ++++++++++-- 2 files changed, 60 insertions(+), 15 deletions(-) commit a3e732da1cafbf7fb2fb2e4296ed753c87cc1d93 Author: C. Scott Ananian Date: Wed Feb 18 09:49:54 2009 -0500 Remove old self-test FormationMapper.main() method. This requires tweaking the formation demo animation at game startup. We now iterate through various formations instead. src/net/cscott/sdr/anim/SdrGame.java | 13 +------ src/net/cscott/sdr/anim/VenueState.java | 49 +++++++++++++++---------- src/net/cscott/sdr/calls/FormationMapper.java | 34 ----------------- 3 files changed, 31 insertions(+), 65 deletions(-) commit eec707a88f571fd6dd42e221df5a7da11b3b58b7 Author: C. Scott Ananian Date: Wed Feb 18 09:48:06 2009 -0500 Doctests for FormationMapper.insert(). src/net/cscott/sdr/calls/FormationMapper.java | 72 ++++++++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) commit 77787c29ea039e2c5fb6d33bf7f7cd960576afa4 Author: C. Scott Ananian Date: Tue Feb 17 09:20:45 2009 -0500 Make the relationship of Game and SdrGame/SdrBaseGame clear. We'll remove the deprecated SdrGame/SdrBaseGame once I'm certain that all of its functionality has been implemented in Game. In particular, first person camera control doesn't seem to be implemented in Game yet. src/net/cscott/sdr/anim/CheckerDancer.java | 2 +- src/net/cscott/sdr/anim/Game.java | 13 ++++++++----- src/net/cscott/sdr/anim/SdrBaseGame.java | 1 + src/net/cscott/sdr/anim/SdrGame.java | 3 +++ src/net/cscott/sdr/anim/VenueState.java | 14 +++++++------- 5 files changed, 20 insertions(+), 13 deletions(-) commit 90db3570885d40ca82263aa4591354464f5bed05 Author: C. Scott Ananian Date: Fri Feb 13 18:33:33 2009 -0500 EvalPrim can do a partner trade now. We're not handling IN/OUT correctly, but it's a start. Also add Formation.move()/TaggedFormation.move() to aid testing, and improve DancerPath, adding a toString() method, etc. src/net/cscott/sdr/calls/DancerPath.java | 41 +++++++--- src/net/cscott/sdr/calls/Formation.java | 9 +++ src/net/cscott/sdr/calls/TaggedFormation.java | 9 +++ src/net/cscott/sdr/calls/transform/EvalPrim.java | 94 ++++++++++++++++++---- 4 files changed, 128 insertions(+), 25 deletions(-) commit 74116980647b3bd36fb1798644613bb88f1b2818 Author: C. Scott Ananian Date: Fri Feb 13 18:31:20 2009 -0500 Fix definition: 2nd part of beau's part of partner trade. resources/net/cscott/sdr/calls/lists/basic.calls | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4590d0165c782cf1a1f19e2538f8b9e9b4b60f3a Author: C. Scott Ananian Date: Fri Feb 13 18:26:16 2009 -0500 Remove unused DancerActions class; we use DancerPath instead. src/net/cscott/sdr/calls/DancerActions.java | 19 ------------------- 1 file changed, 19 deletions(-) commit df3cfb7aec6d785623cdc13b866d42c11df8ba9a Author: C. Scott Ananian Date: Fri Feb 13 18:23:34 2009 -0500 Tweak toString methods of Position and TaggedFormation. Use more-friendly Rotation.toAbsoluteString() in the default Position.toString() method. Ensure that the MultiMap in TaggedFormation is output in a consistent (ie, not hash-sensitive) order. Update various doctests to match the new formats. src/net/cscott/sdr/calls/Formation.java | 8 +++--- src/net/cscott/sdr/calls/Position.java | 38 ++++++++++++++----------- src/net/cscott/sdr/calls/TaggedFormation.java | 22 +++++++++++++- 3 files changed, 47 insertions(+), 21 deletions(-) commit 038cbbf5c38fe459feb24c3f00de6051b49d05a6 Author: C. Scott Ananian Date: Fri Feb 13 17:16:47 2009 -0500 Fix javadoc for AstNode; add specialized valueOf() for Prim. src/net/cscott/sdr/calls/ast/AstNode.java | 6 ++---- src/net/cscott/sdr/calls/ast/Prim.java | 7 +++++++ 2 files changed, 9 insertions(+), 4 deletions(-) commit 4d968adf22aefaff5b6f3147e7ec6af9a525896f Author: C. Scott Ananian Date: Fri Feb 13 14:07:52 2009 -0500 Delint: fix warnings. src/net/cscott/sdr/anim/Game.java | 2 +- src/net/cscott/sdr/anim/Gauge.java | 4 ++-- src/net/cscott/sdr/anim/SdrBaseGame.java | 2 +- src/net/cscott/sdr/calls/grm/Grm.java | 3 --- src/net/cscott/sdr/calls/transform/CallFile.g | 7 ------- src/net/cscott/sdr/calls/transform/CallFileLoader.java | 3 --- 6 files changed, 4 insertions(+), 17 deletions(-) commit 99da6c5ec34fb04d6db8af66ee26501d5dc6d342 Author: C. Scott Ananian Date: Fri Feb 13 14:00:31 2009 -0500 Update eclipse project information. .classpath | 2 +- .project | 21 ++++++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) commit 75b7889bf18dfe1374ecca810c090497b06fb326 Author: C. Scott Ananian Date: Fri Feb 13 03:00:57 2009 -0500 Release sdr-0.3. build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 10dd43433f5e288789fa29f48e77c4945b330dd7 Author: C. Scott Ananian Date: Fri Feb 13 02:53:00 2009 -0500 Resign JME jars with new SDR key. lib/jme/jnlp/jinput-linux.jar | Bin 5668 -> 5671 bytes lib/jme/jnlp/jinput-linux.jar.MD5 | 2 +- lib/jme/jnlp/jinput-mac.jar | Bin 7844 -> 7849 bytes lib/jme/jnlp/jinput-mac.jar.MD5 | 2 +- lib/jme/jnlp/jinput-windows.jar | Bin 29215 -> 29218 bytes lib/jme/jnlp/jinput-windows.jar.MD5 | 2 +- lib/jme/jnlp/lwjgl-linux.jar | Bin 66210 -> 66214 bytes lib/jme/jnlp/lwjgl-linux.jar.MD5 | 2 +- lib/jme/jnlp/lwjgl-mac.jar | Bin 76786 -> 76790 bytes lib/jme/jnlp/lwjgl-mac.jar.MD5 | 2 +- lib/jme/jnlp/lwjgl-windows.jar | Bin 67970 -> 67975 bytes lib/jme/jnlp/lwjgl-windows.jar.MD5 | 2 +- lib/jme/jnlp/openal-linux.jar | Bin 80351 -> 80353 bytes lib/jme/jnlp/openal-linux.jar.MD5 | 2 +- lib/jme/jnlp/openal-mac.jar | Bin 93885 -> 93889 bytes lib/jme/jnlp/openal-mac.jar.MD5 | 2 +- lib/jme/jnlp/openal-windows.jar | Bin 79779 -> 79784 bytes lib/jme/jnlp/openal-windows.jar.MD5 | 2 +- 18 files changed, 9 insertions(+), 9 deletions(-) commit 1afd550bf43af66b7eecdaebf413a530a799e05c Author: C. Scott Ananian Date: Fri Feb 13 02:07:22 2009 -0500 Trim deployed sdr-libs.jar; workaround pack200 signature issues. Moved some libraries from lib/ to lib/dev/ so they don't get included in the deployed JAR. Also add runtime-only version of ANTLR jar. Workaround for http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5078608 -- first I synchronized command-line options between pack200 --repack and the final pack, as described in the Sun bug report, but it was using a repack, sign, repack, sign cycle that really seemed to do the trick. .classpath | 19 +++++++------------ build.xml | 22 ++++++++++++++++++---- lib/antlr-3.1.1-runtime.jar | Bin 0 -> 116205 bytes lib/{ => dev}/antlr-3.1.1.jar | Bin 1513525 -> 1513525 bytes lib/{ => dev}/jdoctest/jdoctest-1.3.jar | Bin 5388 -> 5388 bytes lib/{ => dev}/jdoctest/rhino-1.7r2-rc3.jar | Bin 871167 -> 871167 bytes lib/{ => dev}/jline-0.9.94.jar | Bin 87325 -> 87325 bytes run-shell.sh | 2 +- sdr.Manifest | 2 +- upload.sh | 3 ++- 10 files changed, 29 insertions(+), 19 deletions(-) commit 9b5069347aeee4c62461e6714e70206005bbe548 Author: C. Scott Ananian Date: Thu Feb 12 23:59:23 2009 -0500 Update build and upload rules; new signing key. Improvements to build.xml and upload.sh to reflect new repository, new web server, improve rsync performance, include javadoc, improve clean rules. We also needed to regenerate the JNLP signing key, since the original had a 1-year expiry; we upped that to 10 years for the new key. build.xml | 31 ++++++++++++++++++------------- upload.sh | 3 +-- 2 files changed, 19 insertions(+), 15 deletions(-) commit d2634349e22d3b42941f055ead4c3201b635c0e2 Author: C. Scott Ananian Date: Fri Feb 13 02:04:43 2009 -0500 Turnstyle is not in Sphinx' dictionary. Teach it: "turn style". resources/net/cscott/sdr/calls/lists/c3b.calls | 1 + 1 file changed, 1 insertion(+) commit 10532c06c34010cb7b8f7915c239c9328b85dc4a Author: C. Scott Ananian Date: Thu Feb 12 21:11:33 2009 -0500 Allow keywords to be used in Condition, ParCall, and OptCall. Use ANTLR's semantic predicates to write the grammar rules without using lexer keywords. (This could be applied to the call file parser, as well, to replace the fancy lexer hacks we're currently using.) src/net/cscott/sdr/calls/ast/Ast.g | 84 ++++++++++++++++++++---------------- 1 file changed, 47 insertions(+), 37 deletions(-) commit f2bbc154c0b9dc65b586ff446fa96674129692cf Author: C. Scott Ananian Date: Thu Feb 12 13:45:22 2009 -0500 Add doctests to BeatCounter/RemoveIn, based on the new AstNode.valueOf() method. .../cscott/sdr/calls/transform/BeatCounter.java | 16 ++++++++++++--- src/net/cscott/sdr/calls/transform/RemoveIn.java | 21 ++++++++++++++++---- 2 files changed, 30 insertions(+), 7 deletions(-) commit ff146a9ffe6e777592b5b10c3718bdb899dea968 Author: C. Scott Ananian Date: Thu Feb 12 13:42:39 2009 -0500 Add AstNode.valueOf() method to ease testing. AstNode.valueOf() ought to be the inverse operation to AstNode.toString(). The implementation is via an ANTLRv3 grammar, naturally. build.xml | 3 + src/net/cscott/sdr/calls/ast/.gitignore | 3 + src/net/cscott/sdr/calls/ast/Ast.g | 267 +++++++++++++++++++++++++++++ src/net/cscott/sdr/calls/ast/AstNode.java | 29 ++++ 4 files changed, 302 insertions(+) commit bda32273c8131afd71899de63d6b2f929ad6acae Author: C. Scott Ananian Date: Thu Feb 12 13:30:56 2009 -0500 Tweak Prim.toString(), update doctests to match. Add disambiguating commas between fraction parts of the Prim, add missing 'in' qualifiers to the x, y, and rotation parts. src/net/cscott/sdr/calls/ast/Prim.java | 13 +++++++++---- src/net/cscott/sdr/calls/lists/BasicList.java | 2 +- src/net/cscott/sdr/calls/package-info.java | 4 ++-- src/net/cscott/sdr/calls/transform/Fractional.java | 4 ++-- 4 files changed, 14 insertions(+), 9 deletions(-) commit f0bdaa1ff51a3df9509f359cf6abba16f7124e4a Author: C. Scott Ananian Date: Wed Feb 11 12:18:50 2009 -0500 Tweak build rules: only regenerate natural language grammars if changed. We also fix the javac rules to ignore package-info.java, to prevent them from being continually rebuilt, and alter the target dependencies so that 'jar' and 'build' both generate the natural language grammars as a matter of course. build.xml | 11 +++---- src/net/cscott/sdr/calls/grm/BuildGrammars.java | 39 +++++++++++++++++++++-- 2 files changed, 40 insertions(+), 10 deletions(-) commit e1d655b5883410a534691d03f522742d637d2300 Author: C. Scott Ananian Date: Tue Feb 10 23:41:57 2009 -0500 Update to jdoctest-1.3. Fixes bug which put Test clauses all over the javadoc, even if you didn't specify any @doc.test tags. lib/jdoctest/jdoctest-1.2.jar | Bin 5370 -> 0 bytes lib/jdoctest/jdoctest-1.3.jar | Bin 0 -> 5388 bytes 2 files changed, 0 insertions(+), 0 deletions(-) commit dce7a1d25a0cc75b9fc47b1d5da8e1f7875d7fee Author: C. Scott Ananian Date: Tue Feb 10 23:22:56 2009 -0500 Upgrade grammars from ANTLRv2 to ANTLRv3. Upgrade grammars, Ant task, build rules, .gitignore; remove ANTLRv2 cruft. Add lots of doctests; fix one bug (where 'call: a, b, c' was being parsed as 'call: a,c') and fix two instances in basic.calls where we were depending on a particular resolution of a grammar ambiguity -- we now flag that as an error. build.xml | 50 +- lib/antlr-2.7.7.jar | Bin 443876 -> 0 bytes lib/dev/README | 6 +- lib/dev/antlr3-ant.jar | Bin 0 -> 9220 bytes lib/dev/stringtemplate-2.3b9.jar | Bin 182856 -> 0 bytes resources/net/cscott/sdr/calls/lists/basic.calls | 8 +- src/net/cscott/sdr/calls/.gitignore | 3 - src/net/cscott/sdr/calls/TestParser.java | 29 +- src/net/cscott/sdr/calls/ast/TokenTypes.java | 6 +- src/net/cscott/sdr/calls/grm/BuildGrammars.java | 2 +- src/net/cscott/sdr/calls/grm/Grm.java | 28 +- src/net/cscott/sdr/calls/lists/.gitignore | 10 +- src/net/cscott/sdr/calls/package-info.java | 2 +- src/net/cscott/sdr/calls/transform/.gitignore | 6 +- .../cscott/sdr/calls/transform/AstTokenTypes.java | 27 +- .../cscott/sdr/calls/transform/AstTokenTypes.txt | 14 - src/net/cscott/sdr/calls/transform/CallFile.g | 834 +++++++++++++------- .../cscott/sdr/calls/transform/CallFileBuilder.g | 356 +++++---- .../cscott/sdr/calls/transform/CallFileLoader.java | 35 +- 19 files changed, 888 insertions(+), 528 deletions(-) commit 633464395ea0bd7354c6962ee7e1eda74eaea80a Author: C. Scott Ananian Date: Sat Feb 7 13:21:49 2009 -0500 Add ChangeLog generation back to 'dist' target. This was removed when we moved from cvs to git. Now we use git-log --stat -C. build.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit cdb408de0fd4756fc37ec9aa7056f9e1a686a1a2 Author: C. Scott Ananian Date: Sat Feb 7 03:43:02 2009 -0500 Update to jdoctest-1.2. build.xml | 34 +- lib/jdoctest/jdoctest-1.1.jar | Bin 4983 -> 0 bytes lib/jdoctest/jdoctest-1.2.jar | Bin 0 -> 5370 bytes src/doc-files/loadpretty.js | 16 + src/doc-files/prettify.css | 39 ++ src/doc-files/prettify.js | 1330 +++++++++++++++++++++++++++++++++++++++++ 6 files changed, 1414 insertions(+), 5 deletions(-) commit b035e390a935dd78638f1c14c7cb1d8110a0adfd Author: C. Scott Ananian Date: Sat Feb 7 02:51:26 2009 -0500 Move tests from net.cscott.sdr.calls.Test into package-info.java. Rewrite first part of ad-hoc test routines in net.cscott.sdr.calls.Test class as package-level doctests in src/net/cscott/sdr/calls/package-info.java. src/net/cscott/sdr/calls/package-info.java | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) commit 4945ff169f5d8175243cf0b1fa911ba031e6f357 Author: C. Scott Ananian Date: Sat Feb 7 02:49:59 2009 -0500 Add doctest for SelectorList.OR(). src/net/cscott/sdr/calls/SelectorList.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) commit 9fb30fb4e7f131170c4018790889884d077a106a Author: C. Scott Ananian Date: Sat Feb 7 02:49:06 2009 -0500 Fix some formation names. src/net/cscott/sdr/calls/FormationList.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit c514c7d331e642798b152226ad49907026771bb0 Author: C. Scott Ananian Date: Fri Feb 6 12:44:11 2009 -0500 Document the TestParser driver. src/net/cscott/sdr/calls/TestParser.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit 462cb9eda087c196a0246d623346fbc6292bd60b Author: C. Scott Ananian Date: Fri Feb 6 12:40:22 2009 -0500 Reimplement TestSelectors JUnit test as a doctest in SelectorList. The doctest is actually a more accurate test, as well. src/net/cscott/sdr/calls/SelectorList.java | 92 ++++++++++++++++++++++++++- src/net/cscott/sdr/calls/TestSelectors.java | 75 ---------------------- 2 files changed, 91 insertions(+), 76 deletions(-) commit f17bda40b529c0bba85d79a77e537fc5c69a2ea8 Author: C. Scott Ananian Date: Fri Feb 6 12:37:13 2009 -0500 Add tag information to FormationMatch.toString(). Add tag information to FormationMatch pretty-printer. We also added a general dancer-ordering comparator to Formation, since we were reimplementing it everywhere. The FormationMatch pretty-printer sorts all output so that it is not dependent on implementation-specific details such as the ordering of keys within the FormationMatch.matches map, or the ordering of dancers within the FormationMatch.meta formation. src/net/cscott/sdr/calls/Formation.java | 14 ++++++++ src/net/cscott/sdr/calls/FormationMatch.java | 36 +++++++++++++++----- .../cscott/sdr/calls/GeneralFormationMatcher.java | 10 ++++++ 3 files changed, 51 insertions(+), 9 deletions(-) commit d51fab9d504c463ace31ffe1f625cd5dea4524b1 Author: C. Scott Ananian Date: Fri Feb 6 12:08:18 2009 -0500 Update Apache Commons Lang to version 2.4. .classpath | 20 ++++++++++++++------ lib/commons-lang-2.4.jar | Bin 0 -> 261809 bytes lib/commons-lang.jar | Bin 174738 -> 0 bytes sdr.Manifest | 2 +- 4 files changed, 15 insertions(+), 7 deletions(-) commit 96978b49e40bfff0796d5821711a28371f9cc8bb Author: C. Scott Ananian Date: Fri Feb 6 10:57:37 2009 -0500 Improve test suite for net.cscott.sdr.calls package. This should really be refactored into doctests. src/net/cscott/sdr/calls/Test.java | 47 +++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 4 deletions(-) commit 58d3ce383c09de2f57a2f0c5b21e67b8b09f2120 Author: C. Scott Ananian Date: Fri Feb 6 10:55:41 2009 -0500 Comments & commentary for Elaborate transformation. src/net/cscott/sdr/calls/transform/Elaborate.java | 23 +++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) commit 69098a65d7ffb77fbc144cd657c07d468835e21f Author: C. Scott Ananian Date: Fri Feb 6 10:52:46 2009 -0500 Improve symmetry in GeneralFormationMatcher: handle 1/4 symmetry as well. .../cscott/sdr/calls/GeneralFormationMatcher.java | 48 ++++++++++++++------ 1 file changed, 34 insertions(+), 14 deletions(-) commit b7c81b8fac873ae3e305c64e730c8f21fde43596 Author: C. Scott Ananian Date: Fri Feb 6 10:31:36 2009 -0500 Tweak GeneralFormationMatcher so that resulting meta formation is symmetric. Since we attempt to match dancers in order by sorted index (and our symmetric-match detection is also based on ordering here), we can encourage a symmetric result by ensuring that symmetric dancers in the input formation are grouped together in the sort order. Matching a miniwave against a wave now results in another miniwave, instead of possibly resulting in a couple. .../cscott/sdr/calls/GeneralFormationMatcher.java | 26 ++++++++++++++------ 1 file changed, 19 insertions(+), 7 deletions(-) commit 2103b8bd0b365adedcceb2b4d70f6b57be75784e Author: C. Scott Ananian Date: Fri Feb 6 03:45:02 2009 -0500 Make Position implement Comparable. Simplify some existing code which ordered dancers by position. src/net/cscott/sdr/calls/FormationMatch.java | 5 +-- .../cscott/sdr/calls/GeneralFormationMatcher.java | 12 ++++--- src/net/cscott/sdr/calls/Position.java | 38 ++++++++++++++++++-- 3 files changed, 44 insertions(+), 11 deletions(-) commit 2eead875bd37101de9de7e0f377a01bd160d92aa Author: C. Scott Ananian Date: Fri Feb 6 02:59:22 2009 -0500 Implement allowUnmatchedDancers in GeneralFormationMatcher. src/net/cscott/sdr/calls/FormationList.java | 8 +- .../cscott/sdr/calls/GeneralFormationMatcher.java | 90 ++++++++++++++++++-- 2 files changed, 91 insertions(+), 7 deletions(-) commit c15c505e8ba594a821e60335276bedbebfa38d20 Author: C. Scott Ananian Date: Fri Feb 6 02:19:35 2009 -0500 Add a pretty-printer for FormationMatch. In addition to adding a cute FormationMatch.toString() method, we also clarify the class' javadoc to remove an apparently outdated reference to a Warp stored with the FormationMatch. src/net/cscott/sdr/calls/FormationMatch.java | 47 +++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) commit acf0e25cc6d1b9e90f884f830cbaca2dcfffa92b Author: C. Scott Ananian Date: Fri Feb 6 02:16:58 2009 -0500 Remove extra newline after formation diagrams; add prefix option. Tighten up output of Formation.toStringDiagram() and add an argument to allow prefixing each line of the diagram with a given prefix. Also rename the dancerNames map, since it's externally visible: use consistent CamelCase. src/net/cscott/sdr/calls/Formation.java | 65 +++++++++++++++++-------------- 1 file changed, 36 insertions(+), 29 deletions(-) commit cc82ce2af78770111574cdc896ab29e5040b1e78 Author: C. Scott Ananian Date: Fri Feb 6 02:15:29 2009 -0500 Comment out debugging code in Tagger. src/net/cscott/sdr/calls/Tagger.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 2bf7ff24f611f968937d4dead6f2ff8f0d945a00 Author: C. Scott Ananian Date: Fri Feb 6 02:08:42 2009 -0500 Migrate to git: rename all .cvsignore to .gitignore. .cvsignore => .gitignore | 0 resources/net/cscott/sdr/recog/{.cvsignore => .gitignore} | 0 src/net/cscott/sdr/{.cvsignore => .gitignore} | 0 src/net/cscott/sdr/calls/{.cvsignore => .gitignore} | 0 src/net/cscott/sdr/calls/lists/{.cvsignore => .gitignore} | 0 src/net/cscott/sdr/calls/transform/{.cvsignore => .gitignore} | 0 6 files changed, 0 insertions(+), 0 deletions(-) commit ad6c57c297ceab9abf74e0a93cd7817c6c6844a4 Author: C. Scott Ananian Date: Fri Feb 6 02:02:55 2009 -0500 Add various 8-person diamond formations to SelectorList. src/net/cscott/sdr/calls/SelectorList.java | 8 ++++++++ 1 file changed, 8 insertions(+) commit a6476ad4b1efab4126f3954785a8a8c360fe3a65 Author: C. Scott Ananian Date: Fri Feb 6 06:26:19 2009 +0000 Bug fix: handle negative ExactRotations properly in toDiagramChar(). src/net/cscott/sdr/calls/ExactRotation.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 1124b7e0ded66f7ddc64d06133bf525f6c89ee91 Author: C. Scott Ananian Date: Fri Feb 6 06:25:12 2009 +0000 Add explode the diamond to c3b list. resources/net/cscott/sdr/calls/lists/c3b.calls | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit 430e28b738d3181d681fe9fc67a6990936938965 Author: C. Scott Ananian Date: Thu Feb 5 19:59:59 2009 +0000 Notes about interaction of FROM and SELECT. notes.txt | 7 +++++++ 1 file changed, 7 insertions(+) commit 5fb389bad8e73f3ac768bb1ae45d4476bb0cdf5c Author: C. Scott Ananian Date: Thu Feb 5 19:58:02 2009 +0000 Improve Formation.toStringDiagram(). Add a variant where you can specify the characters to use to represent individual dancers, and add support for non-orthogonal rotations. Add doctests for the whole mess. src/net/cscott/sdr/calls/Formation.java | 68 ++++++++++++++++++++++++++++--- 1 file changed, 63 insertions(+), 5 deletions(-) commit 7e9777c8ea7759a45a6ad25361db78974ed8f8d2 Author: C. Scott Ananian Date: Thu Feb 5 19:55:35 2009 +0000 Use javascript String.fromCharCode to improve doctests. src/net/cscott/sdr/calls/ExactRotation.java | 5 +---- src/net/cscott/sdr/calls/Rotation.java | 12 ++---------- 2 files changed, 3 insertions(+), 14 deletions(-) commit 73174f2d1fee8d4a109687df2b8115775c825c22 Author: C. Scott Ananian Date: Thu Feb 5 19:47:10 2009 +0000 Add doctests for ExactRotation/Rotation and mappings for 45-degree facing dirs. src/net/cscott/sdr/calls/ExactRotation.java | 38 ++++++++++++++++ src/net/cscott/sdr/calls/Rotation.java | 63 ++++++++++++++++++++++++--- 2 files changed, 96 insertions(+), 5 deletions(-) commit bf27566e93e7b835bb7df07c81df73e0a7186c9e Author: C. Scott Ananian Date: Thu Feb 5 09:50:02 2009 +0000 Fix a javadoc link. src/net/cscott/sdr/calls/transform/BuilderHelper.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 19e87d6147ff6092719792dd22bceee7b879523a Author: C. Scott Ananian Date: Thu Feb 5 09:49:41 2009 +0000 Fix up documentation for Position; add doctests; fix Position.sideStep() Position.sideStep() was actually backwardsStep(). Fixed. Also corrected some confusion about null Rotations (not allowed!) and where exactly the caller is (*behind* couple #1). src/net/cscott/sdr/calls/ExactRotation.java | 5 +- src/net/cscott/sdr/calls/Position.java | 81 ++++++++++++++++++++++----- src/net/cscott/sdr/calls/Rotation.java | 7 ++- 3 files changed, 73 insertions(+), 20 deletions(-) commit 724c02e2982b3a8cf160784d453e55ad4a5960ff Author: C. Scott Ananian Date: Thu Feb 5 08:32:12 2009 +0000 Add doctests to net.cscott.sdr.calls.Formation. src/net/cscott/sdr/calls/Formation.java | 152 ++++++++++++++++++++++++++++--- 1 file changed, 138 insertions(+), 14 deletions(-) commit 271fcfc14ba82563a3abcae936c7026ed02047e7 Author: C. Scott Ananian Date: Thu Feb 5 06:13:31 2009 +0000 Add JDoctest tool to embed doctests in javadoc; add some tests! Doctests added for CallDB, and BasicList._FRACTIONAL / Fractional(). build.xml | 48 +++++++++++++++++++- lib/jdoctest/jdoctest-1.1.jar | Bin 0 -> 4983 bytes lib/jdoctest/rhino-1.7r2-rc3.jar | Bin 0 -> 871167 bytes lib/jline-0.9.94.jar | Bin 0 -> 87325 bytes run-shell.sh | 2 + src/net/cscott/sdr/calls/CallDB.java | 25 +++++++++- src/net/cscott/sdr/calls/lists/BasicList.java | 22 ++++++++- src/net/cscott/sdr/calls/transform/Fractional.java | 21 +++++++++ 8 files changed, 115 insertions(+), 3 deletions(-) commit 61a20c208db0b824d976dc9e1f53ec435f064536 Author: C. Scott Ananian Date: Thu Feb 5 02:37:57 2009 +0000 Fix javadoc @link. src/net/cscott/sdr/calls/transform/Fractional.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 246cbdd395e3b265c6f25621446469b839abb0d8 Author: C. Scott Ananian Date: Thu Feb 5 01:52:52 2009 +0000 Improve version target in ant file, so we don't keep rebuilding Version.java. build.xml | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) commit b016059227ef6a4669e16611a6c77587f830b07f Author: C. Scott Ananian Date: Tue Feb 3 21:11:33 2009 +0000 Implement allowUnmatchedDancers flag to GeneralFormationMatcher. We aren't currently adding SINGLE_DANCER mappings for unmatched dancers, which the FormationMatch API says we should do. .../cscott/sdr/calls/GeneralFormationMatcher.java | 25 +++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) commit e5d154249ca39b642a821ec0888c680f01731b5f Author: C. Scott Ananian Date: Tue Feb 3 21:10:09 2009 +0000 Add a bit of javadoc for transform.Fractional. src/net/cscott/sdr/calls/transform/Fractional.java | 4 ++++ 1 file changed, 4 insertions(+) commit 825ae909c34bb5cacf0240977668d2f276f5f810 Author: C. Scott Ananian Date: Tue Feb 3 18:30:24 2009 +0000 Add additional formations and selectors; update basic.calls to match. resources/net/cscott/sdr/calls/lists/basic.calls | 16 ++++++++-------- src/net/cscott/sdr/calls/FormationList.java | 8 ++++++++ src/net/cscott/sdr/calls/SelectorList.java | 15 ++++++++++----- 3 files changed, 26 insertions(+), 13 deletions(-) commit 10a09ac277b8d4013e9d4e59a6c95e6d6321b256 Author: C. Scott Ananian Date: Tue Feb 3 18:29:03 2009 +0000 Finish updating the classpath with updated ANTLR jars. .classpath | 66 ++++++++++++++++++++++++++++-------------------------------- 1 file changed, 31 insertions(+), 35 deletions(-) commit 6032653d8aee915be5550dd213a9a2e7716083ec Author: C. Scott Ananian Date: Tue Feb 3 09:17:52 2009 +0000 Add run.test run to run a test program for development/debugging. build.xml | 13 +++++++++++++ 1 file changed, 13 insertions(+) commit 755232c7053695925c2ed1aaaf38c3f8a7d323ce Author: C. Scott Ananian Date: Tue Feb 3 09:16:55 2009 +0000 Missing bits of the ANTLR v3.1.1 migration. src/net/cscott/sdr/calls/CallDB.java | 5 +++-- src/net/cscott/sdr/calls/lists/.cvsignore | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) commit 99787f4c99e10f6107f8abbe8801d12c2db21638 Author: C. Scott Ananian Date: Tue Feb 3 09:05:35 2009 +0000 Update ANTLR from v2.7.6 to v2.7.7 and from v3.0b4 to v3.1.1. build.xml | 9 ++++++++- lib/{antlr-2.7.6.jar => antlr-2.7.7.jar} | Bin 443432 -> 443876 bytes lib/antlr-3.0b4.jar | Bin 561453 -> 0 bytes lib/antlr-3.1.1.jar | Bin 0 -> 1513525 bytes resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 4 ++-- 5 files changed, 10 insertions(+), 3 deletions(-) commit 7388d27c99a7f4e4f259a6837db8188607255699 Author: C. Scott Ananian Date: Tue Feb 3 08:27:32 2009 +0000 Add some C3B definitions. resources/net/cscott/sdr/calls/lists/c3b.calls | 624 ++++++++++++++++++++++++ src/net/cscott/sdr/calls/CallDB.java | 1 + 2 files changed, 625 insertions(+) commit db5429f37142b2a50b04f2fa339737f09958366b Author: C. Scott Ananian Date: Tue Feb 3 08:26:46 2009 +0000 Extend parser to handle 'example' phrases in call definitions. We prepend the ascii-art diagrams in the examples with exclamation marks to make the lexer easier. We also add 'ferris wheel' to the mainstream definition list with an example of an example clause. Partial support for 'ends with' and 'assert' clauses; I can't see exactly where to fit them into the grammar at the moment, so they are not actually parsed, even though we could lex them and have (unused) production rules for them. We don't currently store the examples in the call definition structure; we should -- and we should have a test program that processes the examples and checks them. .../net/cscott/sdr/calls/lists/mainstream.calls | 22 ++++++++++ src/net/cscott/sdr/calls/transform/CallFile.g | 42 ++++++++++++++++++-- .../cscott/sdr/calls/transform/CallFileBuilder.g | 6 +++ 3 files changed, 67 insertions(+), 3 deletions(-) commit c135189f38ce7e2b946be09c2cafaddabded1952 Author: C. Scott Ananian Date: Tue Feb 3 08:16:01 2009 +0000 Stub out additional selectors, including '2x2'. The selector-to-field name conversion had to extended to prepend an underscore to handle '2x2' (which gets parsed as '2 x2') correctly. src/net/cscott/sdr/calls/Selector.java | 7 +++++-- src/net/cscott/sdr/calls/SelectorList.java | 4 ++++ 2 files changed, 9 insertions(+), 2 deletions(-) commit 0b8a76b4f3208c56ab16069ce538248e040d0ac2 Author: C. Scott Ananian Date: Tue Feb 3 08:14:10 2009 +0000 Apparently the javax.sound package has been removed. We weren't using it anyway. src/net/cscott/sdr/sound/JavaSoundTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cf19144300c8281fb75ef98580031eddc305b76c Author: C. Scott Ananian Date: Tue Feb 3 05:37:16 2009 +0000 Update ANTLRv2 javadoc url; upstream moved to http://antlr2.org build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9b868a1ec63a1826140bbb11cb097e98aef03f97 Author: C. Scott Ananian Date: Fri Jan 30 21:45:03 2009 +0000 quick note re: "why isn't track 2 on the plus program?" resources/net/cscott/sdr/calls/lists/plus.calls | 2 ++ 1 file changed, 2 insertions(+) commit eacc99d20f6be7760135761336e45bc76fdabfac Author: C. Scott Ananian Date: Fri Jan 30 21:44:19 2009 +0000 Make 'slide through' into a fractionalizable call. resources/net/cscott/sdr/calls/lists/basic.calls | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) commit 566e0c4f5e09208368139c23f12a95437ca43df8 Author: C. Scott Ananian Date: Fri Jan 30 21:07:01 2009 +0000 Add a note about 'quantum superimposition' for r&l thru/cross trail thru from squared sets. notes.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 0b3fc8160386db0f0345caa5ee726cadc7b8e585 Author: C. Scott Ananian Date: Wed Mar 7 22:11:09 2007 +0000 New 'EvalPrim' class creates DancerPath objects from Prims and Positions. src/net/cscott/sdr/calls/transform/EvalPrim.java | 116 ++++++++++++++++++++++ 1 file changed, 116 insertions(+) commit c8dd38b03d592dc885cdd079067b71a2fa00b18c Author: C. Scott Ananian Date: Wed Mar 7 22:07:13 2007 +0000 Add 'isExact()' method to Rotation objects; add a 'fromXY()' method to ExactRotation which is the rough equivalent of atan2() for 'rational' angles. src/net/cscott/sdr/calls/ExactRotation.java | 31 +++++++++++++++++++++++++++ src/net/cscott/sdr/calls/Rotation.java | 6 ++++++ 2 files changed, 37 insertions(+) commit c773f976494f16fe6c96a74e96db0122db4bf92e Author: C. Scott Ananian Date: Wed Mar 7 22:06:13 2007 +0000 Slight javadoc tweak. src/net/cscott/sdr/calls/Position.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 74eb5518d8f1f18c2a0f9a9e9519aa68f6da8b2b Author: C. Scott Ananian Date: Wed Mar 7 22:05:29 2007 +0000 Add javadoc & a straight-forward constructor. src/net/cscott/sdr/calls/DancerPath.java | 49 +++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 8 deletions(-) commit 62a49d4e8889d42577b39807bab762e9e6a0ccf1 Author: C. Scott Ananian Date: Wed Mar 7 19:57:05 2007 +0000 Update jME. lib/jme/jme-awt.jar | Bin 146068 -> 147167 bytes lib/jme/{jme-model.jar => jme-collada.jar} | Bin 6421813 -> 6163157 bytes lib/jme/jme-editors.jar | Bin 187804 -> 265001 bytes lib/jme/jme-effects.jar | Bin 1910608 -> 1925988 bytes lib/jme/jme-font.jar | Bin 76617 -> 76617 bytes lib/jme/jme-gamestates.jar | Bin 40626 -> 45541 bytes lib/jme/jme-model.jar | Bin 6421813 -> 272092 bytes lib/jme/jme-scene.jar | Bin 2708 -> 2674 bytes lib/jme/jme-sound.jar | Bin 89435 -> 91321 bytes lib/jme/jme-terrain.jar | Bin 56320 -> 56344 bytes lib/jme/jme.jar | Bin 1528334 -> 1736875 bytes lib/jme/jnlp/jinput-linux.jar | Bin 5663 -> 5668 bytes lib/jme/jnlp/jinput-linux.jar.MD5 | 2 +- lib/jme/jnlp/jinput-mac.jar | Bin 7844 -> 7844 bytes lib/jme/jnlp/jinput-mac.jar.MD5 | 2 +- lib/jme/jnlp/jinput-windows.jar | Bin 29213 -> 29215 bytes lib/jme/jnlp/jinput-windows.jar.MD5 | 2 +- lib/jme/jnlp/lwjgl-linux.jar | Bin 66208 -> 66210 bytes lib/jme/jnlp/lwjgl-linux.jar.MD5 | 2 +- lib/jme/jnlp/lwjgl-mac.jar | Bin 76788 -> 76786 bytes lib/jme/jnlp/lwjgl-mac.jar.MD5 | 2 +- lib/jme/jnlp/lwjgl-windows.jar | Bin 67972 -> 67970 bytes lib/jme/jnlp/lwjgl-windows.jar.MD5 | 2 +- lib/jme/jnlp/openal-linux.jar | Bin 80350 -> 80351 bytes lib/jme/jnlp/openal-linux.jar.MD5 | 2 +- lib/jme/jnlp/openal-mac.jar | Bin 93883 -> 93885 bytes lib/jme/jnlp/openal-mac.jar.MD5 | 2 +- lib/jme/jnlp/openal-windows.jar | Bin 79782 -> 79779 bytes lib/jme/jnlp/openal-windows.jar.MD5 | 2 +- lib/jme/lwjgl.jar | Bin 522405 -> 522393 bytes lib/jme/lwjgl_fmod3.jar | Bin 36867 -> 36866 bytes lib/jme/update.sh | 4 ++-- 32 files changed, 11 insertions(+), 11 deletions(-) commit 791df5798961118ada2ecef28e45c9d6d0eb09f8 Author: C. Scott Ananian Date: Wed Mar 7 19:56:01 2007 +0000 Javadoc fix. src/net/cscott/sdr/anim/MenuState.java | 4 ++-- src/net/cscott/sdr/calls/ast/Prim.java | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) commit c1fdc725b959aa8b47dbaa26c94ca8bd3c322034 Author: C. Scott Ananian Date: Wed Mar 7 19:25:04 2007 +0000 Add bits to grammar and AST to specify "pass left shoulder" and "force an arcing motion" on primitive path pieces. src/net/cscott/sdr/calls/ast/Prim.java | 59 +++++++++++++++----- .../cscott/sdr/calls/transform/BuilderHelper.java | 44 +++++++++++++-- src/net/cscott/sdr/calls/transform/CallFile.g | 15 ++++- .../cscott/sdr/calls/transform/CallFileBuilder.g | 19 ++++--- 4 files changed, 109 insertions(+), 28 deletions(-) commit e2c81c6c92ef71dabbb98aaac8e00bf08b7461b6 Author: C. Scott Ananian Date: Wed Mar 7 19:24:00 2007 +0000 Expand javadoc for DancerPath. src/net/cscott/sdr/calls/DancerPath.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 57dc4480747a42d3b8c59139a37542c3d1d9b4a9 Author: C. Scott Ananian Date: Wed Mar 7 19:17:20 2007 +0000 Update to latest version of jME. src/net/cscott/sdr/anim/BaseState.java | 4 ++-- src/net/cscott/sdr/anim/MenuItem.java | 3 +-- src/net/cscott/sdr/anim/MenuState.java | 7 +------ src/net/cscott/sdr/anim/SdrFirstPersonHandler.java | 12 +++++++----- src/net/cscott/sdr/anim/VenueState.java | 7 ++++--- 5 files changed, 15 insertions(+), 18 deletions(-) commit effe1ff01ca498b26518ab1266a36a5519d31a66 Author: C. Scott Ananian Date: Tue Mar 6 21:29:27 2007 +0000 Update sphinx4 and jME libraries; bump version # to 0.21. build.xml | 2 +- lib/jme/jinput-dx8.dll | Bin 22016 -> 13824 bytes lib/jme/jinput-raw.dll | Bin 36319 -> 7168 bytes lib/jme/jinput.jar | Bin 199222 -> 196459 bytes lib/jme/jnlp/jinput-linux.jar | Bin 5664 -> 5663 bytes lib/jme/jnlp/jinput-linux.jar.MD5 | 2 +- lib/jme/jnlp/jinput-mac.jar | Bin 7844 -> 7844 bytes lib/jme/jnlp/jinput-mac.jar.MD5 | 2 +- lib/jme/jnlp/jinput-windows.jar | Bin 29214 -> 29213 bytes lib/jme/jnlp/jinput-windows.jar.MD5 | 2 +- lib/jme/jnlp/lwjgl-linux.jar | Bin 64376 -> 66208 bytes lib/jme/jnlp/lwjgl-linux.jar.MD5 | 2 +- lib/jme/jnlp/lwjgl-mac.jar | Bin 71985 -> 76788 bytes lib/jme/jnlp/lwjgl-mac.jar.MD5 | 2 +- lib/jme/jnlp/lwjgl-windows.jar | Bin 66748 -> 67972 bytes lib/jme/jnlp/lwjgl-windows.jar.MD5 | 2 +- lib/jme/jnlp/openal-linux.jar | Bin 80351 -> 80350 bytes lib/jme/jnlp/openal-linux.jar.MD5 | 2 +- lib/jme/jnlp/openal-mac.jar | Bin 93882 -> 93883 bytes lib/jme/jnlp/openal-mac.jar.MD5 | 2 +- lib/jme/jnlp/openal-windows.jar | Bin 79781 -> 79782 bytes lib/jme/jnlp/openal-windows.jar.MD5 | 2 +- lib/jme/libjinput-osx.jnilib | Bin 49016 -> 49064 bytes lib/jme/liblwjgl.jnilib | Bin 363076 -> 398360 bytes lib/jme/liblwjgl.so | Bin 231692 -> 249432 bytes lib/jme/liblwjgl64.so | Bin 243064 -> 262328 bytes lib/jme/lwjgl.dll | Bin 122368 -> 130048 bytes lib/jme/lwjgl.jar | Bin 458931 -> 522405 bytes lib/jme/lwjgl_applet.jar | Bin 13112 -> 15124 bytes lib/jme/lwjgl_fmod3.jar | Bin 34867 -> 36867 bytes lib/jme/lwjgl_util.jar | Bin 108864 -> 62356 bytes lib/jme/lwjgl_util_applet.jar | Bin 10293 -> 10300 bytes lib/jme/mvn-lib-install | 10 +++++----- lib/sphinx/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar | Bin 11151287 -> 11151530 bytes lib/sphinx/sphinx4.jar | Bin 789838 -> 1407210 bytes lib/sphinx/update.sh | 3 ++- upload.sh | 5 +++++ 37 files changed, 22 insertions(+), 16 deletions(-) commit 7e580238c14881fa7239b8517409b244bac54625 Author: C. Scott Ananian Date: Tue Mar 6 21:27:25 2007 +0000 Add a note about Dave Wilson's "fix switched dancers" resolve technique. notes.txt | 3 +++ 1 file changed, 3 insertions(+) commit 9bc8ae9295e82823a8746e46a20ac1329c55986d Author: C. Scott Ananian Date: Tue Mar 6 19:37:25 2007 +0000 Javadoc fix. src/net/cscott/sdr/calls/SelectorList.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 9d9fdbf279d485b60f9f6552d34c3e3204cf484e Author: C. Scott Ananian Date: Tue Nov 28 06:48:13 2006 +0000 First draft of class which represents the result of a call (for a specific dancer in a particular formation). src/net/cscott/sdr/calls/DancerPath.java | 50 ++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) commit 00d282e632faec2dfe715fb228ba264cdfa79e85 Author: C. Scott Ananian Date: Tue Nov 28 06:47:22 2006 +0000 Add 'OR' selection combination function. notes.txt | 4 +-- src/net/cscott/sdr/calls/SelectorList.java | 53 ++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 3 deletions(-) commit 86d6a3b8256a9b7d4a48b59628900311f3bcb175 Author: C. Scott Ananian Date: Tue Nov 28 06:46:31 2006 +0000 Fix eclipse warning. src/net/cscott/sdr/anim/MenuItem.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 870ce4a8041f34cf470526872b360c0cf09a5114 Author: C. Scott Ananian Date: Tue Nov 28 05:04:18 2006 +0000 Suppress right arrow if there are no menu choices. src/net/cscott/sdr/anim/MenuItem.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 687bef8bdf498572434ad5141fd1b9051fe3a0a9 Author: C. Scott Ananian Date: Tue Nov 28 04:57:44 2006 +0000 Update jME to properly check render thread. lib/jme/jme-awt.jar | Bin 146068 -> 146068 bytes lib/jme/jme-editors.jar | Bin 187804 -> 187804 bytes lib/jme/jme-effects.jar | Bin 1910609 -> 1910608 bytes lib/jme/jme-font.jar | Bin 76617 -> 76617 bytes lib/jme/jme-gamestates.jar | Bin 40627 -> 40626 bytes lib/jme/jme-model.jar | Bin 6421746 -> 6421813 bytes lib/jme/jme-scene.jar | Bin 2707 -> 2708 bytes lib/jme/jme-sound.jar | Bin 89435 -> 89435 bytes lib/jme/jme-terrain.jar | Bin 56319 -> 56320 bytes lib/jme/jme.jar | Bin 1528329 -> 1528334 bytes lib/jme/jnlp/jinput-linux.jar | Bin 5664 -> 5664 bytes lib/jme/jnlp/jinput-mac.jar | Bin 7845 -> 7844 bytes lib/jme/jnlp/jinput-windows.jar | Bin 29214 -> 29214 bytes lib/jme/jnlp/lwjgl-linux.jar | Bin 64377 -> 64376 bytes lib/jme/jnlp/lwjgl-mac.jar | Bin 71985 -> 71985 bytes lib/jme/jnlp/lwjgl-windows.jar | Bin 66747 -> 66748 bytes lib/jme/jnlp/openal-linux.jar | Bin 80350 -> 80351 bytes lib/jme/jnlp/openal-mac.jar | Bin 93882 -> 93882 bytes lib/jme/jnlp/openal-windows.jar | Bin 79782 -> 79781 bytes lib/jme/lwjgl.jar | Bin 458930 -> 458931 bytes lib/jme/lwjgl_fmod3.jar | Bin 34866 -> 34867 bytes 21 files changed, 0 insertions(+), 0 deletions(-) commit f68b3cbfba551f796450b19d1a0f2109f572f25d Author: C. Scott Ananian Date: Wed Nov 22 20:58:54 2006 +0000 Add a test class to print out information about the sound system, according to Java Sound. I'm pretty disappointed with the level of information provided; just a basic "select input device" dialog looks to be very complicated & platform dependent. src/net/cscott/sdr/sound/JavaSoundTest.java | 113 +++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) commit 624ba467d90cb58a25f867939f8cbd335d2782e0 Author: C. Scott Ananian Date: Wed Nov 22 20:57:40 2006 +0000 Some notes about OpenAL for sound. notes.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) commit 105390abef7687295fcd9bbbc2ed6e4ab3279ca5 Author: C. Scott Ananian Date: Wed Nov 22 20:56:55 2006 +0000 Thread-safety updates. I understand the jME threading model better now. src/net/cscott/sdr/anim/MusicState.java | 89 +++++++++++++---------------- src/net/cscott/sdr/anim/TextureText.java | 28 ++++----- src/net/cscott/sdr/anim/TexturedQuad.java | 52 +++++++---------- src/net/cscott/sdr/anim/VenueState.java | 9 ++- 4 files changed, 79 insertions(+), 99 deletions(-) commit 64d5a8ae9605a5c135ec0459473bd9c542ff3f6f Author: C. Scott Ananian Date: Wed Nov 22 20:52:22 2006 +0000 Update for latest CVS of jME. src/net/cscott/sdr/anim/MenuItem.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit f777c187e7f940369ff175397c5afc3a93dfcf27 Author: C. Scott Ananian Date: Wed Nov 22 20:50:35 2006 +0000 Update jME to latest CVS. lib/jme/jme-awt.jar | Bin 145792 -> 146068 bytes lib/jme/jme-editors.jar | Bin 185559 -> 187804 bytes lib/jme/jme-effects.jar | Bin 1908995 -> 1910609 bytes lib/jme/jme-font.jar | Bin 76619 -> 76617 bytes lib/jme/jme-gamestates.jar | Bin 35511 -> 40627 bytes lib/jme/jme-model.jar | Bin 6420773 -> 6421746 bytes lib/jme/jme-scene.jar | Bin 2712 -> 2707 bytes lib/jme/jme-sound.jar | Bin 89439 -> 89435 bytes lib/jme/jme-terrain.jar | Bin 56235 -> 56319 bytes lib/jme/jme.jar | Bin 1467901 -> 1528329 bytes lib/jme/jnlp/jinput-linux.jar | Bin 5669 -> 5664 bytes lib/jme/jnlp/jinput-mac.jar | Bin 7847 -> 7845 bytes lib/jme/jnlp/jinput-windows.jar | Bin 29219 -> 29214 bytes lib/jme/jnlp/lwjgl-linux.jar | Bin 64385 -> 64377 bytes lib/jme/jnlp/lwjgl-mac.jar | Bin 71990 -> 71985 bytes lib/jme/jnlp/lwjgl-windows.jar | Bin 66755 -> 66747 bytes lib/jme/jnlp/openal-linux.jar | Bin 80353 -> 80350 bytes lib/jme/jnlp/openal-mac.jar | Bin 93889 -> 93882 bytes lib/jme/jnlp/openal-windows.jar | Bin 79787 -> 79782 bytes lib/jme/lwjgl.jar | Bin 458958 -> 458930 bytes lib/jme/lwjgl_fmod3.jar | Bin 34867 -> 34866 bytes lib/jme/update.sh | 4 ++-- 22 files changed, 2 insertions(+), 2 deletions(-) commit b369159799e1dfbe264ffad4daf960090afa4cbf Author: C. Scott Ananian Date: Wed Nov 22 01:57:16 2006 +0000 Work around an infelicity in LoadingState. src/net/cscott/sdr/anim/Game.java | 1 + 1 file changed, 1 insertion(+) commit 42e7367fb208cf706dd7fcd533037c77a70b9b33 Author: C. Scott Ananian Date: Tue Nov 14 18:08:23 2006 +0000 Use pack200 on the sdr-libs.jar file, which reduces download size by about 16%. (Reduces the size of sdr-libs.jar by 22%.) Probably not worth it, sigh. build.xml | 9 ++++++++- upload.sh | 34 +++++++++++++++++++++++++++++++++- 2 files changed, 41 insertions(+), 2 deletions(-) commit 3099e0ce7a5ac66de0b6250bc10803638c2292ab Author: C. Scott Ananian Date: Tue Nov 14 17:11:39 2006 +0000 Add ANT task for pack200, but don't actually use it as it only saves about 17% of our space (4.3M out of 24.5M). build.xml | 5 +- lib/dev/README | 9 ++ lib/dev/deployment-ant-pack200-1.0beta.jar | Bin 0 -> 12821 bytes lib/dev/pack200tasks.html | 209 ++++++++++++++++++++++++++++ 4 files changed, 222 insertions(+), 1 deletion(-) commit 1880f91e6d1c43cde756ad9bb5c0955ebc3c9efc Author: C. Scott Ananian Date: Tue Nov 14 16:20:53 2006 +0000 Javadoc improvements: link call lists to List.java javadoc; fix javadoc dependency rule in build.xml; link to jME home page. build.xml | 2 +- src/net/cscott/sdr/anim/package-info.java | 3 ++- src/net/cscott/sdr/calls/lists/BasicList.java | 5 +++-- src/net/cscott/sdr/calls/lists/MainstreamList.java | 4 ++-- 4 files changed, 8 insertions(+), 6 deletions(-) commit c1a1c3b64d9f8e3ad0427dcd6791a36a6bb589ee Author: C. Scott Ananian Date: Tue Nov 14 16:12:39 2006 +0000 Add note re: "where are the rest of the calls?" src/net/cscott/sdr/calls/lists/BasicList.java | 6 +++++- src/net/cscott/sdr/calls/lists/MainstreamList.java | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) commit 0faa825284bb8b4a695b204329ad6139299ff0a5 Author: C. Scott Ananian Date: Tue Nov 14 08:00:36 2006 +0000 Add package description files; copy call lists to doc-files directory during javadoc build so that we can link to them. build.xml | 6 ++++++ src/net/cscott/sdr/anim/TexturedQuad.java | 3 +-- src/net/cscott/sdr/anim/package-info.java | 5 +++++ src/net/cscott/sdr/calls/ast/package-info.java | 5 +++++ src/net/cscott/sdr/calls/grm/package-info.java | 6 ++++++ src/net/cscott/sdr/calls/lists/.cvsignore | 1 + src/net/cscott/sdr/calls/lists/package-info.java | 5 +++++ src/net/cscott/sdr/calls/package-info.java | 5 +++++ src/net/cscott/sdr/calls/transform/package-info.java | 5 +++++ src/net/cscott/sdr/package-info.java | 5 +++++ src/net/cscott/sdr/recog/package-info.java | 4 ++++ src/net/cscott/sdr/sound/package-info.java | 4 ++++ src/net/cscott/sdr/util/package-info.java | 10 ++++++++++ 13 files changed, 62 insertions(+), 2 deletions(-) commit 1706ff32508663580b73ac5311683034f2cfe014 Author: C. Scott Ananian Date: Tue Nov 14 07:02:54 2006 +0000 Add mouse/keyboard input for menu. src/net/cscott/sdr/anim/MenuItem.java | 57 +++++++++++++++++--- src/net/cscott/sdr/anim/MenuState.java | 93 ++++++++++++++++++++++++++++---- 2 files changed, 133 insertions(+), 17 deletions(-) commit cb44eab25efe98c26c714c0b27e11b660660a41b Author: C. Scott Ananian Date: Tue Nov 14 07:00:00 2006 +0000 Add method to check if a point is inside the GradientTriangle. src/net/cscott/sdr/anim/GradientTriangle.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) commit 99c4380e2766c5ba13d01c18372edcf82f5e1546 Author: C. Scott Ananian Date: Mon Nov 13 05:07:33 2006 +0000 Factor out MenuItem, which takes care of state changes for a single menu item. src/net/cscott/sdr/anim/MenuItem.java | 68 ++++++++++++++++++++++++++++++++ src/net/cscott/sdr/anim/MenuState.java | 38 ++++-------------- 2 files changed, 75 insertions(+), 31 deletions(-) commit 94202a2707413b5bdc928abfccf4105529659aa4 Author: C. Scott Ananian Date: Mon Nov 13 05:06:39 2006 +0000 Eliminate warnings; add public methods to update score and call text. src/net/cscott/sdr/anim/HUDState.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) commit 530569f5ca19be898e30e39a33b6fc33c2c4613e Author: C. Scott Ananian Date: Mon Nov 13 05:05:51 2006 +0000 Allow re-use of the mkText method without adding the TextureText to the rootNode. src/net/cscott/sdr/anim/BaseState.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit 3f9c81c5206c69411f9f46a905a2870d0a014aa0 Author: C. Scott Ananian Date: Mon Nov 13 04:28:15 2006 +0000 Create a DebugState which displays memory usage and frames-per-second information.. and maybe other debugging information eventually, too. src/net/cscott/sdr/App.java | 3 ++- src/net/cscott/sdr/anim/DebugState.java | 40 +++++++++++++++++++++++++++++++ src/net/cscott/sdr/anim/Game.java | 4 +++- 3 files changed, 45 insertions(+), 2 deletions(-) commit 0376d149df8b11009ffe11c3dabb8c09639cfc72 Author: C. Scott Ananian Date: Mon Nov 13 04:27:33 2006 +0000 Enable instrument loading. src/net/cscott/sdr/sound/MidiDemo.java | 2 +- src/net/cscott/sdr/sound/MidiThread.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 98920e6947976b9be5c62d00a3f76c2dd2d5746c Author: C. Scott Ananian Date: Mon Nov 13 04:27:09 2006 +0000 Scale various bits of the menu state properly: the location of the notes bar is always screen-size relative; it's just the height of the actual notes which are fixed. src/net/cscott/sdr/anim/MenuArrow.java | 6 +++--- src/net/cscott/sdr/anim/MenuState.java | 13 ++++++------- 2 files changed, 9 insertions(+), 10 deletions(-) commit 47343f9ae7d939cb221e018a5cbbfda5bf78f273 Author: C. Scott Ananian Date: Sun Nov 12 23:13:06 2006 +0000 Hook up BeatTimer to MidiThread, so that beats are synchronized with the music. Move the old MidiTimer (which has some calculations which may be useful later) to OldMidiTimer. notes.txt | 7 +- src/net/cscott/sdr/sound/MidiDemo.java | 2 +- src/net/cscott/sdr/sound/MidiThread.java | 3 +- src/net/cscott/sdr/sound/MidiTimer.java | 73 ++++++++------------ .../sound/{MidiTimer.java => OldMidiTimer.java} | 4 +- 5 files changed, 38 insertions(+), 51 deletions(-) commit 7e5046f37ac9ccff6ea23707a5b1b2ef206428d2 Author: C. Scott Ananian Date: Sun Nov 12 22:54:16 2006 +0000 Add MidiThread, with some Barriers and Queues to get the BeatTimer back from it once the music has started. src/net/cscott/sdr/App.java | 45 +++++--- src/net/cscott/sdr/anim/Game.java | 70 +++++++++---- src/net/cscott/sdr/sound/MidiThread.java | 166 ++++++++++++++++++++++++++++++ 3 files changed, 242 insertions(+), 39 deletions(-) commit 0d8d69ca924a33c951ecacbd43eac5f2be6de875 Author: C. Scott Ananian Date: Sun Nov 12 21:57:39 2006 +0000 Add 'MenuArrow' (a subclass of 'GradientTriangle') to display the scroll arrows on the menu bars. resources/net/cscott/sdr/anim/menu-arrow-sel.png | Bin 0 -> 215 bytes resources/net/cscott/sdr/anim/menu-arrow.png | Bin 0 -> 235 bytes src/net/cscott/sdr/anim/GradientTriangle.java | 64 ++++++++++++++++++++++ src/net/cscott/sdr/anim/MenuArrow.java | 44 +++++++++++++++ src/net/cscott/sdr/anim/MenuState.java | 17 +++++- 5 files changed, 124 insertions(+), 1 deletion(-) commit 84a556e456856e0abf28fdd8d0a9cc5812de338a Author: C. Scott Ananian Date: Sun Nov 12 21:28:41 2006 +0000 Optimize texture memory by sharing the background "red oval" texture. src/net/cscott/sdr/anim/RedOval.java | 44 ++++++++++++++++------------------ 1 file changed, 21 insertions(+), 23 deletions(-) commit b94117af0d67a9cdbb7b16c4575138a462a80fef Author: C. Scott Ananian Date: Sun Nov 12 20:58:23 2006 +0000 Factor out common HUD state functionality into new BaseState class. src/net/cscott/sdr/anim/BaseState.java | 82 +++++++++++++++++++++++++++++++ src/net/cscott/sdr/anim/HUDState.java | 62 +---------------------- src/net/cscott/sdr/anim/MenuState.java | 77 +++++++---------------------- src/net/cscott/sdr/anim/MusicState.java | 27 ++-------- 4 files changed, 105 insertions(+), 143 deletions(-) commit 9b2c3268cc3ec7fbf6c4c09118bc1cc3d7207647 Author: C. Scott Ananian Date: Sun Nov 12 20:30:47 2006 +0000 Various notes on DDR integration, etc. notes.txt | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) commit 1b564cae8be791cfa52cc8af700d8cc9341cf5fb Author: C. Scott Ananian Date: Sun Nov 12 20:27:00 2006 +0000 Tweak text item sizes to account for changes to TextureText. src/net/cscott/sdr/anim/HUDState.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit b12b0f79c8a0e2fc61b66379fdd196e928095bcf Author: C. Scott Ananian Date: Sun Nov 12 20:26:23 2006 +0000 Update TextureText to use the ascent+descent for the height instead of the bounding box, so that text items don't change "size" when text containing descenders/ascenders is used. src/net/cscott/sdr/anim/TextureText.java | 57 ++++++++++++++++++------------ 1 file changed, 34 insertions(+), 23 deletions(-) commit 07cf9592099ef841b268943a42a132aa6e4f2538 Author: C. Scott Ananian Date: Sun Nov 12 20:25:06 2006 +0000 Add menu and option text to MenuState (only static at the moment). src/net/cscott/sdr/anim/MenuState.java | 48 +++++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 7 deletions(-) commit e10742c4d21d784d449607c91e088b8a89d6a07e Author: C. Scott Ananian Date: Sun Nov 12 20:23:37 2006 +0000 Clean up variable names. src/net/cscott/sdr/anim/Star.java | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) commit 0ac4fcec5718f3d154ff7ada3c850da530d5d47f Author: C. Scott Ananian Date: Sun Nov 12 20:22:16 2006 +0000 Add 'RedOval' shape for menu option background. images/menu-oval.svg | 77 +++++++++++++++++++++ resources/net/cscott/sdr/anim/menu-oval.png | Bin 0 -> 904 bytes src/net/cscott/sdr/anim/RedOval.java | 99 +++++++++++++++++++++++++++ 3 files changed, 176 insertions(+) commit 52cbc9c08c63c06aceb208fcd796312737d10757 Author: C. Scott Ananian Date: Sun Nov 12 18:19:59 2006 +0000 Add slowly rotating star in background on MenuState. images/star-grad.xcf.bz2 | Bin 0 -> 2470 bytes resources/net/cscott/sdr/anim/star-grad.png | Bin 0 -> 266 bytes src/net/cscott/sdr/anim/MenuState.java | 56 +++++++++++++++++++++++++-- 3 files changed, 52 insertions(+), 4 deletions(-) commit 299901ea5ede3004697db0fd08e47e7d2ea7e55b Author: C. Scott Ananian Date: Sun Nov 12 18:18:17 2006 +0000 Add 'Star' shape. src/net/cscott/sdr/anim/Star.java | 99 +++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) commit 8852604c5b800c3a68e225691abdda4e36e08cc0 Author: C. Scott Ananian Date: Sat Nov 11 20:50:29 2006 +0000 Tweak menu mockup. images/menu.svg | 162 +++++++++++++++++++++++++++---------------------------- 1 file changed, 80 insertions(+), 82 deletions(-) commit 3d512eeca322c113f71778259c7c931abe11ef74 Author: C. Scott Ananian Date: Sat Nov 11 20:39:50 2006 +0000 Expanded the music/microphone and venue/dancers menus. images/menu.svg | 474 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 271 insertions(+), 203 deletions(-) commit 237df6f549480888858fdcc98011ae205350fba7 Author: C. Scott Ananian Date: Sat Nov 11 20:10:51 2006 +0000 First draft of setup screen layout. I think I need to split Microphone/Sound and Venue/Dancers. images/menu.svg | 1933 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1933 insertions(+) commit 01d88291de0405e2a1325be6fd77044871b3e6fa Author: C. Scott Ananian Date: Sat Nov 11 03:07:52 2006 +0000 Set application icon. resources/net/cscott/sdr/icon128.png | Bin 0 -> 6291 bytes resources/net/cscott/sdr/icon16.png | Bin 0 -> 872 bytes resources/net/cscott/sdr/icon32.png | Bin 0 -> 1845 bytes src/net/cscott/sdr/anim/Game.java | 20 +++++++++++++++++++- 4 files changed, 19 insertions(+), 1 deletion(-) commit 134fb0df8c7f6b095d1590c807ceed7dc66ee693 Author: C. Scott Ananian Date: Sat Nov 11 03:06:21 2006 +0000 Tweak loading message. src/net/cscott/sdr/App.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit f3ddf29a44f38b9b7b99b7739fe6605823996abb Author: C. Scott Ananian Date: Sat Nov 11 01:21:23 2006 +0000 Make the background pale green so that the loading screen shows up better. Add 'screen shot' key binding -- unfortunately, doesn't seem to grab all active GameStates yet. =( src/net/cscott/sdr/anim/Game.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) commit 1f5e683405cca94ac3db84d00dcd973166ce8cc0 Author: C. Scott Ananian Date: Sat Nov 11 00:12:50 2006 +0000 More notes. notes.txt | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) commit d906e48d47c0fa8e85e0a5890be9c2dfc0ae0248 Author: C. Scott Ananian Date: Fri Nov 10 21:22:12 2006 +0000 Added linked .png image for hud.svg. images/hud-back.png | Bin 0 -> 259543 bytes images/hud.svg | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) commit 96c3fea4d0736fb6491d4ef6caca94c41c00abe0 Author: C. Scott Ananian Date: Fri Nov 10 21:15:23 2006 +0000 Additional ScoreAccumulator notes. notes.txt | 4 ++++ 1 file changed, 4 insertions(+) commit f6ccb6c1e4527493743a985f82e08b6af8ff2d36 Author: C. Scott Ananian Date: Fri Nov 10 15:24:20 2006 +0000 Add raw user input and timings to the CommandInput; generate these in RecogThread, use these in App, and pass them to the ScoreAccumulator (to score the timing of the call). src/net/cscott/sdr/App.java | 11 +++--- src/net/cscott/sdr/CommandInput.java | 52 +++++++++++++++++------------ src/net/cscott/sdr/ScoreAccumulator.java | 8 ++++- src/net/cscott/sdr/recog/RecogThread.java | 16 +++++---- 4 files changed, 53 insertions(+), 34 deletions(-) commit bca6813f12aa7484dcf7a4adcfa5d3e5b0369a8f Author: C. Scott Ananian Date: Fri Nov 10 00:56:49 2006 +0000 Add code to look through the 'n best' matches and send them to the CommandInput. We also get an appropriate timestamp, but that gets thrown away at the moment. src/net/cscott/sdr/App.java | 9 ++-- src/net/cscott/sdr/recog/RecogThread.java | 72 +++++++++++++++++++++-------- 2 files changed, 60 insertions(+), 21 deletions(-) commit 28c93d2419b139e3fd7570175e3e244f2d7c1d3c Author: C. Scott Ananian Date: Fri Nov 10 00:56:07 2006 +0000 Comment out an 'assert false: "unimplemented"' so I can test the recognition frontend. src/net/cscott/sdr/ChoreoEngine.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 3e16b95adb24ca2b28ec78c125a0c6711c8ac3a7 Author: C. Scott Ananian Date: Fri Nov 10 00:55:00 2006 +0000 Note about thread-safety. src/net/cscott/sdr/recog/LevelMonitor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 8dd57d55df88e2d4ab79cb1fb75c5dfaa8c4c087 Author: C. Scott Ananian Date: Thu Nov 9 21:01:27 2006 +0000 Clean up import warnings. src/net/cscott/sdr/anim/MenuHandler.java | 2 -- src/net/cscott/sdr/anim/MusicState.java | 3 +-- src/net/cscott/sdr/anim/TextureText.java | 9 +-------- src/net/cscott/sdr/anim/TexturedQuad.java | 3 +-- src/net/cscott/sdr/anim/VenueState.java | 4 +--- src/net/cscott/sdr/calls/TaggedFormation.java | 7 ++++--- src/net/cscott/sdr/calls/transform/CallFileLoader.java | 5 ----- src/net/cscott/sdr/recog/RecogThread.java | 12 +++++------- 8 files changed, 13 insertions(+), 32 deletions(-) commit f2202237cfa7b9a4124844efbb90ff3260cbcc6e Author: C. Scott Ananian Date: Thu Nov 9 20:57:57 2006 +0000 Notes about fixes to make in Tagger. src/net/cscott/sdr/calls/Tagger.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit 9b3a196cb8dfeae4abd8089876e9bdd39feda36f Author: C. Scott Ananian Date: Thu Nov 9 20:56:40 2006 +0000 Added 'reflected' property to gauge, so that the sequence length gauge looks reasonable on JDK1.5 platforms. notes.txt | 3 --- src/net/cscott/sdr/anim/Gauge.java | 43 +++++++++++++++++++++++++-------- src/net/cscott/sdr/anim/HUDState.java | 17 ++++++------- 3 files changed, 40 insertions(+), 23 deletions(-) commit 5ecf62dc6f7db1620cb8f1a11d3c75d4c8efc28d Author: C. Scott Ananian Date: Thu Nov 9 20:13:03 2006 +0000 More notes about javadoc & jdk 1.5 gradients. notes.txt | 5 +++++ 1 file changed, 5 insertions(+) commit 21466fbb31ffc864152f94f321beaf9e7d57076c Author: C. Scott Ananian Date: Thu Nov 9 20:12:31 2006 +0000 Add LevelMonitor class, which keeps track of the maximum microphone level within the Sphinx front end. Use this in MusicState to draw the current audio level in the HUD. Add code to App and Game to integrate Sphinx via the new RecogThread class. resources/net/cscott/sdr/recog/sdr.config.xml | 4 ++ src/net/cscott/sdr/App.java | 28 ++++++-- src/net/cscott/sdr/anim/Game.java | 30 ++++++-- src/net/cscott/sdr/anim/MusicState.java | 89 ++++++++++++++++++++++- src/net/cscott/sdr/recog/LevelMonitor.java | 69 ++++++++++++++++++ src/net/cscott/sdr/recog/RecogThread.java | 95 +++++++++++++++++++++++++ 6 files changed, 303 insertions(+), 12 deletions(-) commit 1869414ef85029b4ed0f19dab76dd506380614f4 Author: C. Scott Ananian Date: Thu Nov 9 20:10:10 2006 +0000 Add private _updateTextureNow() method, for when we know we're in the update thread, and don't want updates to lag behind a frame time. src/net/cscott/sdr/anim/TexturedQuad.java | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) commit 7ae9981e918195732d716de86c157617756c49e0 Author: C. Scott Ananian Date: Wed Nov 8 23:42:12 2006 +0000 Factored 'MusicState' out of HUDState, so that we can display the music notes during the menu sequence. This way the user can see the microphone levels, etc, before starting the game. src/net/cscott/sdr/anim/Game.java | 20 +++- src/net/cscott/sdr/anim/HUDState.java | 121 ++++-------------------- src/net/cscott/sdr/anim/MenuState.java | 10 +- src/net/cscott/sdr/anim/MusicState.java | 155 +++++++++++++++++++++++++++++++ 4 files changed, 191 insertions(+), 115 deletions(-) commit 0b605aa0f0ecae29e362ed9378fac535d995d45e Author: C. Scott Ananian Date: Wed Nov 8 23:04:19 2006 +0000 Now menu state doesn't include HUD; "press enter to start" actually does something! src/net/cscott/sdr/anim/Game.java | 4 ++-- src/net/cscott/sdr/anim/HUDState.java | 2 +- src/net/cscott/sdr/anim/MenuHandler.java | 14 +++++--------- src/net/cscott/sdr/anim/MenuState.java | 28 +++++++++++++++++----------- 4 files changed, 25 insertions(+), 23 deletions(-) commit 9eb077995c8fb3b16887f084a084686e52b4b054 Author: C. Scott Ananian Date: Wed Nov 8 22:45:37 2006 +0000 "Gauge" class added to display various meters at top of screen. src/net/cscott/sdr/anim/Gauge.java | 93 +++++++++++++++++++++++++++++++++ src/net/cscott/sdr/anim/HUDState.java | 34 +++++++++++- 2 files changed, 125 insertions(+), 2 deletions(-) commit f332b5d0bb5165aaaefd2f3c3f07ef17fa36f977 Author: C. Scott Ananian Date: Wed Nov 8 21:20:07 2006 +0000 Factor out a 'TexturedQuad' class from TexureText, consisting of only the functionality to create a Quad with a texture from a BufferedImage. src/net/cscott/sdr/anim/TextureText.java | 88 ++++--------------- src/net/cscott/sdr/anim/TexturedQuad.java | 134 +++++++++++++++++++++++++++++ 2 files changed, 149 insertions(+), 73 deletions(-) commit f72e4d950fbaf8184e54793432da37387cdaf0e2 Author: C. Scott Ananian Date: Wed Nov 8 21:19:05 2006 +0000 Use GameTaskQueueManager.update() instead of GameTaskQueueManager.getQueue(foo).enqueue(). src/net/cscott/sdr/anim/Game.java | 14 +++++++++----- src/net/cscott/sdr/anim/HUDState.java | 3 +-- src/net/cscott/sdr/anim/VenueState.java | 10 +++------- 3 files changed, 13 insertions(+), 14 deletions(-) commit c1e781956b9dc1a91e08742a772bf83012ccdb54 Author: C. Scott Ananian Date: Wed Nov 8 20:02:57 2006 +0000 Update some old comments. notes.txt | 62 ++++++++++++------------------------------------------------- 1 file changed, 12 insertions(+), 50 deletions(-) commit eb127342206412d0034948cbb7099b82c90ee2ba Author: C. Scott Ananian Date: Wed Nov 8 19:57:32 2006 +0000 Added additional notes on 'chase camera', HUD, play modes. notes.txt | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) commit fb08d96cb995b30f3285bda6731d0eeffa28f14b Author: C. Scott Ananian Date: Wed Nov 8 19:56:10 2006 +0000 Highlight the "currently played" note as it passes the "now bar". images/measure-bang.svg | 458 ++++++++++++++++++++++++ resources/net/cscott/sdr/anim/measure-bang.png | Bin 0 -> 2469 bytes src/net/cscott/sdr/anim/HUDState.java | 50 ++- 3 files changed, 498 insertions(+), 10 deletions(-) commit cdd1d69613553a542fe1814233b4df2708f6211f Author: C. Scott Ananian Date: Wed Nov 8 19:04:39 2006 +0000 Rename "StubBeatTimer" to "SilentBeatTimer" and allow specification of the bpm rate to the constructor. src/net/cscott/sdr/App.java | 6 ++-- src/net/cscott/sdr/anim/Game.java | 2 +- src/net/cscott/sdr/anim/SilentBeatTimer.java | 42 ++++++++++++++++++++++++++ src/net/cscott/sdr/anim/StubBeatTimer.java | 33 -------------------- 4 files changed, 46 insertions(+), 37 deletions(-) commit e97276da5e893a92242c77acd4b006173d659719 Author: C. Scott Ananian Date: Wed Nov 8 18:58:25 2006 +0000 Add the glowing "now bar" to the display; the beat happens when the note moves past it. Resize measure images to 128x128. Add 'call star' and 'measure-bar' icons to images/ ; these are added to the notes bar at "deadline for the next call" and phrase boundaries, respectively -- no support in HUDState yet. images/call-star.svg | 172 +++++++++++++++---------- images/hud.svg | 29 +++-- images/measure-bar.svg | 51 ++++---- images/{measure.svg => measure-now.svg} | 166 ++++++++++++++++-------- images/measure.svg | 49 ++++--- resources/net/cscott/sdr/anim/measure-now.png | Bin 0 -> 589 bytes resources/net/cscott/sdr/anim/measure.png | Bin 1063 -> 1335 bytes src/net/cscott/sdr/anim/HUDState.java | 45 +++++-- 8 files changed, 324 insertions(+), 188 deletions(-) commit d3b1796925cadf90de27467493c704e9f6eaa91c Author: C. Scott Ananian Date: Wed Nov 8 18:53:44 2006 +0000 Make it easier to change the BPM. src/net/cscott/sdr/anim/StubBeatTimer.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit dd1f8ff939a9e24357bff39796cf7a3706f4079c Author: C. Scott Ananian Date: Wed Nov 8 17:16:53 2006 +0000 Add scrolling notes texture at bottom and "bonus" text at top-right. resources/net/cscott/sdr/anim/measure.png | Bin 0 -> 1063 bytes src/net/cscott/sdr/anim/HUDState.java | 76 ++++++++++++++++++++++++++--- 2 files changed, 69 insertions(+), 7 deletions(-) commit 73723152a6a72d89cb48ae39ed4a5fa0fcced3cc Author: C. Scott Ananian Date: Wed Nov 8 17:15:52 2006 +0000 Make sure our renderState is updated. src/net/cscott/sdr/anim/TextureText.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 980008d9ad96da454bb7312a690bf37d1c53193e Author: C. Scott Ananian Date: Wed Nov 8 17:15:27 2006 +0000 Only show WARNINGs, not INFO messages. src/net/cscott/sdr/anim/Game.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ca9c2a6cd4d522bcce3da5bdfc6a0338d2e1dfc7 Author: C. Scott Ananian Date: Wed Nov 8 05:18:44 2006 +0000 Pass in a shared BeatTimer for use by the Game, VenueState, and HUDState. Create a StubBeatTimer class for testing/debugging. src/net/cscott/sdr/App.java | 5 +++-- src/net/cscott/sdr/anim/Game.java | 17 +++++++++------- src/net/cscott/sdr/anim/StubBeatTimer.java | 30 ++++++++++++++++++++++++++++ src/net/cscott/sdr/anim/VenueState.java | 15 +++++++------- 4 files changed, 50 insertions(+), 17 deletions(-) commit f58ba7cde91efb11a0c2f816fe82317531e0fde7 Author: C. Scott Ananian Date: Tue Nov 7 23:49:59 2006 +0000 Add shaded backgrounds, and add updateScore() and setNotice() methods. src/net/cscott/sdr/anim/HUDState.java | 73 ++++++++++++++++++++++++++++----- 1 file changed, 62 insertions(+), 11 deletions(-) commit 776ef41edaded1387640e844a1485a131ae1a670 Author: C. Scott Ananian Date: Tue Nov 7 23:08:42 2006 +0000 Add the first inklings of a HUD. Right now this is only the text elements. src/net/cscott/sdr/anim/Game.java | 7 ++- src/net/cscott/sdr/anim/HUD.java | 19 +++++++ src/net/cscott/sdr/anim/HUDState.java | 100 +++++++++++++++++++++++++++++++++ 3 files changed, 125 insertions(+), 1 deletion(-) commit da57127a37dbea484696a5239cfd93a29ea4e16a Author: C. Scott Ananian Date: Tue Nov 7 23:07:25 2006 +0000 Replace "Expressway" with Blue Highway. I don't care if Ray Larabie likes Expressway better, Blue Highway just *looks* better with our technology. Expressway is almost unreadable at small sizes, even if I derive a bold-face version. Sorry, Ray. resources/net/cscott/sdr/fonts/READ_ME.TXT | 103 ++++++++ .../cscott/sdr/fonts/Typodermic Freeware EULA.html | 265 -------------------- resources/net/cscott/sdr/fonts/bluebold.ttf | Bin 0 -> 42528 bytes resources/net/cscott/sdr/fonts/exprswy_free.ttf | Bin 64352 -> 0 bytes src/net/cscott/sdr/anim/TextureText.java | 42 ++-- 5 files changed, 130 insertions(+), 280 deletions(-) commit eed77c715c798eb4a37300e9d7b2fe87bedcaff7 Author: C. Scott Ananian Date: Tue Nov 7 20:49:16 2006 +0000 Added better documentation; use a SoftReference for the BufferedImage to release the memory for slowly-changing TextureText objects. src/net/cscott/sdr/anim/TextureText.java | 78 ++++++++++++++++++++++++++---- 1 file changed, 69 insertions(+), 9 deletions(-) commit a2d1fc670c79396bd229453c52562a671315c7af Author: C. Scott Ananian Date: Tue Nov 7 20:17:40 2006 +0000 Don't need this development framework any more. src/net/cscott/sdr/anim/TextTest.java | 132 --------------------------------- 1 file changed, 132 deletions(-) commit 7e8a59cc2f5ff8c287b0d20974b19de282a94d31 Author: C. Scott Ananian Date: Tue Nov 7 20:13:35 2006 +0000 Add color support. src/net/cscott/sdr/anim/TextureText.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) commit a4b1118ba228ab7b27efc0f37ce530c62aa4a4e2 Author: C. Scott Ananian Date: Tue Nov 7 20:01:16 2006 +0000 Add class which displays text in JME by rendering the complete string to a texture. src/net/cscott/sdr/anim/TextureText.java | 236 ++++++++++++++++++++++++++++++ 1 file changed, 236 insertions(+) commit 796d1e66cd9eb0b3785f77296c5f5cbc8a34efe2 Author: C. Scott Ananian Date: Tue Nov 7 18:11:41 2006 +0000 Shear the text, so we can use a single quad with a y-wrapped texture to display. src/net/cscott/sdr/anim/TextTest.java | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) commit 60d3bd3f74cc359d094138b1300109799799bc49 Author: C. Scott Ananian Date: Tue Nov 7 18:00:03 2006 +0000 Simplify by writing directly to the destination image. src/net/cscott/sdr/anim/TextTest.java | 37 +++++++++++++++++---------------- 1 file changed, 19 insertions(+), 18 deletions(-) commit ec6a21d34d0a25e56aa0fb6c69a6c2ca27c8d477 Author: C. Scott Ananian Date: Tue Nov 7 16:42:05 2006 +0000 Start writing code to generate text textures (Swing applet currently for debugging/development purposes). src/net/cscott/sdr/anim/TextTest.java | 126 +++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) commit 67d9c7dfd0fcc04f447c67b4ef597ec0b67edefc Author: C. Scott Ananian Date: Tue Nov 7 16:41:29 2006 +0000 Use new GameState-based infrastructure. src/net/cscott/sdr/App.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit c6911dd451aa51321b6cb7c6ccd5fcca1bd25b4b Author: C. Scott Ananian Date: Mon Nov 6 23:29:39 2006 +0000 Added notes about text in jme. notes.txt | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) commit 43b9d9cd0cfcc31c17359520d77a75b8fa674d7b Author: C. Scott Ananian Date: Mon Nov 6 21:11:54 2006 +0000 Work on mockup images. images/{measure.svg => call-star.svg} | 79 +++++++--- images/hud.svg | 227 +++++++++++++++++------------ images/measure-bar.svg | 254 +++++++++++++++++++++++++++++++++ images/measure.svg | 15 +- 4 files changed, 448 insertions(+), 127 deletions(-) commit cbe9ff215f2abe425685687c54217861a113e540 Author: C. Scott Ananian Date: Mon Nov 6 20:20:35 2006 +0000 Fix Javadoc. src/net/cscott/sdr/anim/MenuState.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 0e209e26626340fe78f5a05a6542c1b113d7c746 Author: C. Scott Ananian Date: Mon Nov 6 20:19:16 2006 +0000 According to Ray Larabie's suggestion for his 'Vanilla Whale' font, capitalized the last letter in 'Revolution' in the splash and loading screens. images/loading.svg | 2 +- images/splash-start.svg | 6 +++--- images/splash.svg | 12 +++++------- resources/net/cscott/sdr/anim/loading.png | Bin 100352 -> 105851 bytes resources/net/cscott/sdr/anim/splash-start.png | Bin 138056 -> 0 bytes resources/net/cscott/sdr/anim/splash.png | Bin 118585 -> 118849 bytes 6 files changed, 9 insertions(+), 11 deletions(-) commit 449a5fd594d7cfab043ddb752bf693f7ca4928f4 Author: C. Scott Ananian Date: Mon Nov 6 19:52:28 2006 +0000 Use Larabie 'Expressway' as our display font: this is an updated version of 'Blue Highway', which we used in our mockup, but which the designer apparently no longer likes. (See http://bold.se/forum/showthread.php?p=59913 ). Note that our splash screen uses two other Larabie fonts: Vanilla Whale and Burnstown Dam. Expressway is distributed upstream at: http://www.typodermic.com/31.html. .../cscott/sdr/fonts/Typodermic Freeware EULA.html | 265 ++++++++++++++++++++ resources/net/cscott/sdr/fonts/exprswy_free.ttf | Bin 0 -> 64352 bytes 2 files changed, 265 insertions(+) commit 6d5dbe14c5962118f2df3c27a3d6e35f9eb1ed0e Author: C. Scott Ananian Date: Mon Nov 6 18:00:56 2006 +0000 Additional thread-safety: move the GameState.setActive() execution to the update thread. src/net/cscott/sdr/anim/Game.java | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) commit 00b5f26a3827fd2048a78cf7a9eea06f85042078 Author: C. Scott Ananian Date: Mon Nov 6 07:06:54 2006 +0000 Check in a mockup of the game HUD. images/hud.svg | 1745 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1745 insertions(+) commit 1e5c7b2092dd32a879231317c1fb66cd1182cba9 Author: C. Scott Ananian Date: Mon Nov 6 05:08:44 2006 +0000 Tweaks to GameState version of code: better loading screen, steps for loading the formation and call list, etc. images/loading.svg | 1023 +++++++++++++++++++++++++++++ resources/net/cscott/sdr/anim/loading.png | Bin 0 -> 100352 bytes src/net/cscott/sdr/anim/Game.java | 43 +- 3 files changed, 1051 insertions(+), 15 deletions(-) commit 6718da3d2faabad3b8ce7de9ee251a1848471ade Author: C. Scott Ananian Date: Mon Nov 6 03:20:25 2006 +0000 Refactor into GameStates. Add a 'loading' screen and a 'menu' screen. resources/net/cscott/sdr/anim/cursor1.png | Bin 0 -> 1022 bytes resources/net/cscott/sdr/anim/splash-start.png | Bin 0 -> 138056 bytes src/net/cscott/sdr/anim/Game.java | 173 +++++++++++++++ src/net/cscott/sdr/anim/MenuHandler.java | 44 ++++ src/net/cscott/sdr/anim/MenuState.java | 130 +++++++++++ src/net/cscott/sdr/anim/VenueState.java | 283 ++++++++++++++++++++++++ 6 files changed, 630 insertions(+) commit 6f6e85882b8d060cc75ea358c92c9ab750f1d7c2 Author: C. Scott Ananian Date: Mon Nov 6 03:17:56 2006 +0000 Fix size of checker textures. resources/net/cscott/sdr/anim/1.png | Bin 2825 -> 2615 bytes resources/net/cscott/sdr/anim/2.png | Bin 3044 -> 2827 bytes resources/net/cscott/sdr/anim/3.png | Bin 3203 -> 2987 bytes resources/net/cscott/sdr/anim/4.png | Bin 2900 -> 2704 bytes 4 files changed, 0 insertions(+), 0 deletions(-) commit 0f1d9ed61b5875b594978fa05409e2ebe051b635 Author: C. Scott Ananian Date: Sun Nov 5 20:39:20 2006 +0000 Add note about speech level monitoring. notes.txt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit 8c18a4359f8a133e495bddec793dbc0f4c881b30 Author: C. Scott Ananian Date: Sun Nov 5 20:35:46 2006 +0000 Added some more images for the game HUD. images/call-marker.svg | 230 ++++++++++++++++++++ images/grad-hi-green.svg | 107 ++++++++++ images/grad-hi-red.svg | 117 +++++++++++ images/measure.svg | 346 ++++++++++++++++++++++++++++++ images/splash-start.svg | 523 ++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 1323 insertions(+) commit 9681b954351ea11a6daba192042e1fef1ddb7858 Author: C. Scott Ananian Date: Sun Nov 5 16:08:40 2006 +0000 Simplify CheckerDancer by combining the arrow and the number texture; multitexturing is no longer required. resources/net/cscott/sdr/anim/1.png | Bin 396 -> 2825 bytes resources/net/cscott/sdr/anim/2.png | Bin 707 -> 3044 bytes resources/net/cscott/sdr/anim/3.png | Bin 817 -> 3203 bytes resources/net/cscott/sdr/anim/4.png | Bin 593 -> 2900 bytes src/net/cscott/sdr/anim/CheckerDancer.java | 36 +++------------------------- 5 files changed, 3 insertions(+), 33 deletions(-) commit 1c03606406e174ad572f9a0d5fd736fe2131b6c8 Author: C. Scott Ananian Date: Sun Nov 5 16:02:14 2006 +0000 Instead of creating multiple overlay quads, use multitexturing to overlay the arrow and the dancer number textures. resources/net/cscott/sdr/anim/1.png | Bin 294 -> 396 bytes resources/net/cscott/sdr/anim/2.png | Bin 552 -> 707 bytes resources/net/cscott/sdr/anim/3.png | Bin 658 -> 817 bytes resources/net/cscott/sdr/anim/4.png | Bin 472 -> 593 bytes src/net/cscott/sdr/anim/CheckerDancer.java | 67 ++++++++++++++++------------ 5 files changed, 38 insertions(+), 29 deletions(-) commit 5ad9cffbe8c15e79a54ea5f17c06480a5ed695dd Author: C. Scott Ananian Date: Sat Nov 4 19:59:05 2006 +0000 Add means to disable the auto-tagger when creating canonical formations. src/net/cscott/sdr/calls/FormationList.java | 33 +++++++++++++++------------ 1 file changed, 19 insertions(+), 14 deletions(-) commit 791de49d1b70164efcd3dbd72d8fa87216468e92 Author: C. Scott Ananian Date: Sat Nov 4 19:57:30 2006 +0000 Added a quick test suite for Quaternion (in)accuracy; updated the JME libraries checked into CVS to fix some Quaternion conversion bugs. lib/jme/jme-model.jar | Bin 6420413 -> 6420773 bytes lib/jme/jme.jar | Bin 1468185 -> 1467901 bytes src/net/cscott/sdr/anim/QTest.java | 64 ++++++++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+) commit c7a7b4bd29132cc6ddd490626f0a7e48011f93d9 Author: C. Scott Ananian Date: Sat Nov 4 00:14:51 2006 +0000 Use Quaternions to perform camera rotation; this avoids gimbal lock problem (but requires bug-fixed version of JME which doesn't have rounding errors in Quaternion.fromRotationMatrix()). src/net/cscott/sdr/anim/SdrGame.java | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) commit cf13a54b2a4c57da4be424bab3bf19b48195b51d Author: C. Scott Ananian Date: Wed Nov 1 22:06:36 2006 +0000 Java web start requires a .gif (not a .png) for the icon. resources/net/cscott/sdr/icon.gif | Bin 0 -> 2473 bytes resources/net/cscott/sdr/icon.png | Bin 3426 -> 0 bytes sdr.jnlp.in | 2 +- upload.sh | 2 +- 4 files changed, 2 insertions(+), 2 deletions(-) commit f64264b9f010db6befa78f553e7d2d25755d4ab5 Author: C. Scott Ananian Date: Wed Nov 1 21:51:54 2006 +0000 Distribute sdr.jnlp.in instead of sdr.jnlp. build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 48d5f68182d64486aeecdebb128c43a1a7eb1721 Author: C. Scott Ananian Date: Wed Nov 1 21:50:51 2006 +0000 Get version # for sdr.jnlp and upload.sh from the ant build file -- now we keep our version number in exactly one place. Also update the jnlp file's icon/splash screen urls (and put these in the right place in upload.sh). .cvsignore | 1 + build.xml | 10 ++++++++++ sdr.jnlp => sdr.jnlp.in | 8 ++++---- upload.sh | 8 +++++--- 4 files changed, 20 insertions(+), 7 deletions(-) commit ba0b63a7385920de74bc0c47370d2814589a31d0 Author: C. Scott Ananian Date: Wed Nov 1 21:45:36 2006 +0000 Cleaned up icon. images/icon.svg | 132 +++++++++++++++++++++---------------- resources/net/cscott/sdr/icon.png | Bin 0 -> 3426 bytes 2 files changed, 74 insertions(+), 58 deletions(-) commit 3e04ffb0d718d8939d1f805c7d3d9df031e51eeb Author: C. Scott Ananian Date: Wed Nov 1 20:54:31 2006 +0000 First draft of SDR icon -- too busy atm. images/icon.svg | 193 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 193 insertions(+) commit e38582f3212a9997057eee16b3f03960a55a00b4 Author: C. Scott Ananian Date: Wed Nov 1 06:34:10 2006 +0000 Don't rebuild javadoc or exported-jar unless something changes. Use -target 1.5 argument to javac so that our application is runnable on JDK1.5. Use rsync in upload.sh to save some time/bandwidth (these jars are huge!). build.xml | 19 ++++++++++++++++--- upload.sh | 7 +++++-- 2 files changed, 21 insertions(+), 5 deletions(-) commit 2c90aa0a706ba7bffd6775452663a2470b0b7a62 Author: C. Scott Ananian Date: Wed Nov 1 06:04:20 2006 +0000 Two fixes for formation matcher: 1) when matching formations with inexact rotations, we need to use Rotation.includes() when evaluating symmetry with the #0 dancer. 2) when creating the result formations, use the exact rotations of the input dancer instead of the general rotation of the goal formation. .../cscott/sdr/calls/GeneralFormationMatcher.java | 37 +++++++++++++------- 1 file changed, 25 insertions(+), 12 deletions(-) commit 11354d777e78fe334be3fc8d54c74e3e5c4157c3 Author: C. Scott Ananian Date: Wed Nov 1 06:01:42 2006 +0000 EnumSet.copyOf() only works when the set being copied is not empty. src/net/cscott/sdr/calls/TaggedFormation.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 45924ce09a2bb51827f8d52efb7cee3e70e7edd1 Author: C. Scott Ananian Date: Wed Nov 1 05:59:26 2006 +0000 When building formations using xofy, transfer tags from the 'y' formations. src/net/cscott/sdr/calls/FormationList.java | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) commit badf960f46c919d0dd21038e59edab73737f4d1b Author: C. Scott Ananian Date: Wed Nov 1 05:58:13 2006 +0000 Whoops: wrong file ignored. src/net/cscott/sdr/.cvsignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8d59289c9b4a295d256d6610eac75d353abd840b Author: C. Scott Ananian Date: Wed Nov 1 05:43:26 2006 +0000 Add version number to the javadoc. Include ANTLR grammars in the distribution tarball. build.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 2a7ad77c98373b894323c80b62cc25c547bae036 Author: C. Scott Ananian Date: Wed Nov 1 05:40:29 2006 +0000 Tweaks to build files and eclipse's classpath. Automatically generate Version.java with the version from the ant build file. .classpath | 76 ++++++++++---------- build.xml | 25 +++++-- src/net/cscott/sdr/.cvsignore | 1 + .../cscott/sdr/{Version.java => Version.java.in} | 6 +- 4 files changed, 62 insertions(+), 46 deletions(-) commit 9e8a68ea8f330f5aa2438f710af537f7358388b8 Author: C. Scott Ananian Date: Wed Nov 1 00:30:11 2006 +0000 Build a java web start-able version of SDR. To this end, separate jar libraries which we need for development but not for running the game into lib/dev/. Also, check in the bundled-up versions of the native libraries needed for Java Web Start into lib/jme/jnlp. .cvsignore | 7 +- build.xml | 150 +++++++++++++++++++++++--------- lib/dev/ant-contrib.jar | Bin 0 -> 194050 bytes lib/{ => dev}/junit-4.1.jar | Bin 112249 -> 112249 bytes lib/{ => dev}/stringtemplate-2.3b9.jar | Bin 182856 -> 182856 bytes lib/jme/jme-awt.jar | Bin 140772 -> 145792 bytes lib/jme/jme-editors.jar | Bin 178943 -> 185559 bytes lib/jme/jme-effects.jar | Bin 1900191 -> 1908995 bytes lib/jme/jme-font.jar | Bin 73326 -> 76619 bytes lib/jme/jme-gamestates.jar | Bin 30002 -> 35511 bytes lib/jme/jme-model.jar | Bin 6357599 -> 6420413 bytes lib/jme/jme-scene.jar | Bin 1382 -> 2712 bytes lib/jme/jme-sound.jar | Bin 86398 -> 89439 bytes lib/jme/jme-terrain.jar | Bin 53874 -> 56235 bytes lib/jme/jme.jar | Bin 1429711 -> 1468185 bytes lib/jme/jnlp/jinput-linux.jar | Bin 0 -> 5669 bytes lib/jme/jnlp/jinput-linux.jar.MD5 | 1 + lib/jme/jnlp/jinput-mac.jar | Bin 0 -> 7847 bytes lib/jme/jnlp/jinput-mac.jar.MD5 | 1 + lib/jme/jnlp/jinput-windows.jar | Bin 0 -> 29219 bytes lib/jme/jnlp/jinput-windows.jar.MD5 | 1 + lib/jme/jnlp/lwjgl-linux.jar | Bin 0 -> 64385 bytes lib/jme/jnlp/lwjgl-linux.jar.MD5 | 1 + lib/jme/jnlp/lwjgl-mac.jar | Bin 0 -> 71990 bytes lib/jme/jnlp/lwjgl-mac.jar.MD5 | 1 + lib/jme/jnlp/lwjgl-windows.jar | Bin 0 -> 66755 bytes lib/jme/jnlp/lwjgl-windows.jar.MD5 | 1 + lib/jme/jnlp/openal-linux.jar | Bin 0 -> 80353 bytes lib/jme/jnlp/openal-linux.jar.MD5 | 1 + lib/jme/jnlp/openal-mac.jar | Bin 0 -> 93889 bytes lib/jme/jnlp/openal-mac.jar.MD5 | 1 + lib/jme/jnlp/openal-windows.jar | Bin 0 -> 79787 bytes lib/jme/jnlp/openal-windows.jar.MD5 | 1 + lib/jme/lwjgl.jar | Bin 438034 -> 458958 bytes lib/jme/lwjgl_fmod3.jar | Bin 32894 -> 34867 bytes lib/jme/update.sh | 3 + sample.build.properties | 6 ++ sdr.jnlp | 51 +++++++++++ upload.sh | 13 ++- 39 files changed, 192 insertions(+), 47 deletions(-) commit 6439f0b9a5a6dafdaed9723c7d401e16b0833eba Author: C. Scott Ananian Date: Tue Oct 31 21:45:49 2006 +0000 Add 'dist' target, and script to upload new version to distribution site. .cvsignore | 2 + AUTHORS | 1 + COPYING | 340 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NEWS | 6 ++ README | 9 ++ build.xml | 23 ++++ upload.sh | 22 ++++ 7 files changed, 403 insertions(+) commit 845c70e03a494934f70d8b5856e3d504e8f881ff Author: C. Scott Ananian Date: Tue Oct 31 21:25:23 2006 +0000 Add missing libraries to the Manifest's Class-Path. sdr.Manifest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a3c7d7c2f0bc573ce1b0e4fda5c646dd2071bac8 Author: C. Scott Ananian Date: Tue Oct 31 00:39:26 2006 +0000 First draft of Tagger class, which just does 2-person formations. src/net/cscott/sdr/calls/Tagger.java | 99 ++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) commit 8d32aa9a14f4b1b4226009ab8122a18a7f659ce9 Author: C. Scott Ananian Date: Tue Oct 31 00:38:34 2006 +0000 Add TaggedFormation.tags(Dancer) to get the full set of tags of a given dancer. src/net/cscott/sdr/calls/TaggedFormation.java | 3 +++ 1 file changed, 3 insertions(+) commit a23b9769b5f06316376d518176d506e4830266a1 Author: C. Scott Ananian Date: Tue Oct 31 00:38:07 2006 +0000 Make it easier to create integer-valued Positions. Also correct an obsolete javadoc comment. src/net/cscott/sdr/calls/Position.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) commit b470877f382b44e9b1f25d1d012246843489d030 Author: C. Scott Ananian Date: Mon Oct 30 22:46:03 2006 +0000 Transfer various notes from paper. notes.txt | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) commit f206ff6ad9c5a9b6ca42f5a07f6063a84cf97623 Author: C. Scott Ananian Date: Mon Oct 30 22:36:00 2006 +0000 Add 'circle left' from squared set; update call lists to use proper Selector names; fix typo in SelectorList. resources/net/cscott/sdr/calls/lists/basic.calls | 27 +++++++++++++++++++--- resources/net/cscott/sdr/calls/lists/plus.calls | 2 +- src/net/cscott/sdr/calls/SelectorList.java | 2 +- 3 files changed, 26 insertions(+), 5 deletions(-) commit 567bc437d210dc8bbb39a33d4b5f15626cfbd824 Author: C. Scott Ananian Date: Mon Oct 30 22:12:58 2006 +0000 Update jutil.jar (bug fix to MultiMap.toString()). lib/jutil.jar | Bin 211916 -> 211936 bytes 1 file changed, 0 insertions(+), 0 deletions(-) commit d4af4ec6a800de5f12b055ce27aea6e18439eec2 Author: C. Scott Ananian Date: Mon Oct 30 22:09:29 2006 +0000 Implement FormationMapper.compress(). src/net/cscott/sdr/calls/FormationMapper.java | 113 ++++++++++++++++++++----- 1 file changed, 92 insertions(+), 21 deletions(-) commit 69884f184e2d130ffb7a5798ebc6663ba50e8bca Author: C. Scott Ananian Date: Mon Oct 30 21:42:42 2006 +0000 Update to match FormationList: 1/4 tag, 3/4 tag, and 1/4 line come in left-handed and right-handed varieties. src/net/cscott/sdr/calls/SelectorList.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) commit e88781568761049de2e0a030ca5f3624ea823233 Author: C. Scott Ananian Date: Mon Oct 30 21:40:08 2006 +0000 Fixes & verification of FormationList. src/net/cscott/sdr/calls/FormationList.java | 40 +++++++++++++++++++-------- 1 file changed, 28 insertions(+), 12 deletions(-) commit 7388dfdca8ef010ac946ed75a674790ba57891b1 Author: C. Scott Ananian Date: Mon Oct 30 21:35:39 2006 +0000 Use toProperString() when printing out the modulus of a Rotation. src/net/cscott/sdr/calls/Rotation.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit fccfa8ab05c69450ce4be0717bbcc19877c6bb6c Author: C. Scott Ananian Date: Mon Oct 30 21:33:31 2006 +0000 Add NORTH, EAST, SOUTH, and WEST as ExactRotation constants; override ExactRotation.toString() to suppress modulus info. src/net/cscott/sdr/calls/ExactRotation.java | 7 +++++++ 1 file changed, 7 insertions(+) commit d2904a2bfbae2990fe90afd8e8755e0ae8530ad6 Author: C. Scott Ananian Date: Mon Oct 30 21:32:38 2006 +0000 Add Formation.toStringDiagram() to pretty-print a formation. src/net/cscott/sdr/calls/Formation.java | 64 +++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) commit 77f7e150d6c40bed468ff0f1637849c7eeecee37 Author: C. Scott Ananian Date: Mon Oct 30 21:31:56 2006 +0000 Add Box.center() method to get the center of a Box. src/net/cscott/sdr/util/Box.java | 5 +++++ 1 file changed, 5 insertions(+) commit 3f1137352d8481fa6332727cd18288b946eff448 Author: C. Scott Ananian Date: Mon Oct 30 21:31:26 2006 +0000 Add -1 as a Fraction constant. src/net/cscott/sdr/util/Fraction.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 53ae4fd2e9df05d9c084d1ba9b9f1cb9d152ff35 Author: C. Scott Ananian Date: Mon Oct 30 21:31:06 2006 +0000 Spelling fixes. notes.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 5c48ef62c0fb978e96d86e1000c4d52c1825ebe5 Author: C. Scott Ananian Date: Mon Oct 30 20:20:09 2006 +0000 Update to JUtil 1.3 (released version). lib/jutil.jar | Bin 271557 -> 211916 bytes 1 file changed, 0 insertions(+), 0 deletions(-) commit 0bf9a7b8392aac1c41263dbbc920e90a6a1c69ca Author: C. Scott Ananian Date: Mon Oct 30 04:50:14 2006 +0000 Add Selectors for new Formations. src/net/cscott/sdr/calls/FormationList.java | 2 +- src/net/cscott/sdr/calls/SelectorList.java | 105 ++++++++++++++++++++++++--- 2 files changed, 97 insertions(+), 10 deletions(-) commit a4071969682efc8c5f28f7e5a8ef72a6bffe5b13 Author: C. Scott Ananian Date: Mon Oct 30 04:36:05 2006 +0000 Added more formations from the "Callerlab Approved Formations" list from April 1980. src/net/cscott/sdr/calls/FormationList.java | 156 +++++++++++++++++++-------- 1 file changed, 112 insertions(+), 44 deletions(-) commit 52a60693ba66e1e2bedf474bf53604ad3bc4b552 Author: C. Scott Ananian Date: Mon Oct 30 03:58:09 2006 +0000 Update GeneralFormationMatcher to return a meta formation along with the components (as a map from dancers in the meta formation to component formations). Also refactor GeneralFormationMatcher to "deoptimize" & enhance readability: use real (persistent) sets instead of silly hand-coded bitsets. The GeneralFormationMatcher ought to properly handle inexact rotations in goal formations now, too. src/net/cscott/sdr/calls/FormationMapper.java | 26 ++- src/net/cscott/sdr/calls/FormationMatch.java | 28 +-- .../cscott/sdr/calls/GeneralFormationMatcher.java | 245 +++++++++++++------- src/net/cscott/sdr/calls/TestSelectors.java | 28 ++- src/net/cscott/sdr/calls/transform/Elaborate.java | 16 +- 5 files changed, 222 insertions(+), 121 deletions(-) commit 1019056f1edfd643c2bf99b521c671b6f2a71290 Author: C. Scott Ananian Date: Mon Oct 30 03:54:38 2006 +0000 Disable Tagger until we get it working & checked in. src/net/cscott/sdr/calls/FormationList.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 87a98d5028e098deae08cbf3caed9e7b046d7c87 Author: C. Scott Ananian Date: Mon Oct 30 03:54:04 2006 +0000 Update JUtil. lib/jutil.jar | Bin 269809 -> 271557 bytes 1 file changed, 0 insertions(+), 0 deletions(-) commit 29ce3485b88c01ba05fa7e20361f10fae7ae4226 Author: C. Scott Ananian Date: Mon Oct 30 03:30:47 2006 +0000 Make the ExactRotation constructor public. src/net/cscott/sdr/calls/ExactRotation.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 5bc52cc2d7446b77c286ad611cb62f477e17142c Author: C. Scott Ananian Date: Mon Oct 30 03:30:15 2006 +0000 New Formation.onlySelected() method will create a new formation consisting of only the selected dancers. src/net/cscott/sdr/calls/Formation.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit 6dd9cf815362112bbfb5bcf37afd1c16f8b08439 Author: C. Scott Ananian Date: Mon Oct 30 03:29:06 2006 +0000 Offset PhantomDancer.hashCode() so that hash codes don't overlap with those of StandardDancer. src/net/cscott/sdr/calls/PhantomDancer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1f7a301dc0a79cb26eaacf4003423c799d30f18e Author: C. Scott Ananian Date: Sun Oct 29 20:37:32 2006 +0000 Ignore some more local stuff. .cvsignore | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 68203690abaea68e23b72371524aedd9dc405d91 Author: C. Scott Ananian Date: Sun Oct 29 20:35:56 2006 +0000 A picture of a checkers set I used as a basis for my checker models. images/checkset.jpg | Bin 0 -> 131665 bytes 1 file changed, 0 insertions(+), 0 deletions(-) commit 0785134e8de61b9127a71794ab8504269139416e Author: C. Scott Ananian Date: Sun Oct 29 20:22:00 2006 +0000 Update to the latest beta of JUtil 1.3. lib/jutil.jar | Bin 264872 -> 269809 bytes 1 file changed, 0 insertions(+), 0 deletions(-) commit 055e92b855c8bfee28ec69f941bb5d9bde114dab Author: C. Scott Ananian Date: Sat Oct 28 20:51:35 2006 +0000 Rework selector list to use official names from Callerlab Approved Formations and to generate the formations by composition (instead of manually specifying every dancer's x,y location). Tags will be more-automatically assigned, too, saving us the trouble of manually picking out every BEAU, BELLE, LEADER, and TRAILER. src/net/cscott/sdr/calls/FormationList.java | 201 +++++++++++++++++++-------- src/net/cscott/sdr/calls/SelectorList.java | 8 +- 2 files changed, 145 insertions(+), 64 deletions(-) commit 05250eace0312c845cdac0a2d6a5d88f32be7c32 Author: C. Scott Ananian Date: Sat Oct 28 20:50:20 2006 +0000 Refactor TaggedFormation to use a MultiMap instead of a Map>. src/net/cscott/sdr/calls/TaggedFormation.java | 40 ++++++++++++++++--------- 1 file changed, 26 insertions(+), 14 deletions(-) commit 3e301c2b440b300e9df70d4416450bed21a5b036 Author: C. Scott Ananian Date: Sat Oct 28 04:07:40 2006 +0000 Updated JUtil -- new version has factories for EnumSet and EnumMap. lib/jutil.jar | Bin 263085 -> 264872 bytes 1 file changed, 0 insertions(+), 0 deletions(-) commit 401cd0a20c3a8a05892a5df49c69d70062b3ebfc Author: C. Scott Ananian Date: Fri Oct 27 21:41:07 2006 +0000 A little hack to help us test the FormationMapper -- the results look good! src/net/cscott/sdr/anim/SdrGame.java | 16 +++++++++++++++- src/net/cscott/sdr/calls/FormationMapper.java | 9 ++++++--- 2 files changed, 21 insertions(+), 4 deletions(-) commit 2ccd817e0f86946b2562d0f7cb139c4650179af1 Author: C. Scott Ananian Date: Fri Oct 27 21:31:39 2006 +0000 Complete FormationMapper.insert(). Casual inspection seems to indicate that this now does the Right Thing. src/net/cscott/sdr/calls/FormationMapper.java | 89 +++++++++++++++++++------ 1 file changed, 67 insertions(+), 22 deletions(-) commit 1faba08e0d0d7cb6312967e43fea358b439914f0 Author: C. Scott Ananian Date: Fri Oct 27 21:31:02 2006 +0000 Use LinkedHashMap/LinkedHashSet, since we seem to be frequently iterating over the dancers in a formation. Also use the new Fraction.TWO constant. src/net/cscott/sdr/calls/Formation.java | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) commit 7a376cb9eb52def00a9a40b85a3250cb1b6e1968 Author: C. Scott Ananian Date: Fri Oct 27 21:29:46 2006 +0000 Add constant Fraction.TWO, since we just it a lot. src/net/cscott/sdr/calls/lists/BasicList.java | 4 ++-- src/net/cscott/sdr/util/Fraction.java | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) commit f000b48840dc98b83840758f2f09870f23cb1cec Author: C. Scott Ananian Date: Fri Oct 27 20:43:26 2006 +0000 Continue work on FormationMapper, cleaning up & documenting the expansion code. Just need to do the final formation placement now. src/net/cscott/sdr/calls/FormationMapper.java | 160 +++++++++++-------------- 1 file changed, 67 insertions(+), 93 deletions(-) commit c0ef85f64982d4a1ad750432f546965e9ce9310c Author: C. Scott Ananian Date: Fri Oct 27 20:42:34 2006 +0000 Rename Position.rotate() to Position.turn() -- this turns in place. Add new Position.rotateAroundOrigin() method. Add Formation.rotate() method which rotates a given formation around the origin. Adjust the two Formation.bounds() methods to be consistent in adding a 1 unit "dancer allowance" to the returned bounds. Document better. src/net/cscott/sdr/calls/Formation.java | 32 +++++++++++++++----- .../cscott/sdr/calls/GeneralFormationMatcher.java | 2 +- src/net/cscott/sdr/calls/Position.java | 14 +++++++-- 3 files changed, 38 insertions(+), 10 deletions(-) commit 05368b4adf47d82ac29ce49aa89d5fc5bc34d35f Author: C. Scott Ananian Date: Fri Oct 27 20:39:51 2006 +0000 Note the correspondence between toX(), toY() and the sin/cos functions. src/net/cscott/sdr/calls/ExactRotation.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit f9e15b1751056a3494696db78c8ddb690462c57f Author: C. Scott Ananian Date: Fri Oct 27 19:45:25 2006 +0000 If we are to put Rotations in HashMaps (as the GeneralFormationMatcher does), we must compare them using *normalized* rotations. (It's arguable whether we even want to keep unnormalized values around, since we can always reconstruct the correct direction given that we never turn more than 90 degrees at a time.) src/net/cscott/sdr/calls/Rotation.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) commit d111da5446f2b001224a0a07570f93081a4b336b Author: C. Scott Ananian Date: Fri Oct 27 19:43:39 2006 +0000 Give PhantomDancers repeatable hashcodes. There is a potential race when mutliple threads create PhantomDancers, but it's benign. src/net/cscott/sdr/calls/PhantomDancer.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit a68623a4c6080a83f06a4ac0dcc0d5c3fb94aabf Author: C. Scott Ananian Date: Fri Oct 27 18:00:26 2006 +0000 Add pretty skybox. resources/net/cscott/sdr/anim/bottom.jpg | Bin 0 -> 35274 bytes resources/net/cscott/sdr/anim/east.jpg | Bin 0 -> 26566 bytes resources/net/cscott/sdr/anim/north.jpg | Bin 0 -> 29775 bytes resources/net/cscott/sdr/anim/south.jpg | Bin 0 -> 47090 bytes resources/net/cscott/sdr/anim/top.jpg | Bin 0 -> 11168 bytes resources/net/cscott/sdr/anim/west.jpg | Bin 0 -> 32216 bytes src/net/cscott/sdr/anim/SdrGame.java | 55 +++++++++++++++++++++++++++++- 7 files changed, 54 insertions(+), 1 deletion(-) commit 14698fa3e5a1fa786f9700bc2421dd16dc727ace Author: C. Scott Ananian Date: Fri Oct 27 16:30:50 2006 +0000 Upgrade to JUnit 4.1. .classpath | 76 +++++++++++++-------------- lib/junit-4.1.jar | Bin 0 -> 112249 bytes src/net/cscott/sdr/calls/TestSelectors.java | 19 ++++--- 3 files changed, 49 insertions(+), 46 deletions(-) commit f14c324f47573b1347eaa544cad3721e424df5b9 Author: C. Scott Ananian Date: Fri Oct 27 15:47:46 2006 +0000 Update JME to CVS-latest. lib/jme/jme-awt.jar | Bin 140772 -> 140772 bytes lib/jme/jme-editors.jar | Bin 178943 -> 178943 bytes lib/jme/jme-effects.jar | Bin 1899513 -> 1900191 bytes lib/jme/jme-font.jar | Bin 73326 -> 73326 bytes lib/jme/jme-gamestates.jar | Bin 30002 -> 30002 bytes lib/jme/jme-model.jar | Bin 6357599 -> 6357599 bytes lib/jme/jme-scene.jar | Bin 1382 -> 1382 bytes lib/jme/jme-sound.jar | Bin 86398 -> 86398 bytes lib/jme/jme-terrain.jar | Bin 53874 -> 53874 bytes lib/jme/jme.jar | Bin 1429433 -> 1429711 bytes lib/jme/update.sh | 2 +- 11 files changed, 1 insertion(+), 1 deletion(-) commit 7d249e717b4db078ac4e5f37874469833df70cd2 Author: C. Scott Ananian Date: Fri Oct 27 15:37:22 2006 +0000 Fix javadoc typo. src/net/cscott/sdr/CommandInput.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 8221e56d9913049838770a5512724e6b6211efa8 Author: C. Scott Ananian Date: Fri Oct 27 06:18:41 2006 +0000 Fix the dancer rotation issue by implementing our own, more efficient, bezier computation routines (in new class Bezier). Also randomize the footsteps slightly for a more natural look. src/net/cscott/sdr/anim/CheckerDancer.java | 51 +++++++++++++++++----------- src/net/cscott/sdr/util/Bezier.java | 28 +++++++++++++++ 2 files changed, 59 insertions(+), 20 deletions(-) commit a84e6c51edf69eb6c78ad870b14c450fd401b0b8 Author: C. Scott Ananian Date: Fri Oct 27 06:17:44 2006 +0000 Quiet a warning by removing an unsed import. src/net/cscott/sdr/anim/SdrGame.java | 1 - 1 file changed, 1 deletion(-) commit 53786fc8469b475df3986702f2d9937d65e953cc Author: C. Scott Ananian Date: Fri Oct 27 05:16:25 2006 +0000 Refactor CheckerDancer out of SdrGame. Now Dancers can actually move (although the interpolation is a little off: the dancers move around on their edges). src/net/cscott/sdr/anim/AnimDancer.java | 50 ++++++- src/net/cscott/sdr/anim/CheckerDancer.java | 205 ++++++++++++++++++++++++++++ src/net/cscott/sdr/anim/SdrGame.java | 131 +++++------------- 3 files changed, 286 insertions(+), 100 deletions(-) commit cf0337eefcc42452673f76983f94f760cf4810a5 Author: C. Scott Ananian Date: Fri Oct 27 05:14:34 2006 +0000 TimedPosition now implements Comparable. src/net/cscott/sdr/calls/TimedPosition.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) commit 238ffb71481d14da202fb9ab08942b63d8d43d6b Author: C. Scott Ananian Date: Fri Oct 27 05:14:12 2006 +0000 A couple notes where FormationMapper is (still) broken. src/net/cscott/sdr/calls/FormationMapper.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit d8ddb7d5e0db0d8ee6705fb107e5a33642babaca Author: C. Scott Ananian Date: Fri Oct 27 05:13:27 2006 +0000 Bug fix in assertion: false should be true. src/net/cscott/sdr/calls/Rotation.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 306bc798f5c22e96db31f83eda71fd0b1f7be7fa Author: C. Scott Ananian Date: Fri Oct 27 05:12:54 2006 +0000 A better StandardDancer.toString() method. src/net/cscott/sdr/calls/StandardDancer.java | 2 ++ 1 file changed, 2 insertions(+) commit 790f503f79a2bff465df5f3f822b0a80d7051be6 Author: C. Scott Ananian Date: Thu Oct 26 19:22:07 2006 +0000 Add BeatTimer and AnimDancer frameworks. SdrGame now uses the SDR version in its window title. src/net/cscott/sdr/BeatTimer.java | 13 ++++++++++ src/net/cscott/sdr/anim/AnimDancer.java | 41 +++++++++++++++++++++++++++++++ src/net/cscott/sdr/anim/SdrGame.java | 2 +- 3 files changed, 55 insertions(+), 1 deletion(-) commit b8e119d689a379ca0c2259d5fd3ab7ee26c9d70a Author: C. Scott Ananian Date: Thu Oct 26 18:33:19 2006 +0000 Add the beginnings of a framework for animation actions. The TimedFormation/TimedAction business might need to be revised: what is wanted is probably more like a TimedFormationOrAction list. src/net/cscott/sdr/calls/Action.java | 11 ++++++++++ src/net/cscott/sdr/calls/TimedAction.java | 30 +++++++++++++++++++++++++++ src/net/cscott/sdr/calls/TimedPosition.java | 16 +++++++++++--- 3 files changed, 54 insertions(+), 3 deletions(-) commit a7cf162a3fcb24d2b08c7659bc07d69216c82fd2 Author: C. Scott Ananian Date: Thu Oct 26 17:33:53 2006 +0000 Flesh out application interfaces: Add ChoreoEngine and ScoreAccumulator to define the interfaces to these bits. src/net/cscott/sdr/App.java | 123 +++++++++++++++++++++++++----- src/net/cscott/sdr/ChoreoEngine.java | 41 ++++++++++ src/net/cscott/sdr/CommandInput.java | 26 +++---- src/net/cscott/sdr/ScoreAccumulator.java | 17 +++++ 4 files changed, 171 insertions(+), 36 deletions(-) commit c6ec7b90ae6e697a26b5a8d467f3a431ba1b0efe Author: C. Scott Ananian Date: Thu Oct 26 17:30:25 2006 +0000 TimedFormations can be either relative or absolute. Relative TimedFormations are used during choreography (to ease retiming), and they are then changed to absolute TimedFormations for display. src/net/cscott/sdr/calls/TimedFormation.java | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) commit 1af1e8ce24770f751afb6a39e7f22f6b98bdda78 Author: C. Scott Ananian Date: Thu Oct 26 16:50:30 2006 +0000 Abandon the autoconf-generated Version.java -- make this a normal un-pre-processed class. Set the version at 0.1 for now (which might be generous). src/net/cscott/sdr/Version.java | 24 ++++++++++++++++++++++++ src/net/cscott/sdr/Version.java.in | 28 ---------------------------- 2 files changed, 24 insertions(+), 28 deletions(-) commit a11ffbd2a02b4150855976a50b84be63832dc2eb Author: C. Scott Ananian Date: Wed Oct 25 22:58:10 2006 +0000 Notes about using Sphinx's RuleGrammar to parse input. notes.txt | 4 ++++ 1 file changed, 4 insertions(+) commit aba55555d76b947f712bef9d38a5917a952c130c Author: C. Scott Ananian Date: Wed Oct 25 22:55:18 2006 +0000 Create the CommandInput class, which synchronizes the various input methods with the choreography engine. src/net/cscott/sdr/App.java | 10 ++- src/net/cscott/sdr/CommandInput.java | 118 ++++++++++++++++++++++++++++++++++ 2 files changed, 127 insertions(+), 1 deletion(-) commit 45e1c2813de30d70877af578232510a968e1f276 Author: C. Scott Ananian Date: Wed Oct 25 22:53:40 2006 +0000 Add a comment telling how to get the 'n best' matches for the speech input. It's not really 'n best' -- there may be some good matches which are not included -- but it will do for now. The actual Lattice construction in Sphinx doesn't (yet?) support arbitrary grammars (it just uses n-gram probabilities). src/net/cscott/sdr/recog/SphinxDemo.java | 3 +++ 1 file changed, 3 insertions(+) commit 917b9077e011139b9bf260f0642ea161172bcc48 Author: C. Scott Ananian Date: Wed Oct 25 21:49:18 2006 +0000 Dump some random strings from the grammar so that we can verify that it only generates reasonable calls. src/net/cscott/sdr/recog/SphinxDemo.java | 6 ++++++ 1 file changed, 6 insertions(+) commit ddd6192b6f540041df31da72801bf00335fce529 Author: C. Scott Ananian Date: Wed Oct 25 21:48:19 2006 +0000 Refine grammar: use 'fraction' instead of 'number' for cast,touch,etc. "Cast off 1 1/2" doesn't make sense. resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 17 ++++++++++------- resources/net/cscott/sdr/calls/lists/basic.calls | 6 +++--- resources/net/cscott/sdr/calls/lists/mainstream.calls | 2 +- 3 files changed, 14 insertions(+), 11 deletions(-) commit 5b65cf265febba59fe73915353a6a84d1f974f85 Author: C. Scott Ananian Date: Wed Oct 25 20:50:53 2006 +0000 Javadoc fix. src/net/cscott/sdr/util/Fraction.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 5662e0c832676283825d4f1e36601d0ec6e984af Author: C. Scott Ananian Date: Wed Oct 25 20:43:28 2006 +0000 Remove Eclipse warnings (mostly about unused imports). src/net/cscott/sdr/calls/FormationList.java | 13 ++++++++----- src/net/cscott/sdr/calls/TestParser.java | 1 - src/net/cscott/sdr/calls/grm/Rule.java | 1 - src/net/cscott/sdr/calls/lists/BasicList.java | 10 ++-------- src/net/cscott/sdr/calls/lists/MainstreamList.java | 6 +----- src/net/cscott/sdr/calls/transform/BuilderHelper.java | 5 +---- src/net/cscott/sdr/calls/transform/Elaborate.java | 4 ++-- src/net/cscott/sdr/calls/transform/ValueVisitor.java | 5 +---- 8 files changed, 15 insertions(+), 30 deletions(-) commit 4c08b04e03d40b7d7ccbb4f7a9bca4931eef7c21 Author: C. Scott Ananian Date: Wed Oct 25 20:39:36 2006 +0000 Change Position.facing from an ExactRotation to a Rotation. This allows us to create formations with inexact facing directions. A few other calls need to require that their Positions be exact, now. .../cscott/sdr/calls/GeneralFormationMatcher.java | 4 +-- src/net/cscott/sdr/calls/Position.java | 24 +++++++------ src/net/cscott/sdr/calls/SelectorList.java | 1 - src/net/cscott/sdr/calls/Warp.java | 11 ++++-- src/net/cscott/sdr/calls/ast/Prim.java | 37 +------------------- 5 files changed, 25 insertions(+), 52 deletions(-) commit dc681d4684bd9d34f9787fad2dd018e071b69b25 Author: C. Scott Ananian Date: Wed Oct 25 20:37:20 2006 +0000 Add a getter method for DanceState.program, in case we decide to make the DanceState mutable later. (I think it needs to be mutable, to let us change Programs during the game, but maybe we'll just tear down everything and create new threads with a new immutable DanceState instead.) src/net/cscott/sdr/calls/DanceState.java | 10 ++++++++-- src/net/cscott/sdr/calls/PredicateList.java | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) commit 2138843d66dcca423b74d3dc27d31c9cf378a487 Author: C. Scott Ananian Date: Wed Oct 25 20:34:32 2006 +0000 Suppress warnings about serialVersionUID. .settings/org.eclipse.jdt.core.prefs | 47 +++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) commit 82bb40e463eace4ef0dbec982ccbb0e2d96e0030 Author: C. Scott Ananian Date: Wed Oct 25 20:33:59 2006 +0000 Add TimedFormation and TImedPosition classes to associate timestamps with a given formation/position. Evaluating a call should result in an ordered list of TimedFormations, with the last one indicating the final result formation. src/net/cscott/sdr/calls/TimedFormation.java | 24 ++++++++++++++++++++++++ src/net/cscott/sdr/calls/TimedPosition.java | 18 ++++++++++++++++++ 2 files changed, 42 insertions(+) commit 2f39f81d9dc267525ab572de6cb46a6b30752340 Author: C. Scott Ananian Date: Wed Oct 25 17:46:46 2006 +0000 Added JDK1.6 splash screen functionality (to Jar manifest; also explicitly turn off the splash screen when app comes up). Moved the call to display.setTitle() so that we don't have 'Game' display in the titlebar for several seconds. sdr.Manifest | 1 + src/net/cscott/sdr/anim/SdrBaseGame.java | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) commit 2590e25512d22d916a1f41734365c586f477731f Author: C. Scott Ananian Date: Wed Oct 25 17:30:00 2006 +0000 Add generated 'natural language' grammars to .cvsignore. resources/net/cscott/sdr/recog/.cvsignore | 1 + src/net/cscott/sdr/calls/lists/.cvsignore | 1 + 2 files changed, 2 insertions(+) commit 86b739a2aa5b95e3e245cee1b98ed2ea2a519290 Author: C. Scott Ananian Date: Wed Oct 25 17:26:42 2006 +0000 Fix infinite recursion in ExactRotation caused by forgetting to add 'super.' to the invocations of the superclass methods. src/net/cscott/sdr/calls/ExactRotation.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) commit 48df0cfaf1f9092532b9ee2e0e9515ae2a6f6ab3 Author: C. Scott Ananian Date: Tue Oct 24 23:11:53 2006 +0000 Use proper mathematical term: modulus, not modulo. src/net/cscott/sdr/calls/Rotation.java | 58 +++++++++++++++++--------------- 1 file changed, 30 insertions(+), 28 deletions(-) commit 4b2094b25cc8d85772f98fa3238de40dbc00b17f Author: C. Scott Ananian Date: Tue Oct 24 23:04:20 2006 +0000 Use the inner boundaries of the formations. Formation expansion is not yet correct. src/net/cscott/sdr/calls/FormationMapper.java | 62 +++++++++++++++++-------- 1 file changed, 43 insertions(+), 19 deletions(-) commit 21455b495d03233431e4f2c521b5100e60c2b47b Author: C. Scott Ananian Date: Tue Oct 24 23:03:38 2006 +0000 Add Formation.isCentered() method, primarily for use in assertions. src/net/cscott/sdr/calls/Formation.java | 6 ++++++ 1 file changed, 6 insertions(+) commit 75af4c0ed14cd0a993ad6826cd33682eafa8385a Author: C. Scott Ananian Date: Tue Oct 24 23:02:55 2006 +0000 Split an ExactRotation class away from Rotation, and add a 'modulo' field to general rotations. Now we can express inexact facing directions, like "east or west" in addition to exact rotations. Update notes where this idea was discussed. notes.txt | 12 +- .../calls/{Rotation.java => ExactRotation.java} | 130 ++++------- src/net/cscott/sdr/calls/Formation.java | 24 +- src/net/cscott/sdr/calls/FormationList.java | 4 +- .../cscott/sdr/calls/GeneralFormationMatcher.java | 10 +- src/net/cscott/sdr/calls/Position.java | 14 +- src/net/cscott/sdr/calls/Rotation.java | 236 ++++++++------------ src/net/cscott/sdr/calls/Warp.java | 6 +- src/net/cscott/sdr/calls/ast/Prim.java | 16 +- .../cscott/sdr/calls/transform/BuilderHelper.java | 6 +- .../cscott/sdr/calls/transform/CallFileBuilder.g | 12 +- 11 files changed, 196 insertions(+), 274 deletions(-) commit f4f984040390e39a8b6daf77eb258f42cf988775 Author: C. Scott Ananian Date: Tue Oct 24 22:59:24 2006 +0000 Add static fields for eighths. src/net/cscott/sdr/util/Fraction.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) commit dfff2726aa03a663b83e94e9a2e594311eb8312d Author: C. Scott Ananian Date: Tue Oct 24 20:05:54 2006 +0000 Note that pythagoras.html has a 5-degree rational approximation to a circle. notes.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5a72159dc616106b886f48a14d314c6bb22e4748 Author: C. Scott Ananian Date: Tue Oct 24 19:57:40 2006 +0000 Compute rational approximation to circle using pythagorean triples. pythagoras.html | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) commit 57ee7261c0fb844e16f093ec6c5ce5607a7a67e1 Author: C. Scott Ananian Date: Tue Oct 24 19:08:27 2006 +0000 Notes on formation assembly, elaboration, and evaluation. notes.txt | 149 ++++++++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 119 insertions(+), 30 deletions(-) commit 21db0a25c81452a47f57cc40d5bffc03af50f0ce Author: C. Scott Ananian Date: Tue Oct 24 18:15:46 2006 +0000 Remove net.cscott.sdr.call.* from the 'excludes' list of the build target. build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f244a8a3919051ba7e58659a210bf8b40662a232 Author: C. Scott Ananian Date: Tue Oct 24 18:14:12 2006 +0000 Compile jutil with JDK version 1.5, so that SDR as a whole doesn't require JDK 1.6 in order to be built. lib/jutil.jar | Bin 270022 -> 263085 bytes 1 file changed, 0 insertions(+), 0 deletions(-) commit 00656342703502f393e5b3b3e165b275cf79b0d6 Author: C. Scott Ananian Date: Mon Oct 23 17:35:15 2006 +0000 Rewrite onlyShared to consider actual edges when deciding whether a boundary is shared. Still problems with diamonds; trying to figure out how to fix. src/net/cscott/sdr/calls/FormationMapper.java | 78 ++++++++++++++++++------- 1 file changed, 56 insertions(+), 22 deletions(-) commit 859a4d84002e4572640b85f7f397548a793d3247 Author: C. Scott Ananian Date: Mon Oct 23 17:33:22 2006 +0000 Add right- and left- hand diamonds. src/net/cscott/sdr/calls/FormationList.java | 28 +++++++++++++++++++-------- src/net/cscott/sdr/calls/SelectorList.java | 5 ++++- 2 files changed, 24 insertions(+), 9 deletions(-) commit 7c3ee24c583290ec61849388abaac12f741d1094 Author: C. Scott Ananian Date: Mon Oct 23 17:32:51 2006 +0000 Add method to get the bounding box of an individual dancer. src/net/cscott/sdr/calls/Formation.java | 8 ++++++++ 1 file changed, 8 insertions(+) commit c35f2f2aaa0347625f4f1483ec9bf605901660bc Author: C. Scott Ananian Date: Mon Oct 23 17:31:30 2006 +0000 Fix typo in formation name. resources/net/cscott/sdr/calls/lists/basic.calls | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6e00321d0b5c03789503300adb17ce3b713968d9 Author: C. Scott Ananian Date: Mon Oct 23 16:54:45 2006 +0000 Recenter result formation: don't try to adjust expansion array. src/net/cscott/sdr/calls/FormationMapper.java | 44 +++++++++---------------- 1 file changed, 15 insertions(+), 29 deletions(-) commit 30e772fdbb079c9a5429d51fdcfcf58b8200bb4a Author: C. Scott Ananian Date: Mon Oct 23 16:54:12 2006 +0000 Improve javadoc. src/net/cscott/sdr/util/Interval.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit faa750117d0f72abd382c55907a943c80fe25f33 Author: C. Scott Ananian Date: Mon Oct 23 16:51:09 2006 +0000 Add an Interval class (to be used by FormationMapper). src/net/cscott/sdr/util/Interval.java | 41 +++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) commit 5b6d0f3a115773ce5b1bf345a177f56763b9360b Author: C. Scott Ananian Date: Mon Oct 23 16:50:06 2006 +0000 LongFraction is unused, and probably buggy. Remove. src/net/cscott/sdr/util/LongFraction.java | 1207 ----------------------------- 1 file changed, 1207 deletions(-) commit 218aa4acab5d8b4e52bcd2e6f00dacea231c1eda Author: C. Scott Ananian Date: Mon Oct 23 16:49:41 2006 +0000 Parameterize Fraction's implementation of Comparable. src/net/cscott/sdr/util/Fraction.java | 7 +++---- src/net/cscott/sdr/util/LongFraction.java | 11 +++++------ 2 files changed, 8 insertions(+), 10 deletions(-) commit 24ffab016e8f959688ff7c7174769ef042e83e06 Author: C. Scott Ananian Date: Mon Oct 23 04:40:14 2006 +0000 Add methods to Formation to get the bounds of the formation, and to recenter it. src/net/cscott/sdr/calls/Formation.java | 35 +++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) commit 6a43114c72dba47efabc32ae946c6fab0b06bfe2 Author: C. Scott Ananian Date: Mon Oct 23 04:39:29 2006 +0000 Add some simple geometric primitives (Box, Point) where the coordinates are Fractions. src/net/cscott/sdr/util/Box.java | 41 ++++++++++++++++++++++++++++++++++++ src/net/cscott/sdr/util/Point.java | 33 +++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) commit 3c71582b2595c7577d7d07ed75c63df6353a0538 Author: C. Scott Ananian Date: Mon Oct 23 03:27:45 2006 +0000 First draft of Formation.insert() method, which takes a number of subformations (tandems/miniwaves/etc) and inserts them into a meta formation. Still buggy in various ways. src/net/cscott/sdr/calls/FormationMapper.java | 178 +++++++++++++++++++++++++ 1 file changed, 178 insertions(+) commit 62df0efdf900553833d3f7b1622a6581c09c7add Author: C. Scott Ananian Date: Mon Oct 23 03:25:08 2006 +0000 Add RH_WAVE and LH_WAVE formations/selectors. src/net/cscott/sdr/calls/FormationList.java | 12 ++++++++++++ src/net/cscott/sdr/calls/SelectorList.java | 6 ++++-- 2 files changed, 16 insertions(+), 2 deletions(-) commit 1b1ccb62bd188891ec3fda7e0a5906b86dc4d4be Author: C. Scott Ananian Date: Mon Oct 23 03:24:32 2006 +0000 Don't divide positions by half -- use a "dancers are two units tall/wide" grid which puts most locations on integer grid lines. src/net/cscott/sdr/calls/Position.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 104a975edaad14b18134d8af29d24c93f5ea01f5 Author: C. Scott Ananian Date: Mon Oct 23 03:19:56 2006 +0000 Add a method to create a formation based on a map from Dancers to Positions. src/net/cscott/sdr/calls/Formation.java | 4 ++++ 1 file changed, 4 insertions(+) commit 46d7b554838ccda4841d56d2b1173cbec5b6546c Author: C. Scott Ananian Date: Sun Oct 22 22:58:51 2006 +0000 Rewrite parser to invoke "natural language" parser dynamically. This prevents a dependency, allowing an easier build. src/net/cscott/sdr/calls/CallDB.java | 39 +++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 15 deletions(-) commit 054a7a97c2684b66dede5569719b23637cc1e463 Author: C. Scott Ananian Date: Sun Oct 22 22:37:25 2006 +0000 Use automatically-generated grammar for recognition (in the future, should dynamically select grammar given the Program to be recognized). resources/net/cscott/sdr/recog/sdr.config.xml | 2 +- src/net/cscott/sdr/calls/grm/BuildGrammars.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit fb4d16bc32d36bb18dc9e706508696244934834a Author: C. Scott Ananian Date: Sun Oct 22 22:30:53 2006 +0000 Integrate ANTLRv3 grammar generation. Add CallDB.parse() method to invoke the new grammars to parse natural-language strings. .classpath | 4 +++- build.xml | 29 ++++++++++++++++++++++++++++- lib/antlr-2.7.6.jar | Bin 0 -> 443432 bytes lib/antlr-3.0b4.jar | Bin 0 -> 561453 bytes lib/antlr.jar | Bin 450386 -> 0 bytes lib/stringtemplate-2.3b9.jar | Bin 0 -> 182856 bytes src/net/cscott/sdr/calls/CallDB.java | 21 +++++++++++++++++++++ src/net/cscott/sdr/calls/Test.java | 4 +--- src/net/cscott/sdr/calls/lists/.cvsignore | 2 ++ 9 files changed, 55 insertions(+), 5 deletions(-) commit 3689ba494314b6c53d7c13b3d2a739300762a705 Author: C. Scott Ananian Date: Sun Oct 22 22:28:45 2006 +0000 Add an emitter for ANTLR v3 parsers. ANTLR v2 doesn't have sufficient look-ahead. resources/net/cscott/sdr/calls/grm/antlr-v3.skel | 87 ++++++++++++++++++++++ src/net/cscott/sdr/calls/grm/BuildGrammars.java | 9 ++- src/net/cscott/sdr/calls/grm/EmitANTLRv3.java | 62 +++++++++++++++ 3 files changed, 156 insertions(+), 2 deletions(-) commit 6b925eca73288afcc97aaf5b1f3229a4051e9354 Author: C. Scott Ananian Date: Sun Oct 22 19:30:49 2006 +0000 Add an appropriate .cvsignore file (ignore generated parsers/lexers). src/net/cscott/sdr/calls/lists/.cvsignore | 5 +++++ 1 file changed, 5 insertions(+) commit f8fb63d0217d47a8a8af56f96e5a361f10725f99 Author: C. Scott Ananian Date: Sun Oct 22 19:28:53 2006 +0000 Bug fixes to grammars. resources/net/cscott/sdr/calls/grm/antlr.skel | 24 ++++++++++++++---------- resources/net/cscott/sdr/calls/grm/jsapi.skel | 3 ++- src/net/cscott/sdr/calls/grm/EmitANTLR.java | 4 +++- 3 files changed, 19 insertions(+), 12 deletions(-) commit f2353f5fd2036b3d0c666bb5b57fa1a8912c79ba Author: C. Scott Ananian Date: Sun Oct 22 19:27:33 2006 +0000 Write the generated grammars to the proper files. src/net/cscott/sdr/calls/grm/BuildGrammars.java | 27 ++++++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) commit f8b5ed08773d38253f0233a99e4747f1e7b4912f Author: C. Scott Ananian Date: Sun Oct 22 19:27:12 2006 +0000 Add a method to convert the program name to title case. src/net/cscott/sdr/calls/Program.java | 4 ++++ 1 file changed, 4 insertions(+) commit 1da64f4626649e65b4afb0be54dd52f4b547c586 Author: C. Scott Ananian Date: Sun Oct 22 19:25:45 2006 +0000 Temporarily disable some problematic grammar rules which involve left recursion. src/net/cscott/sdr/calls/lists/BasicList.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit cf4f3940c34c78bb6879a4cf9e5ebd443ddd0d0a Author: C. Scott Ananian Date: Sun Oct 22 16:18:45 2006 +0000 Tweak precedences; add some more grammar rules. notes.txt | 4 +++- resources/net/cscott/sdr/calls/grm/antlr.skel | 8 +++++++ resources/net/cscott/sdr/calls/grm/jsapi.skel | 5 ++++ resources/net/cscott/sdr/calls/lists/basic.calls | 24 +++++++++---------- .../net/cscott/sdr/calls/lists/mainstream.calls | 2 +- src/net/cscott/sdr/calls/lists/BasicList.java | 25 +++++++++++++++----- 6 files changed, 48 insertions(+), 20 deletions(-) commit bc1085d485d6f8b38fbb6c3a8c2a48a0334720f6 Author: C. Scott Ananian Date: Sun Oct 22 15:46:06 2006 +0000 Add ability to parse grammar rules from strings (to make it easier to define custom calls). src/net/cscott/sdr/calls/grm/Grm.java | 29 +++++++++++++++++++- src/net/cscott/sdr/calls/transform/CallFile.g | 13 ++++++++- .../cscott/sdr/calls/transform/CallFileBuilder.g | 19 ++++++++++--- 3 files changed, 55 insertions(+), 6 deletions(-) commit aa182c7eba6595269cbb66ae6df5eb8a735428d6 Author: C. Scott Ananian Date: Sun Oct 22 05:15:13 2006 +0000 Refactor emitters: separate out a common superclass. Implement ANTLR/JSAPI skeletons, into which the computed rule grammars are put. resources/net/cscott/sdr/calls/grm/antlr.skel | 69 +++++++++++++++++++++++ resources/net/cscott/sdr/calls/grm/jsapi.skel | 24 ++++++++ src/net/cscott/sdr/calls/grm/AbstractEmit.java | 61 ++++++++++++++++++++ src/net/cscott/sdr/calls/grm/BuildGrammars.java | 17 +++--- src/net/cscott/sdr/calls/grm/EmitANTLR.java | 43 ++++++-------- src/net/cscott/sdr/calls/grm/EmitJSAPI.java | 44 ++++++--------- 6 files changed, 199 insertions(+), 59 deletions(-) commit 4c5aabf3c1aa34aafc071dca599a303acad1313b Author: C. Scott Ananian Date: Sat Oct 21 22:31:30 2006 +0000 Factor NumberParams into its own class. Implement EmitANTLR and EmitJSAPI to generate ANTLR/JSAPI-format grammars. src/net/cscott/sdr/calls/grm/BuildGrammars.java | 80 ++++++----------------- src/net/cscott/sdr/calls/grm/EmitANTLR.java | 68 +++++++++++++++++++ src/net/cscott/sdr/calls/grm/EmitJSAPI.java | 60 +++++++++++++++++ src/net/cscott/sdr/calls/grm/NumberParams.java | 64 ++++++++++++++++++ 4 files changed, 213 insertions(+), 59 deletions(-) commit f36c8d8b40fb69bb0117d28a964efb9774dd0ba5 Author: C. Scott Ananian Date: Sat Oct 21 22:30:27 2006 +0000 Whoops: ToStringVisitor was creating new instances of the Visitor for each level in the tree. Fixed. src/net/cscott/sdr/calls/grm/ToStringVisitor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 00b292b492abca4d375b2f9b8081e5c0bcc0204a Author: C. Scott Ananian Date: Sat Oct 21 21:31:25 2006 +0000 Factor out a RuleAndAction pair to keep rules associated with Actions; build Actions for our rules. src/net/cscott/sdr/calls/grm/BuildGrammars.java | 141 ++++++++++++++++++----- src/net/cscott/sdr/calls/grm/RuleAndAction.java | 16 +++ 2 files changed, 131 insertions(+), 26 deletions(-) commit e2b6ce16b4b61464b199161a5415371b3bedc3bf Author: C. Scott Ananian Date: Sat Oct 21 21:30:59 2006 +0000 Create SimplifyGrm class to deal with one-element Seq and Alt, so that this is decoupled from grammar-parsing code. src/net/cscott/sdr/calls/grm/SimplifyGrm.java | 52 ++++++++++++++++++++ .../cscott/sdr/calls/transform/CallFileBuilder.g | 4 +- 2 files changed, 55 insertions(+), 1 deletion(-) commit 0d4645f83f45175bfd0c5536bdd45f69943725ed Author: C. Scott Ananian Date: Sat Oct 21 15:54:03 2006 +0000 Check in the 'prototype' ANTLR v2 and v3 grammars, for reference. natural-v2.g | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ natural-v3.g | 93 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 203 insertions(+) commit e8196f418a5e48aea5f51cf0250336fa8c29275c Author: C. Scott Ananian Date: Sat Oct 21 15:49:27 2006 +0000 Start writing code to generate the ANTLR and JSSAPI grammars from the grammar information in the call list. src/net/cscott/sdr/calls/grm/BuildGrammars.java | 150 +++++++++++++++++++++++ 1 file changed, 150 insertions(+) commit 1d1d2a2423696d6c94599ea6a7b322e7abf77450 Author: C. Scott Ananian Date: Sat Oct 21 15:47:46 2006 +0000 Move toString() method out into its own visitor (so that we can override this for custom formats -- eg, JSSAPI and ANTLR). src/net/cscott/sdr/calls/grm/Grm.java | 52 ++++++++---------- src/net/cscott/sdr/calls/grm/GrmVisitor.java | 10 ++++ src/net/cscott/sdr/calls/grm/ToStringVisitor.java | 58 +++++++++++++++++++++ 3 files changed, 89 insertions(+), 31 deletions(-) commit 32eb3a50092a68d7bcf1069943edf6c69b0f51c7 Author: C. Scott Ananian Date: Sat Oct 21 15:46:54 2006 +0000 Precedence field can be null (after we perform precedence transformations on the grammar). src/net/cscott/sdr/calls/grm/Rule.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2baacbdfcbc1aed8c0bb748fb9472da4f74e7d9d Author: C. Scott Ananian Date: Sat Oct 21 15:46:09 2006 +0000 Allow access to master list of calls (for grammar-building purposes, eg). src/net/cscott/sdr/calls/CallDB.java | 6 ++++++ 1 file changed, 6 insertions(+) commit 5b3f8ec1b1fad6579962f4cc651fa976db15151a Author: C. Scott Ananian Date: Sat Oct 21 15:45:36 2006 +0000 Some notes on what a precedence grammar for natural-language calls should look like. notes.txt | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) commit e34b65ecd0aec8cdf4d786298633c42994edd355 Author: C. Scott Ananian Date: Sat Oct 21 00:54:31 2006 +0000 Put Rules in CallDB. src/net/cscott/sdr/calls/Call.java | 12 ++++++++++-- src/net/cscott/sdr/calls/TestParser.java | 6 ++---- src/net/cscott/sdr/calls/grm/Rule.java | 6 ++---- src/net/cscott/sdr/calls/lists/BasicList.java | 12 +++++++++++- .../cscott/sdr/calls/transform/BuilderHelper.java | 11 ++++++++--- .../cscott/sdr/calls/transform/CallFileBuilder.g | 19 ++++++++++++------- 6 files changed, 45 insertions(+), 21 deletions(-) commit d2962bd9618f2e9137e991d5b3a5be521e8129a6 Author: C. Scott Ananian Date: Sat Oct 21 00:11:51 2006 +0000 Create AST for grammar rules. src/net/cscott/sdr/calls/TestParser.java | 4 + src/net/cscott/sdr/calls/grm/Grm.java | 118 ++++++++++++++++++++ src/net/cscott/sdr/calls/grm/Rule.java | 24 ++++ .../cscott/sdr/calls/transform/CallFileBuilder.g | 51 ++++++--- 4 files changed, 180 insertions(+), 17 deletions(-) commit a67b24fa1c604399c6ad5b98038b422e09e60e04 Author: C. Scott Ananian Date: Fri Oct 20 22:50:31 2006 +0000 Add 'optional' and 'spoken' tags to call lists. The 'optional' information allows us to mark calls which can be LEFT or REVERSE. The 'spoken' tag lets us attach a 'natural language' grammar for the call or concept. We don't do anything with these yet, but we will do some automated munging on these (removing left recursion, adding precedence for disambiguation) and then turn these into an ANTLR grammar for parsing plain-text input strings, and a Java Speech grammar for the Sphinx speech recognition engine. In fact, we can automatically generate several grammars, one for each different square dance program we support. Anyway, we don't do anything with the information yet -- not even build an AST. That will be in the next commits. resources/net/cscott/sdr/calls/lists/basic.calls | 104 ++++++++++++++++---- .../net/cscott/sdr/calls/lists/mainstream.calls | 3 +- resources/net/cscott/sdr/calls/lists/plus.calls | 1 + src/net/cscott/sdr/calls/transform/CallFile.g | 72 ++++++++++++-- .../cscott/sdr/calls/transform/CallFileBuilder.g | 18 +++- 5 files changed, 166 insertions(+), 32 deletions(-) commit 5ced04e9e107b322e43a5903b3be977736ae9acc Author: C. Scott Ananian Date: Fri Oct 20 03:14:50 2006 +0000 Update notes (get rid of stuff we've already done/decided to do differently). notes.txt | 34 +++++++--------------------------- 1 file changed, 7 insertions(+), 27 deletions(-) commit ba769c53a1d2867c3d6242065084eceb6e701a18 Author: C. Scott Ananian Date: Thu Oct 19 22:59:58 2006 +0000 Allow parameters in SELECT statements; this allows us to define 'run', 'cross run', 'fold', 'cross fold', 'walk others dodge', and how to apply a tagging call. resources/net/cscott/sdr/calls/lists/basic.calls | 90 +++++++++++--------- src/net/cscott/sdr/calls/SelectorList.java | 2 + src/net/cscott/sdr/calls/Test.java | 3 + .../cscott/sdr/calls/transform/BuilderHelper.java | 18 ++-- src/net/cscott/sdr/calls/transform/CallFile.g | 6 +- .../cscott/sdr/calls/transform/CallFileBuilder.g | 24 +++++- 6 files changed, 91 insertions(+), 52 deletions(-) commit e492963bb5598ee13aca5bdbb685088202c04b0f Author: C. Scott Ananian Date: Thu Oct 19 21:00:04 2006 +0000 Allow parameters in CONDITION expressions. This (along with a kludge to allow us to do arithemetic in Calls) allows us to define Square Thru in the call list file, instead of with custom code. resources/net/cscott/sdr/calls/lists/basic.calls | 11 +++ src/net/cscott/sdr/calls/PredicateList.java | 20 +++++ src/net/cscott/sdr/calls/ast/Apply.java | 10 ++- src/net/cscott/sdr/calls/lists/BasicList.java | 77 ++++++++++++-------- src/net/cscott/sdr/calls/transform/CallFile.g | 9 ++- .../cscott/sdr/calls/transform/CallFileBuilder.g | 18 ++++- 6 files changed, 108 insertions(+), 37 deletions(-) commit bebf13267ab4b6cb56ce2358b145f07ca1d385b0 Author: C. Scott Ananian Date: Thu Oct 19 20:17:50 2006 +0000 Allow simple parameters in the call definition list. Parameters can currently be used only in the argument to a 'call:' item -- but even so, this capability is pretty powerful. resources/net/cscott/sdr/calls/lists/basic.calls | 46 ++--------------- .../net/cscott/sdr/calls/lists/mainstream.calls | 5 ++ src/net/cscott/sdr/calls/Call.java | 19 +++++-- src/net/cscott/sdr/calls/Test.java | 2 +- src/net/cscott/sdr/calls/TestParser.java | 6 +-- src/net/cscott/sdr/calls/lists/BasicList.java | 21 ++++---- src/net/cscott/sdr/calls/lists/MainstreamList.java | 16 +----- .../cscott/sdr/calls/transform/BuilderHelper.java | 11 ++-- src/net/cscott/sdr/calls/transform/CallFile.g | 12 ++++- .../cscott/sdr/calls/transform/CallFileBuilder.g | 54 ++++++++++++++++++-- 10 files changed, 105 insertions(+), 87 deletions(-) commit dc8464b533f024eb530488c2f551cbe3f3288010 Author: C. Scott Ananian Date: Thu Oct 19 20:16:34 2006 +0000 Fix javadoc. src/net/cscott/sdr/calls/Dancer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 59b05fa00c0602e5d912e5c8a0a85a2ed00b18dd Author: C. Scott Ananian Date: Thu Oct 19 18:53:03 2006 +0000 Remove unused ANTLR targets. build.xml | 6 ------ 1 file changed, 6 deletions(-) commit 902905cf31c6326449b1a4d688a9678974d7cf24 Author: C. Scott Ananian Date: Thu Oct 19 18:46:58 2006 +0000 CallFileBuilder now generates an AST "builder function" instead of the AST directly. This refactoring paves the way for us to introduce limited parameterization into the call list file. For example: def: cast([n]) call: fractional([n], _cast 4/4) .../cscott/sdr/calls/transform/BuilderHelper.java | 155 ++++++++++++++++++++ .../cscott/sdr/calls/transform/CallFileBuilder.g | 66 +++++---- 2 files changed, 189 insertions(+), 32 deletions(-) commit b4e73e2114eb562121bf4e43967590dc981a6afa Author: C. Scott Ananian Date: Thu Oct 19 18:44:50 2006 +0000 Regularize constructors for Opt/OptCall/ParCall a bit. src/net/cscott/sdr/calls/ast/Opt.java | 5 ++++- src/net/cscott/sdr/calls/ast/OptCall.java | 17 ++++++++++------- src/net/cscott/sdr/calls/ast/ParCall.java | 8 +++----- 3 files changed, 17 insertions(+), 13 deletions(-) commit 4a2fffdb376581c3f294ec0b3bae26605c774538 Author: C. Scott Ananian Date: Thu Oct 19 18:31:40 2006 +0000 Notes about collisions. notes.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) commit a20400f73ee42d890963e3f3e8eb83481cc42839 Author: C. Scott Ananian Date: Wed Oct 18 21:15:14 2006 +0000 Tweak all the definitions to use 'in'/'out'. This simplifies a lot of calls and unifies the right-hand and left-hand cases. resources/net/cscott/sdr/calls/lists/a1.calls | 6 ++ resources/net/cscott/sdr/calls/lists/basic.calls | 66 ++++++-------------- .../net/cscott/sdr/calls/lists/mainstream.calls | 12 ++-- resources/net/cscott/sdr/calls/lists/plus.calls | 6 +- 4 files changed, 32 insertions(+), 58 deletions(-) commit a88452f807df083cac0dd6615a3166afe232b26c Author: C. Scott Ananian Date: Wed Oct 18 21:14:40 2006 +0000 Add 'in' and 'out' as primitive translation/rotation directions. Extend parser/ast/etc to handle this. A few other minor Prim improvements while we're at it. Minor tweak to Elaborate to not generate Warp nodes unless we're fully elaborating. src/net/cscott/sdr/calls/ast/Prim.java | 36 ++++++++++++---- .../cscott/sdr/calls/transform/AstTokenTypes.java | 13 +++--- src/net/cscott/sdr/calls/transform/CallFile.g | 44 +++++++++++++------- .../cscott/sdr/calls/transform/CallFileBuilder.g | 29 +++++++++---- src/net/cscott/sdr/calls/transform/Elaborate.java | 13 +++--- src/net/cscott/sdr/calls/transform/RemoveIn.java | 2 +- .../sdr/calls/transform/TransformVisitor.java | 4 +- 7 files changed, 98 insertions(+), 43 deletions(-) commit 9b752cd12aa51316fa753859072f7b105b7522f5 Author: C. Scott Ananian Date: Wed Oct 18 21:12:55 2006 +0000 Add a 'toString' method to the STUB selector, for debugging purposes. src/net/cscott/sdr/calls/SelectorList.java | 2 ++ 1 file changed, 2 insertions(+) commit 1c1d91bf5f436a38355e1281bc29e7d18b7d0d7d Author: C. Scott Ananian Date: Wed Oct 18 21:12:15 2006 +0000 More implementation notes: parameterized call definitions, adding 'in'/'out' as primitive directions, technique for doing formation breathing, formation match should include a 'meta formation' showing how the component formations are arranged. notes.txt | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) commit 7de6dafda6ed6d88bfb4e0c7d0f6fe54c1e8d918 Author: C. Scott Ananian Date: Wed Oct 18 02:00:26 2006 +0000 Fix elaboration of Opt/OptCall, resulting in a valid tree. Still to do: Seq/SeqCall and a proper Warp (which should warp the formation). src/net/cscott/sdr/calls/transform/Elaborate.java | 94 +++++++++++++++++---- 1 file changed, 78 insertions(+), 16 deletions(-) commit bb1288fe221effe02cf5be0730fcc2b188d74f29 Author: C. Scott Ananian Date: Wed Oct 18 01:59:17 2006 +0000 Some optimizations for Warp operations: basically notice Warp.NONE as a special case. src/net/cscott/sdr/calls/Warp.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 4632a0e42125bcffb8190f2f7101aca12677a056 Author: C. Scott Ananian Date: Wed Oct 18 01:57:17 2006 +0000 Add new primitive tag 'ALL' which matches all dancers (real & phantom). src/net/cscott/sdr/calls/PhantomDancer.java | 2 +- src/net/cscott/sdr/calls/StandardDancer.java | 1 + src/net/cscott/sdr/calls/TaggedFormation.java | 4 ++-- src/net/cscott/sdr/calls/ast/ParCall.java | 4 +--- 4 files changed, 5 insertions(+), 6 deletions(-) commit 6729d4dcb87045a2ae08ae519dd8e49947245e00 Author: C. Scott Ananian Date: Wed Oct 18 01:55:00 2006 +0000 Narrow type of Warped.build(). src/net/cscott/sdr/calls/ast/Warped.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 8b4b8ee9e50b0622fd605eacdc342c9336b8174a Author: C. Scott Ananian Date: Wed Oct 18 00:09:13 2006 +0000 Add JUnit to the classpath. .classpath | 1 + 1 file changed, 1 insertion(+) commit b4fac2a7265b42e06114da4f77b6c2bf698f84a9 Author: C. Scott Ananian Date: Tue Oct 17 21:45:20 2006 +0000 Move testing code from SelectorList to JUnit test suite in TestSelectors. src/net/cscott/sdr/calls/SelectorList.java | 11 ----- src/net/cscott/sdr/calls/TestSelectors.java | 66 +++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 11 deletions(-) commit 361e5db31af0f3ae96690a5e1c7a27eb2637bb38 Author: C. Scott Ananian Date: Tue Oct 17 21:32:56 2006 +0000 Add test of elaboration. src/net/cscott/sdr/calls/Test.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit efd0dc2fed43de89ccc32a12d7734f507c53a50e Author: C. Scott Ananian Date: Tue Oct 17 21:31:49 2006 +0000 Improve javadoc. src/net/cscott/sdr/calls/Position.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c3374acb85f8ab486cedf465be545fe293c6b42b Author: C. Scott Ananian Date: Tue Oct 17 21:31:28 2006 +0000 Fixed bug in GeneralFormationMatcher that causes multiple reporting of symmetric matches. We should be properly using the 'eq0' information now. .../cscott/sdr/calls/GeneralFormationMatcher.java | 49 +++++++++++--------- 1 file changed, 27 insertions(+), 22 deletions(-) commit 5b2496512312bf0ae26ab5dc30617755be5fbb8b Author: C. Scott Ananian Date: Tue Oct 17 20:04:45 2006 +0000 Implement (and write a test for) 'Elaborate' class, which uses formation information to evaluate OPT/PAR/IF/etc. Doesn't quite work yet -- I think the GeneralFormationMatcher has a bug somewhere. src/net/cscott/sdr/calls/Test.java | 4 + src/net/cscott/sdr/calls/transform/Elaborate.java | 130 +++++++++++++++++++++ 2 files changed, 134 insertions(+) commit ef92a24b53cb667ea0a9f34807a290a2b39be548 Author: C. Scott Ananian Date: Tue Oct 17 20:03:41 2006 +0000 Make NoMatchException a subclass of BadCallException. In GeneralFormationMatcher, ensure that all the matched dancers are 'selected' in the formation. .../cscott/sdr/calls/GeneralFormationMatcher.java | 20 +++++++++++++++----- src/net/cscott/sdr/calls/NoMatchException.java | 8 +++----- src/net/cscott/sdr/calls/SelectorList.java | 2 +- 3 files changed, 19 insertions(+), 11 deletions(-) commit f7f597e1b16fb93331673d3617a182a81e0dac4f Author: C. Scott Ananian Date: Tue Oct 17 19:58:21 2006 +0000 Add a constructor which takes a list in addition to the varargs constructor. src/net/cscott/sdr/calls/ast/Par.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit de6b73a1fbb0d197026bb1ae5af30d46fc1fdcc0 Author: C. Scott Ananian Date: Tue Oct 17 19:53:59 2006 +0000 Optimize to remove unnecessary SEQ(PART(x)) subtrees. src/net/cscott/sdr/calls/transform/TransformVisitor.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit 3ca5624b233ae18e43e3f03df5698eed197a5634 Author: C. Scott Ananian Date: Tue Oct 17 19:53:28 2006 +0000 Add more primitive tags; add some extra factory methods. src/net/cscott/sdr/calls/Formation.java | 16 ++++++++++++-- src/net/cscott/sdr/calls/TaggedFormation.java | 28 +++++++++++++++++++++---- 2 files changed, 38 insertions(+), 6 deletions(-) commit b03c2ded149a53ad1c08f657c7c26c842574d41c Author: C. Scott Ananian Date: Tue Oct 17 19:52:11 2006 +0000 Certain tags are inherent to the Dancer, not the Formation. Handle these properly (via a method on Dancer). src/net/cscott/sdr/calls/Dancer.java | 11 ++++++++++ src/net/cscott/sdr/calls/PhantomDancer.java | 6 ++++++ src/net/cscott/sdr/calls/StandardDancer.java | 28 ++++++++++++++++++++++++++ 3 files changed, 45 insertions(+) commit a27619ccd290faa1af1da191568dbc7bc2fd6b10 Author: C. Scott Ananian Date: Tue Oct 17 16:55:13 2006 +0000 Be more conservative when fractionalizing: avoid expanding subcalls when we don't have to. (Tweak Test class, as one of the tests is no longer valid.) Add another helper Apply.makeApply method. src/net/cscott/sdr/calls/Test.java | 3 +++ src/net/cscott/sdr/calls/ast/Apply.java | 6 +++-- src/net/cscott/sdr/calls/transform/Fractional.java | 24 ++++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) commit 4dd7c1d8d93b865f014329b1bbb5101e68041182 Author: C. Scott Ananian Date: Tue Oct 17 16:42:31 2006 +0000 Optimize away useless SEQ(PART(x)) -> x. src/net/cscott/sdr/calls/lists/BasicList.java | 12 ++++++++++-- src/net/cscott/sdr/calls/transform/Fractional.java | 6 ++++++ 2 files changed, 16 insertions(+), 2 deletions(-) commit 0700ca3839926c9ed74b553e51d6b76cf803d75f Author: C. Scott Ananian Date: Tue Oct 17 16:41:51 2006 +0000 Bug fix: OptCall wasn't recursing into child properly. src/net/cscott/sdr/calls/transform/BeatCounter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 363239f1e5821a387edb941dc8f5bbb47ffc48fe Author: C. Scott Ananian Date: Tue Oct 17 16:29:01 2006 +0000 Replace ANTLR child/sibling ast classes and tree walkers with custom parent/child ast classes. This allows us to do functional updates of the immutable nodes; the ANTLR classes are inherently mutable and don't support reuse of child pieces (unless the siblings are also identical). This fixes the infinite loop bug in the Fractional class. Introduce new ValueVisitor pattern to support BeatCounter, as well. src/net/cscott/sdr/calls/Call.java | 4 +- src/net/cscott/sdr/calls/Predicate.java | 6 +- src/net/cscott/sdr/calls/PredicateList.java | 18 ++-- src/net/cscott/sdr/calls/Test.java | 12 ++- src/net/cscott/sdr/calls/TestParser.java | 2 +- src/net/cscott/sdr/calls/ast/Apply.java | 68 +++++++++------ src/net/cscott/sdr/calls/ast/AstNode.java | 33 +++++++ src/net/cscott/sdr/calls/ast/Comp.java | 9 +- src/net/cscott/sdr/calls/ast/Condition.java | 64 +++++++------- src/net/cscott/sdr/calls/ast/If.java | 34 +++++--- src/net/cscott/sdr/calls/ast/In.java | 25 +++--- src/net/cscott/sdr/calls/ast/Opt.java | 38 ++++---- src/net/cscott/sdr/calls/ast/OptCall.java | 41 +++++---- src/net/cscott/sdr/calls/ast/Par.java | 38 ++++---- src/net/cscott/sdr/calls/ast/ParCall.java | 30 +++++-- src/net/cscott/sdr/calls/ast/Part.java | 15 +++- src/net/cscott/sdr/calls/ast/Prim.java | 33 +++---- src/net/cscott/sdr/calls/ast/Seq.java | 41 +++++---- src/net/cscott/sdr/calls/ast/SeqCall.java | 10 +-- src/net/cscott/sdr/calls/ast/Warped.java | 20 +++-- src/net/cscott/sdr/calls/lists/BasicList.java | 42 +++++---- src/net/cscott/sdr/calls/lists/MainstreamList.java | 8 +- src/net/cscott/sdr/calls/transform/.cvsignore | 5 -- src/net/cscott/sdr/calls/transform/BeatCounter.g | 54 ------------ .../cscott/sdr/calls/transform/BeatCounter.java | 91 ++++++++++++++++++++ .../cscott/sdr/calls/transform/CallFileBuilder.g | 8 +- src/net/cscott/sdr/calls/transform/Fractional.java | 54 ++++++++++++ src/net/cscott/sdr/calls/transform/RemoveIn.g | 88 ------------------- src/net/cscott/sdr/calls/transform/RemoveIn.java | 71 +++++++++++++++ .../sdr/calls/transform/TransformVisitor.java | 84 ++++++++++-------- .../cscott/sdr/calls/transform/ValueVisitor.java | 27 ++++++ src/net/cscott/sdr/calls/transform/Walker.g | 49 ----------- src/net/cscott/sdr/calls/transform/apply.g | 17 ---- 33 files changed, 642 insertions(+), 497 deletions(-) commit 88e39dcdf1c482be5fb6cd35447407e90ea19e2b Author: C. Scott Ananian Date: Tue Oct 17 16:27:10 2006 +0000 Better toString() method for GeneralFormationMatcher. src/net/cscott/sdr/calls/GeneralFormationMatcher.java | 1 + 1 file changed, 1 insertion(+) commit 2a95e91360b1a7f4b46ea48e14d1f080711eee87 Author: C. Scott Ananian Date: Tue Oct 17 16:26:51 2006 +0000 Give names to defined formations. src/net/cscott/sdr/calls/FormationList.java | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) commit 670dcf9e2909e8491928eff8bc5992f9a99d4dc3 Author: C. Scott Ananian Date: Tue Oct 17 01:53:57 2006 +0000 Replace the antlr tree visitor with a new custom Visitor-pattern-based infrastructure. src/net/cscott/sdr/calls/ast/Apply.java | 6 +- src/net/cscott/sdr/calls/ast/Comp.java | 4 +- src/net/cscott/sdr/calls/ast/Condition.java | 12 ++- src/net/cscott/sdr/calls/ast/If.java | 8 +- src/net/cscott/sdr/calls/ast/In.java | 6 +- src/net/cscott/sdr/calls/ast/Opt.java | 6 +- src/net/cscott/sdr/calls/ast/OptCall.java | 6 +- src/net/cscott/sdr/calls/ast/Par.java | 7 +- src/net/cscott/sdr/calls/ast/ParCall.java | 6 +- src/net/cscott/sdr/calls/ast/Part.java | 6 +- src/net/cscott/sdr/calls/ast/Prim.java | 8 +- src/net/cscott/sdr/calls/ast/Seq.java | 8 +- src/net/cscott/sdr/calls/ast/SeqCall.java | 5 +- src/net/cscott/sdr/calls/ast/Warped.java | 14 +++- .../sdr/calls/transform/TransformVisitor.java | 87 ++++++++++++++++++++ 15 files changed, 171 insertions(+), 18 deletions(-) commit ac0a2dc97bd885ed67751d9614c2cbe3deb7abea Author: C. Scott Ananian Date: Tue Oct 17 00:42:07 2006 +0000 Bail on ANTLR for doing tree transforms. v2 needs to support parameterization of the super class in order to avoid duplicating the basic tree building stuff, and v3 seems to be wildly unstable (as in, I can't get it to work). Let's just use a standard visitor pattern instead. src/net/cscott/sdr/calls/transform/Fractional.g | 109 --------------------- src/net/cscott/sdr/calls/transform/Transformer.g | 111 ---------------------- 2 files changed, 220 deletions(-) commit b80982c2d602689d0875ce0d49beba0e2636cb5e Author: C. Scott Ananian Date: Sun Oct 15 19:06:03 2006 +0000 Add complex call _touch to the Basic list. resources/net/cscott/sdr/calls/lists/basic.calls | 5 +++++ src/net/cscott/sdr/calls/lists/BasicList.java | 16 +++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) commit 78446bcaa90094b91c737f21a8c16e86a423716a Author: C. Scott Ananian Date: Sun Oct 15 19:05:31 2006 +0000 Utility constructor: take an int, rather than a Fraction. src/net/cscott/sdr/calls/ast/In.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 6164dc9f729f7d708411fde04f5e9d326a72c2dc Author: C. Scott Ananian Date: Sun Oct 15 19:03:04 2006 +0000 Add a 'valueOf' method to create a Fraction from an integer. src/net/cscott/sdr/util/Fraction.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) commit b748480d377e1655cc5695d95c2523cbe308aaf8 Author: C. Scott Ananian Date: Sun Oct 15 14:24:16 2006 +0000 Add timing to call list; in the process split out the basic list into mainstream/plus/a1/a2 as appropriate. resources/net/cscott/sdr/calls/lists/a1.calls | 8 ++ resources/net/cscott/sdr/calls/lists/a2.calls | 15 +++ resources/net/cscott/sdr/calls/lists/basic.calls | 112 ++++++++++---------- .../net/cscott/sdr/calls/lists/mainstream.calls | 31 ++++++ resources/net/cscott/sdr/calls/lists/plus.calls | 12 +++ src/net/cscott/sdr/calls/CallDB.java | 4 + src/net/cscott/sdr/calls/lists/BasicList.java | 10 +- src/net/cscott/sdr/calls/lists/MainstreamList.java | 8 +- 8 files changed, 137 insertions(+), 63 deletions(-) commit 1c4ced2bf052e87a2c94b0460736da4620520506 Author: C. Scott Ananian Date: Sun Oct 15 14:23:28 2006 +0000 Add 'Fractional.g', which depends on Transformer. .antlr-eclipse | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) commit 42114055bad4eb2270ef6781636bee5fb96c1433 Author: C. Scott Ananian Date: Sun Oct 15 14:22:27 2006 +0000 Note about adding parameters to the call lists. notes.txt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit f5bab53717743b557f1ac5422c1560f9b46709b7 Author: C. Scott Ananian Date: Sun Oct 15 03:17:36 2006 +0000 Add 'Transformer' superclass to make it easier to write Tree transformations. Start working on Fractional, using Transformer. src/net/cscott/sdr/calls/transform/.cvsignore | 3 + src/net/cscott/sdr/calls/transform/Fractional.g | 109 +++++++++++++++++++++ src/net/cscott/sdr/calls/transform/Transformer.g | 111 ++++++++++++++++++++++ 3 files changed, 223 insertions(+) commit 59136bcae23fa9811bd57edc6ae8e647b8d1da99 Author: C. Scott Ananian Date: Sun Oct 15 03:15:51 2006 +0000 Comment out no-arg constructor for BadCallException, as we'd prefer some explanation string for every place this is used. src/net/cscott/sdr/calls/BadCallException.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9a21899c975e6151a84f9dbf117b9db4da449314 Author: C. Scott Ananian Date: Sun Oct 15 03:15:04 2006 +0000 Add build() methods to AST classes, to make transformations easier to write. src/net/cscott/sdr/calls/ast/Apply.java | 19 ++++++++++++++++++- src/net/cscott/sdr/calls/ast/Condition.java | 19 ++++++++++++++++++- src/net/cscott/sdr/calls/ast/If.java | 11 ++++++++++- src/net/cscott/sdr/calls/ast/In.java | 14 +++++++++++++- src/net/cscott/sdr/calls/ast/Opt.java | 23 ++++++++++++++++++++++- src/net/cscott/sdr/calls/ast/OptCall.java | 22 +++++++++++++++++++--- src/net/cscott/sdr/calls/ast/Prim.java | 8 +++++++- 7 files changed, 107 insertions(+), 9 deletions(-) commit 5bcee0dac54b621368763111a37b4265b50e8eff Author: C. Scott Ananian Date: Sun Oct 15 03:10:08 2006 +0000 Add a few new dancer tags. src/net/cscott/sdr/calls/TaggedFormation.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit 7e634ab58ba1f00c649a62e09355210dc53cc260 Author: C. Scott Ananian Date: Sun Oct 15 03:09:39 2006 +0000 Make stubs for a number of formation selectors which are used in our basic/mainstream call definitions. src/net/cscott/sdr/calls/SelectorList.java | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) commit 6e4365dec8b70b4bbc434cd5d77c420197c045ad Author: C. Scott Ananian Date: Sun Oct 15 03:08:53 2006 +0000 Allow '-' in names of formation selectors. src/net/cscott/sdr/calls/Selector.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1770ca09cd8e4cf4fdd37cdea7088082f8afb2b1 Author: C. Scott Ananian Date: Sun Oct 15 03:07:55 2006 +0000 Add definitions of most of our mainstream calls, although many depend on concepts or calls which are not yet defined. (Did this on the greyhound to/from NYC.) resources/net/cscott/sdr/calls/lists/basic.calls | 414 ++++++++++++++++++++-- 1 file changed, 380 insertions(+), 34 deletions(-) commit 95869f53fa8971c31a1d66faac79611634b44544 Author: C. Scott Ananian Date: Sun Oct 15 03:06:35 2006 +0000 Make formation tags case-insensitive, and allow ' ' and '-' in their names (which become '_' when translated to java field names). src/net/cscott/sdr/calls/ast/ParCall.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit c72410ff5fd11233a809ddb98fe7a40ef39e2dad Author: C. Scott Ananian Date: Sun Oct 15 03:05:25 2006 +0000 Add explanation text to BadCallException creation sites. src/net/cscott/sdr/calls/lists/BasicList.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit c6295ab6976ab89cbf06ecf5e2ee38fbebe846c0 Author: C. Scott Ananian Date: Sun Oct 15 03:05:00 2006 +0000 Don't parse keywords after a colon on a line. (So that QUARTER IN isn't parsed as a token.) src/net/cscott/sdr/calls/transform/CallFile.g | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit 9c625152b042c96b7cf6844eb3e246be56da242f Author: C. Scott Ananian Date: Sun Oct 15 03:04:16 2006 +0000 Use Fraction.toProperString() so that 3-and-1 lines don't become 3/1-and-1/1 lines. src/net/cscott/sdr/calls/transform/CallFileBuilder.g | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ca09624a57c3fde74f618de937bc6163318c2d67 Author: C. Scott Ananian Date: Sun Oct 15 03:03:29 2006 +0000 Update: CONDITION token became IF. src/net/cscott/sdr/calls/transform/Walker.g | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 1d55f4e4e384898036b23afc70b6083c5d67cf58 Author: C. Scott Ananian Date: Thu Oct 12 13:45:40 2006 +0000 Refactor 'build' methods out into AST classes, to facilitate reuse across transformations. src/net/cscott/sdr/calls/ast/Par.java | 20 ++++++++++++++- src/net/cscott/sdr/calls/ast/ParCall.java | 8 +++++- src/net/cscott/sdr/calls/ast/Seq.java | 23 ++++++++++++++--- src/net/cscott/sdr/calls/transform/RemoveIn.g | 34 ++++--------------------- 4 files changed, 51 insertions(+), 34 deletions(-) commit 19f52e059ad0ddc899fffed8887bcde0a3a41149 Author: C. Scott Ananian Date: Thu Oct 12 13:45:00 2006 +0000 Whoops: fix typo. src/net/cscott/sdr/calls/lists/BasicList.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit b833edea43da1a7356eb2e53c64529303ebe19b7 Author: C. Scott Ananian Date: Thu Oct 12 13:29:26 2006 +0000 Work on _fractional. Split IPART and PART for indivisible and divisible parts, respectively. resources/net/cscott/sdr/calls/lists/basic.calls | 10 ++--- src/net/cscott/sdr/calls/ast/Apply.java | 4 +- src/net/cscott/sdr/calls/ast/Part.java | 24 +++++++---- src/net/cscott/sdr/calls/lists/BasicList.java | 44 ++++++++++++++++---- src/net/cscott/sdr/calls/transform/CallFile.g | 5 ++- .../cscott/sdr/calls/transform/CallFileBuilder.g | 6 ++- src/net/cscott/sdr/calls/transform/RemoveIn.g | 6 +-- 7 files changed, 70 insertions(+), 29 deletions(-) commit db7b0fb87d57e46355f9aeddb46abaebfe987d54 Author: C. Scott Ananian Date: Thu Oct 12 13:28:43 2006 +0000 Add BadCallException. src/net/cscott/sdr/calls/BadCallException.java | 7 +++++++ 1 file changed, 7 insertions(+) commit efa54682279e3741e0566ff9c1227beb3b9e5243 Author: C. Scott Ananian Date: Thu Oct 12 13:28:24 2006 +0000 Restrict vocabulary. src/net/cscott/sdr/calls/transform/Walker.g | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 889e94aae9d07eb3577797e43792aa0e2753fd66 Author: C. Scott Ananian Date: Thu Oct 12 13:27:35 2006 +0000 Start a list of mainstream calls (starting with cast 3/4). src/net/cscott/sdr/calls/CallDB.java | 2 + src/net/cscott/sdr/calls/lists/MainstreamList.java | 45 ++++++++++++++++++++ 2 files changed, 47 insertions(+) commit d5b23d8bdde8ff2ca5f9f53b14d272961fb73b5f Author: C. Scott Ananian Date: Thu Oct 12 13:26:28 2006 +0000 More notes to self, and a to-do list. notes.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) commit ec4ae490049f6eaf95659cc20f76775b8eba2d25 Author: C. Scott Ananian Date: Wed Oct 11 19:15:25 2006 +0000 Add 'and' and 'or' short-circuit operators. src/net/cscott/sdr/calls/PredicateList.java | 45 ++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 8 deletions(-) commit c70e10213aa89eede8c2c7f5fa1f0c3213713945 Author: C. Scott Ananian Date: Wed Oct 11 19:07:41 2006 +0000 Start a list of useful predicates. src/net/cscott/sdr/calls/PredicateList.java | 46 +++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) commit 1e9011c2346f70bb823ccaf5e1ff75908dd6fa2a Author: C. Scott Ananian Date: Wed Oct 11 19:06:55 2006 +0000 Rename 'condition' field to 'predicate'. src/net/cscott/sdr/calls/Predicate.java | 17 +++++++++++++++-- src/net/cscott/sdr/calls/ast/Condition.java | 19 +++++++++++-------- 2 files changed, 26 insertions(+), 10 deletions(-) commit f9641a3dc48517fbc5b087dcf15afd43b42e55dc Author: C. Scott Ananian Date: Wed Oct 11 18:50:35 2006 +0000 Add Predicate class, which contains the executable information about a condition application. src/net/cscott/sdr/calls/DanceState.java | 7 +++-- src/net/cscott/sdr/calls/Predicate.java | 42 +++++++++++++++++++++++++++ src/net/cscott/sdr/calls/ast/Condition.java | 7 +++-- 3 files changed, 50 insertions(+), 6 deletions(-) commit 84884fd20a0f8329310c9a1a887c8919b77728bf Author: C. Scott Ananian Date: Wed Oct 11 18:50:03 2006 +0000 Update javadoc. src/net/cscott/sdr/calls/Call.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 25a676e4c6fc58a87909c3aae322a146d6b4c3d3 Author: C. Scott Ananian Date: Wed Oct 11 18:48:50 2006 +0000 Encapsulate the information about a dance which a Predicate might need to know. src/net/cscott/sdr/calls/DanceState.java | 11 +++++++++++ 1 file changed, 11 insertions(+) commit f0480036a27dd3b4fc3b7c1bf37ef9e3f2c0fadc Author: C. Scott Ananian Date: Wed Oct 11 18:46:56 2006 +0000 Rename Sample.java to Sample.txt so we don't keep trying to compile/javadoc it. src/net/cscott/sdr/calls/{Sample.java => Sample.txt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) commit 97de43ee7e55f1298e137a050d978616b53a1485 Author: C. Scott Ananian Date: Wed Oct 11 18:27:29 2006 +0000 Parse conditions (similar to calls, these are applications of condition "functions" to a list of arguments). resources/net/cscott/sdr/calls/lists/basic.calls | 1 + src/net/cscott/sdr/calls/ast/Condition.java | 53 ++++++++++++++++++++ src/net/cscott/sdr/calls/ast/If.java | 12 ++--- src/net/cscott/sdr/calls/transform/CallFile.g | 27 ++++------ .../cscott/sdr/calls/transform/CallFileBuilder.g | 24 ++++----- 5 files changed, 79 insertions(+), 38 deletions(-) commit 3059a519d6c5d7d935c8cd2bc473e2b98f8aab3b Author: C. Scott Ananian Date: Wed Oct 11 17:58:47 2006 +0000 Improve ant build script -- javadoc target links to more APIs, build target correctly invokes ANTLR. build.xml | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) commit 0a8d1921ff4b0508098c8662ed7531e5c3266d98 Author: C. Scott Ananian Date: Wed Oct 11 17:58:20 2006 +0000 Include more API doc locations. .classpath | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit b42e89175957fdc44c84fe10b2eb9ee204b4036a Author: C. Scott Ananian Date: Wed Oct 11 17:57:36 2006 +0000 Improve javadoc for Apply. src/net/cscott/sdr/calls/ast/Apply.java | 47 ++++++++++++++++++++++--------- 1 file changed, 34 insertions(+), 13 deletions(-) commit 18e77f2918483f8864e95ccf63e140cd07bf84f4 Author: C. Scott Ananian Date: Wed Oct 11 16:30:34 2006 +0000 Add some comments; use (.)* rule instead of call_args in lookahead so we don't actually have to traverse all the subtrees. src/net/cscott/sdr/calls/transform/CallFileBuilder.g | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit f8de6b9ee7221b8815586d706ff335d3614cf1e2 Author: C. Scott Ananian Date: Wed Oct 11 16:29:59 2006 +0000 Use AST vocabulary, not full parser vocabulary. src/net/cscott/sdr/calls/transform/BeatCounter.g | 8 ++++---- src/net/cscott/sdr/calls/transform/RemoveIn.g | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) commit 006fbe97c10817fdaa17b88b6da96ecd8616e57b Author: C. Scott Ananian Date: Wed Oct 11 16:29:07 2006 +0000 This stub code is no longer needed. src/net/cscott/sdr/calls/lists/CallList.java | 43 -------------------------- 1 file changed, 43 deletions(-) commit 5f0f4255b8d05ef21c354fab4790e5775c9fadd5 Author: C. Scott Ananian Date: Wed Oct 11 15:39:22 2006 +0000 Split off AST token vocabulary. src/net/cscott/sdr/calls/ast/If.java | 4 ++-- src/net/cscott/sdr/calls/ast/TokenTypes.java | 4 ++-- src/net/cscott/sdr/calls/ast/Warped.java | 4 ++-- .../cscott/sdr/calls/transform/AstTokenTypes.java | 24 ++++++++++++++++++++ .../cscott/sdr/calls/transform/AstTokenTypes.txt | 14 ++++++++++++ src/net/cscott/sdr/calls/transform/CallFile.g | 6 +---- 6 files changed, 45 insertions(+), 11 deletions(-) commit 75b32d23465d6b9d8b42d6da786c58544db5011c Author: C. Scott Ananian Date: Wed Oct 11 15:02:33 2006 +0000 Implement a method to give Program ordering. src/net/cscott/sdr/calls/Program.java | 11 +++++++++++ 1 file changed, 11 insertions(+) commit 45b03801469e4b80f7beb2331d80439fab16e009 Author: C. Scott Ananian Date: Wed Oct 11 14:48:55 2006 +0000 Make Program into an enumeration. src/net/cscott/sdr/calls/Call.java | 10 +++++----- src/net/cscott/sdr/calls/Program.java | 7 +++++++ src/net/cscott/sdr/calls/lists/BasicList.java | 5 +++-- src/net/cscott/sdr/calls/transform/CallFileBuilder.g | 7 +++---- 4 files changed, 18 insertions(+), 11 deletions(-) commit 718cd9a68545bced59d976aeb2f305bca56b6e52 Author: C. Scott Ananian Date: Wed Oct 11 14:42:14 2006 +0000 More notes on implementation. notes.txt | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) commit 6f3ed1a1ccd82417f988e605065d1306241e2283 Author: C. Scott Ananian Date: Wed Oct 11 05:28:02 2006 +0000 Add 'warped' tree node, to record results of formation match/concept modifiers (like 'left') in the call component tree. src/net/cscott/sdr/calls/ast/Warped.java | 25 +++++++++++++++++++++++++ src/net/cscott/sdr/calls/lists/BasicList.java | 17 ++++++++++++++++- src/net/cscott/sdr/calls/transform/CallFile.g | 2 +- 3 files changed, 42 insertions(+), 2 deletions(-) commit 254fbc64c65d9c60ea4018897cf493199fc05829 Author: C. Scott Ananian Date: Wed Oct 11 05:26:42 2006 +0000 Add pull by. resources/net/cscott/sdr/calls/lists/basic.calls | 4 ++++ 1 file changed, 4 insertions(+) commit c9093a34f368c06c18d573bbf869a64e7fd235d0 Author: C. Scott Ananian Date: Wed Oct 11 05:26:20 2006 +0000 Add 'primitive' dancer tags: these are the only tags allowed in a 'simplified' tree. src/net/cscott/sdr/calls/TaggedFormation.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit f5d0da8ea776d56334fed817540364fbdc6e93d6 Author: C. Scott Ananian Date: Wed Oct 11 04:29:06 2006 +0000 Added BasicList with non-simple basic calls -- for now just "square thru" and the "and" concept, to prove the idea. CallDB can now take a class name and add all the calls defined as static fields in that class. Test tries out "square thru 3 1/2". src/net/cscott/sdr/calls/CallDB.java | 18 ++++++ src/net/cscott/sdr/calls/Test.java | 8 ++- src/net/cscott/sdr/calls/lists/BasicList.java | 75 +++++++++++++++++++++++++ 3 files changed, 100 insertions(+), 1 deletion(-) commit d2b1e92575f05dfeecfda2181422de12789e9a10 Author: C. Scott Ananian Date: Wed Oct 11 04:27:34 2006 +0000 Make arg accessor functions public (no one's going to subclass Apply). src/net/cscott/sdr/calls/ast/Apply.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 4b8bae36a670ba972060c6ffac55027965596abc Author: C. Scott Ananian Date: Wed Oct 11 03:34:18 2006 +0000 Add central CallDB class, and split call file loading stuff into new CallFileLoader class. New 'Test' class to start doing integration testing of call evaluation. src/net/cscott/sdr/calls/CallDB.java | 34 +++++++++++++++++ src/net/cscott/sdr/calls/Test.java | 13 +++++++ src/net/cscott/sdr/calls/TestParser.java | 4 +- .../cscott/sdr/calls/transform/CallFileBuilder.g | 15 ++++---- .../cscott/sdr/calls/transform/CallFileLoader.java | 40 ++++++++++++++++++++ 5 files changed, 97 insertions(+), 9 deletions(-) commit 7762e0b31beb27f471f1e9b65fdf5cb6cdd3bd11 Author: C. Scott Ananian Date: Wed Oct 11 03:33:26 2006 +0000 Add toString(), equals(), hashCode() methods, and @Override annotations. src/net/cscott/sdr/calls/Call.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) commit cc666f9ce3441482265ceed005f60e536b931c09 Author: C. Scott Ananian Date: Wed Oct 11 01:44:23 2006 +0000 Add Call/Apply classes: Call encapsulates the definition of a call or a concept (name, program, and a method to apply arguments to get a component tree); and Apply structures the arguments to a Call. Tweak grammar to generate Apply nodes in the graph (remove old 'Sub' name). Special case two things: call sequences become applications of the 'and' concept, and 1/2(foo) becomes fractional(1/2, foo). src/net/cscott/sdr/calls/Call.java | 43 ++++++++++++++ src/net/cscott/sdr/calls/ast/Apply.java | 59 ++++++++++++++++++++ src/net/cscott/sdr/calls/ast/Sub.java | 30 ---------- src/net/cscott/sdr/calls/transform/CallFile.g | 36 +++++++++++- .../cscott/sdr/calls/transform/CallFileBuilder.g | 35 ++++++++---- 5 files changed, 158 insertions(+), 45 deletions(-) commit 560694f0d8bd4e5539c9cd48a0d044b89de9b7d0 Author: C. Scott Ananian Date: Tue Oct 10 20:40:26 2006 +0000 Add 'program' declaration to call file syntax. Also disable the default error handler, which lets us remove a lot of ugly stuff in the tree walker. resources/net/cscott/sdr/calls/lists/basic.calls | 2 + src/net/cscott/sdr/calls/transform/CallFile.g | 7 +++- .../cscott/sdr/calls/transform/CallFileBuilder.g | 39 ++++++++++++-------- 3 files changed, 32 insertions(+), 16 deletions(-) commit 84bbf29d6277b80bb90f40ebdddd34fc1d94d210 Author: C. Scott Ananian Date: Tue Oct 10 20:39:38 2006 +0000 Add Warp.compose(); add javadoc. src/net/cscott/sdr/calls/Warp.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) commit f3485d21cc4da22472b933951e166f333cd724d9 Author: C. Scott Ananian Date: Tue Oct 10 19:31:03 2006 +0000 Finished implementing Prim.warp(). Also implemented equals() and hashCode(), and enforced leaf constraint by overriding addChild and setFirstChild. src/net/cscott/sdr/calls/ast/Prim.java | 53 ++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 3 deletions(-) commit ce8e02b93be7dc115f6eaada972a132f41fbeb27 Author: C. Scott Ananian Date: Tue Oct 10 19:29:20 2006 +0000 Add @Override annotations. src/net/cscott/sdr/calls/Position.java | 5 ++++- src/net/cscott/sdr/calls/Rotation.java | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) commit 9e06003147c8a85a6db27b7971541b6fb9da89aa Author: C. Scott Ananian Date: Tue Oct 10 18:57:25 2006 +0000 Moved parser/lexers/tree walkers to net.cscott.sdr.calls.transform class, to keep the 'representation of calls and positions' code separate from the munging of the representation. Split off TestParser into a separate class, instead of including a main routine in CallFileParser() -- this also removes a circular dependency between CallFileParser and CallFileBuilder which prevented the project from being built cleanly from scratch. Renamed *.g files to more closely match the names of the generated java classes. Started a Prim.warp() method to apply Warps to movement primitives. Added BeatCounter/RemoveIn to re-time primitives in order to remove 'In' nodes from the Call representation. Works on low-level asts, with all the formation-selection and call-expansion already applied. Added basic Walker class to walk the AST: idea is that it should be easy to create derived AST walkers from this. .antlr-eclipse | 32 +++ src/net/cscott/sdr/calls/.cvsignore | 4 - src/net/cscott/sdr/calls/TestParser.java | 94 +++++++++ src/net/cscott/sdr/calls/apply.g | 87 -------- src/net/cscott/sdr/calls/ast/If.java | 5 +- src/net/cscott/sdr/calls/ast/In.java | 4 +- src/net/cscott/sdr/calls/ast/Opt.java | 4 +- src/net/cscott/sdr/calls/ast/OptCall.java | 4 +- src/net/cscott/sdr/calls/ast/Par.java | 4 +- src/net/cscott/sdr/calls/ast/ParCall.java | 4 +- src/net/cscott/sdr/calls/ast/Part.java | 4 +- src/net/cscott/sdr/calls/ast/Prim.java | 24 ++- src/net/cscott/sdr/calls/ast/Seq.java | 4 +- src/net/cscott/sdr/calls/ast/Sub.java | 4 +- src/net/cscott/sdr/calls/ast/TokenTypes.java | 7 + .../cscott/sdr/calls/{ => transform}/.cvsignore | 4 +- src/net/cscott/sdr/calls/transform/BeatCounter.g | 54 +++++ .../sdr/calls/{callfile.g => transform/CallFile.g} | 217 ++++++-------------- .../{callfileb.g => transform/CallFileBuilder.g} | 47 +++-- src/net/cscott/sdr/calls/transform/RemoveIn.g | 116 +++++++++++ src/net/cscott/sdr/calls/transform/Walker.g | 49 +++++ src/net/cscott/sdr/calls/transform/apply.g | 17 ++ 22 files changed, 501 insertions(+), 288 deletions(-) commit b46247de079e1f65c483ef62adf43a130b267179 Author: C. Scott Ananian Date: Tue Oct 10 18:48:43 2006 +0000 Add Rotation.subtract() method to go along with Rotation.add(). src/net/cscott/sdr/calls/Rotation.java | 4 ++++ 1 file changed, 4 insertions(+) commit d40d144cda2b04b6d4144daa1be6d7b4dc711ffe Author: C. Scott Ananian Date: Tue Oct 10 18:48:06 2006 +0000 Make new net.cscott.sdr.calls.lists package, and move the call list files in there. Eventually this will have concept definitions & etc. resources/net/cscott/sdr/calls/{ => lists}/basic.calls | 0 src/net/cscott/sdr/calls/{ => lists}/CallList.java | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) commit 9e6ad32076c25a8edbd1353d4f7b02e671d1133c Author: C. Scott Ananian Date: Tue Oct 10 18:03:36 2006 +0000 Broaden type on constructor. src/net/cscott/sdr/calls/ast/ParCall.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 988531563376f4a12f252de086ac306864c42aa9 Author: C. Scott Ananian Date: Tue Oct 10 18:03:15 2006 +0000 Add a method to scale the duration of a Prim. src/net/cscott/sdr/calls/ast/Prim.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit 040f3c7d2f354484c2bea952168128ada1d2e9b6 Author: C. Scott Ananian Date: Tue Oct 10 15:38:39 2006 +0000 Parse the tags given to ParCall. src/net/cscott/sdr/calls/ast/ParCall.java | 31 +++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) commit a33d7981a8a572755d7cd045e7b76dc21aff2816 Author: C. Scott Ananian Date: Tue Oct 10 04:51:42 2006 +0000 Enough formations and selectors to match our initial set of calls. (We commented out 'trade down the line' because matching a GENERAL LINE is a little beyond us at the moment.) resources/net/cscott/sdr/calls/basic.calls | 10 ++++++++-- src/net/cscott/sdr/calls/FormationList.java | 17 +++++++++++++++++ src/net/cscott/sdr/calls/SelectorList.java | 15 ++++++++++++++- 3 files changed, 39 insertions(+), 3 deletions(-) commit b2c899413c52a89d70b605202b9dd32380495572 Author: C. Scott Ananian Date: Tue Oct 10 04:34:42 2006 +0000 First working version of GeneralFormationMatcher; add a self-test in SelectorList, along with a use of the GeneralFormationMatcher to create a COUPLE selector. Matched formations include a Warp for each matched formation, so that matching twin diamonds (say) yields two diamonds in canonical position (that is, centered at 0,0) along with Warp objects to move the canonical diamonds to their location in the setup. src/net/cscott/sdr/calls/FormationMatch.java | 19 ++++--- .../cscott/sdr/calls/GeneralFormationMatcher.java | 52 +++++++++++--------- src/net/cscott/sdr/calls/SelectorList.java | 16 ++++++ 3 files changed, 58 insertions(+), 29 deletions(-) commit 2b06216c7b7a6eae416e022acd5928d04cdc95e3 Author: C. Scott Ananian Date: Tue Oct 10 04:32:42 2006 +0000 Add a simple Warp factory to rotate and translate a formation. src/net/cscott/sdr/calls/Warp.java | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) commit ddb46da5febf613f45156c080a0f10b72403190f Author: C. Scott Ananian Date: Tue Oct 10 04:32:04 2006 +0000 Add constructors to allow you to create a new Formation from an existing (goal) formation and a map from Dancer to Dancer. src/net/cscott/sdr/calls/Formation.java | 11 +++++++++++ src/net/cscott/sdr/calls/TaggedFormation.java | 8 ++++++++ 2 files changed, 19 insertions(+) commit 1c1252ad946df744d92bd3b5484d2f5d4a5117a8 Author: C. Scott Ananian Date: Tue Oct 10 04:31:09 2006 +0000 Make Rotation.add() and Rotation.negate() public. src/net/cscott/sdr/calls/Rotation.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 9da406059f2a2286e20a2649f2e9015aba7c13f9 Author: C. Scott Ananian Date: Tue Oct 10 04:30:31 2006 +0000 Comment out most of the formations, since we haven't really figured out 'general' formations yet. Add the basic 2-person formation: COUPLE. src/net/cscott/sdr/calls/FormationList.java | 7 +++++++ 1 file changed, 7 insertions(+) commit eed01d7f1a8c941ceee987b9d171372c69cc99d7 Author: C. Scott Ananian Date: Tue Oct 10 04:29:21 2006 +0000 Move 'TWO SELECTED' from 'from' clause to a 'condition' clause. resources/net/cscott/sdr/calls/basic.calls | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 48382bbdf2c3766601c33bc8cf85a862ecdf09c9 Author: C. Scott Ananian Date: Tue Oct 10 01:12:20 2006 +0000 Start work on a general formation matcher that will attempt to find maximal tilings of a given target formation against the input. .../cscott/sdr/calls/GeneralFormationMatcher.java | 197 ++++++++++++++++++++ 1 file changed, 197 insertions(+) commit 56a670bdce40aca1db039d604343fd3c238ff1b9 Author: C. Scott Ananian Date: Tue Oct 10 01:11:41 2006 +0000 Optimize hashCode(); add normalize() call to normalize the Rotation. src/net/cscott/sdr/calls/Position.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) commit 826159c23bf45c751043f9f05510e2ac71c3c0bb Author: C. Scott Ananian Date: Tue Oct 10 01:11:03 2006 +0000 Add javadoc for apache commons lang; also resurrect SelectorList. .classpath | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 24f90578cf34f4aefa11b1d39f0e30cf2c4a8cb7 Author: C. Scott Ananian Date: Mon Oct 9 21:41:49 2006 +0000 Actually attempt to parse the given formations. src/net/cscott/sdr/calls/ast/OptCall.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) commit f2dfc27abd3de61176fe6b5ce9ea8703d0f10792 Author: C. Scott Ananian Date: Mon Oct 9 21:41:21 2006 +0000 Split Formation into Formation and TaggedFormation. Add Selector interface and SelectorList -- these select create a FormationMatch from a Formation. Create NoMatchException and Warp classes, which are also involved in this process. src/net/cscott/sdr/calls/Formation.java | 67 ++++++++------------ src/net/cscott/sdr/calls/FormationList.java | 23 +++---- src/net/cscott/sdr/calls/FormationMatch.java | 26 ++++++++ src/net/cscott/sdr/calls/NoMatchException.java | 12 ++++ src/net/cscott/sdr/calls/Selector.java | 18 +++++- src/net/cscott/sdr/calls/SelectorList.java | 9 ++- src/net/cscott/sdr/calls/TaggedFormation.java | 80 ++++++++++++++++++++++++ src/net/cscott/sdr/calls/Warp.java | 37 +++++++++++ 8 files changed, 213 insertions(+), 59 deletions(-) commit 598a7b337d214656ad589b7b90e07a7600c0148c Author: C. Scott Ananian Date: Mon Oct 9 21:40:28 2006 +0000 Update to match the new name of the CallFileBuilder. src/net/cscott/sdr/calls/callfile.g | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) commit ffd2ca04c2ced9a5bf23a29003aa6fbbf6dcd91b Author: C. Scott Ananian Date: Mon Oct 9 19:57:08 2006 +0000 Add a 'real' AST class for call definitions, and a TreeWalker to build it. src/net/cscott/sdr/calls/.cvsignore | 1 + src/net/cscott/sdr/calls/ast/Comp.java | 18 +++++ src/net/cscott/sdr/calls/ast/If.java | 20 +++++ src/net/cscott/sdr/calls/ast/In.java | 24 ++++++ src/net/cscott/sdr/calls/ast/Opt.java | 20 +++++ src/net/cscott/sdr/calls/ast/OptCall.java | 21 ++++++ src/net/cscott/sdr/calls/ast/Par.java | 20 +++++ src/net/cscott/sdr/calls/ast/ParCall.java | 21 ++++++ src/net/cscott/sdr/calls/ast/Part.java | 20 +++++ src/net/cscott/sdr/calls/ast/Prim.java | 26 +++++++ src/net/cscott/sdr/calls/ast/Seq.java | 17 +++++ src/net/cscott/sdr/calls/ast/SeqCall.java | 15 ++++ src/net/cscott/sdr/calls/ast/Sub.java | 30 ++++++++ src/net/cscott/sdr/calls/callfileb.g | 117 +++++++++++++++++++++++++++++ 14 files changed, 370 insertions(+) commit 196069463f338a983fb044b5f6356c83b2a625cd Author: C. Scott Ananian Date: Mon Oct 9 19:51:55 2006 +0000 Rename the call file grammar: we will eventually have separate grammars for "calls as spoken by humans" and an unambiguous version of the same with explicit grouping. The call file grammar is for call *definitions*, not the calls themselves. src/net/cscott/sdr/calls/{calls.g => callfile.g} | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) commit c4776ef2ba678032a4e1a9e64e2057c2c7548da1 Author: C. Scott Ananian Date: Mon Oct 9 19:50:11 2006 +0000 There are two ways to view a rotation: as an absolute orientation (north, east, south, west) or as a relative rotation (face right, left, etc). Split the valueOf() and toString() operators to reflect these different views. src/net/cscott/sdr/calls/FormationList.java | 2 +- src/net/cscott/sdr/calls/Position.java | 2 +- src/net/cscott/sdr/calls/Rotation.java | 43 +++++++++++++++++++++++---- 3 files changed, 40 insertions(+), 7 deletions(-) commit 0723c3c9f4a654f6481cecc30a46cc31e84d03fd Author: C. Scott Ananian Date: Mon Oct 9 19:48:24 2006 +0000 Fix bug in Fraction/LongFraction that caused '-1' to print out as '-1/1'. src/net/cscott/sdr/util/Fraction.java | 4 ++-- src/net/cscott/sdr/util/LongFraction.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) commit f659a0fa9f4910d8bd3e185a8a1f0cc51fdbdc4a Author: C. Scott Ananian Date: Mon Oct 9 19:46:30 2006 +0000 Point eclipse at the Antlr javadoc. .classpath | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit f1de69b75ed25394e0e58eefe70bd72a223bd067 Author: C. Scott Ananian Date: Mon Oct 9 11:38:02 2006 +0000 Notes about IN and call application. notes.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit 6e71f044fd4ff7df7b7571069b3a0c4c0ec57240 Author: C. Scott Ananian Date: Mon Oct 9 11:32:39 2006 +0000 Rough out a class to bundle up DancerActions. src/net/cscott/sdr/calls/DancerActions.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) commit 6c5debd01b4e7d670a761c06ed57142440cff6e7 Author: C. Scott Ananian Date: Mon Oct 9 11:32:19 2006 +0000 Add accessor methods for dancer tag information. src/net/cscott/sdr/calls/Formation.java | 10 ++++++++++ 1 file changed, 10 insertions(+) commit 489fa188980efaee2d7079a9d1df75a52c2d5a91 Author: C. Scott Ananian Date: Mon Oct 9 11:31:51 2006 +0000 Start a tree-walker class to perform a call based on its definition. src/net/cscott/sdr/calls/.cvsignore | 5 +- src/net/cscott/sdr/calls/apply.g | 87 +++++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+), 2 deletions(-) commit 6cc7406eed75cbb85facebccdda31fbb8b3651c9 Author: C. Scott Ananian Date: Mon Oct 9 11:29:59 2006 +0000 Parse numbers better. Add GUI to view parse AST results. src/net/cscott/sdr/calls/calls.g | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) commit 840ed23a521af767fc5b9bfa47e32b5239f1f241 Author: C. Scott Ananian Date: Mon Oct 9 03:01:45 2006 +0000 Add a 'sashay step' function to Position mutators. src/net/cscott/sdr/calls/Position.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit 1e57ab1ff267b34bdb25b2b2e3cdfadc9c9c47a5 Author: C. Scott Ananian Date: Mon Oct 9 02:53:38 2006 +0000 Add dancer tags (BELLE,BEAU,LEADER,FOLLOWER) to Formation. src/net/cscott/sdr/calls/Formation.java | 6 +- src/net/cscott/sdr/calls/FormationList.java | 128 +++++++++++++++------------ 2 files changed, 74 insertions(+), 60 deletions(-) commit 93000cfd3a1bf7aa877c61956d9687525dc934bb Author: C. Scott Ananian Date: Sun Oct 8 20:22:56 2006 +0000 Formations also have dancer tags, such as BELLE, BEAU, LEADER, TRAILER, etc. src/net/cscott/sdr/calls/Formation.java | 60 +++++++++++++++++++++++-------- 1 file changed, 46 insertions(+), 14 deletions(-) commit 019883768bf1a13dc460bb97f7368018e2ba4b0c Author: C. Scott Ananian Date: Sun Oct 8 20:22:19 2006 +0000 Update the description of the 'run' target. build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 33dbe4f77330a801fe7aefd5880faf5c50668b4c Author: C. Scott Ananian Date: Sun Oct 8 20:22:06 2006 +0000 Add antlr and jutil libraries to project. .classpath | 5 +++++ lib/antlr.jar | Bin 0 -> 450386 bytes lib/jutil.jar | Bin 0 -> 270022 bytes 3 files changed, 5 insertions(+) commit e2aed5b2b463fa827456241c584abad1efcadf52 Author: C. Scott Ananian Date: Sun Oct 8 19:19:15 2006 +0000 Generate reasonable AST trees from the call file grammar. src/net/cscott/sdr/calls/calls.g | 51 +++++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 15 deletions(-) commit 4ffcc4aa998f1c9faba6eb366cb3ecb6973f4373 Author: C. Scott Ananian Date: Sun Oct 8 17:52:32 2006 +0000 Implement token filter, fix typo in call list; basic parser is working now. resources/net/cscott/sdr/calls/basic.calls | 2 +- src/net/cscott/sdr/calls/calls.g | 97 ++++++++++++++++++++++++---- 2 files changed, 84 insertions(+), 15 deletions(-) commit b37d7fc88ced0ba6ef5792fbf1dc6a8ce59ec7fc Author: C. Scott Ananian Date: Sun Oct 8 13:05:27 2006 +0000 Working lexer. Still need a token filter to turn the INITIAL_WS tokens into INDENT/DEDENT tokens. src/net/cscott/sdr/calls/calls.g | 148 ++++++++++++++++++++------------------ 1 file changed, 79 insertions(+), 69 deletions(-) commit 9523607640df8e7bff961618599c805e0c840632 Author: C. Scott Ananian Date: Sun Oct 8 01:53:25 2006 +0000 Add some more experiments; comment the whole mess out so Eclipse is not unhappy. src/net/cscott/sdr/calls/CallList.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) commit 55e8c16642952a93f5c070f222678a9065cd3bd5 Author: C. Scott Ananian Date: Sun Oct 8 01:52:00 2006 +0000 Quiet Eclipse import warning. src/net/cscott/sdr/anim/SdrGame.java | 1 - 1 file changed, 1 deletion(-) commit c853ac1d833c65ace240d189fce032f327068069 Author: C. Scott Ananian Date: Sun Oct 8 01:40:00 2006 +0000 Add some more notes. notes.txt | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) commit 7914cdbc19580e7b37fff62f12c65753c6c89d6d Author: C. Scott Ananian Date: Sun Oct 8 01:39:42 2006 +0000 Start the call list parser. (The lexer is still bogus, but the parser is pretty much there.) .antlr-eclipse | 6 + .classpath | 3 +- .project | 16 +++ src/net/cscott/sdr/calls/.cvsignore | 5 + src/net/cscott/sdr/calls/calls.g | 247 +++++++++++++++++++++++++++++++++++ 5 files changed, 276 insertions(+), 1 deletion(-) commit de6fde5bd4579e194f6e57e2d537e00fd0006a61 Author: C. Scott Ananian Date: Sun Oct 8 01:38:54 2006 +0000 Add the beginnings of a call list. resources/net/cscott/sdr/calls/basic.calls | 148 ++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) commit 33f294563966fa7ed6b08ad2e4f760badb7a797b Author: C. Scott Ananian Date: Fri Oct 6 21:29:08 2006 +0000 Implement better camera tracking: use acceleration profile to smoothly move from the point last commanded by the user to the camera target. Use SdrGame's timer class so that the slew rate is not tempo or frame-rate dependent. src/net/cscott/sdr/anim/SdrBaseGame.java | 12 ++- src/net/cscott/sdr/anim/SdrFirstPersonHandler.java | 110 ++++++++++++++++++++ src/net/cscott/sdr/anim/SdrGame.java | 56 +++++----- 3 files changed, 150 insertions(+), 28 deletions(-) commit 200aea5b335d9c3d71182d65095fe4e1e7876bcd Author: C. Scott Ananian Date: Fri Oct 6 21:27:04 2006 +0000 Add javadoc locations for most of the libraries. Remove unneeded test libraries from the build path and that jme update script. .classpath | 15 ++++++++++----- lib/jme/update.sh | 1 + 2 files changed, 11 insertions(+), 5 deletions(-) commit 50d465852d9da197f88708a3d8b22a936d3b73a9 Author: C. Scott Ananian Date: Fri Oct 6 21:25:54 2006 +0000 Allow Eclipse to clean up imports. src/net/cscott/sdr/calls/Formation.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) commit b57366372bdea5cbccafcb5e077b64553f67ec69 Author: C. Scott Ananian Date: Fri Oct 6 19:21:31 2006 +0000 Remove unused 'test' libraries. lib/jme/jmetest-data.jar | Bin 9396929 -> 0 bytes lib/jme/jmetest.jar | Bin 553220 -> 0 bytes lib/jme/lwjgl_test.jar | Bin 177279 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) commit f1309032514000dea11e859323afaef8ef96411a Author: C. Scott Ananian Date: Fri Oct 6 19:05:12 2006 +0000 Reformat with 4-space indents; tell eclipse that tabs are 8 spaces and not to use them. .settings/org.eclipse.jdt.core.prefs | 2 +- .settings/org.eclipse.jdt.ui.prefs | 4 +- src/net/cscott/sdr/anim/SdrBaseGame.java | 150 ++++++------- src/net/cscott/sdr/anim/SdrGame.java | 340 +++++++++++++++--------------- 4 files changed, 251 insertions(+), 245 deletions(-) commit 6a1595ca65c2730b7c965e710760057c8635ae80 Author: C. Scott Ananian Date: Fri Oct 6 18:14:56 2006 +0000 Split off a net.cscott.sdr.App class, which will contain the 'real' startup code for the game. Move some initialization stuff from SdrGame.main() into the SdrGame constructor. sdr.Manifest | 4 +--- src/net/cscott/sdr/App.java | 26 ++++++++++++++++++++++++++ src/net/cscott/sdr/anim/SdrGame.java | 12 +++++++----- 3 files changed, 34 insertions(+), 8 deletions(-) commit 4a54ea6a83072c998d8b00add7d8eab7865b0963 Author: C. Scott Ananian Date: Fri Oct 6 18:13:57 2006 +0000 Add a serialization version ID, which Eclipse warns we are missing. src/net/cscott/sdr/util/LongFraction.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit ac46c21d2a7ea5fb659dde60ca5dac541b99c592 Author: C. Scott Ananian Date: Fri Oct 6 18:13:33 2006 +0000 Fix Eclipse errors/warning in source files. Also rename the dancers to COUPLE_1_BOY/GIRL instead of BEAU/BELLE. src/net/cscott/sdr/calls/Formation.java | 16 ++++++++-------- src/net/cscott/sdr/calls/FormationList.java | 2 ++ src/net/cscott/sdr/calls/Sample.java | 5 +++++ src/net/cscott/sdr/calls/Selector.java | 6 ++++-- src/net/cscott/sdr/calls/StandardDancer.java | 4 ++-- 5 files changed, 21 insertions(+), 12 deletions(-) commit 68049a8209704b22daeef546d7416caf68f1382d Author: C. Scott Ananian Date: Fri Oct 6 18:11:24 2006 +0000 Make ant and eclipse agree about the location of built classes: in bin/. Also teach eclipse about resource files: it will copy these to bin now, I believe. .classpath | 4 ++-- .cvsignore | 2 +- build.xml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) commit ce104838773543309ebe861da826a2ab6304a308 Author: C. Scott Ananian Date: Fri Oct 6 18:10:14 2006 +0000 Add 'centers/ends' selectors to voice recognition grammar. resources/net/cscott/sdr/recog/sdr.gram | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) commit 03dc6a8afa61e44f02131bd8e13488b691aae4c4 Author: C. Scott Ananian Date: Fri Oct 6 15:58:33 2006 +0000 Add Apache Commons 'lang' library to lib/ and classpath; this is used by some of the stuff in net.cscott.sdr.calls. .classpath | 3 ++- build.xml | 1 + lib/commons-lang.jar | Bin 0 -> 174738 bytes 3 files changed, 3 insertions(+), 1 deletion(-) commit a30e41387f36a43839ad7a966a2a221100ce0d9e Author: C. Scott Ananian Date: Fri Oct 6 01:59:05 2006 +0000 Add a method to get time in beats. src/net/cscott/sdr/sound/MidiTimer.java | 4 ++++ 1 file changed, 4 insertions(+) commit 8d0b9c7b865ecfad3470fc880eed3086b882f57b Author: C. Scott Ananian Date: Fri Oct 6 01:58:44 2006 +0000 Rename SdrGame to SdrBaseGame; copy JmeDemo to SdrGame -- this is now the 'real' main class. src/net/cscott/sdr/anim/JmeDemo.java | 8 +- .../sdr/anim/{SdrGame.java => SdrBaseGame.java} | 8 +- src/net/cscott/sdr/anim/SdrGame.java | 451 ++++++++------------ 3 files changed, 190 insertions(+), 277 deletions(-) commit c28adfcc97baa802e49f91f7b2b9039ec34498c6 Author: C. Scott Ananian Date: Fri Oct 6 01:57:34 2006 +0000 Add a LongFraction class, similar to Fraction but using 'long' for the numerator and denominator. src/net/cscott/sdr/util/LongFraction.java | 1207 +++++++++++++++++++++++++++++ 1 file changed, 1207 insertions(+) commit fe0bb08deca8f89658eee9c6621f82661de343b5 Author: C. Scott Ananian Date: Thu Oct 5 22:21:14 2006 +0000 More notes. notes.txt | 8 ++++++++ 1 file changed, 8 insertions(+) commit 3eae6a00096962803d8a966ee0fa81394f90f9c1 Author: C. Scott Ananian Date: Thu Oct 5 21:04:29 2006 +0000 Find & fix an extremely annoying bug which caused the boy checkers (but only the boy checkers) to render all wrong. =( It turns out that Camera.setFrame was not copying its input parameters, and as a result I was horking the system UNIT_Y vector. Sigh. src/net/cscott/sdr/anim/JmeDemo.java | 5 +++-- src/net/cscott/sdr/anim/SdrGame.java | 35 ++++++++++++++++++++++++---------- 2 files changed, 28 insertions(+), 12 deletions(-) commit e7cecd2fc089c3370c0475a965564389b1b170a8 Author: C. Scott Ananian Date: Thu Oct 5 20:56:11 2006 +0000 Add Eclipse magic. .classpath | 35 ++++++++++++++++++++++++++++++++++ .project | 17 +++++++++++++++++ .settings/org.eclipse.jdt.core.prefs | 8 ++++++++ .settings/org.eclipse.jdt.ui.prefs | 3 +++ 4 files changed, 63 insertions(+) commit 99ea32329a5d52e19cad2b0581373aee197f5dee Author: C. Scott Ananian Date: Thu Oct 5 20:55:26 2006 +0000 Fix Eclipse warnings. src/net/cscott/sdr/sound/MidiDemo.java | 19 +++++++------------ src/net/cscott/sdr/sound/MidiTimer.java | 2 +- src/net/cscott/sdr/util/Fraction.java | 7 ++++--- 3 files changed, 12 insertions(+), 16 deletions(-) commit bcdd6bd84e42238ca0558e7d47ccfb10a8a9b83a Author: C. Scott Ananian Date: Thu Oct 5 19:05:58 2006 +0000 Check in our own 'SimpleGame' class that inherits from FixedFramerateGame. sdr.Manifest | 4 +- src/net/cscott/sdr/anim/JmeDemo.java | 12 +- src/net/cscott/sdr/anim/SdrGame.java | 272 ++++++++++++++++++++++++++++++++++ 3 files changed, 280 insertions(+), 8 deletions(-) commit c90d1b1849d2be788bc6db2009367ea1de31db54 Author: C. Scott Ananian Date: Thu Oct 5 18:39:05 2006 +0000 Notes about MIDI sequencing. notes.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) commit 19b9307e4bc07c20247f466f9a60e222ea4cc1fb Author: C. Scott Ananian Date: Thu Oct 5 17:30:26 2006 +0000 Add a bunch of new notes. notes.txt | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) commit 035de453197e13656e974556cd36067e879c5989 Author: C. Scott Ananian Date: Thu Oct 5 13:25:36 2006 +0000 Miscellaneous notes. notes.txt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) commit 2fdc43e0ac21c9173dd32a45c542b6237865b18c Author: C. Scott Ananian Date: Thu Oct 5 08:12:58 2006 +0000 Make MidiTimer thread-safe. src/net/cscott/sdr/sound/MidiTimer.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit dde5f13f36ec93b77d6b0c258cb1bb541ac3fe80 Author: C. Scott Ananian Date: Thu Oct 5 08:10:37 2006 +0000 Move graphic resources from net.cscott.sdr to net.cscott.sdr.anim. resources/net/cscott/sdr/{ => anim}/1.png | Bin 294 -> 294 bytes resources/net/cscott/sdr/{ => anim}/2.png | Bin 552 -> 552 bytes resources/net/cscott/sdr/{ => anim}/3.png | Bin 658 -> 658 bytes resources/net/cscott/sdr/{ => anim}/4.png | Bin 472 -> 472 bytes resources/net/cscott/sdr/{ => anim}/arrow.png | Bin 2466 -> 2466 bytes resources/net/cscott/sdr/{ => anim}/floor.png | Bin 19909 -> 19909 bytes resources/net/cscott/sdr/{ => anim}/splash.png | Bin 118585 -> 118585 bytes src/net/cscott/sdr/anim/JmeDemo.java | 8 ++++---- 8 files changed, 4 insertions(+), 4 deletions(-) commit 5cf8cbee620ff560c34ade32ea75f0246a51ad7f Author: C. Scott Ananian Date: Thu Oct 5 08:06:45 2006 +0000 Workaround Sun's off-by-one bug which dropped the note-off message in the final tick of the song when looping. Restore original version of saturday-night, as shortening the duration of the final notes doesn't help: it just makes the song a 32nd-note shorter, but the off-by-one bug remains. resources/net/cscott/sdr/sound/saturday-night.midi | Bin 16530 -> 16530 bytes src/net/cscott/sdr/sound/MidiDemo.java | 18 ++++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) commit bef3ab7910b9583f805731376dbb99edf6c7dcec Author: C. Scott Ananian Date: Thu Oct 5 07:30:10 2006 +0000 Move resources from net/cscott/sdr/audio to net/cscott/sdr/sound. Add MidiTimer class, which implements jME's Timer class using timing information from the MIDI Sequencer. Tweak MidiDemo to demonstrate the MidiTimer. Run MidiDemo for 'ant run'. .../cscott/sdr/{audio => sound}/miss-sawyer.midi | Bin 27651 -> 27651 bytes .../sdr/{audio => sound}/saturday-night.midi | Bin 16530 -> 16530 bytes .../sdr/{audio => sound}/soundbank-deluxe.gm | Bin 5137580 -> 5137580 bytes sdr.Manifest | 5 +- src/net/cscott/sdr/sound/MidiDemo.java | 13 +++- src/net/cscott/sdr/sound/MidiTimer.java | 64 ++++++++++++++++++++ 6 files changed, 78 insertions(+), 4 deletions(-) commit 2776495c87f5a9e62468fd7b5cd4829fd2b28471 Author: C. Scott Ananian Date: Thu Oct 5 06:30:40 2006 +0000 Put midi file in resources, along with "high quality" sound bank. resources/net/cscott/sdr/audio/miss-sawyer.midi | Bin 0 -> 27651 bytes resources/net/cscott/sdr/audio/saturday-night.midi | Bin 0 -> 16530 bytes resources/net/cscott/sdr/audio/soundbank-deluxe.gm | Bin 0 -> 5137580 bytes src/net/cscott/sdr/sound/MidiDemo.java | 51 +++++++++----------- 4 files changed, 23 insertions(+), 28 deletions(-) commit 1a2454f753ade39499e8f3600aabea46efd14bf6 Author: C. Scott Ananian Date: Thu Oct 5 05:59:14 2006 +0000 Add a simple example of playing a MIDI file with Java. src/net/cscott/sdr/sound/MidiDemo.java | 222 ++++++++++++++++++++++++++++++++ 1 file changed, 222 insertions(+) commit 6e3c4a6f195bb71074bf5fb8a6665b0209b51411 Author: C. Scott Ananian Date: Thu Oct 5 04:51:06 2006 +0000 Allow camera selection. src/net/cscott/sdr/anim/JmeDemo.java | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) commit c35651ccee2730bf64de996a9dc1ded15f98274f Author: C. Scott Ananian Date: Thu Oct 5 04:44:12 2006 +0000 Drift camera back to target position/direction when moved. src/net/cscott/sdr/anim/JmeDemo.java | 40 ++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 11 deletions(-) commit 4e0e026aa1f5d59175296a4e084f6b6177e7b3de Author: C. Scott Ananian Date: Wed Oct 4 22:36:11 2006 +0000 Complete checkers scene, with colors, arrows, and labels. resources/net/cscott/sdr/1.png | Bin 0 -> 294 bytes resources/net/cscott/sdr/1boy.png | Bin 2239 -> 0 bytes resources/net/cscott/sdr/1girl.png | Bin 7666 -> 0 bytes resources/net/cscott/sdr/2.png | Bin 0 -> 552 bytes resources/net/cscott/sdr/3.png | Bin 0 -> 658 bytes resources/net/cscott/sdr/4.png | Bin 0 -> 472 bytes resources/net/cscott/sdr/arrow.png | Bin 0 -> 2466 bytes src/net/cscott/sdr/anim/JmeDemo.java | 157 ++++++++++++++++++++++------------ 8 files changed, 100 insertions(+), 57 deletions(-) commit ba345deaf64f9f46907cd009b4e888936fb3fee1 Author: C. Scott Ananian Date: Wed Oct 4 20:33:43 2006 +0000 First attempts at making checkers. resources/net/cscott/sdr/1boy.png | Bin 0 -> 2239 bytes resources/net/cscott/sdr/1girl.png | Bin 0 -> 7666 bytes resources/net/cscott/sdr/floor.png | Bin 0 -> 19909 bytes src/net/cscott/sdr/anim/JmeDemo.java | 61 ++++++++++++++++++++++++++++++++-- 4 files changed, 59 insertions(+), 2 deletions(-) commit bff6c2206b037bfb49442e238533fea866cd7d24 Author: C. Scott Ananian Date: Wed Oct 4 19:15:23 2006 +0000 Added simple jME demo. images/checkers.svg | 27 +- images/splash.svg | 470 ++++++++++++++++++++++++++++++++++ resources/net/cscott/sdr/splash.png | Bin 0 -> 118585 bytes sdr.Manifest | 3 +- src/net/cscott/sdr/anim/JmeDemo.java | 70 +++++ 5 files changed, 561 insertions(+), 9 deletions(-) commit dbd6519f18f60bf7ae2464b5d250bbdef203e0a9 Author: C. Scott Ananian Date: Wed Oct 4 17:16:25 2006 +0000 A few more directories to ignore. .cvsignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit a818c4ec6b5efcc001d4df701579396db618ead0 Author: C. Scott Ananian Date: Wed Oct 4 17:12:47 2006 +0000 Split lib directory into lib/sphinx and lib/jme, since jme is very untidy. build.xml | 4 +++- lib/jme/OpenAL32.dll | Bin 0 -> 81920 bytes lib/jme/jinput-dx8.dll | Bin 0 -> 22016 bytes lib/jme/jinput-dxplugin.dll | Bin 0 -> 65345 bytes lib/jme/jinput-raw.dll | Bin 0 -> 36319 bytes lib/jme/jinput.jar | Bin 0 -> 199222 bytes lib/jme/jme-awt.jar | Bin 0 -> 140772 bytes lib/jme/jme-editors.jar | Bin 0 -> 178943 bytes lib/jme/jme-effects.jar | Bin 0 -> 1899513 bytes lib/jme/jme-font.jar | Bin 0 -> 73326 bytes lib/jme/jme-gamestates.jar | Bin 0 -> 30002 bytes lib/jme/jme-model.jar | Bin 0 -> 6357599 bytes lib/jme/jme-scene.jar | Bin 0 -> 1382 bytes lib/jme/jme-sound.jar | Bin 0 -> 86398 bytes lib/jme/jme-terrain.jar | Bin 0 -> 53874 bytes lib/jme/jme.jar | Bin 0 -> 1429433 bytes .../jmetest-data.jar} | Bin 11151287 -> 9396929 bytes lib/jme/jmetest.jar | Bin 0 -> 553220 bytes lib/jme/jogg-0.0.5.jar | Bin 0 -> 6589 bytes lib/jme/jorbis-0.0.12.jar | Bin 0 -> 59543 bytes lib/jme/libjinput-linux.so | Bin 0 -> 10008 bytes lib/jme/libjinput-osx.jnilib | Bin 0 -> 49016 bytes lib/jme/libjinput.jnilib | Bin 0 -> 20840 bytes lib/jme/liblwjgl-fmod3.jnilib | Bin 0 -> 552440 bytes lib/jme/liblwjgl-fmod3.so | Bin 0 -> 92808 bytes lib/jme/liblwjgl.jnilib | Bin 0 -> 363076 bytes lib/jme/liblwjgl.so | Bin 0 -> 231692 bytes lib/jme/liblwjgl64.so | Bin 0 -> 243064 bytes lib/jme/libopenal.so | Bin 0 -> 286192 bytes lib/jme/lwjgl-fmod3.dll | Bin 0 -> 143360 bytes lib/jme/lwjgl.dll | Bin 0 -> 122368 bytes lib/jme/lwjgl.jar | Bin 0 -> 438034 bytes lib/jme/lwjgl_applet.jar | Bin 0 -> 13112 bytes lib/jme/lwjgl_fmod3.jar | Bin 0 -> 32894 bytes lib/jme/lwjgl_test.jar | Bin 0 -> 177279 bytes lib/jme/lwjgl_util.jar | Bin 0 -> 108864 bytes lib/jme/lwjgl_util_applet.jar | Bin 0 -> 10293 bytes lib/jme/mvn-lib-install | 9 +++++++++ lib/jme/native-mac.jar | Bin 0 -> 502537 bytes lib/jme/openal.dylib | Bin 0 -> 256696 bytes lib/jme/update.sh | 4 ++++ lib/{ => sphinx}/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar | Bin 11151287 -> 11151287 bytes lib/{ => sphinx}/jsapi.jar | Bin 51811 -> 51811 bytes lib/{ => sphinx}/sphinx4.jar | Bin 789838 -> 789838 bytes lib/sphinx/update.sh | 5 +++++ sdr.Manifest | 2 +- 46 files changed, 22 insertions(+), 2 deletions(-) commit 34a9597ddcf65875a8cc6e1cf0caeb9a1ce07b08 Author: C. Scott Ananian Date: Wed Oct 4 17:10:26 2006 +0000 Add a simple diagram for checkers. images/checkers.svg | 576 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 576 insertions(+) commit e51cbec76d841805050240d44c57c879c1397081 Author: C. Scott Ananian Date: Mon Oct 2 02:38:15 2006 +0000 Imported half-done source files from Asdic project. Not being compiled at the moment. src/net/cscott/sdr/calls/CallList.java | 29 +++ src/net/cscott/sdr/calls/Dancer.java | 11 + src/net/cscott/sdr/calls/Formation.java | 84 ++++++++ src/net/cscott/sdr/calls/FormationList.java | 154 ++++++++++++++ src/net/cscott/sdr/calls/PhantomDancer.java | 18 ++ src/net/cscott/sdr/calls/Position.java | 84 ++++++++ src/net/cscott/sdr/calls/Rotation.java | 135 ++++++++++++ src/net/cscott/sdr/calls/Sample.java | 295 ++++++++++++++++++++++++++ src/net/cscott/sdr/calls/Selector.java | 18 ++ src/net/cscott/sdr/calls/SelectorList.java | 7 + src/net/cscott/sdr/calls/StandardDancer.java | 15 ++ 11 files changed, 850 insertions(+) commit 900e9f09b3a11cf18e48d0281d8554cf0d18a175 Author: C. Scott Ananian Date: Mon Oct 2 02:37:17 2006 +0000 Moved sphinx stuff into net.cscott.sdr.recog. Added net.cscott.sdr.util.Fraction. build.xml | 2 +- resources/net/cscott/sdr/{ => recog}/cmudict.0.6d | 0 resources/net/cscott/sdr/recog/extradict | 5 + .../net/cscott/sdr/{ => recog}/sdr.config.xml | 4 +- resources/net/cscott/sdr/{ => recog}/sdr.gram | 6 +- sdr.Manifest | 2 +- src/net/cscott/sdr/{ => recog}/SphinxDemo.java | 2 +- src/net/cscott/sdr/util/Fraction.java | 1212 ++++++++++++++++++++ 8 files changed, 1225 insertions(+), 8 deletions(-) commit 84a6d041afab9a661f117099aa52659be9c27fc4 Author: C. Scott Ananian Date: Mon Oct 2 02:10:40 2006 +0000 Update sphinx to svn 6114. lib/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar | Bin 11152107 -> 11151287 bytes lib/sphinx4.jar | Bin 771407 -> 789838 bytes resources/net/cscott/sdr/sdr.config.xml | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) commit 33b768a962a5e9a99c078f2b2adc3cdefe34bab0 Author: C. Scott Ananian Date: Sun Oct 1 22:43:24 2006 +0000 Set up project skeleton, based on the CMU Sphinx 'Hello, World' demo. .cvsignore | 4 + build.xml | 96 + lib/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar | Bin 0 -> 11152107 bytes lib/jsapi.jar | Bin 0 -> 51811 bytes lib/sphinx4.jar | Bin 0 -> 771407 bytes resources/net/cscott/sdr/cmudict.0.6d |129250 ++++++++++++++++++++++++ resources/net/cscott/sdr/sdr.config.xml | 281 + resources/net/cscott/sdr/sdr.gram | 55 + sdr.Manifest | 2 + src/net/cscott/sdr/SphinxDemo.java | 96 + src/net/cscott/sdr/Version.java.in | 28 + 11 files changed, 129812 insertions(+)