Deutsch VDR

'Sudoku' plug-in for VDR

Coffee Kitty Tom's Café
'Sudoku' screenshot

'Sudoku' is a plug-in for Klaus Schmidinger's fantastic Video Disk Recorder (VDR).

Development site:

Latest version for VDR >= 1.6.0:

Older versions are available in the logbook.

© 2005-2010, Thomas Günther
This is free software and may be used and redistributed under the terms of the GNU GPL, version 2 or any later version.


'Sudoku' is a VDR plug-in to generate and solve Number Place puzzles, so called Sudokus.

A Sudoku puzzle consists of 9 x 9 cells subdivided into 9 regions with 3 x 3 cells. The rules are simple. There have to be the numbers from 1 to 9 in every row, column and region. In the beginning some numbers are given. These cells are painted with cyan background color. The aim of the puzzle is to find the missing numbers. There is only one solution of a Sudoku puzzle.

The Sudoku puzzles are generated on-the-fly. The number of givens can be set in the plug-in's setup page down to a minimum of 26 givens. The generation of puzzles with less than 26 givens takes too long. By default the cells with givens are symmetrically ordered. But this can be changed in the setup.

To solve difficult Sudoku puzzles some hints can be used. Incorrect cells are red and cells with ambiguous numbers are magenta. These hints can be disabled in the setup. For further hints see the commands menu, which is opened with the blue key.

Each time the plug-in is started from the main menu the same puzzle is shown. A new puzzle is only generated on VDR startup or if it has been requested by selecting this command in the commands menu.

In the commands menu you can load and save puzzles from/to the sudoku-list file. This file is located at the plugins folder inside the configuration folder of VDR. If you don't specify a configuration folder, your videodir is used (e.g. /video0/plugins/sudoku/sudoku-list).

The sudoku-list file contains lines with a sudoku dump and an optional description. The sudoku dump has to begin at the first position of the line. The delimiter between sudoku dump and description is a space. All behind the first space is considered as description.

A sudoku dump consists of up to three parts. The first part contains only the givens, the second part all numbers set so far (including the givens), and the third part the marked cells. They are delimited from each other by a colon. All except of the first part is optional. The parts are strings with 81 digits or underlines. An underline is considered as a zero. All other characters, except of colons and spaces, which terminate the string, are ignored. They could be used to structure the dump, e.g. plus signs after each 9 digits/underlines.


Parameter Values Default Description
Givens count 26-81 36 Givens count of the generated puzzles.
Symmetric givens yes/no yes Cells with givens are symmetrically ordered.
Mark errors yes/no yes Incorrect cells are marked with red color.
Mark ambiguous numbers yes/no yes Cells with ambiguous numbers are marked with magenta color.
Show possible numbers as pattern yes/no no Show a pattern in all empty cells representing the possible numbers. The pattern is structured by a small 3 x 3 grid featuring the numbers from 1 to 9 from top left to bottom right. If a number is possible in this cell the background of the corresponding grid section is colored.
Show possible numbers as digits yes/no no Show digits in all empty cells representing the possible numbers.
Clear marks on reset yes/no no Unmark all cells when the puzzle is reset.
Key Red see commands menu Mark/unmark Choose command for the red key.
Key Green see commands menu Undo last action Choose command for the green key.
Key Yellow see commands menu Redo last action Choose command for the yellow key.
Large font all installed fonts Sans Serif:Bold Choose font for the large digits.
Large font height (pixel) 10-64 31 Font height for the large digits.
Large font width (pixel) 10-64 42 Font width for the large digits.
Small font all installed fonts Sans Serif:Bold Choose font for the small digits.
Small font height (pixel) 10-64 10 Font height for the small digits.
Small font width (pixel) 10-64 14 Font width for the small digits.
Transparency (%) 0-100 50 Set the transparency of the menu.


Key Description
Left/Right/Up/Down Move the cursor in the puzzle.
1-9 Set the number in the current cell.
0 Remove the number from the current cell.
Red Execute red key command.
Green Execute green key command.
Yellow Execute yellow key command.
Blue Open the commands menu.
Back Quit the plug-in.

   Commands menu

Command Description
Generate a new puzzle Generate a random puzzle.
Load a puzzle Load a puzzle from the sudoku list. In the list menu you can also delete sudokus from the list or edit the descriptions.
Save the puzzle Add the puzzle to the sudoku list, together with an optional description.
Undo last action Go one step backward in the history.
Redo last action Go one step forward in the history.
Mark/unmark Mark/unmark the current cell.
Next cell Move the cursor to the next free cell with minimal possible numbers.
Next number Set the next possible number for the current cell - reset the number if greater numbers are not possible.
Reset the puzzle Reset the numbers in all cells, excluding the givens.
Open setup menu Open the setup menu of the plug-in.
Exit Quit the plug-in.

   Cell colors

Color Description
Cyan Givens
Green Marked cells
Red Incorrect cells
Magenta Ambiguous numbers

   Source code documentation

The source code documentation is made with Doxygen.


2005-10-28: Version 0.1.0 (OpenPGP signature)

2005-11-04: Version 0.1.1 (OpenPGP signature)

2006-04-25: Version 0.1.2 (OpenPGP signature)

2007-02-23: Version 0.1.3 (OpenPGP signature)

2008-03-22: Version 0.2.0 (OpenPGP signature)

2008-04-06: Version 0.2.1 (OpenPGP signature)

2008-07-27: Version 0.3.0 (OpenPGP signature)

2008-08-30: Version 0.3.1 (OpenPGP signature)

2008-09-28: Version 0.3.2 (OpenPGP signature)

2008-11-23: Version 0.3.3 (OpenPGP signature)

2008-11-29: Version 0.3.4 (OpenPGP signature)

2010-04-05: Version 0.3.5 (OpenPGP signature)

The signatures can be verified with my OpenPGP key 0xEC0E954C.

© 2005-2010, Thomas Günther

Please drop some beans
into the Coffee Kitty.
Valid XHTML 1.0!