From b9ab984768de9b7dd47b43d1889c27f945f3c6c2 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Sun, 11 Mar 2012 20:43:01 -0600 Subject: [PATCH 01/14] lineup, not rotation. This isn't volleyball. --- scoreboard.css | 2 +- scoreboard.js | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/scoreboard.css b/scoreboard.css index a932680..d12d142 100644 --- a/scoreboard.css +++ b/scoreboard.css @@ -49,6 +49,6 @@ #jam.timeout { background: #044; } -#jam.rotate { +#jam.lineup { background: #060; } \ No newline at end of file diff --git a/scoreboard.js b/scoreboard.js index 477a829..fd73285 100644 --- a/scoreboard.js +++ b/scoreboard.js @@ -28,7 +28,7 @@ /* State names */ var SETUP = 0; // !P 30:00 !J 2:00 var JAM = 1; // P J 2:00 -var ROTATE = 2; // P J 1:00 +var LINEUP = 2; // P J 1:00 var TIMEOUT = 3; // !P J 1:00 var periodtext = ["Period 1", "Halftime", "Period 2", "Break"]; @@ -143,11 +143,11 @@ function transition(newstate) { jt.set(120000); jt.start(); jtext.innerHTML = "Jam"; - } else if (state == ROTATE) { + } else if (state == LINEUP) { pt.start(); - jt.set(30000, "rotate"); + jt.set(30000, "lineup"); jt.start(); - jtext.innerHTML = "Rotation"; + jtext.innerHTML = "Lineup"; } else if (state == TIMEOUT) { pt.stop(); if (pt.remaining() <= 0) { @@ -264,7 +264,7 @@ function handle(event) { break; case "jam": if (state == JAM) { - newstate = ROTATE; + newstate = LINEUP; } else { newstate = JAM; } @@ -290,7 +290,7 @@ function key(e) { switch (String.fromCharCode(e.which || 0)) { case " ": if (state == JAM) { - newstate = ROTATE; + newstate = LINEUP; } else { newstate = JAM; } From 15272fee2f92076e3679b8d77d98dc304feeeee4 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Sun, 11 Mar 2012 21:31:55 -0600 Subject: [PATCH 02/14] Optimize for 800x600 --- logos.js | 14 +++++++------- scoreboard.css | 6 +++++- scoreboard.js | 2 +- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/logos.js b/logos.js index b39e194..eeb02b1 100644 --- a/logos.js +++ b/logos.js @@ -1,14 +1,14 @@ teams = [ - ["Bombs", "bombs.png", "Los Alamos M'Atom Bombs"], - ["Animas", "animas.png", "Animas Valley Roller Girls"], + ["LA", "bombs.png", "Los Alamos M'Atom Bombs"], + ["ARG", "animas.png", "Animas Valley Roller Girls"], ["Taos", "taos.png", "Taos Whiplashes"], ["RIP", "rip.png", "Rollergirls In Pagosa"], ["4CRG", "4crg.png", "4 Corners Roller Girls"], ["DRG", "durango.png", "Durango Roller Girls"], - ["S.Fe", "brawlers.png", "Disco Brawlers"], - ["Aurora", "aurora.png", "High City Derby Divas"], + ["SFe", "brawlers.png", "Disco Brawlers"], + ["HCRD", "aurora.png", "High City Derby Divas"], ["Moab", "moab.png", "Moab Roller Derby"], - ["Hobots", "hobots.png", "Albuquerque Ho-Bots"], + ["Bots", "hobots.png", "Albuquerque Ho-Bots"], ["HNR", "hustlen.png", "HCDD Hustle N' Rollers"], ["DD", "doubledown.png", "HCDD Double Down"], ["DCD", "dcd.png", "Duke City Derby"], @@ -18,6 +18,6 @@ teams.sort(); // Add special teams at the beginning teams.splice(0, 0, - ["Black", "black.png", "Black Team"], - ["White", "white.png", "White Team"] + ["Blk", "black.png", "Black Team"], + ["Wht", "white.png", "White Team"] ); diff --git a/scoreboard.css b/scoreboard.css index d12d142..3bfa559 100644 --- a/scoreboard.css +++ b/scoreboard.css @@ -9,11 +9,15 @@ #scoreboard p { margin: 0; } +#scoreboard *[id] { + cursor: pointer; +} .team { font-family: Comunicacion Digital, sans-serif; + font-size: 90%; } .team img { - max-width: 100%; + max-width: 2em; max-height: 2em; } diff --git a/scoreboard.js b/scoreboard.js index fd73285..0c31382 100644 --- a/scoreboard.js +++ b/scoreboard.js @@ -339,7 +339,7 @@ function start() { var j = document.getElementById("jam"); e("name-a").innerHTML = dfl(localStorage.rdsb_name_a, "Home"); - e("name-b").innerHTML = dfl(localStorage.rdsb_name_b, "Visitor"); + e("name-b").innerHTML = dfl(localStorage.rdsb_name_b, "Vis"); e("logo-a").src = dfl(localStorage.rdsb_logo_a, "#"); e("logo-b").src = dfl(localStorage.rdsb_logo_b, "#"); e("score-a").innerHTML = dfl(localStorage.rdsb_score_a, 0); From 25e008694c029c9b6221ea8a50eb5f6577b6b29f Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Sun, 11 Mar 2012 22:00:35 -0600 Subject: [PATCH 03/14] spacing in index --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 20f41a4..cb98529 100644 --- a/index.html +++ b/index.html @@ -123,7 +123,7 @@

