PealBook

(29 February 2004)

Download and unzip pbgifzip.exe (178 kB: updated 12/6/97) for images when viewing this file offline.

Contents


Introduction

PealBook is a purpose-written relational database for keeping peal records, written in Visual C++ and running under Windows 3.1 or later. Ringers, towers, methods and associations are stored in the main peal file as keys pointing to other data files for efficient data storage and easy generation of "league tables" to find leading ringers etc. Peals matching different search criteria can be selected.

I use the software to keep my own peal and quarter peal records, and have also entered all the records of the Cambridge University Guild (some 2000 peals). I have been Peal Recorder for the Ancient Society of College Youths since 1985, and have computerized their peal records back to 1968. I have also used the software to assist Andrew Craddock in his collection and analysis of peals published in the Ringing World, and to check data entered as part of the Felstead Project.

The software has been written primarily for my own use, but several people have expressed an interest in it (and one or two actually use it). I have no intention of marketing it as a product, but am happy for anyone who wishes to use it. I would, however, like to keep track of who has copies. Since I have several thousand peals in my database I can also distribute personalized files of peals to anyone who wishes to start using the program, possibly saving hours of entry time. Please email with any requests, or comments on the software.

This document is intended to double as a stand-alone user guide, and should be updated periodically. I will upload new versions when I have made significant changes to the code, and will endeavour to ensure that all future versions are compatible with existing data files.


Pealbook Versions

Version 3.0 onwards is available as a 32-bit application. As a result of converting to 32-bit operation some file formats have been changed. Version 2 files can be loaded into Version 3. The first time this is done the data files will be converted to a new format (leaving the existing files unchanged). Files that are only applicable to Version 3 include '3' in the filetype (ie .pb3, .qb3, .eq3, .id3, .da3).

Note that when upgrading the pealbook version it is not necessary to download the latest version of the data files. Indeed, if new records have been added to these files these should not be replaced.


Files Available for Download

pealbook.zip (192 kB) Version 3.12 updated 29/2/04

pb32zip.exe (292 kB) 32-bit Version 3.11 updated 23/2/03

pbexezip.exe (263 kB) 16-bit Version 3.02 updated 13/2/98

This is the software (pealbook.exe) and is the only essential file.

Version 3.12 onwards has been compiled using Visual C++.net and the Jet database engine. Amongst others, this requires libraries mfc70.dll, msvcr70.dll, msvcp70.dll, dao360.dll, msjet40.dll. For the latest version of the Jet service pack see http://support.microsoft.com/default.aspx?kbid=239114. The other dlls are available for download at http://www.dll-files.com/dllindex/.

Version 3.11 requires the libraries mfc42.dll, msvcp50.dll and msvcrt.dll. If these files are missing from your system you will need to download and unzip redist.exe (873 kB) dated 10/1/00.

pbdatzip.exe (675 kB) updated 11/1/02

The data files I use for my own (and CUG and ASCY) records - include towers from Towerbase, methods from the CC collections and a good selection of ringers/associations. I will extract what peal records I have that are appropriate for anyone starting to set up their own records, which, in conjunction with these files gives a much better starting point than an empty database.

tbgenzip.exe (140 kB) updated 16/7/98

Software to link Towerbase data with PealBook.

tbase.xrf (16 kB) updated 16/7/98

Cross-reference to Towerbase data.


Changes to Latest Version

Version 3.12 (29.2.04)

Version 3.11 (23.2.03)

Version 3.10 (4.9.01)

Version 3.09 (19.12.00)

Version 3.08 (9.6.00)

Version 3.07

Version 3.06

Version 3.05

Version 3.04

Version 3.02

Version 3.01

Version 3.00

Version 2.10

Version 2.09

Version 2.08

Version 2.07

Version 2.06

Version 2.05

Version 2.04

Version 2.03

Version 2.02

Version 2.01


Data Files

Before describing the program it will be useful to examine the way that the data are stored. Data that are likely to common to more than one peal are stored in separate files ("Tables" in relational database terminology), which are referenced from the main peal file by a key. There are several reasons for this: Several peal files may access common data files. If this is the case then two files can simply be concatenated to generate a file containing both sets of peals. There is presently no simple means of merging peal files that use different sets of common data.

Peal files conventionally have the extension .pb3 (or .qb3 for quarters). Other data files have the extension .da3 and are as follows:
 

