Table of Contents
TOC
JudoShiai
USER GUIDE
Version 4.3
2024-12-27
Introduction
JudoShiai program is intended to help organize a judo tournament. You can draw, run the competition, and publish the results. Audiences can locally and remotely see the match order and live results. JudoWeight and JudoJudogi let officials remotely control the database.
More Information
There is more information here:
There are for example instructions to some specific issues that doesn’t belong to a user guide.
Main Characteristics
JudoShiai software is composed of the following programs:
JudoShiai
- Competition
- Competition has a name, place, date, start time of mats.
- Print results on paper or publish as web pages.
- Print results in many languages.
- pages by sheet file styles.css.
- Web page auto-update results service. Together with a web server, e.g. Abyss Web Server) competitors and the audience can follow the tournament in real time.
- notes.
- Warning if a competitor in several categories and the matches are going to overlap.
- Competitor Automatics helps typing work.
- The program the correct category from the competitor's age and weight if not otherwise given.
- Automatic club name completion.
- Add all competitors from an old tournament database with or without weights.
- Add competitors one by one.
- Delete unweighted and undo deletion.
- Delete empty categories.
- search for competitors.
- Incremental name search for competitors.
- Categories.
- Add categories from another database.
- Automated category creation.
- For two players you can have one match or three method.
- Supported competition systems are pool, double pool, quad pool, and several variations knockout.
- Automated placement the competition areas.
- Categories are grouped. Matches from one group are finished first before starting the matches the next group.
- Manual and automatic drawing.
- Drawing is compliant rules (seeding, biased placement of competitors from the same country).
- Drawing takes competitor's club and country.
- Category properties include name, shiai time, osaekomi rest time, age limit, and weight limits.
- Control of the JudoTimer. JudoShiai informs the JudoTimer program about the following competitors and receives the results automatically.
JudoTimer
- Controlled by mouse or keyboard.
- Shiai clock.
- Osaekomi clock.
- Sonomama/yoshi.
- Blue or red background.
- Shiai time is set manually or automatically from the JudoShiai program.
- Match times: 2 min with short pin times, 2 min, 3 min, 4 min, 5 min.
- Rest times and golden score times automatically from the JudoShiai program.
- Hantei.
- Several display layouts.
- Manual clocks correction.
- Osaekomi scores go to memory if the timekeeper is too busy with consecutive osaekomis.
- Many user interface languages are supported.
- Competitors’ names and category are visible on the display if JudoTimer is used together with the JudoShiai program.
- Another JudoTimer can act as a slave over a network connection.
JudoInfo
- Shows the next matches
- Round number
- Medal matches
- Rest times
- Bracket of the ongoing match
JudoWeight
- Sets weights remotely
- Possibility to set control value (OK/not OK)
JudoJudogi
- Judogi control program
- Shows next three fights
- Possibility to give pass/no pass for a competitor
The Program Usages
Programs can be used in many ways. Typical setup consists of the following elements:
- Local network that connects all the devices. Network can use WiFi or wires.
- Connection to the internet if live results are wanted.
- JudoShiai runs the competition.
- One JudoTimer for each competition area. Possible another one is needed on the other side of the mat that works as a slave.
- JudoInfo shows the next matches. These must be available for competitors as well as for the audience.
- JudoWeight is used in weigh-ins to register competitors' weights to the JudoShiai database. This is optional. Many times weights are typed into JudoShiai manually.
- JudoControl is used to inform JudoTimers the status of the competitors' judogis. JudoTimer will not run if the judogi has not passed the inspection. This is optional. Usually it is sufficient if the referee checks the judogi.
- JudoShiai has a web interface that can be used for example for a layout on a video stream. Thus, the stream will have scoreboard data.
Programs run on Linux, Windows (32 and 64 bit), and Raspberry Pi. Raspberry Pi is a cheap and small computer that you can attach to a TV. This is useful for JudoInfo displays.
Modern TVs have a built-in browser that can connect to JudoShiai and work as JudoTimer slave or JudoInfo.
Introduction to Tournament Protocol:
Create categories.
- Type in the competitors to the JudoShiai program (or import from a text file or from an old tournament database).
- Create the categories either manually or use the built-in automation.
- Place categories on tatamis.
- Draw the categories.
- Finally you will have a database that contains all the information.
Site organization.
- Connect the laptops to an Ethernet network. Use an ordinary switch that contains a DHCP server.
- Connect the external displays to the laptops.
- Connect the printer to the laptop where you run the JudoShiai program (or print over the network).
- Run JudoTimer for each mat.
- Run JudoShiai to control the tournament and JudoTimers.
- Print the sheets for competitors and audience.
Competition.
- Configure JudoTimers for each mat.
- JudoShiai program sends information about the next matches to the JudoTimers.
- Match information is visible in the JudoTimer displays. Also JudoInfos display the match order.
- Score the players during the fights.
- After the fight the JudoTimer sends the results to the JudoShiai (score, elapsed time, possible hantei result).
- JudoShiai program updates the database and sends information about the next match to the scoreboard program and the JudoInfos.
- This is repeated until all the fights are done.
Results
- JudoShiai program can print the results to a printer, to a file in PDF format, or as a web page.
Web Browser Based Interface
JudoShiai supports web browser based applications. URL is
http://<judoshiai-address>:8088/. Also //http:%%//%%judoshiai.local:8088/// may work.
Not all the normal features are available. Also different browsers may not act the same way.
Http connection is faster, but JudoWeight with camera requires https. Your browser will complain that the https connection is not secure, since the certificates are self signed. Just allow the connection.
Supported functionality:
- JudoShiai is only for experimental usage.
- JudoTimer: May be used as a master for another web timer. May be used as a slave for JudoTimer application or another web timer.
- JudoInfo: Hint: Use web browser of a modern TV and save one laptop.
- JudoWeight: Saves weights locally. Save to a local json file or upload to JudoTimer.
- JudoReferee is experimental.
- Scan competitor's QR codes with a webcam.
Use password if your network is open.
Communication
Programs communicate with each other. JudoShiai program sends information to JudoTimer, JudoInfo, JudoWeight, and JudoJudogi. It receives results from JudoTimer, control data from JudoJudogi, and weights from JudoWeight.
IP Network
The programs use an IP network for the communication. For a simple network you need an Ethernet switch that contains an embedded DHCP server.
For the communication you have to know the IP address of the JudoShiai program. Although you can use the methods provided by the operating systems to find the IP addresses, it is also possible to choose the menu option Preferences → Communication → Own IP Addresses. Example of a list of IP addresses:
You may have several addresses in use, but the most probable is in bold.
Protocol
There are many ways to arrange communication between network elements. The best ways (broadcast or multicast messages, UDP) are many times blocked by the firewalls especially in the company laptops. That is why the communication uses a communication node (JudoShiai program) who is connected by the other programs. Protocol is TCP that uses several ports:
Port number | Usage |
8088 | JudoShiai web server (http). |
8800 | JudoShiai web server (https). |
2208 | JudoShiai file provider. |
2309 | JudoShiai update communication. |
2310 | JudoShiai receives, other transmits. |
2312 | JudoTimer receives and transmits (master - slave). |
2315 | JudoShiai websocket. |
2316 | JudoTimer websocket. |
2317 | JudoShiai websocket broker. Communication between browser timers. |
2318 | JudoShiai websocket for web browsers. |
2319 | JudoShiai websocket for memory database. |
Communication Node
The JudoShiai program acts as a communication node. The communication node computer must accept connections to port number 2310.
The JudoTimer and JudoInfo programs search for the communication node starting from the lowest IP address. Linux versions are quite fast, but for Windows software it may take several minutes to find the correct address. It is best to set the address manually. Find the IP address of the JudoShiai program by clicking Preferences → Communication → Own IP Addresses. From JudoTimer and JudoInfo menus choose the menu option Preferences → Communication Node. A new window pops up:
Address of the JudoShiai program (0.0.0.0 = no address) and the connection status is shown. Type in the earlier detected IP address (10.144.44.19) and click OK. After a while you may check the status of the connection:
Programs advertises themselves using SSDP packets. They are UDP multicast packets that help other applications to find services.
Since version 2.7.2 it is possible to use multicast for communication. Since it uses UDP packets it is not totally reliable, but sufficient to use for JudoInfo. If one info packet is lost the situation will be fixed after the next info update message.
Multicast do not create connections but all the JudoInfos receive the same UDP packets. Thus it does not load JudoShiai as much as separate TCP connections. Multicast works also with other client programs.
Multicast address is fixed and you should not edit it.
New Tournament
Click Tournament → New from the menu:
Name is the name of the database file without the .shi extension. Click Open and a new window opens. All the values below are saved in the database.
Tournament is the official name for the tournament as seen on the result prints. Start time is useful for match schedule prints. You can change the Number of tatamis later (as any other setting).
Initialize group has a selection for the country and an Apply button. The button resets the values to their country specific defaults. NOTE: Category properties are not initialized! Instead use the Reset to Defaults button that is available in the Category Properties dialog window.
Properties button opens the same dialog window that can be found in menu selection Categories → Properties.
Rules have options to change the competition's behaviour:
- Medal will be awarded only if a contest was won: Example: In a round robin competition system for three everyone would win a medal. Medal will not be awarded if no match was won and this option is selected..
- Seeded to fixed places forces seeded 1 – 8 to pools A, C, B, D, A, C, B, D accordingly. Normally the first pool is random and the rest are selected based on that.
- Use the first places only restricts n competitors to be placed to positions 1 – n.
- Win in Golden Score gives only one point no matter what the competitor scored.
- Score point values have two sets of configuration. Rules for the kids may still have for example hantei and non-standard score point values. Secondary configuration can be selected per age class in category properties.
There are a few options for the pool settings (round robin):
Pool 1: Competitors A, B, C, D.
Pool 2: Competitors E, F, G, H.
Pool1 results: 1. B, 2.C, 3. A, 4. D.
Pool 2 results: 1. H, 2. E, 3. G, 4. F.
Competitors B, C, H, and E continue to the final pool. Match results B-C and H-E are copied from the preliminary pools and they do not fight again against each other
- Two pool bronzes: In some countries there are always two bronze medalists, also in round robin systems. Thus in a five competitor pool they will have places 1, 2, 3, 3, 5.
- Resolve 3-way ties by time: In round robin system three competitors can have equal number of wins and points and no direct comparison is possible because of “beating in circle”. Competitor with the shortest match time wins.
- Resolve 3-way ties by weights: The lightest competitor wins if this option is selected.
- Mix pool matches into rounds: Knock out system matches are run round at a time. Round robin matches are inserted between knockout system rounds. With this option enabled round robin matches are inserted also inside a round and thus time between fights is shorter.
- Keep loser's points: Sport and Organisation Rules of the International Judo
Federation (before 2025):
2.5.5.1 Round Robin Rules for Individual Events:
Rule 2. Sum of all points: if there are an equal number of wins, the sum of points for scores: ippon/waza-ari-awasete-ippon = 10, waza-ari = 1.
All scores achieved will be counted for both the winner and loser for each contest in the category. An athlete can get a maximum of 10 points per contest. Points are same regardless of if they are achieved in the regular contest time or during golden score.
Team event has some options:
Default systems describe what kind of competition systems to use by the default. There are three criteria:
- Maximum age of the competitors in the category. This is useful if you want to use different systems for young competitors. Value 0 means age doesn't matter.
- Minimum and maximum number of competitors. Usually you want to use different competition system if there are only four competitors compared to the situation where there are 60 competitors. Value 0 means don't care (no min or max).
Grade names enable different belt systems. Some countries use mon grades, some not. Some countries may have different belt color schemes based on their head organization. You can fill your grade names in the table. The names can be colors, too.
Backup
JudoShiai can make a backup of the database every time one match has finished. Click Tournament → Backup. Select a folder where you want to have the copies (a memory stick is a good choice). JudoShiai starts to make copies whose name are of the format shiai+date+time:
shiai_yyyymmdd_hhmmss.shi
About ten last copies are preserved. Selecting a folder creates immediately one copy. Uncheck the Do Backup box to stop the backup operations.
Database Validation
There are several sources for errors:
- Typos in names
- Wrongly written club name causes failure in automatic seeding
- Same competitor twice
- Undefined categories
- Typos in weights
- Competitor is put to a wrong category
Menu selection Tournament → Validate Database tries to find errors and shows warnings about suspicious data.
New Competitors
Add One Competitor
Click Competitors → New or press ctrl-N. A new window appears:
You can go from one field to another with the tabulator. You can change the Grade with the down-arrow key. Reg. Category is the registered category, not the final one. You can write the competitor's first and last name using lower case letters since the program will convert them correctly. You can edit the names later and the program will not change your typing any more. Hansoku-make is used both for penalty and injury. Control has selections ?/OK/NOK. You can use it what ever purpose; the value doesn't affect to the use of the JudoShiai. Coach Id can be used to list the competitors of a coach on the live result web page.
There will be a list of competitors under a question mark. It means that the real category has not been decided yet.
Add a Competitor from Another Database
You can add competitors from another database either with or without the weights (Competitors → Add All with Weights or Competitors → Add All From Another Shiai). If you are arranging a competition for your club's juniors you may find it useful to check the box Clean up duplicates and update reg. categories: competitor that already exists is not imported and the registered category is updated according to the year of birth. You can remove the unnecessary competitors one by one or by selecting Competitors → Remove Unweighted.
You can add new competitors from another database also individually. Click Competitors → Select From Another Shiai. Choose a database and a new window will open with a list of categories and competitors. Double click a competitor and all his/her data will be added to the current database.
You can also import the whole category with its competitors.
JudoShiai can import competitors from a text file, too. A text file may look as follows:
Jack,Taylor,Stonehaven Judo Club,GBR,m,1991,1d,74
Thomas,Brown,Cambridge Judo,GBR,m,1994,2k,61
Oliver,Wilson,Barnet Judo,GBR,m,1995,2k,58
Click Competitors → Add From a Text File. You will be asked to select a file (note also the UTF-8 check box!) and a new window opens:
Topmost there is the first line of the text file. Use that to find out the column separator. In our example it is obviously comma. Write a comma in the Column Separator field. The separator can be composed of several characters, too. Then you have to select the correct column numbers for each data field. On the right side of the window you will see the value of the column:
Girl Text indicates what should read in the Sex column if the competitor is a girl or a woman.
You do not have to give all the information. Category will be concluded from the Sex, Weight, and Year of Birth. If the Category is given it is accepted as such. Weight doesn't have to be just a number but the extra letters (“kg”) are filtered out. The Grade should contain a number and a letter k or K for kyu grades, otherwise it is considered as a dan grade. Other letters are ignored.
You may have a tab as a column separator. You can copy-paste it from another document or type '\t' (backlash and letter t).
Last name will be converted to upper case automatically. You can edit it later if this is not sufficient.
Change the UTF-8 setting if the country specific letters look wrong.
JSON Files
JudoShiai can read and write JSON files. Although they are text files, it is not recommended to manually edit those. Syntax rules are very strict.
Write to File
Write competitor data to a JSON file. This file can be imported to Android application JudoWeight. Please look at Android JudoWeight documentation.
Read from Directory
Directory is scanned for JSON files for reading. Main purpose is to read competitors’ weights that can be divided to several files. Files may contain also new unregistered competitors, that JudoShiai operator are asked to accept or deny. Usually files are generated by Android JudoWeight application.
New Category
You can create categories automatically and fine tune them later. Categories menu:
Click Categories → New and a form window pops up:
Fill in the Category name. You can use other than the default competition system by selecting one from the System list. Tatami is the number of the competition area. There are usually groups of 2 – 4 categories that are matched before the next group starts. Group field defines the group number for this category.
Click one of the Competitors sheet headers to order competitors by their last name, club name, category or weight. Click again to reverse the order. Select a player by clicking him/her once. Select more competitors by pressing ctrl key while left clicking. Select consecutive lines by holding the shift key down and click the last line.
To move the selected players to another category
- right click the destination category line and select Move Competitors Here; or
- right click and select Move Competitors to Category and from the pop up list choose the destination category.
You can create the preliminary categories by clicking menu Categories → Create Categories:
Too heavy players are moved automatically to the next weight category. Number in the brackets shows the number of players in that category. Number is printed bold if there is only one or two competitors in the category.
In competitions for young children it may be better to use unofficial categories. Select a nice group of players, right click and select Compose Unofficial Category. New category will have a name based on the gender, age, and weight of the selected competitors.
Some of the categories may become empty, so you can delete those by clicking Categories → Remove Empty.
Finally you have to place the categories on the contest areas. Click Categories → Place to 2 Tatamis if you have two mats. JudoShiai selects the mats and group numbers for the categories in the order they are listed on the Competitors sheet. By clicking the Last Name header you can make the matches start with the younger categories. Final adjustment can be done by double clicking the category line and editing the fields or drag'n'dropping the categories on the Categories sheet. Target is to get the same amount of fights for every tatami.
Weigh-in may be phased or there are other reasons why you want to create categories one by one during the contest. You can work with the same JudoShiai program that runs the competition or you may use another computer and transfer categories using a memory stick.
Category Properties
Click Categories → Properties to look at the category definitions:
First there are men's and boy's categories and then women's and girl's categories. On the left, there is the highest age one can have in the category and the relevant text that is used in the first part of the category name. The oldest category must have some big age number (e.g. 1000) so that everybody fall to some category.
Next is the match time for the category, golden score time, rest time, and osaekomi times. Repechage time, if not zero, is used for the repechage fights. A non-zero value also indicates that the Golden Score system is used in the repechage matches. JudoTimer utilizes match time, golden score time, pin times, and repechage information if automatic clock settings are selected. Rest time is used by the JudoShiai when choosing the next matches. You can ignore Koka for the time being.
JudoTimer layout per category
Layout is used to select JudoTimer layout file per category class. Text is appended to the file name before the dot. Example: JudoTimer uses layout file
C:\Layouts\my_layout.txt
Layout for juniors is in file
C:\Layouts\my_layout-jnr.txt
Category definition’s Layout entry will have text “-jnr”. Layout extension can be 7 characters long.
Preference exceptions per category
Category properties are exceptions to global definitions. To make an exception:
- Select one of the available property numbers (1 - 4).
- Select wanted property from combo box. In the picture property 1 is “2017 Rules”, property 2 is “Use IFJ Points”.
- Select “Yes” or “No”.
- Click checkbox 1 for Juniors to disable year 2017 rules just for them.
Weight classes
On the right, there are the heaviest weights for the weight class and the relevant text. The heaviest weight class must have some big number like 1000000 grams.
Category name is composed of the Age text and Weight text.
Category properties are utilized in the following situations:
- Adding new competitor. Correct category is selected based on the age and weight.
- Adding competitor from another database or text file. Category selection as above.
- Automatic creation of the official categories.
Category properties are saved to the database i.e. they are not part of the JudoShiai configuration. You can initialize the properties by clicking Categories → Properties → Reset to Defaults. If you want to initialize to some other country's values (e.g. Finnish) do the following:
Click Drawing → Finnish System
Click Categories → Properties → Reset to Defaults
Drawing
Drawing is compliant with the international rules. You can draw all the categories at once by clicking Drawing → Draw All Categories. To draw an individual category (categories) select it (them) on the Competitors sheet, right click and select Draw Selected from the pop-up menu. You cannot draw the same category again until the existing drawing has been removed (Remove Drawing).
Drawing algorithm has been explained in the Appendix 1.
You can do a manual drawing by selecting Draw Manually from the pop up menu. In a new window there is a list of competitors on the left and a list of numbered positions on the right. First click a player and then an empty box on the right. You can move a competitor back to the left by clicking it on the right.
Official Drawing
Official drawing falls between the automatic and manual drawings. Open the manual drawing window:
Click Next to start the drawing from the seeded and continue at your will. Rest button draws remaining competitors automatically. Accept the drawing by clicking the OK button and the sheet is displayed. You may print the sheet by clicking the printer image on the left upper corner.
You can also print the sheet(s) by selecting the categories on the Competitors sheet, right clicking and selecting Print Selected Sheets.
Supported Competition Systems
JudoShiai supports international, Finnish, Swedish, Estonian, Spanish, and Canadian competition systems. From the menu Drawing you can select the preferred set of systems. You can also overrule the default method for each weight category. Alternatives are:
- Default (explained below)
- Round robin systems:
- Pool (2 – 7 contestants)
- Double pool (6 – 12 contestants) with variants
- Quad pool (up to 20 contestants)
- Double knockout systems (2 – 64/128 contestants):
- Double repechage (Finnish and international, max. 128 contestants)
- Swedish systems
- Enkelt återkval
- Dubbelt återkval
- Direkt återkval
- Estonian long repechage for D juniors
- Spanish systems
- Repesca doble
- Repesca simple
- Repesca doble desde 1ª ronda
- Doble pérdida
- <WRAP>
- Canadian systems
- Canadian Modified Double Elimination (8 – 64 contestants)
</WRAP>
If the selected system for the category is Default, the used system depends on the country setting and the number of contestants.
- International system
- 2 – 5 contestants: pool
- 6 – 128 contestants: double repechage
- Finnish system
- 2 – 5 contestants: pool
- 6 – 7 contestants: double pool
- 8 – 128 contestants: double repechage
- Swedish system
- 2 – 5 contestants: pool
- 6 – 7 contestants: double pool
- 8 – 64 contestants: direkt återkval
- Estonian system
- 2 – 5 contestants: pool
- 6 – 64 contestants: Estonian long double repechage if the category is for under 11 years old, otherwise Finnish double repechage
- Spanish system
- 2 – 5 contestants: pool
- 6 – 10 contestants: double pool
- 11 – 16 contestants: doble pérdida if the category is for under 11 years old, otherwise repesca doble
- 6 – 64 contestants: repesca doble
- Canadian system
- 2 – 5 contestants: pool
- 6 – 7 contestants: double pool
- 8 – 128 contestants: Canadian Modified Double Elimination
Results
After the drawing you can look and print the category sheets. Sheets are updated in real time when the contest progresses. To look at a sheet
- right click the category on the Competitors sheet and select Show Sheet; or
- click the Sheets tab and click one of the category names in the middle.
Sheets page updates the view automatically when a match ends if the menu selection Preferences → Automatic Sheet Update is checked.
Click Results → Print All (Web and PDF) to create a results web page. Category sheets are printed in PDF format, too.
Before creating the results you have a possibility to add categories from other databases by selecting Competitors → Select From Another Shiai. Double click the desired categories and they are added to the current database.
Online Results
Real time results is a nice service. You need an extra computer for the audience, network, and an HTTP server software. The following Windows example utilizes a free Abyss Web Server.
- Install the server. The default place for the HTTP documents is ”C:\Abyss Web Server\htdocs”.
- In JudoShiai program click Results → Print All and select the folder above.
- Also check the box Automatic Web Page Update.
That's it. Now find out the IP address of the JudoShiai laptop (Preferences → Communication → Own IP Addresses) and make a connection from the audience's computer.
Hint: Put Internet Explorer to a kiosk mode by starting it from the command line with the option -k. Example:
C:\Program Files\Internet Explorer\iexplore -k http://192.168.0.123/
Replace the example address with the real address.
Results → Print All has some options:
After the competition you should check Create Statistics. It finishes the database, too.
Extra Links enable creating temporary links to the results page:
Here clicking Info opens a new page showing what ever is visible in http:%%//%%judoshiai.org.
IMPORTANT is a link to a local text file in the results directory. Its content is shown embedded as in the picture above. Name can have HTML code. The example has the following Name text:
<span style=”color:red”>IMPORTANT</span>
You can use colors, bold text, etc. The whole generated HTML code is:
<a href=”important.txt”><span style=”color:red”>IMPORTANT</span></a>
Upload Results to a Server
People can follow the results outside of the competition venue if you upload the results to a server in the Internet. It is possible to use an external program, but JudoShiai supports data uploading, too. Available protocols are FTP and SFTP.
First print all the results to a directory. To configure upload click Results → Copy to Server. The following window opens:
In the example upload URL is sftp://judoshiai.org/files. Port number 0 means the default port. User and password are the credentials required for the connection. You can also use key files, if you have those (please Google ssh for more information).
It may not be clear what the correct URL is. Use a command line ftp or sftp client. Make a connection to the destination server. Go to the desired directory. Type pwd to find out where you are.
sftp mylogin@myserver.com
<give password>
Connected to myserver.com
sftp> cd uploads (just an example)
sftp> pwd
Remote working directory: /srv/uploads
sftp> bye
The correct url is sftp://myserver.com/srv/uploads
To start uploading click the check box Copy to Server. Window doesn’t close but you will see file names that are copied and possible error code. Click Close to destroy the window. Copying continues in the background until you open the window again and uncheck the copy box.
There are static directories that do not need to be updated. However, if you suspect that the directories are not properly uploaded check the Force checkbox. Log checkbox enables log printing on the right. There you can see possible errors. Also a log file is created that you can check afterwards. Its name is judoftp_<DATE>.log.
In Linux the file is in /home/mylogin/.local/share
and in Windows C:\Users\mylogin\AppData\Local
Windows AppData forder may be hidden.
Club Name Abbreviations and Hometowns
Result sheets may become messy and the texts may overlap with each other if the full club names are used. On the other hand club's hometown would be nice information at least in the result listings. JudoShiai's installation folder contains a directory etc with a file clubs-example.txt (e.g. C:\Program Files\JudoShiai\etc\clubs-example.txt). The file is composed of lines of club names. It is used to enable the automatic club name completion. In addition the line can have also an abbreviation of the club name separated by a '=' and a hometown separated by a '>'. Use the example file and create your own clubs.txt file (name is fixed). Examples:
- Chikara=CHI>Helsinki
The sheets will use the abbreviation CHI and the result listings will include the hometown Helsinki.
- Cambridge Judo=CAM
The sheets will use the abbreviation CAM, but no hometown is listed since it is visible in the club's name anyway.
Club Names and Countries
Competitor information can have both a club name and a country. However, it is not always desirable to show both. Country may be used only for drawing to indicate a special region (North, West), but it is not intended to be shown. Usually medal statistics is wanted only by country. There is a menu selection Preferences → Club Text Selection → Club Name Only/Country Name Only/Both Club and Country which you can use to set your preferable outlook. The selection affects to many things, like weigh-in notes, sheets, and information sent to the JudoTimers and JudoInfos. You might have to change the setting depending on what you are doing next.
General Data Protection Regulation
The EU General Data Protection Regulation (GDPR) was designed to harmonize data privacy laws across Europe, to protect and empower all EU citizens data privacy and to reshape the way organizations across the region approach data privacy (https://www.eugdpr.org/).
It is not clear what GDPR really means in practice, but JudoShiai tries to have a guess. You may exclude kids’ categories from the results. Click Results → GDPR and fill in an age to the entry Hide category if age less than. You can also set an age to entry Hide name if age less than. This will change young competitor’s name and club to Xxx’s.
Competitor’s data has a new check box Hide name. This is intended to be used if competitor later demands that his/hers name must be removed from the results. Name will be changed to Xxx’s. Yes, insane, and not clear if this is something that should be done in real life.
Matches
Matches are on sheets Tatami 1, Tatami 2 etc.
On the left, there is a group number and the weight categories belonging to it. Below a category header there are all the matches of that category. Next fights are displayed above the listings. The same information is sent also to the JudoTimers.
Green color in the Comment field indicates that the match has been done or it is not necessary to fight it in the first place (hansku-make). Yellow color tells that the position of the match has been frozen (tatami and/or match order is non-default). Usually matches are unfrozen (floating) so that it is possible to reorder the fights to prevent delays caused by mandatory rest times.
You can correct or otherwise set the result manually by right clicking the white or blue points. Select Clear to cancel the match. In the picture below the contestant is going to score a waza-ari and a shido. GS indicates that the result is from golden score (may affect to points calculation). Hantei (still used sometimes in children’s competitions) determines the winner.
Situation is updated in real time. Sheets page is composed of three parts:
- Competition bracket.
- List of categories.
- Next fights.
Click category name to show the relevant bracket. Sheet of the last finished fight is displayed automatically if the menu selection Preferences → Automatic Sheet Update is checked. You can set the match result by clicking the numbers next to the matches. The yellow cross on black background is used to cancel the previous result.
JudoShiai program selects the next match automatically, but you can affect to the match order by right clicking the Comment field on the Tatami sheets. You have the following selections:
- Next match: This will be the next match. Program will select the match after this one.
- Preparing: This will be the second match in the list.
- Delay the match: Match will be delay for an undetermined time. JudoShiai suggest other matches next, if possible.
- Remove comment: Remove any of the settings above. If you remove the Next match comment the first and second matches switch places.
One way to delay a whole category is to move it temporarily to tatami 0.
Controlling the Matches
You have seen a couple of ways to control the competition, but two other sheets enables an easier way. Categories sheet is illustrated below:
Categories are displayed by tatami. Color codes have the following meaning:
- White: Category has not been drawn.
- Yellow: Category has been drawn, but no fights have finished.
- Green/orange: Finished matches/matches left.
Number of matches left is shown in brackets for each tatami. Length of the rectangle representing the category is proportional to the number of matches left in that category, i.e. the rectangle shrinks as the contest progresses. The blue line separates the groups from each other. The time on the blue background is an estimate of the end time of the group's last match. An anchor symbol marks the category who's match is starting or ongoing. You cannot move that category.
You can move the category by left clicking it and dragging it to another place. You may change both tatami and group. One way to delay a category is to drag it to the left (column Unlocated) or to an unused extra tatami. You may want to delay a category if there is something to correct or if you want to delay all the medal matches.
Although the anchor prevents the moving of the category on this sheet it is possible to do on the Competitors sheet, but be careful.
You can see the next matches on the Matches sheet:
On the left is a list of delayed fights. You may want to run the medal matches later. At the top of the Tatami column is the winner of the previous fight. The name shows up after a match on yellow background. You can click the cell to turn the color green. The announcer can utilize the colors as a “sticky note” reminder.
Below the winner name is information about the next matches. The first two matches are automatically frozen, but from the third fight on their position may change if Automatic Match Delay has been selected. Reason for possible rearrangement is shown using two colors:
- Red means that the competitor already has a match or preparation ongoing for another category (for example cadet fights also in juniors).
- Blue means that competitor should have more rest time.
The colors are updated only after a match is finished and their purpose is just to give a hint why some match may be delayed.
By right clicking the match you can force it the first (Next match) or second (Preparing) on the list, or delay it (Delay the match). Remove delay clears the previous settings.
You can drag'n'drop one match to a selected place (another tatami or position in the match queue). It is possible to freeze the first ten matches at once, too. All the freezed matches are done before the other matches on that tatami. Freezed matches have a yellow background. Right click the match to pop up the following menu selections:
- Freeze match order: Match order of the ten first matches is frozen.
- Unfreeze exported: Unfreeze matches that has been dragged to another contest area back to this “home” tatami.
- Unfreeze imported: Unfreeze matches that has been dragged to this contest area back to their original “home” tatami.
- Unfreeze this: Unfreeze this match.
Automatic Match Delay
In official tournaments fights have their defined order without any deviations. This may lead to rest times, waiting, and empty contest areas. However, in national lower level tournaments the protocols are more flexible and if the number of contestants is high it may be better to arrange the matches so that the waiting times are minimized. Also there may be conflicting fights at the same time if a competitor is allowed to participate in two categories.
JudoShiai keeps track of the old and coming matches. This information is utilized if the menu selection Preferences → Automatic Match Delay is turned on. Competitor's matches are delayed if necessary to avoid waitings caused by the rest times.
The disadvantage is that also JudoInfo shows the changes in the match order which can get the audience confused.
Team Events
Team event is a special type of competition. Although IJF rules are clear there are national differences. For example it is not necessary to have a competitor for a certain weight class. If both teams miss a competitor in the same weight class the match result is a draw, hiki-wake (in JudoTimer use hiki-wake).
Instructions for team events:
Select your rule options in Tournament → Properties → Team event.
Make up a name for your event. We use here “TeamCompetition”.
Create a new tournament.
Create a new Team event: Click Categories → New Team Category. Fill in the name “TeamCompetition”.
Click OK. Category editor appears that suggest some default values. Edit as necessary:
Gender selection is not important but Highest age must be 1. You can copy existing weight class definitions by selecting from the list left to the Copy button.
Click OK. Next you can create teams:
Fill in the team name. It will be copied to all the Last Name boxes:
You can leave it as is, but if you know the players why not fill in their names:
Finally, click the New button. The form is not cleaned but you should edit the data for the next team and again click the New button:
When all the teams are done click the Cancel button. Competitors view will look like this:
You can modify and add data:
- Double click the TeamCompetition category.
- Click the Edit button to run through the previous forms.
- You can also double click members of a team and edit their data. Note: Do not change the Reg. Category, Category, or Club fields! Those are used to relate a competitor to a certain team and weight class.
To create a new team member:
- Create a new competitor as usual.
- Set Club and Category to the team name, for example Ippon Club.
Make drawing. You should see a normal sheet.
Move category on some tatami if not yet done so. (BUG: all matches may not be visible on Tatami tab! Restart JudoShiai or draw another category to fix the display.)
Matches are shown like this:
Match number consists of two parts
- match number as seen in bracket sheet
- weight class
JudoTimer has an option Hikiwake. This is for occasions when two teams do not have a competitor in the same weight class.
You can see all the matches of a category by clicking Matches on the bottom of the sheet (scroll down) after creating results with statistics.
Matches are displayed:
A team may have different players in some matches. If you want to have the correct names visible it is possible to set the names match by match. Open the Tatami tab. Find the match and right click the competitor's name (columns White and Blue). A search dialogue will appear. Write a few letters from the competitor's last name:
Select name and the old name will be replaced by the real competitor.
JudoTimer
JudoTimer is a scoreboard and timer program that you can use as a standalone application or together with the JudoShiai. In the picture below JudoTimer has received information about the next matches. Contestants and the weight category are shown.
Automatic Rest Time
JudoShiai communicates the possible rest time when needed. The clock starts to count down using red numbers. Also name of the competitor is shown.
New Match
Choose an option from the Contest menu to start a new match.
Key | Menu option | Function |
0 | automatic | Contest duration from the JudoShiai program |
1 | 2 min (short pin times) | Contest time is 2 min with short osaekomi times |
2 | 2 min | Contest time is 2 min |
3 | 3 min | Contest time is 3 min |
4 | 4 min | Contest time is 4 min |
5 | 5 min | Contest time is 5 min |
9 | Golden Score | Menu for the golden score time |
Golden Score
JudoTimer will suggest the golden score itself. However, you can select it also from the Contest menu. In the pop-up menu there are times from one minute to five minutes and the automatic setting from the JudoShiai program.
Hantei
In case of referee voting you have to tell the result by choosing the Contest menu option Hantei: Blue Wins or Hantei: White Wins.
Hansoku-make
Hansoku-make in JudoTimer gives the winner 10 points. Competitor can continue in the tournament. Note: Hansoku-make in JudoShiai disqualifies competitor and he/she cannot continue the tournament.
Clocks and Scoreboard
You can control clocks and scoreboard by using both the keyboard and mouse.
Shiai clock start/stop: | Click the shiai clock numbers or press the space bar. |
Osaekomi clock start/stop: | Click the osaekomi clock numbers or press the Enter key. |
Sonomama/yoshi: | Click the ”SONOMAMA” text or press the 's' key. To start the clocks redo the previous or click the shiai or osaekomi clocks. |
Scoring: | Click the scoreboard number or use the keys: |
Remove score: | Remove a score by - holding down the shift key while clicking or pressing a function key; or - right-clicking the scoreboard. |
Osaekomi scores: | After the osaekomi clock has been started you have to tell who is scoring. Click the blue or white area to the right of the osaekomi clock or press the up or down-key. The program adds the ippon automatically to the scoreboard and stops the clocks. Otherwise the points flash on the display and you have to give them manually by clicking the scoreboard or using the arrow keys. |
Preferences
You can change the looks and functionality of the program from the Preferences menu.
Menu option | Function |
Red Background | Change blue scoreboard background red. |
Full Screen Mode | Display fills the whole screen. |
2017 Rules | Use 2017 rules. |
2018 Rules | Use the latest rules. |
Stop Clock on Ippon | Soremade ends the fight and stops the clock, not the ippon. Check this if you want ippon automatically stop the clock. |
Confirm New Match | Confirmation for a new fight is asked in suspicious cases. Check this if you always want a confirmation question. |
No SOREMADE/ IPPON texts | No notification texts after ippon or the time ends. |
Show Competitors | Show names of the competitors at the beginning of a new fight. You may design your own layout by using SVG outline|files. |
Display Layout | There are many possibilities to choose the display layout. You can create your own layout by editing a text file. Please see appendix X. |
Name Format | Select how competitor's name should appear. |
Contest Area | When communicating with the JudoShiai the program must know on which contest area it is used. |
Communication Node | Normal usage: Set the address of the JudoShiai program. Usage as a slave: Set the address of the master JudoShiai program. Note: IP address 0.0.0.0 makes programs find the correct address themselves. |
Own IP Addresses | Check IP addresses of this computer. |
Video Server | Set address for a MJPEG video server. |
Set Time | Correct the clocks either by one second at a time or everything at once. Works only when the clocks are not running. |
Mode | You can create a master/slave pair to have two displays. Use master in the operated JudoTimer and slave in the other. |
Advertise | Select a folder containing PNG and GIF picture files. When a match starts one of the pictures is shown on the display for a couple of seconds. |
Sound | Select a sound file to play on certain occasions (soremade, ippon). |
Log File
JudoTimer writes events to a log file. Log file name has the format
judotimer_yyyymmdd_hhmmss.log
In Windows it is located in the folder
C:\Users\username\AppData\Local
In Linux it is located in the directory
/home/username/.local/share/
A new log file is created every time JudoTimer is started. The file looks as follows:
13:30:42 [-:–] <10002-03> Automatic next match 10003:1 (Heimo LUMME, Otalammen Judokat - Kristoffer ALA-KUJALA, Yukolan judoseura)
13:30:44 [3:00] <10003-01> MATCH START: CP-50: Heimo LUMME, Otalammen Judokat - Kristoffer ALA-KUJALA, Yukolan judoseura
13:30:44 [3:00] <10003-01> Shiai clock start
13:30:47 [2:56] <10003-01> Ippon to blue: IWYKS = 10000 - 00000
13:30:47 [2:56] <10003-01> CP-50: Heimo LUMME, Otalammen Judokat wins by 3,190000 s Ippon)!
13:30:47 [2:56] <10003-01> CP-50: Heimo LUMME, Otalammen Judokat wins by 3,190000 s Ippon)!
13:30:49 [2:55] <10003-01> Shiai clock stop
13:30:49 [2:55] <10003-01> CP-50: Heimo LUMME, Otalammen Judokat wins by 4,897000 s Ippon)!
13:30:51 [-:–] <10003-01> Automatic next match 10003:2 (Teemu NIEMELÄ, Otalammen Judokat - Volodymyr GULBANI, Salmen Judokat)
13:30:54 [3:00] <10003-02> MATCH START: CP-50: Teemu NIEMELÄ, Otalammen Judokat - Volodymyr GULBANI, Salmen Judokat
13:30:54 [3:00] <10003-02> Shiai clock start
13:30:56 [2:57] <10003-02> Osaekomi clock start
13:31:13 [2:40] <10003-02> Osaekomi clock stop after 16,958000 s
13:31:16 [2:38] <10003-02> Shiai clock stop
13:31:17 [2:37] <10003-02> Osaekomi score to white: IWYKS = 00000 - 00100
13:31:20 [2:37] <10003-02> Shiai clock start
13:31:28 [2:30] <10003-02> Shido to white: IWYKS = 00000 - 00101
13:31:30 [2:27] <10003-02> Shido to white: IWYKS = 00100 - 00102
13:31:34 [2:23] <10003-02> Ippon to white: IWYKS = 00100 - 10102
13:31:34 [2:23] <10003-02> CP-50: Volodymyr GULBANI, Salmen Judokat wins by 36,426000 s Ippon)!
13:31:34 [2:23] <10003-02> CP-50: Volodymyr GULBANI, Salmen Judokat wins by 36,426000 s Ippon)!
13:31:35 [2:22] <10003-02> Shiai clock stop
13:31:35 [2:22] <10003-02> CP-50: Volodymyr GULBANI, Salmen Judokat wins by 37,497000 s Ippon)!
13:31:39 [-:–] <10003-02> Automatic next match 10004:3 (Staffan NYBERG, Salmen Judokat - Erkki ELORANTA, Salmen Judokat)
At first there is the real time and then the remaining shiai time. Next there is the category code and the match number. At the end there is the event description.
Web version
Open web JudoTimer using URL //http:%%//%%IP_ADDR:8088///. Click the JudoTimer icon.
Web version of JudoTimer has some features that makes it suitable to be used as a slave. You can have all the configuration in a file in JudoShiai computer. Name of the file is in the URL. Format for the URL:
//http:%%//%%IP_ADDR:8088/web/timer/#/////config=////FILE_NAME//
Location of the FILE_NAME in the JudoShiai computer:
JudoShiai/etc/web/timer/assets/assets/config/FILE_NAME
There is an example file t2s.txt. Open URL //http:%%//%%IP_ADDR:8088/web/timer/#/////config=////t2s.txt//
Read documentation in JudoShiai/etc/web/timer/assets/assets/config/t2s.txt. To create your own configurations follow these steps:
- Make a copy of JudoShiai/etc/web/timer/assets/assets/timer-custom.txt for normal display lauout or JudoShiai/etc/web/timer/assets/assets/timer-tv-logo.txt for video streaming.
- Rename your copy for example like this:
- t1m.txt = tatami 1 master
- t1s.txt = tatami 1 slave
- t2m.txt = tatami 2 master
- etc.
- Put copy to the directory JudoShiai/etc/web/timer/assets/assets/config/.
- Edit the copy. Notice the last lines starting with number 106. Those are preferences.
- If you are using timer in slave mode change line “106 masterip=127.0.0.1”. It has IP address of the master JudoTimer. Also turn slave mode on (line “106 modeslave=true”).
- Check that tatami number is correct (line “106 tatami=2”).
- You can have a background picture. It can have any name. Put it into the directory JudoShiai/etc/web/timer/assets/assets/config/myimage.png. Set image in the configuration file: “105 config/myimage.png”. Notice the number 105.
OBS Studio
T2s.txt contains example configuration for tatami 2 slave timer suitable for video streaming. This can be used for example in OBS Studio video recording and live streaming software.
In OBS add source Browser and set its properties (select width, height, and FPS to suit your taste):
- URL: http://IP_ADDR:8088/web/timer/#/config=t2s.txt
- Width: 480
- Height: 126
There are two files for the example:
- JudoShiai/etc/web/timer/assets/assets/config/t2s.txt contains configuration.
- JudoShiai/etc/web/timer/assets/assets/config/myvideologo.png is a background picture for the JudoTimer.
The background picture is an edited copy of JudoShiai/etc/web/timer/assets/assets/timer-tv-logo.png. User logo has been added on top of the default picture.
JudoInfo
JudoInfo lists the match order. It is useful for the contestants, audience, and the announcer.
Winner of the previous match is at the top. It will appear with yellow background, but the announcer can click it green.
In addition to the contestant names and weight category there are also information about the start of the category, round number, medal matches, and rest time.
It is possible to show the bracket of the ongoing contest if only one tatami is shown. Current match is highlighted. If you are using SVG templates you can define the highlight style yourself.
JudoWeight
JudoWeight enables remote weigh-in. You may connect a scale to the laptop using a serial interface. A barcode scanner is useful to speed up the weigh-in.
First you want to have accreditation cards or weigh-in cards with a barcode. The default card is below:
You can make your own customized cards. Please see appendix 1 for further information. JudoWeight can print customized weight labels (stickers) that can be attached on accreditation cards. Please see appendix 4.
You may write the weight manually after the “Weight:” if you do not use sticker printing. All the weights go to a log file, just in case.
Open the JudoWeight and create connection to the database:
ID is the competitor's internal ID in the database (125 in the example) or a manually given ID. When you scan the barcode or type the ID number manually JudoWeight will show competitor's current data:
If a scale is connected the weight will appear on the button right to the Weight field. Click button to copy the value to the Weight field, otherwise type the weight manually. Click OK to send the weight to the database. Database will confirm the action by showing the updated data at the last row:
Competitor is too heavy for Men-90 so his new category is shown red. Input is focused to the ID field for the next competitor.
Corrected value means you have calibrated the scale and you use a correction table. Real weight is calculated from the displayed value by using the correction table. Corrected value is sent to the database. If you do not use correction table the weights are the same.
Control can have three values:
- ? (unknown)
- OK
- NOK
These values can be used for any purpose. OK makes competitor's surname appear green while NOK makes the name red. Colors can be used to pay attention for any reason.
Before using the scale interface you have to set the preferences correctly. Select Preferences → Scale Serial Interface… and the following window appears:
Check your scale manual for the correct baudrate and scale type. Also check the In Use box (it is better to leave the box unchecked if you do not have the proper hardware in your computer). Your scale type may not be supported, but please try the existing types anyway. It is possible to have your scale supported in the next software release if you can provide the protocol specifications.
Scale calibration
Your scale may show wrong values. If the value changes for the same load it is better to get rid of that scale. However, if the repeatability is fine you just need to calibrate your scale and create a correction table. Click Preferences → Scale Correction Table… to open an editable table:
The first column contains weight of the real load, next column shows what the scale displays. The third column shows the difference to the correct value. In the example an empty scale displays 200 grams and 100 kg load displays 100.2 kg. Next charts have examples of measurement errors:
In chart A the scale displays the loads correctly. A 40 kg load will display 40 kg. No correction is needed.
In chart B the scale has a constant 200 grams offset. 40 kg load will display 40.2 kg. Correction table needs one calibration point:
Actually JudoWeight will add also another point (100, 100.20) for its internal use.
In chart C the slope is wrong. Although empty scale displays zero the error becomes bigger when the load gets heavier. For example 40 kg will display 42 kg. You need two calibration points:
The error can also be a combination of the B and C. Chart D shows an exaggerated more complicated error curve (blue line). You can estimate that by dividing it to segments (green line). Segment ends are the calibration points. Here calibration is done using four points: 0, 30, 50, and 70 kg:
Usually two calibration points should be enough, empty scale reading and some heavy load reading. If the competitor weights more than the heaviest calibration point correct value will be extrapolated.
JudoJudogi
It is possible to have a centralized judogi control point before the competitors are allowed to the contest areas. JudoJudogi helps to keep track on competitor's judogi status:
- Scan competitor's ID
- JudoJudogi will tell if there are no fights for the competitor soon
- Otherwise you can click OK or NOK if the judogi passes or fails.
- Competitor's name will show green or red. Reg is also emphasized by a diagonal line over the name.
JudoJudogi doesn't affect anything; it is rather a notepad for the gate keeper.
JudoHttpd
JudoHttpd is a web server that can be used to edit and create competitors with your browser. Also it works like JudoInfo.
FAQ
How do I make a backup of the tournament data?
All the information is in one ordinary file with an extension shi. Copy it as any other file. JudoShiai has also a menu selection for automatic backup.
Why does the shiai clock keep running when a player scores ippon?
The referee in the middle may announce ippon but the referees in the corners may overrule the judgment. The match ends when the referee announces soremade. It is possible to change the behavior in the Preferences menu.
Player's names on the JudoTimer display are too small. Cannot they be larger?
Display is a compromise between different needs. Clocks and scoreboard must be well visible so their font cannot be smaller. There is not too much space available if you want to have first name, family name, club and/or country visible, too. It is encouraged to use the JudoInfo to at least partly solve the problem.
Is it feasible to use wireless networks?
It depends. Please read the blog https://sourceforge.net/apps/wordpress/judoshiai/2010/02/05/wireless-networks/
Is it possible to browse or change the database without JudoShiai program?
Yes, it is. The dabase is based on SQLite (http:%%//%%www.sqlite.org). There are lots of instructions and software available. For example Sqliteman is a free program.
Windows
Communication between JudoShiai and JudoTimer doesn't work.
Most probably JudoShiai doesn't accept connections to the port 2310. Log in as an administrator. Disable the firewall. Check that the computer has an IP address.
Linux
Communication between JudoShiai and JudoTimer doesn't work.
Linux uses iptables concept to control the traffic. Your rule base most probably prevent communication. You can get rid of the rules by giving the following command:
sudo iptables -F
or
sudo /etc/init.d/iptables stop
APPENDIX 1
Accreditation Card Customization
It is possible to customize accreditation cards for different purposes like weigh-in notes or diplomas. You have to create a text file that describes the wanted layout.
Template file is composed of lines. A line starting with a hash mark is a comment, otherwise it is a data line. Data belongs to one of the following categories:
- general settings
- attributes
- texts and pictures
Example:
# This is a comment
General settings
Card size is the size of the printed note in mm. As many as possible cards are fitted on one A4 page unless overruled otherwise.
Example:
cardsize 105 59.4
Page geometry is a better way to tell how many cards you want on one page. Printer marginals are taken into the considiration. The following line is the default and can be left out (2 columns, 5 rows).
pagegeom 2 5
Background picture can be used. Only PNG files are supported. Picture is resized to the notesize. Example:
background C:\Pictures\MyBackground.png
Note is surrounded by a border. You can set the border line width. Line width 0 means no border. Example:
border 1
It is possible to print medal winners only. The following line prints gold, silver, and bronze medalists:
winners 1 2 3
Positions 1 – 7 are valid. Note! You must print the results with the statistics first, since that saves the position information to the database!
There are a couple of basic printing orders:
- If medal winners are printed the order is by category and position.
- Otherwise order is by country, club, last name, and first name.
If any other order is wanted it can be set by the keyword order. After the order list all the table column names that are used for sorting.
Optionally use word asc or desc for ascending or descending sort order. asc and desc can be inserted before any column name and it affects till the next asc or desc.
Available database table column names are:
index, last, first, club, country, regcategory, category, weight, birthyear, belt, id, coachid, seeding, clubseeding, comment.
Examples:
Sort by category, last name and first name in ascending order:
order category last first
Sort by category, last name and first name all in descending order:
order desc category last first
Sort by category in descending order and then by last name and first name in ascending order:
order desc category asc last first
Attributes
Attribute lines describe how the text should look like. Their values are valid until replaced by another attribute line.
Font should be something that is supported by your system. The deafult is Arial.
font Arial
Default font size is 12:
fontsize 12
Text can be bold and/or italic:
fontweight normal
fontweight bold
fontslant normal
fontslant italic
Text can be aligned left, center, or right. Left is the default:
align left
Font color is described by three numbers from 0.0 to 1.0. Numbers indicate the amount of red, green and blue. The default is black. Examples:
White:
color 1.0 1.0 1.0
Black:
color 0 0 0
Blue:
color 0 0 1.0
Grey:
color 0.5 0.5 0.5
Text uses the current attribute values. A text line contains also text's position (mm) and angle (degrees). Position is expressed by two numbers telling the text's distance from the card's left and top sides. The distance is measured to the left bottom corner of the first letter. Example text starting 15 mm from the left and 30 mm from the top:
text 15.0 30.0 0.0 This is sample text
Vertical text from bottom up:
text 55 77 90.0 This text is rotated 90 degrees counter-clockwise.
Text going down in 45 degree angle:
text 10 20 -45 Going downhill…
All the text after the angle is printed to the end of line.
A picture can be inserted anywhere inside the note sheet. The picture line contains the position, size, angle, and path to a PNG file.
picture 10 20 10 6 0 C:\Pictures\MyFlag.png
The position (10 20) is the place for the top left corner of the picture (mm). Picture will be resized to 10×6 mm. Angle is 0. In the end of the line is the file name of the picture.
Both text and picture file name can contain special strings that are substituted by their real values. For example the following line would write competitors name:
text 10 20 0 Competitor: %LAST%, %FIRST%
The note would have text “Competitor: Smith, John” and the next note could read “Competitor: Jones, Sarah”, etc.
The special strings are:
%REGCATEGORY% | Name of the category the competitor registered. |
%REALCATEGORY% | Name of the category the competitor really participates. |
%LAST% | Last name. |
%FIRST% | First name. |
%CLUB% | Name of the club. |
%COUNTRY% | Name of the country. |
%CLUBCOUNTRY% | Club and country combined (result depends on the settings). |
%INDEX% | Internal database index. |
%BARCODE% | This is not text but a barcode presentation of the INDEX. |
%WEIGHT% | Competitor's weight. |
%YOB% | Competitor's year of birth. |
%GRADE% | Competitor's grade (belt). |
%ID% | Competitor's ID. |
%ID-BARCODE% | Competitor's ID printed as barcode 39. Supported characters are numbers, uppercase characters A-Z, and special characters '-', '.', '$', '/', '+', '%', and space. |
%ID-BARCODE-EXT% | Competitor's ID printed as extended barcode 39. All the 7-bit ASCII characters are supported. Barcode reader must be set for the extended mode. UTF-8 is not supported. |
%WEIGHTTEXT% | Text “Weight” in selected language. |
%WINPOS% | Competitor's position in Arabic numerals (1-7). Note! You must print the results first! |
%WINPOSR% | Competitor's position in Roman numerals (I-VII). |
%COMPETITION% | Name of the tournament. |
%DATE% | Date as in the properties. |
%PLACE% | Place as in the properties. |
Picture file name can also contain the special strings. The following line inserts the flag of the competitor's country rotated 45 degrees:
picture 10 30 10 6 45 C:\Pictures\Flags\%COUNTRY%.png
(The flags are not included in the JudoShiai software)
Next is the default template for the weigh-in notes (so there is no real use for it):
cardsize 115 59.4
fontslant normal
fontweight bold
font Arial
fontsize 12
color 0.0 0.0 0.0
text 22.0 15.0 0 %REGCATEGORY%
text 36.0 15.0 0 %CLUBCOUNTRY%
text 22.0 23.0 0 %LAST%, %FIRST%
text 60.0 44.0 0 %INDEX%
text 55.0 34.0 0 %BARCODE%
text 22.0 30.0 0 %WEIGHTTEXT%
Result is depicted below:
APPENDIX 2
JudoTimer Display Layout Customization
You can use text file to customize the JudoTimer display layout. Two example files are provided in JudoShiai/etc directory: timer-custom.txt and timer-tv-logo.txt. Note! The files will be overwritten when you install a new JudoShiai version. Take copies and edit those.
The file consists of text lines. Each line describes one label (letter, text, number) or special data. Label lines have 14 values (columns) separated by spaces. Lines beginning with a hash mark (#) are comments. Number of special data line values depend on the data.
X and Y coordinates can have values 0.0 – 1.0. Upper left corner has coordinates 0.0, 0.0, upper right is 1.0, 0.0, lower right is 1.0, 1.0.
Width and height can have values 0.0 – 1.0. 1.0 means the full width or height of the window.
Colors can have values 0.0 – 1.0 (black to full intensity). Many times negative red color means transparency. Note! Transparency is fully supported in Linux only. Also transparency depends on the display adapter.
Meanings of the label line columns are described in the following table:
1 | Number of the label. Do not change. |
2 | X coordinate of the label's upper left corner 0.0 - 1.0 (left to right). |
3 | Y coordinate 0.0 - 1.0 (top to bottom). |
4 | Width of the label 0.0 - 1.0. Width = 0 means label is not displayed. |
5 | Height of the label 0.0 - 1.0. |
6 | Size of the text. 0 means automatic adjustment, otherwise text size is this value multiplied by height of the label. For example size = 0.6 means text height is 60% of the label height. |
7 | Horizontal alignment of the text: -1 = align left, 0 = center, 1 = align right. |
8 | Foreground color, red component (0.0 - 1.0). |
9 | Foreground color, green component (0.0 - 1.0). |
10 | Foreground color, blue component (0.0 - 1.0). |
11 | Background color, red component (0.0 - 1.0). Negative value means transparent background. |
12 | Background color, green component (0.0 - 1.0). |
13 | Background color, blue component (0.0 - 1.0). |
14 | Wrap too long text: 0 = no wrap. 1 = wrap. |
Label numbers define the following 37 items:
0 | Name of the first player |
1 | Name of the second player |
2 | Name of the preparing first player |
3 | Name of the preparing second player |
4 | Club name of the first player |
5 | Club name of the second player |
6 | Text “Match:” |
7 | Text “Next:” |
8 | Letter “I” |
9 | Letter “W” |
10 | Letter “Y” |
11 | Letter “S” |
12 | Padding for any use |
13 | Text “Sonomama” |
14 | Ippon score for the first player |
15 | Waza-ari score for the first player |
16 | Yuko scores for the first player |
17 | Shidos for the first player |
18 | Ippon score for the second player |
19 | Waza-ari score for the second player |
20 | Yuko scores for the second player |
21 | Shidos for the second player |
22 | Contest clock minutes |
23 | Contest clock colon |
24 | Contest clock tens of seconds |
25 | Contest clock seconds |
26 | Osaekomi clock tens of seconds |
27 | Osaekomi clock seconds |
28 | Osaekomi score, a letter |
29 | White area to click during osaekomi |
30 | Blue area to click during osaekomi |
31 | Comment text (e.g. “Points going to blue”) |
32 | Category name for the ongoing fight |
33 | Category name for the following fight |
34 | Golden score text |
35 | Flag of the first competitor's country |
36 | Flag of the second competitor's country |
Special data lines are described in the following table column by column:
100 | Screen background color. This is useful if texts do not cover all the areas. | |
2 | Red component (0.0 – 1.0, -1.0 means transparent) | |
3 | Green component (0.0 – 1.0) | |
4 | Blue component (0.0 – 1.0) | |
101 | Clock foreground run and stop colors, and background color. | |
2, 3, 4 | Run color (red, green, blue). | |
5, 6, 7 | Stop color. | |
8, 9, 10 | Background color (negative red = transparent). | |
102 | Clock foreground run and stop colors, and background color. | |
2, 3, 4 | Run color (red, green, blue). | |
5, 6, 7 | Stop color. | |
8, 9, 10 | Background color (negative red = transparent). | |
103 | Miscellaneous settings. | |
2 | Hide clock if osakomi clock runs. This makes possible to use the same space for both clocks (0 = no hide, 1 = hide). | |
3 | Hide frames and menu (1 = hide). Press ctl-M to show frames and menu. | |
4 | Do not show shidos if there aren't any (0 = show, 1 = don't show number, 2 = don't show background, 3 = show nothing). | |
5 | Put timer to slave mode (0 = normal, 1 = slave mode). Handy if you want a TV logo. | |
104 | Window layout. This useful for TV logos. Some window managers ignore requests for initial window positions so x and y values may have no impact. | |
2 | X position in pixels (0 – screen width). | |
3 | Y position (0 – screen height). | |
4 | JudoTimer window width in pixels. | |
5 | JudoTimer window height. | |
105 | Background picture. Picture will fill transparent areas. | |
2 | Path to a PNG picture, for example C:\Pictures\logo.png. If picture is relative to the JudoShiai installation directory you can use two dots for the JudoShiai directory. For example timer-tv-logo.txt is here: ../etc/png/timer-tv-logo.png |
|
106 | 2 | JudoTimer preference line. Lines have format 106 option_name=option_value For example: Do not use year 2017 rules: 106 rules2017=false Select font: 106 displayfont=Arial Bold List of preferences is in timer-custom.txt example file. To find correct values: Manually set the preferences, quit JudoTimer, and find file judotimer.ini. It contains preference lines. Pick a line and insert number 106 in the beginning. This is handy way of having preferences per category class and eliminate human errors. |
JudoShiai includes example files with comments. For example line
4 0.0 0.3 0.721 0.1 0 -1 0.0 0.0 0.0 0.0 0.0 1.0 0
tells that
- label is club name of the first competitor (4)
- is positioned left and 30 % down from the screen top (0.0 0.3)
- is 72.1 % wide and 10 % high compared to the screen size (0.721 0.1)
- has the default font size (0)
- is aligned left (-1)
- has black foreground color (0.0 0.0 0.0)
- has blue background color (0.0 0.0 1.0)
- has no long text wrapping (0)
Customized mode is activated from the JudoTimer menu Preferences → Display Layout → Display Customized Layout. Custom file is selected from Preferences → Display Layout → Custom layout file.
Example
We want to make a layout for video streamer (see Appendix Video Stream Setup). JudoTimer will run in slave mode, but it should look different than the master clock. It would be nice to have a fancy looking background. It is not necessary to show both clocks if there is no osaekomi. To save space the clocks should be overlapping. Also shidos should be hidden if there is none.
There is a ready made example in JudoShiai/etc directory:
- timer-tv-logo.txt: text file with layout information
- timer-tv-logo.png: PNG file for the background.
Our PNG picture looks like this:
There are white and blue backgrounds for the competitor names. Dark gray background is for the scores. Clocks are in the top right corner. Square area on the left is used for a possible logo.
Timer-tv-logo.txt file is edited so that the names, scores, and clocks are positioned and sized properly. All the label backgrounds are transparent to show the background picture. When osaekomi starts shiai clock is not drawn any more.
Result will look like this:
APPENDIX 3
Draw Algorithm
Drawing utilizes a random number generator that is seeded with a start time (http://linux.die.net/man/2/time, http://linux.die.net/man/3/rand).
Choosing Contestants for the Drawing
Choose a random position in the competitors list. Go through the list until a competitor fulfilling the criteria is found. The competitors are selected in the following order:
- Seeded starting from the 1st seeded.
- Competitors from the same club/country than the seeded starting from the 1st seeded's club/country.
- Those competitors whose club/country has the most participants. If there is equal amount of participants club/country is selected randomly.
The third point is because it is easier to draw the competitors as far as possible from the other competitors from the same club or country.
Double Knockout
In double knockout systems the sheet is divided into two half tables (1 and 2). The half tables are divided into two quarter tables (A, B, C, and D). Drawing is conducted as follows:
- Select a random half table, quarter table, and number for the 1st seeded.
- Select a random quarter table and number from the other half table for the 2nd seeded.
- For the 3rd seeded select a random number from the same half table but different quarter table than for the 2nd seeded.
- For the 4th seeded select a random number from the same half table but different quarter table than for the 1st seeded.
- Rest of the contestants are drawn in the previously explained order. Position in the table is defined using classification of the positions to ensure that competitors from the same club/country are spread as far from each other as possible.
Give “badness” points to the positions of the sheet:
- If there is an opponent for the position give one point.
- If the first opponent would be from the same club/country add 4 points for the position. If the opponent is seeded add one more point.
- Double the search area to four matches. If this wider area contains a competitor from the same club/country add another 5 or 6 points i.e. the second match would be against a contestant from the same club/country.
- Continue doubling the search area till the size of the area is a half table.
An example clarifies the algorithm. There is a table for a 16 player double knockout system. In the upper half is a competitor from the same club and in the lower half is another competitor from the same club:
6 | 6 | 6+6=12 | ||
6 | 6 | 6+6=12 | ||
Same club seeded | 6 | 6 | 6 | 6+6+6=18 |
7 | 6 | 6 | 7+6+6=19 | |
6 | 6 | |||
6 | 6 | |||
6 | 6 | |||
6 | 6 | |||
5 | 5 | |||
5 | 5 | |||
5 | 5 | |||
5 | 5 | |||
6 | 5 | 5 | 5+5+5=16 | |
Same club | 5 | 5 | 5 | 5+5+5=15 |
5 | 5 | 5+5=10 | ||
5 | 5 | 5+5=10 |
There are four positions with the least (5) “badness” points. Select one randomly. The table looks like this:
6 | 6 | 6+6=12 | ||
6 | 6 | 6+6=12 | ||
Same club seeded | 6 | 6 | 6 | 6+6+6=18 |
7 | 6 | 6 | 7+6+6=19 | |
6 | 6 | |||
6 | 6 | |||
6 | 6 | |||
6 | 6 | |||
Competitor | 5 | 5 | 5 | 5+5+5=15 |
6 | 5 | 5 | 6+5+5=16 | |
5 | 5 | 5+5=10 | ||
5 | 5 | 5+5=10 | ||
6 | 5 | 5 | 6+5+5=16 | |
Same club | 5 | 5 | 5 | 5+5+5=15 |
5 | 5 | 5+5=10 | ||
5 | 5 | 5+5=10 |
The next competitor from the same club/country would be put in one of the positions with 6 points. Continuing like this it is always possible to find the best place far from the other competitors from the same club/country.
Pool
In pool system the competitors are drawn so that the last match will be between the two seeded. For example in a pool of five the first seeded will get randomly position 2 or 5 and the second seeded the other number.
Size of the pool | Competitors of the last match |
2 | 1 - 2 |
3 | 2 - 3 |
4 | 2 - 3 |
5 | 2 - 5 |
Rest of the competitors are drawn so that the last match will not be against another competitor from the same club/country.
Double and Quad Pool
Seeded competitors will be drawn to different pools and so that the seeded will be in the pools last match. Also other competitors from the same club/country will be drawn to different pools, if possible. Drawing order is the same as in the double knockout system.
APPENDIX 4
SVG Templates for the Sheets
It is possible to create your own layouts for the bracket sheets. Scalable Vector Graphics (SVG) is a family of specifications of an XML-based file format for two-dimensional vector graphics. SVG text file content is easy to read. An example text field could look like this:
<text x=”200” y=”330”
style=”font-size:12px;font-style:normal;font-family:Sans”>\\
Hello, world!
</text>
You do not need to worry about the internals of the SVG format. Just create a sheet template like any PowerPoint presentation although the software must be SVG capable. Inkscape is an easy to use and free program. Adobe Illustrator misses some features but is usable.
File Names
You may use default sheet layouts and your own SVG layouts mixed:
- Create SVG files for the chosen categories.
- Copy the SVG files to an empty folder.
- Select from the JudoShiai menu Preferences → Sheet Layout → SVG Templates. Choose the folder with the SVG files. Remember to check the box “Use SVG Templates”.
JudoShiai uses your file for the layout if it exists, otherwise it uses the internal default layout.
SVG files must have certain names that contain three numbers. Name format:
<competition system>-<competitor count>-<page number>.svg
The first number is a code for the competition system, the second is the number of players and the third is the page number. For the pools the number of players is the exact number, but for the knock out systems the number is the maximum number of competitors for the sheet (8, 16, 32, 64, 128). You can have as many pages for one category as you wish (each page is its own file).
Competition systems are listed in the following table:
Code | Description |
1 | Single pool |
2 | Double pool |
3 | Double repechage |
4 | Swedish dubbelt återkval (SWE Double Repechage) |
5 | Swedish direkt återkval (SWE Double Elimination) |
6 | Estonian double elimination for D class |
7 | Double elimination without repechage |
8 | Swedish enkelt återkval (SWE Single Repechage) |
9 | Quad Pool |
10 | Spanish doble perdida (ESP Double Lost) |
11 | IJF double repechage |
12 | Spanish repesca simple (ESP Simple Repechage) |
13 | Modified double elimination |
14 | Double repechage, one bronze |
15 | Double pool 2 (third pool for final matches) |
16 | Double lost |
17 | British knock out |
18 | Double pool 3 (pool winners fight for the gold, second best for the bronze) |
19 | Danish Double Elimination |
20 | Estonian double elimination one bronze for D class |
21 | Double pool 3 |
22 | Custom |
23 | German repechage |
24 | Canadian Modified Double Elimination |
File name examples are listed in the following table:
File Name | Description |
1-1-1.svg | Single pool, 1 competitor, 1 page. |
1-2-1.svg | Single pool, 2 competitors, 1 page. |
1-n-1.svg | Single pool, n competitors, 1 page. |
2-7-1.svg | Double pool, 7 competitors, 1 page. |
3-16-1.svg | Double repechage for 16 players, 1 page. |
3-64-1.svg 3-64-2.svg 3-64-3.svg | Double repechage for 64 players, 3 pages. |
Tags
You can draw and write any texts on the sheets, but when you want to have for example a competitors name you write a tag. Tags are text strings starting with the letter %. Example: you want to write the last and first names of the competitor #3:
%c3-last-s-first
Result is “Smith John”. Add club and country:
%c3-last','first-s-club'/'country
or
%c3-last|,|first-s-club|/|country
Result will be “Smith, John Ippon Judo/GBR”. It may be better to use bars (|) instead of quotation marks (') since some editors may change quotes to something else.
Tags have attributes. Many times they are composed of a string or a letter followed by a number. You can write them attached to each other: %m23p1 (match 23, player 1). If letters or numbers are missing you have to use a dash to separate the attributes: %c7first-s-last. You can use dash any time for clarity.
The following table describes the available tags.
Competitor related tags | |
%c<number><letter> | Tags start with %c and the number of the competitor. %c7 |
%c<number>w | Number of wins in the pool systems. %c7w |
%c<number>p | Number of points in the pool systems. %c7p |
%c<number>r | Result (place) in the pool systems. %c7r |
%C<number><letter> | In a three pool system a capital C denotes the final pool while a lower case c denotes the first pools. Otherwise the tags are the same. |
%c<number><name attributes> Name attributes are first last grd club country weight s disnam hm<optional number> '<any text>' |<any text>| | Name attributes describe information about the competitor. There are attributes for the first and last names, grade, club, country, and weight. Letter s writes a single space. Special attribute hm describes what to do if the competitor has a hansoku-make. Disnam displays name and club as per “Name Format” preferences. Optional argument affects to the behavior: hm1: Start strikethrough. hm2: Don't write anything. hm: Back to normal. You can have any text between quotation marks. Example: %c7-first-s-last' Country: 'country would write John Smith Country: GBR |
Match related tags | |
%m<number> | Tags start with %m and the number of the match. %m23 |
%m<number>-<number><name attributes> | The second number denotes the competitor whose name is to be printed. 1 = the first player (nowadays white) 2 = the second player (blue) Name attributes are the same as with the %c. %m23-1-first-s-last |
%m<number>p<number> | Points of the player 1 or 2. %m23p1 |
%m<number>p<number>-1 | Print points of the player 1 or 2 if the match has been fought. %m23p1-1 |
%m<number>p<number>-1c | Print win code of the player 1 or 2 if the match has been fought. %m23p1-1c |
%m<number>p<number>-3 | Print points of the player 1 or 2 if the match has been fought and player won. %m23p1-3 |
%m<number>p<number>==<value>'<text>' | Print <text> if competitor's points are <value> otherwise print points %m23p1==0'LOST' (print LOST if white's points in match #23 are 0) |
%m<number>p<number>==<value>'<text>'-1 | Print <text> if competitor's points are <value> otherwise print nothing %m23p1==0'LOST'-1 |
%m<number>p<number>-1==<value>'<text>' | Print <text> if competitor's points are <value> otherwise print points but only if the match has been fought %m23p1-1==0'LOST' |
%m<number>t | Match time |
%m<number>winner<name attributes> | Write name of the winner of the match. %m23winner-last |
%m<number>s<number> | Same as %m<number>p<number> except IWY/S score is printed. Also other forms apply. |
%m<number>mn | Print match number. |
Result related tags | |
%r<number><name attributes> | Write the name of the competitor who's place is <number> %r1-first-s-last-s-club |
Tournament information related tags | |
%i-competition | Tournament's name |
%i-date | Date |
%i-place | Place |
%i-catname | Name of the category |
%i-tatami | Number of category's contest area |
%i-printdate | Current date and time (i.e. YYYY-MM-DD HH:MM:SS) |
Multilingual texts related tags | |
%t<number> Numbers for the phrases are: 0: Competitors 1: Competitors A 2: Competitors B 3: Competitors C 4: Competitors D 5: # (number) 6: Name 7: Grade 8: Club 9: Matches 10: Matches A 11: Matches B 12: Matches C 13: Matches D 14: Match 15: Blue 16: White 17: Result 18: Results 19: Time 20: Wins (short word for wins) 21: Pts (short word for points) 22: Pos (short word for position) 23: Previous winner 24: Next 25: Weight: 26: PRELIMINARY SCHEDULE 27: weighin-notes.pdf (a file name) 28: schedule.pdf (a file name) 29: categories.pdf (a file name) 30: Category 31: Next fights 32: Categories 33: Statistics 34: Medals 35: Total 36: Country 37: Not drawn 38: Finished 39: Match ongoing 40: Started (category has started) 41: Drawing ready 42: Coach 43: Surname 44: Status 45: Display 46: “Match after n matches” divided in two parts Match after (“Match after” n matches) 47: matches (Match after n “matches”) 48: 1 (numeric value for gold) 49: 2 (numeric value for silver) 50: 3 (numeric value for first bronze) 51: 3 (numeric value for second bronze) 52: 4 (numeric value for single bronze) 53: 5 (numeric value for first fifth) 54: 5 (numeric value for second fifth) 55: 7 (numeric value for first seventh) 56: 7 (numeric value for second seventh) | Print a text using the selected language. |
Score Legends
JudoTimer can send information about how the fight was won, i.e. ippon as a result of a throw, choke etc. These legends can be shown on the bracket sheets. Two methods exist. Common to both is that the text tags are not used any more. It is important to set correct IDs (names) for the graphical elements. For example SVG code for a rectangle looks like this:
<rect id=”my-id” x=”100” y=”200” …/>
IDs are used to distinguish between legends and their placements.
Legends in a File
Create a file legends.svg in the same directory where the sheet files are. Create all the legends you want and a “no legend” picture (white rectangle). Size of the legends doesn't matter. Set their IDs. The following table lists British legends:
Number | Legend | ID |
0 | Legend not known or no legend | legend0 |
1 | Ippon as a result of a throw | legend1 |
2 | Ippon as a result of a hold | legend2 |
3 | Ippon as a result of a choke | legend3 |
4 | Ippon as a result of an armlock | legend4 |
5 | Win by Sogo-Gachi | legend5 |
6 | Win by direct Hansoku-Make | legend6 |
7 | Win by Kiken-Gachi | legend7 |
8 | Win by Waza-Ari Throw | legend8 |
9 | Win by Waza-Ari Hold | legend9 |
10 | Win by Superiority (Yuko/Hantei) | legend10 |
11 | Win by penalty against (against opponent) | legend11 |
12 | Win by Fusen-Gachi | legend12 |
Example: Legend #1 is a letter T surrounded by a circle. It is important to group those and set the ID of the grouping element. SVG code should look like this:
<g id=”legend1” …>
<circle id=”circle345” x= .../>\\ <text id=”text123” x= ...>T</text>\\
</g>
In your bracket sheet you mark places for the legends using a rectangle. Rectangles may be visible or invisible according to your preferences. Size of the rectangle determines the size of the legend. ID format for the rectangles is letter 'm' followed by a match number followed by letter 'l':
m<match number>l
Legend is always shown. If you want to show the legend only when the first player (white) has won use ID = m<match number>l-1 and when the second player (blue) has won use ID = m<match number>l-2.
For example m1l is the ID for the first match, m2l for the second match etc. Show legend for the match #23:
<rect id=”m23l” x=”100” …/>
Show a legend for match #23 if the second player has won:
<rect id=”m23l-2” x=”100” …/>
Embedded Legend Definitions
Legend definitions can be embedded in the SVG file. Idea is to use references to the definitions. You need proper software to do this, like free Inkscape (Adobe Illustrator wouldn't do).
Create all the legends on top of each other. Draw them in a convenient place where they are not visible or cover them with a white square. Legends must have IDs lgnd0, lgnd1, etc. Finally create a dummy legend whose ID is lgnd (this can be the white rectangle that covers the other legends).
Clone the dummy legend to the places where you want the real legends to appear. Cloning is not copying: it creates a reference to the real object. In SVG file it looks like this:
<use
id=“use3967”
xlink:href=“#lgnd”
y=“0”
…
Reference will be replaced by a reference to the real legend. Before that the software must know the match number in question. It can be made known by grouping the cloned object and giving the group an ID match<number>. Example:
<g id=“match3” …
<use xlink:href="#lgnd" ...
Legend for the match #3 will be drawn no matter who won the fight. If you want to draw a legend only when the first player (white) has won use ID = match3-1 and for the second player (blue) ID = match3-2.
Highlight Ongoing Match
JudoInfo can show bracket of the ongoing match. By the default competitors’ names are highlighted using red font color. You can select your own highlight style by using definitions nextmatchfg and nextmatchbg. To change the background add the following <defs> tag after <svg>. Inkscape should have at least <def xxxx /> ready. Change “/>” to “>” and add a “</defs>” after definitions:
<defs id="defs11412">
<filter x="0" y="0" width="1" height="1" id="nextmatchbg">
<feFlood flood-color="yellow"/>
<feComposite in="SourceGraphic"/>
</filter>
</defs>
id must be “nextmatchbg”. You can change the text color, too. To make text colorful there are many alternatives. For example:
<defs id="defs11412">
<linearGradient id="nextmatchfg" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
<stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
</linearGradient>
</defs>
id must be “nextmatchfg”. There are examples in the web. Basic rule:
To use fill the id must be “nextmatchfg” and to use filter the id must be “nextmatchbg”. You can use both together to have psychedelic effects.
SVG Templates for the JudoTimer
Competitors display
It is possible to create your own layouts for the JudoTimer competitor advertisement. Idea is similar to what is explained in “SVG Templates for the Sheets”.
There are example files JudoShiai/etc/timer-competitors.svg, JudoShiai/etc/timer-competitors-4.svg, and JudoShiai/etc/timer-team.svg
Timer-competitors-4.svg is composed of four pages. Timer-team.svg is intended for team events. It shows the current points situation after each fight.
Select that from the menu Preferences → Show competitors… → SVG Templates.
Layout uses texts like %last-1 that is replaced by the white competitor’s real last name. There are also elements whose id and position/size is used for the real item display.
You may select the items that you wish to use and leave others unimplemented.
Tags | |
%C | Category name. |
%R | Round name. |
%first-<number> | Competitor's first name, where number 1 = white, 2 = blue. Example: %first-1 |
%last-<number> | Competitor's last name, where number 1 = white, 2 = blue. Example: %last-2 |
%country-<number> | Competitor's country, where number 1 = white, 2 = blue. Example: %country-1 |
%club-<number> | Competitor's club, where number 1 = white, 2 = blue. Example: %club-1 |
%rest-<number> | Remaining rest time for the competitor <number>. |
ID based elements | |
page1, page2, … | Display may be composed of several pages. Use svg grouping to create a page. Example: <g id=“page1” To make ID based elements to appear on a certain page use id=flag1_n where n is the page number. |
flag1, flag2, flag1_2 | It is recommended to use square rectangles. Aspect ratio of the flag is preserved; height of the flag is determined by the square. Square can be visible since it is covered by the flag. Example svg code: <rect id=“flag1” style=“fill:#ffff00;…” width=“26.994223” height=“22.183371” x=“13.09621” y=“219.54932” /> |
prevflag1, prevflag2, nextflag1, nextflag2 | Used in team events. |
control1, control2 | Judogi control symbol areas. Use invisible square rectangles. Judogi control images are JudoShiai/etc/png/white-ctl.png and JudoShiai/etc/png/blue-ctl.png. |
close | Click element to close the window. |
Winner display
There is an example file for winner display: JudoShiai/etc/timer-winner.svg.
In addition what has been explained above there are a couple of special colors in use: #abcd01 and #abcde1. You can use these colors in rectangles and texts. Example SVG code:
<rect\\ y="165.12291"\\ x="-0.12080459"\\ height="131.76482"\\ width="296.57492"\\ id="bgcolor"\\ style="fill:**#abcde1**;fill-opacity:1;… />
Tags | |
%C | Category name. |
%R | Round name. |
%last | Winner’s last name |
%first | Winner’s first name |
Colors | |
#abcd01 | Replace the color with black if white is the winner, else replace the color with white. Use as text color. |
#abcde1 | Replace the color with white if white is the winner, else replace the color with blue. Use as background color. |
SVG Templates for the JudoInfo
It is possible to create your own layouts for the JudoInfo. Idea is similar to what is explained in “SVG Templates for the Sheets”.
Match number means order of the match on tatami: 0 = last finished match, 1 = ongoing match, 2 = next match, etc. Bracket sheets have their own match numbers that can be displayed using tag %m<number>-<number>#.
Tags | |
%c<number>-<number> | Category name by the tatami and match number. Example: Category of match #4 on tatami 2: %c2-4 |
%m<number>-<number># | Number of the match in the bracket by tatami, and match. Example: match number in the bracket of the ongoing match on tatami 2: %c2-1# |
%m<number>-<number>-<number>-<name attributes> | Competitor's name by tatami, match, and 1 = white, 2 = blue. Name attributes are the same as in bracket sheets. Example: Name of blue competitor in match 3 on tatami 2: %m2-3-2-first-s-last' Country: 'country Winner of the last match on tatami 2 would be (competitor is always 1): %m2-0-1-first-s-last |
SVG Templates for the JudoWeight
You can print weight labels using SVG templates (Preferences → SVG Templates). Idea is similar to what is explained in “SVG Templates for the Sheets”.
Tags | |
%c<name attributes> Name attributes are first last club country weight s | Name attributes describe information about the competitor. There are attributes for the first and last names, club, country, and weight. Example: %c2-first-s-last-s-club |
%d | Print current date and time in format yyyy-mm-dd hh:mm:ss |
APPENDIX 6
Video Stream Setup
To broadcast your tournament on the web you need
- a camera and microphone or similar video source,
- broadcasting services provider, and
- software for streaming.
These instructions assume that you want to overlay competitors' names, score points, and clocks on the video stream. Overlay data is called logo for short.
Basic idea is that you show your video on a computer screen, put a small JudoTimer window in slave mode on the screen, and capture and broadcast the screen. You can use a service provider (Ustream, Youtube, Bambuser) that suits you best. There are many ways to broadcast the screen, for example in VLC you can use Desktop as a Capture Device.
To have a nice looking logo you want to do the following things:
- Show your video in full screen mode.
- Design a JudoTimer custom layout that looks good. You need competitors' names, scores, and clocks (and perhaps flags). Make other texts unvisible.
- Set JudoTimer to slave mode and make connection to the master clock.
- Select No SOREMADE/IPPON texts from the Preferences menu. This prevents those notifications from disturbing.
- Resize and position JudoTimer so that it is like a logo in some of the screen corners.
- Remove JudoTimer borders and menus by pressing control-M. This forces JudoTimer window to be always on top, too. Note! After this there is no possibility to use menus any more unless you press control-M again!
- Start your screen capture/broadcasting software.
There is an example logo in the etc directory (timer-tv-logo.txt). Example is explained in Appendix JudoTimer Display Layout Customization.
Note: There are other options when using web version of the JudoTimer. Please check how to use outline|OBS Studio.
JudoInfo
It is possible to broadcast JudoInfo without screen capture. JudoInfo can output mjpeg video to its standard output. This can be read and processed for example by ffmpeg or avconv programs: Linux command line example:
judoinfo -mjpeg 640×360 | avconv -verbose -y -re -f image2pipe \
-vcodec mjpeg -i - -vcodec libx264 -an -metadata title=“Next matches” \
-f flv “rtmp://1.16804539.fme.ustream.tv/ustreamVideo/168xxxxxxxx”
Windows cmd would be similar. Option -mjpeg tells the size of the video (640×360). It is best to use JudoInfo in the Small Display mode. Here the target is Ustream, but it can be something else. However, the stream format must be set suitable using avconv options.
APPENDIX 8
JudoShiai License
Copyright 2006-2023 Hannu Jokinen
JudoShiai 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.
JudoShiai 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 JudoShiai. If not, see <https:%%//%%www.gnu.org/licenses/>.
External licenses
JudoShiai uses the following external libraries, programs, and other copyrighted material:
- GTK+ library (http://www.gtk.org), that is included under the terms of the LGPL license.
- SQLite3 database software (http://www.sqlite.org) is public domain.
- Inno Setup Compiler (http://www.innosetup.com) is an install builder provided for free use. It is used to build the JudoShiai software package. Inno Setup license is included in the distribution.
- AVL library by Sam Rushing (copyright included).
- Httpp library by Jack Moffitt for HTTP parsing.
- MOLE BASIC by Remco Schellekens for SQL scripting.
- cJSON by Dave Gamble.
- Libwebsockets
- Microhttpd
- QRCode
- Unqlite
Inno Setup License
Except where otherwise noted, all of the documentation and software included in the Inno Setup package is copyrighted by Jordan Russell.
Copyright (C) 1997-2006 Jordan Russell. All rights reserved.
This software is provided “as-is,” without any express or implied warranty. In no event shall the author be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter and redistribute it, provided that the following conditions are met:
1. All redistributions of source code files must retain all copyright notices that are currently in place, and this list of conditions without modification.
2. All redistributions in binary form must retain all occurrences of the above copyright notice and web site addresses that are currently in place (for example, in the About boxes).
3. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software to distribute a product, an acknowledgment in the product documentation would be appreciated but is not required.
4. Modified versions in source or binary form must be plainly marked as such, and must not be misrepresented as being the original software.
Jordan Russell
jr-2006 AT jrsoftware.org
SQLite Copyright
The original author of SQLite has dedicated the code to the public domain. Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.
AVL Library Copyright
Copyright (C) 1995-1997 by Sam Rushing rushing@nightmare.com
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Sam Rushing not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission.
SAM RUSHING DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SAM RUSHING BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Httpp Copyright
Httpp software is created by Jack Moffitt «jack@icecast.org»
The program is distributed under the GNU General Public License, version 2.
MOLE BASIC
Copyright (C) 1999 Remco Schellekens (merty@xs4all.nl)
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 2 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.
BinReloc - a library for creating relocatable executables
Written by: Hongli Lai h.lai@chello.nl
http://autopackage.org/
This source code is public domain. You can relicense this code under whatever license you want.
cJSON
Copyright © 2009 Dave Gamble
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Libwebsockets
Libwebsockets and included programs are provided under the terms of the GNU
Library General Public License (LGPL) 2.1, with the following exceptions:
1) Any reference, whether in these modifications or in the GNU
Library General Public License 2.1, to this License, these terms, the
GNU Lesser Public License, GNU Library General Public License, LGPL, or
any similar reference shall refer to the GNU Library General Public
License 2.1 as modified by these paragraphs 1) through 4).
2) Static linking of programs with the libwebsockets library does not
constitute a derivative work and does not require the author to provide
source code for the program, use the shared libwebsockets libraries, or
link their program against a user-supplied version of libwebsockets.
If you link the program to a modified version of libwebsockets, then the
changes to libwebsockets must be provided under the terms of the LGPL in
sections 1, 2, and 4.
3) You do not have to provide a copy of the libwebsockets license with
programs that are linked to the libwebsockets library, nor do you have to
identify the libwebsockets license in your program or documentation as
required by section 6 of the LGPL.
However, programs must still identify their use of libwebsockets. The
following example statement can be included in user documentation to
satisfy this requirement:
“[program] is based in part on the work of the libwebsockets project
(https://libwebsockets.org)”
4) Some sources included have their own, more liberal licenses, or options
to get original sources with the liberal terms.
Original liberal license retained
- lib/misc/sha-1.c - 3-clause BSD license retained, link to original
- win32port/zlib - ZLIB license (see zlib.h)
- lib/tls/mbedtls/wrapper - Apache 2.0 (only built if linked against mbedtls)
Relicensed to libwebsocket license
- lib/misc/base64-decode.c - relicensed to LGPL2.1+SLE, link to original
- lib/misc/daemonize.c - relicensed from Public Domain to LGPL2.1+SLE,
link to original Public Domain version
Public Domain (CC-zero) to simplify reuse
- test-apps/*.c
- test-apps/*.h
- minimal-examples/*
- lwsws/*
—— end of exceptions
Microhttpd
Some of this code is DUAL-LICENSED. If you use MHD without HTTPS/SSL
support, you are free to choose between the LGPL and the eCos License
(http://ecos.sourceware.org/license-overview.html). If you compile
MHD with HTTPS support, you must obey the terms of the GNU LGPL.
QRCode
The MIT License (MIT)
This library is written and maintained by Richard Moore.
Major parts were derived from Project Nayuki's library.
Copyright © 2017 Richard Moore (https://github.com/ricmoo/QRCode)
Copyright © 2017 Project Nayuki (https://www.nayuki.io/page/qr-code-generator-library)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the “Software”), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Unqlite
Copyright (C) 2012, 2019 Symisc Systems, S.U.A.R.L [M.I.A.G Mrad Chems Eddine <//chm@symisc.net//>].
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY SYMISC SYSTEMS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL SYMISC SYSTEMS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.