About |
qtour is a Qt-based GUI application for interpretation of
sporting tournaments. It uses the libtour C++
library as its processing engine. qtour is released under
the GNU General Public
License.
In order to work with a tournament, libtour needs the
tournament definition written in the Scheme programming
language. Several such definitions are shipped with the
libtour distribution (FIFA WC, Ice Hockey WC, and NHL for
2002-4) and therefore available at this time.
For information on tournament interpretation please read (a couple
of introductory pages of) the libtour
manual
|
Installation |
The following software is required to install qtour:
Once you have it all, just cd to the qtour
source directory and type
$ ./configure
$ make
$ su
$ make install
If configure script has trouble locating your Qt
installation, see
$ ./configure --help | grep -i qt
If your Qt is pre-3.3.0, you will have to install a newer one to
compile qtour.
|
Usage |
To run it, type
$ qtour
or, to load a tournament at startup (fifawc2002 in this example)
$ qtour fifawc2002
By default, the tournament definitions from the libtour
installation ($prefix/share/libtour/scheme/) will be used,
but you can choose to load from a different directory:
$ qtour -d <path-to-my-scm-dir>
Some random remarks that should get you started:
- Use right click in selector and schedule panes for a context menu
with available options
- Examine available shortcuts in the window's menu (Ctrl-S -- save,
Ctrl-T -- show management frame etc)
- To enter/replace a game result in the schedule pane, select a game
result cell, it will change its color if editable. Selecting another
cell or hitting enter commits the game result. To delete a game
result, right-click on it and select the popup menu item. To enter a
boolean field of a game result (like OT field in an NHL tournament),
enter '-' or '0' for 'false', and '+' or '1' for 'true'
- You cannot edit a game result of a complete stage. To un-complete
a stage right-click on a game result cell in the schedule view. Note:
this will invalidate the following stages, if any
- If you want to discard your changes just unload the tournament and
load it again
- A stage becomes complete automatically when the last required game
result is entered; you can tell the state of a stage/group by the icon
in the selector frame (`C' stands for `complete', `R' for `ready', `U'
for `uninitialized')
- You can view the information for uninitialized stages as well but
teams will be shown as IDs in angle brackets; this is because the real
teams are not known for uninitialized stages
- The first time you load a tournament, the application will copy
the tournament's results from $prefix/share/qtour/data/ to
$HOME/.qtour/ directory, if available. When you save a
tournament, its result file is updated in
$HOME/.qtour/
- To fetch game results from an external source, use preferences to
associate a plugin application to one or more tournaments (regular
expressions for tournament names are accepted, e.g. nhl*,
or even * works). Currently available plugins are
nhl-espn.pl (source: espn web site, used to
work... apparently they now make extra checks before serving the
pages...), and nhl-libtour (source: tourcli
batch files) but you can always write your own. Then switch to
schedule view and look under Tools menu for fetch menu
items. Use Ctrl-M to show/hide fetch monitor
|
Features |
Unsorted list of qtour capabilities:
- Load/unload a tournament definition (rules, schedule, teams)
- Load the game results or enter them interactively
- View tables of standings, game schedule, and team definitions for groups and overall (per stage)
- View tournament, stage, and group information
- Manage more than one tournament at a time
- Filter out the game schedule by dates and/or teams
- Open multiple windows to have simultaneous views on different data
- Show/hide a tournament within a window
- Manage sorting conflicts
- Save the results
- Set preferences for window size and tournament definition load path
- Use external programs (plugins) to fetch game results from the
internet or any other source (new in 0.4.0)
|
Plugins |
Plugins are external programs used by qtour to fetch results from the
Internet or any other source. Plugins are installed in
$prefix/share/qtour/plugins/ or/and any other directory as
defined in qtour preferences.
You can write your own plugin following the rules described below.
- a plugin can be written in any language, be executable and placed
in a plugin search path
- tournament name is passed to the plugin program as first argument
- a plugin should read request from standard input and write reply
to standard output; stderr is OK too; the plugin should makes sure
that stdout and stderr are unbuffered
- request consists of one or more lines, each line specifies the
game which result to fetch; each line contains four fields separated
by comma (,); the fields are:
- game id (a string unique per request, corresponds to game ID in the schedule view)
- date (format YYYYMMDDHHMM, corresponds to game DATE in the schedule view)
- team 1 (corresponds to TEAM name in the team view)
- team 2 (ditto)
- reply either reports a fatal error or contains one line for each
game
- success (3 fields): 0,<game-id>,<game-res>
- game not started (3 fields): 1,<game-id>,<info>
- game not finished (4 fields): 2,<game-id>,<game-res>,<info>
- game not found (2 fields): 3,<game-id>
- fetch error, fatal (2 fields): 4,<info>
- request error, fatal (2 fields): 5,<info>
- get warning (2 fields): 6,<info>
where <game-id> as in request, and
<game-res> is a space-separated game result,
<info> is an arbitrary text (with no commas!)
|
TODO |
The libtour features not implemented thus far:
- creation/deletion of filtered groups
|
Screenshots |
Entering game results in the schedule frame |
Tournament management frame |
![](img/qtour1_t.png) |
![](img/qtour2_t.png) |
Table of standings frame |
Excessive (unnecessary) games are grayed out |
![](img/qtour3_t.png) |
![](img/qtour4_t.png) |
|
Download |
Current release of qtour is 0.4.0.
Enjoy!
|