assocs Associations/Guilds
comps Compositions (principally method details for multi-method peals)
counts Counties (referenced from Towers)
methods Methods (including multi-methods)
persons Ringers/Composers
saints Dedications/Addresses (referenced from Towers)
towers Towers

All files contain variable-length records, and along with each .da3 file is an associated index (.id3) file. This contains fixed-length records giving information on the position of each record in the .dat, as well as how they are sorted, for easy searching (for the technically-inclined records can be referenced either through a binary-tree structure or a linked list). It is possible that the structure of the .id3 might change in the future, but it can always be reconstructed (almost) from the .da3 file.

Other (not essential) file extensions that PealBook uses are:
 

.eq3 Details of which names refer to the same person (eg for married names)
.xrf Used for cross-referencing with Towerbase

Windows

There are currently four types of window:
 
Peal List A list of peals, with a single line for each. The currently selected peal is highlighted.
Current Peal Gives data on the currently selected peal.
Select Used to select or edit records from a .dat file
Analysis Analysis of the peals in the Peal List Window

The operations that can be carried out from each of the windows are now described. Note that where no description is given the function is either not implemented or not recommended (or else I haven't got round to it yet).


Peal List

Navigation through the list of peals is best done using the video buttons on the toolbar or the cursor keys. These can be used to move either a record at a time or a page (25 records) at a time. As each record is selected the Current Peal window is updated.

The following choices are available on the Peal List menu:

File List PealBuffersAnalyseTowerBase View Window Help

File

Input and output options. Brings up a submenu:

Open
Load Selective
Save
Save As
Combine
Import
More
Export
Export Format
Print
Print Preview
Print Setup
Recent Files
Exit

Open
Loads peal file. It is recommended that this is only used when first starting PealBook. If you wish to finish with one file and start working on a new one then close down the program and restart. Personally I always open files direct from windows by associating the extensions .pb0 and .qb0 with pealbook.exe.
Save
Saves all loaded peals (including those not in the current selection). Note that the .dat and .idx files are only updated when peals are saved. If the program is exited without saving, changes to these data files will also be lost.
Save As
Saves to new file name. Only the current selection is saved.
Import
This imports files in one of four formats:
Export
Writes current buffer to text file.
Export Format
Selects format for export command. The following choices are currently available:
 
Line .prn A single line summary
RW .prn Similar to RW peal format
QP .prn Similar to RW quarter peal format
ASCY .prn Similar to ASCY peal book format
Guild .prn Meant for guild records - association suppressed
HTML .htm For inclusion on WWW pages
SGML (Short) .sgm Single line summary with tags
SGML (Main) .sgm Full details with tags
SGML (Keys) .sgm Key details with tags
Peal Table .csv For subsequent import to relational database
Ringer Table .csv Details of ringers
Extras Table .csv Details of fields such as footnotes

The last three options produced normalized database tables in .csv format, with a fixed number of fields on each line (unlike the internal format of peal records). Used in conjunction with the Table option from the File menu in the Select Window, the full database can be exported and reconstructed in a database tool such as Access.

I will consider any requests for additions to this list.

Exit
The user is prompted to save the peal file if it has been altered since last saving.

List

Manipulation of the list of peals. Brings up a submenu:

Select
Goto
Clip
Global Edit

Select
This brings up a dialog box allowing peals to be selected that match a particular criterion, eg including a given ringer, or between specified dates.
Goto
Allows a date to be specified, and the cursor moved to the peal nearest that date.
Clip
Copies current peal to the clipboard
Global Edit
Brings up a dialog box for a global edit of peals in the list

Peal

Manipulate current peal within list.

New
Delete
Transfer
Back
Forward
Page Back
Page Forward

New
Enter new peal details (brings up Dialog Box).
Delete
Delete current peal details.
Transfer
Transfer current peal to buffer 1.
Back
Back one peal.
Forward
Forward one peal.
Page Back
Back 25 peals.
Page Forward
Forward 25 peals.

Buffers

Swap
Rotate
Combine
Clear Hidden
All
Renumber

Analyse

Brings up Dialog Box for peal analysis. Following analysis, Analysis Window is displayed.

TowerBase

Manage links with TowerBase data.

Import
Collate

Import
Imports data previously created using Tbgen. Select tbase.tbd in the File Open dialog.
Collate
Runs through towerbase data requesting details of any unmatched towers to be entered. This will take a long time if no tbase.xrf file has already been set up.

Current Peal

Peal Edit Style Window

Peal

Navigation options can be selected using video buttons. Page Back and Page Forward move five peals at a time.

Back
Forward
Page Back
Page Forward
Clip

Back
Back one peal.
Forward
Forward one peal.
Page Back
Back five peals.
Page Forward
Forward five peals.
Clip
Copy current details to clipboard.

Edit

Main
Extra
Main
Brings up Peal Details Dialog to edit common fields.
Extra
Brings up Extra Peal Details Diaolog to edit less common fields.

Style

Choose display format for data. A subset of the formats available for Export.

Select

File Item Window

File

Save
Index
Audit
SGML
Table

Item

New
Edit
Delete
Reorder
Back
Forward
Page Back
Page Forward
Find
Find Next
Choose
Cancel
New
Create new record. Brings up appropriate dialog box for type of record.
Edit
Edit currently highlighted record.
Reorder
Insert currently highlighted record in correct position in list (only has an effect if record is out of order).
Back
Back one record.
Forward
Forward one record.
Page Back
Back ten records.
Page Forward
Forward ten records.
Delete
Delete currently highlighted record.
Choose
Select the currently highlighted record.
Find
Search for item in file. Brings up Search for Item Dialog, then sets pointer to new place in file.
Find Next
Repeat previous Find command (only efffective when searching for a surname).
Cancel
Abandon current selection.

Analysis

File Options Window

File

Export
Clip
Save As
Export
Clip
Copy to clipboard.
Save As

Options

Equivalence
Threshold
Switch
Equivalence
Associate alternative names for same persons (analysis by ringer only). Brings up Set Equivalence Dialog.
Threshold
Set threshold for inclusion in alternative method analysis (analysis by method only). Brings up Analysis Threshold Dialog.
Switch
Displays analysis results in alternative form, if available.

Dialog Boxes

PealBook uses a number of dialog boxes where the user is prompted for a reference to an entry in one of the .dat files. Once the OK button is selected, the nearest entry in the file is found, and theSelect Window displayed with the appropriate record highlighted. For most cases the required entry is a string, and the first few characters should be input. The exceptions to this are:
 
assocs Enter initials
methods If multi-methods, enter number
persons Enter initials
saints Omit prefix (St, SS, The)

Dates

For dates, the default is the current date, except when selecting peals by date (in this case the start date defaults to the beginning of time, ie 31/12/1600). If the month or year are omitted these also default to the current value. The century defaults to the current century unless the year is later than the current year, when the previous century is used.

A negative integer can also be entered for the date, and is an offset from today, ie -1 for yesterday.


Analyse by


Analysis Threshold


Association Details


Composition Details

The length, method, composer and arranger fields are copied automatically from the current peal:

Name

Anything to reference the composition, eg "(Original)", "(10-part)" or a reference to a collection. This field follows the composer's name when the peal is printed, so can also be used where a composition is a joint effort, eg "and J Smith".

Method Details

This field is intended for the details of methods in a multi-method peal, and is appended to the number of methods in brackets.

Figures

This field is not displayed, and may be used to keep the figures of the composition.

County Details


Dedication Details


Enter Date


Extra Peal Details


Global Edit


Method Details


Peal Details


Personal Details


Search for Item

Enter abbreviation for item to move to new place in file.

For Persons, this can be used to select the next record with a surname beginning with a given string. This is the case when the initial (upper-case) character of the string matches the initial letter of the surname of the currently selected record, and the second character is lower-case. The search proceeds from the current record.


Select Peals


Set Equivalence


Tower Details

Place

Enter the name in full, in mixed case. Certain output formats convert this to upper case.

County

Enter the first few characters for a further lookup. Also used for country for overseas towers.

Dedication

Enter the first few characters of the dedication, omitting prefixes such as Cathedral, or St, which will be input in the Dedication Details dialog. Also used for addresses (for handbell peals).

Bells

Number of bells (leave as zero for handbell locations).

Tenor

Tenor weight, in format cwt-qr-lb (leave as 0-0-0 for handbells).

Grid Ref

OS six-figure reference, with prefix letters, eg TQ112670. (Grid references are stored as (x-y) coordinates in the notional 2500x2500 km square of the National Grid, with VV000000 in the SW corner). Include for handbell locations if you know it. I haven't yet implemented my scheme for allowing Lat & Long for overseas towers, but then I don't do anything with the grid reference anyway.

Hide County

Check this box if the county is not normally printed as part of the tower name, eg where the county is named after the town.

TowerBase Data

Details cross-referenced from Towerbase.

Linking to Towerbase Data

TowerBase is a database of towers produced by Andrew Craddock. There is an option to export the data to a file, and the exported data can then be massaged and imported into PealBook. This is a 3-stage process:

In TowerBase

First sort the data into an order that is not alphabetical, eg in order of tenor weight (this will make the eventual index file flatter, and hence the data will be quicker to access). Export the data to a file in the PealBook directory using the H (Hardcopy) option, with the mask

<@>%@<a>%A<b>%B<c>%C<g>%G<i>%I<l>%L<m>%M<n>%N<s>%S<t>%T

This will produce an output file looking something like this:

<@>3049<a>Lancashire A<b>12<c>Merseyside<g>SJ354894<i>Church of England Cathedral<l>Liverpool<m> 108<n>No Practice<s>Christ<t>82-0-11
<@>1820<a>G of Devonshire Ringers<b>12<c>Devon<g>SX921925<i>Church of England Cathedral<l>Exeter<m> 192<n>1st Monday 1900 & 3rd Saturdays 1800-2000<s>S Peter<t>72-2-2
<@>3111<a>Middlesex C A & London D G<b>12<c>City of London<g>TQ319811<i>Church of England Cathedral<l>London, Cheapside, EC4<m> 176,177<n>No Practice<s>S Paul<t>62-0-0
.
.
.
The %@ field is a key that does not change when the TowerBase version changes, unlike %#, and it is this that allows your grabs file to work with different versions.

Tbgen

Tbgen takes the file created above and generates a set of tables from it, saving the results in a set of files with the extension .tbd:

tbase.tbd contains the tower name and numerical information held in the <b>, <g> and <t> fields, and pointers to the other files, and is indexed via the <@> key.

The remaining files tb*.tbd each contain the various different strings that can appear in the corresponding fields.

In PealBook

Now load PealBook and import the files using the Import option of the Towerbase menu in the Peal List window. This will generate the corresponding index files. Towers can then be cross-referenced from PealBook by choosing Collate. This asks for each tower in the imported data to be matched, and will take a long time if you do not already have a tbase.xrf file. You can download mine above (which goes with the towers.dat in the sample data).

Your Questions Answered

Send an Email to with any questions about the software. Here a some queries I have had - I hope that as this document expands I won't need to answer as many basic questions from those getting started.

What do the different colours mean in the 'Towers' list ?

You've probably only seen blue. This means that there is a link to Towerbase set up.

The tower database was originally set up using John Baldwin's "Where's That Tower?", which he let us have on disk when it first came out. That is the reason that most towers are there, and have grid references, but other details are missing. I am gradually filling in the other details when I need them, with the help of TowerBase. It is also possible (but unlikely) that towers can appear in red or green. Red means this is really a synonym for another tower and if referenced should be replaced with the correct name. Green means that something has gone wrong with the index file. Both of these can (but shouldn't) occur in any of the lists.

How do I edit the Methods/Ringers/Towers lists without entering a new or editing an existing Peal record ?

I usually do it using List Select to open up the window. If you choose the X button in the Select window when you've finished, it will cancel the selection.

Using the Find option from the select window allows you to jump to a new record without having to scroll all the way through.

What practice to you follow for someone who changes their name ? Or a tower that changes its bells ? Do you make a new entry in the Ringers/Towers table, or change the existing one and affect all earlier records ?

Changing the tower details will not affect the tenor weight in existing records, so is not a problem.

With people, you can set up equivalent names: following Analysis by Ringer, choose Equivalence and type in the old and new initials. In subsequent analyses or selections all equivalent names are lumped together. It is transitive, so you only need put in the latest change each time.

What do you do to record the methods in a multi-method peal ?

To enter multi-method peals enter the number of methods in the Method box (these are sorted in order of number of methods rather than method name). Enter something in the Composition box when entering the peal. This brings up a list of compositions - any that don't match the composer and "method" are greyed out. Method details can be entered in the Composition dialog box.

Things To Do


Known Problems