Download the latest version to your hard drive to run a scoreboard - without Internet access (recommended). This + without Internet access (recommended). This includes the documentation.

From 251b2eba9f3489b88721a53899bbd97cfef938be Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Sun, 11 Mar 2012 23:19:12 -0500 Subject: [PATCH 04/14] default to kitty icons --- scoreboard.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scoreboard.js b/scoreboard.js index 0c31382..0cbac55 100644 --- a/scoreboard.js +++ b/scoreboard.js @@ -340,8 +340,8 @@ function start() { e("name-a").innerHTML = dfl(localStorage.rdsb_name_a, "Home"); e("name-b").innerHTML = dfl(localStorage.rdsb_name_b, "Vis"); - e("logo-a").src = dfl(localStorage.rdsb_logo_a, "#"); - e("logo-b").src = dfl(localStorage.rdsb_logo_b, "#"); + e("logo-a").src = dfl(localStorage.rdsb_logo_a, "logos/white.png"); + e("logo-b").src = dfl(localStorage.rdsb_logo_b, "logos/black.png"); e("score-a").innerHTML = dfl(localStorage.rdsb_score_a, 0); e("score-b").innerHTML = dfl(localStorage.rdsb_score_b, 0); e("timeouts-a").innerHTML = dfl(localStorage.rdsb_timeout_a, 3); From 64f9fb4e1d961b66355e8db3328349568d9b784f Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Sun, 11 Mar 2012 23:20:36 -0500 Subject: [PATCH 05/14] alphabetize --- scoreboard.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scoreboard.js b/scoreboard.js index 0cbac55..8d04b09 100644 --- a/scoreboard.js +++ b/scoreboard.js @@ -340,8 +340,8 @@ function start() { e("name-a").innerHTML = dfl(localStorage.rdsb_name_a, "Home"); e("name-b").innerHTML = dfl(localStorage.rdsb_name_b, "Vis"); - e("logo-a").src = dfl(localStorage.rdsb_logo_a, "logos/white.png"); - e("logo-b").src = dfl(localStorage.rdsb_logo_b, "logos/black.png"); + e("logo-a").src = dfl(localStorage.rdsb_logo_a, "logos/black.png"); + e("logo-b").src = dfl(localStorage.rdsb_logo_b, "logos/white.png"); e("score-a").innerHTML = dfl(localStorage.rdsb_score_a, 0); e("score-b").innerHTML = dfl(localStorage.rdsb_score_b, 0); e("timeouts-a").innerHTML = dfl(localStorage.rdsb_timeout_a, 3); From e31e2514bfcdc542ed689ad4dbf05c5334e30331 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Tue, 13 Mar 2012 11:41:20 -0600 Subject: [PATCH 06/14] more descriptive caption on homepage --- index.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index cb98529..4c52503 100644 --- a/index.html +++ b/index.html @@ -36,8 +36,9 @@
- Working demonstration, no keyboard shortcuts - (full version) + Working demonstration: click on + team logos, then the jam time! + Full-screen version here.
From 24b4d3b4f1ae5535081e2d63f6c1c255ec2da33d Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Tue, 13 Mar 2012 17:24:16 -0600 Subject: [PATCH 07/14] add link to tutorial video on youtube --- index.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index 4c52503..85300aa 100644 --- a/index.html +++ b/index.html @@ -115,7 +115,9 @@

Documentation

- Full documentation comes bundled with the + Watch a 5-minute video + tutorial or read the + Full documentation which comes bundled with the download.

From 7cf5172fff82eb14ece5f4488d8f1ba625ca51fb Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Thu, 15 Mar 2012 10:31:35 -0600 Subject: [PATCH 08/14] add png screen shot for google and non-js visitors --- index.html | 19 ++++++++++++++++++- screenshot.png | Bin 0 -> 81854 bytes style.css | 8 ++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 screenshot.png diff --git a/index.html b/index.html index 85300aa..c6b74c3 100644 --- a/index.html +++ b/index.html @@ -34,7 +34,17 @@ - + +
+ +

+ The scoreboard requires JavaScript. If your browser is capable + of JavaScript, enable it for this page to try the scoreboard + in your browser! +

+
+ +
+

Features

    diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..13f1b1f0c4d31e20808ea1fef9bb565156c2f6fe GIT binary patch literal 81854 zcmV)qK$^daP)Px#32;bRa{vGi>i_@_>j81ift3IN00(qQO+^RX0}l^6J1G@x5&!@I9cffpbVF}# zZDnqB0000007G(RVRU6=Aa`kWXdp*PO;BVmWd{HNAOJ~3K~#9!?7erKT~~EBymmR~ z+%kPeBaM2uEjPJWTre0gHeh3Vd1(nDBseb+AcQ2&2ZRtv0tt}v0VaV29PCg`Fg6%u zEO%SBB-^sp%SfX#($rf{*?Yf#tb5n2+2@XA^V*>A`*D8!%;?^8?>%Rqy`R0-v!1n< zD3waqS}CP-&N(Ng1OVq800<$35Wo)S9KM2o2qEx%??r1ZeuI<}PoVGQ-%NkgX?P`g zKK(SlOXu@LG!JX7F-A&>KO%$#z>ASuYv-)BRtTY#!cQrsoO5`cLI`7wb53h5gurhA z0IfA%5)KPqr!mG_i*GpqXRWnXN+qQf0+J+AN;O9S@D8-rTI(#!0KgbytrG&$G?h{o z3IzcCTPZC9t+ft}$xHT8Pk7^Ahu3&ZJz-wYt?^%?*urG)^kHI9`r z#)4ByS?8=VI7%in))?m;jT;V>)*6J!(lkv|e9$-*vn<13$+9d6g2pUT3ZDVq1d*DY_
  • @C3Nq^I6G|Opr;w#?u&{ugt$;XI38w3GeJYg|? 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 kCh60)Hx Date: Thu, 15 Mar 2012 10:37:47 -0600 Subject: [PATCH 09/14] convert to cgit --- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index c6b74c3..03676cc 100644 --- a/index.html +++ b/index.html @@ -141,7 +141,7 @@

    Download

    - Download + Download the latest version to your hard drive to run a scoreboard without Internet access (recommended). This includes the documentation. @@ -156,7 +156,7 @@

    You can - also browse + also browse the source tree or clone it with git:

    git clone http://woozle.org/~neale/projects/scoreboard

    From 72683c4de26b24a5720710ebc8a8a315f0a385f8 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Sat, 17 Mar 2012 15:38:34 -0600 Subject: [PATCH 10/14] how to contact me --- index.html | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/index.html b/index.html index 03676cc..8f5a59c 100644 --- a/index.html +++ b/index.html @@ -160,5 +160,27 @@ the source tree or clone it with git:
    git clone http://woozle.org/~neale/projects/scoreboard

    + +

    Other Derby Stuff

    + +

    + I've also written a Derby Track + position editor, which lets you place people and save the positions + as a link. This is free too! +

    + +

    Contact Me

    + +

    + If you'd like me to add your team logo, have an idea for improvement, + or just want to say hi, please send me an email. I especially + like hearing from people who are using the software: I love knowing + I'm able to help people out. +

    + +
    + Neale Pickett <neale@woozle.org> +
    + From 83f0a76aee570040273782519647893875f80444 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Sun, 18 Mar 2012 12:31:55 -0500 Subject: [PATCH 11/14] Fix for IE8 --- scoreboard.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scoreboard.js b/scoreboard.js index 8d04b09..4080373 100644 --- a/scoreboard.js +++ b/scoreboard.js @@ -184,7 +184,7 @@ function logo_rotate(team, dir) { } function handle(event) { - var e = event.target; + var e = event.target || window.event.srcElement; var team = e.id.substr(e.id.length - 1); var adj = event.shiftKey?-1:1; var mod = (event.ctrlKey || event.altKey); From 373cf9b8a5130b5feeb925904414fde336af9e85 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Mon, 19 Mar 2012 00:12:54 -0500 Subject: [PATCH 12/14] list other scoreboards --- index.html | 62 +++-- license.txt | 674 ---------------------------------------------------- 2 files changed, 39 insertions(+), 697 deletions(-) delete mode 100644 license.txt diff --git a/index.html b/index.html index 8f5a59c..55920cd 100644 --- a/index.html +++ b/index.html @@ -27,9 +27,18 @@

    LADD Roller Derby Scoreboard

    - This is the scoreboard used by - the Los Alamos Derby Dames, - in bouts and scrimmages. + This is a free WFTDA-rules scoreboard, created with ease-of-use + in mind. + It is known to work on: +

    + +
      +
    • Windows (XP or later)
    • +
    • MacOS
    • +
    • Linux
    • +
    • Android Phones and Tablets
    • +
    • iPad
    • +
    • iPhone
    • @@ -46,8 +55,8 @@ @@ -96,6 +105,7 @@

      Features

      +
      • Free to use, share, and change (GPLv3) @@ -103,6 +113,9 @@
      • Easy mouse-driven (with hotkeys) setup and operation
      • +
      • + No complicated installation procedure: just open a web page +
      • Looks good, with colors tuned for high-visibility on projectors @@ -111,25 +124,15 @@ Appearance can be customized in HTML and CSS
      • - Runs in any modern web browser—even smartphones and - tablets + Runs on practically anything, including older computers, + smartphones, and tablets
      • Ships with an ever-expanding set of team logos
      • -
      • Uses WFTDA timing
      -

      Try it!

      - -

      - The scoreboard is implemented in pure HTML5 and JavaScript. The - box above is a running scoreboard. If the box works, you - can run this scoreboard without installing anything else. Try - clicking on team logos, then the Jam Timer, to get things started. -

      -

      Documentation

      Watch a 5-minute video @@ -161,13 +164,26 @@

      git clone http://woozle.org/~neale/projects/scoreboard

      -

      Other Derby Stuff

      +

      Other Derby Stuff By Me

      + +
      -

      - I've also written a Derby Track - position editor, which lets you place people and save the positions - as a link. This is free too! -

      Contact Me

      diff --git a/license.txt b/license.txt deleted file mode 100644 index 94a9ed0..0000000 --- a/license.txt +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. From dbc5b570648fcc1674398c506d5baa2ae3875070 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Mon, 19 Mar 2012 00:25:41 -0500 Subject: [PATCH 13/14] More dumb IE8 workarounds --- scoreboard.js | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/scoreboard.js b/scoreboard.js index 4080373..9089f74 100644 --- a/scoreboard.js +++ b/scoreboard.js @@ -337,28 +337,33 @@ function save() { function start() { var p = document.getElementById("period"); var j = document.getElementById("jam"); + var c; - e("name-a").innerHTML = dfl(localStorage.rdsb_name_a, "Home"); - e("name-b").innerHTML = dfl(localStorage.rdsb_name_b, "Vis"); - e("logo-a").src = dfl(localStorage.rdsb_logo_a, "logos/black.png"); - e("logo-b").src = dfl(localStorage.rdsb_logo_b, "logos/white.png"); - e("score-a").innerHTML = dfl(localStorage.rdsb_score_a, 0); - e("score-b").innerHTML = dfl(localStorage.rdsb_score_b, 0); - e("timeouts-a").innerHTML = dfl(localStorage.rdsb_timeout_a, 3); - e("timeouts-b").innerHTML = dfl(localStorage.rdsb_timeout_b, 3); - period = Number(localStorage.rdsb_period) || 0; + // IE8 doesn't have localStorage for files. Laaaame. + if (localStorage) { + e("name-a").innerHTML = dfl(localStorage.rdsb_name_a, "Home"); + e("name-b").innerHTML = dfl(localStorage.rdsb_name_b, "Vis"); + e("logo-a").src = dfl(localStorage.rdsb_logo_a, "logos/black.png"); + e("logo-b").src = dfl(localStorage.rdsb_logo_b, "logos/white.png"); + e("score-a").innerHTML = dfl(localStorage.rdsb_score_a, 0); + e("score-b").innerHTML = dfl(localStorage.rdsb_score_b, 0); + e("timeouts-a").innerHTML = dfl(localStorage.rdsb_timeout_a, 3); + e("timeouts-b").innerHTML = dfl(localStorage.rdsb_timeout_b, 3); + period = Number(localStorage.rdsb_period) || 0; + c = Number(localStorage.rdsb_period_clock || 1800000); + + save_itimer = setInterval(save, 1000); + } + e("periodtext").innerHTML = periodtext[period]; e("jamtext").innerHTML = "Setup"; transition(); - c = Number(localStorage.rdsb_period_clock || 1800000); startTimer(p); p.set(c); startTimer(j, true); j.set(120000); - - save_itimer = setInterval(save, 1000); } window.onload = start; From b7adbef9af1a00719d91d0f6652f6dfd3ed7f2de Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Sun, 18 Mar 2012 23:29:48 -0600 Subject: [PATCH 14/14] refine IE8 hack a bit --- scoreboard.js | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/scoreboard.js b/scoreboard.js index 9089f74..6ffca9f 100644 --- a/scoreboard.js +++ b/scoreboard.js @@ -337,21 +337,21 @@ function save() { function start() { var p = document.getElementById("period"); var j = document.getElementById("jam"); + var ls = localStorage || {}; var c; - // IE8 doesn't have localStorage for files. Laaaame. - if (localStorage) { - e("name-a").innerHTML = dfl(localStorage.rdsb_name_a, "Home"); - e("name-b").innerHTML = dfl(localStorage.rdsb_name_b, "Vis"); - e("logo-a").src = dfl(localStorage.rdsb_logo_a, "logos/black.png"); - e("logo-b").src = dfl(localStorage.rdsb_logo_b, "logos/white.png"); - e("score-a").innerHTML = dfl(localStorage.rdsb_score_a, 0); - e("score-b").innerHTML = dfl(localStorage.rdsb_score_b, 0); - e("timeouts-a").innerHTML = dfl(localStorage.rdsb_timeout_a, 3); - e("timeouts-b").innerHTML = dfl(localStorage.rdsb_timeout_b, 3); - period = Number(localStorage.rdsb_period) || 0; - c = Number(localStorage.rdsb_period_clock || 1800000); + // IE8 doesn't have localStorage for file:// URLs :< + e("name-a").innerHTML = dfl(ls.rdsb_name_a, "Home"); + e("name-b").innerHTML = dfl(ls.rdsb_name_b, "Vis"); + e("logo-a").src = dfl(ls.rdsb_logo_a, "logos/black.png"); + e("logo-b").src = dfl(ls.rdsb_logo_b, "logos/white.png"); + e("score-a").innerHTML = dfl(ls.rdsb_score_a, 0); + e("score-b").innerHTML = dfl(ls.rdsb_score_b, 0); + e("timeouts-a").innerHTML = dfl(ls.rdsb_timeout_a, 3); + e("timeouts-b").innerHTML = dfl(ls.rdsb_timeout_b, 3); + period = Number(ls.rdsb_period) || 0; + if (localStorage) { save_itimer = setInterval(save, 1000); } @@ -359,6 +359,7 @@ function start() { e("jamtext").innerHTML = "Setup"; transition(); + c = Number(ls.rdsb_period_clock || 1800000); startTimer(p); p.set(c);