SCORE (software)

SCORE is a scorewriter program, written in FORTRAN for MS-DOS by Stanford University Professor Leland Smith (1925–2013) with a reputation for producing very high-quality results.[1] It was widely used in engraving during the 1980s and 1990s and continues to have a small, dedicated following of engravers, many of whom regard it as the world's best music-engraving program due to its ability to precisely position symbols on the page. Several publications set using SCORE have earned Paul Revere and German Musikpresse engraving awards.[2]

SCORE
SCORE Version 4, running on MS-DOS.
Original author(s)Leland Smith
Initial release1987 (1987)
Final release
5.01 / 1 November 2013 (2013-11-01)
Written inFORTRAN
Intel Assembler
Visual C++
Operating systemMS-DOS
Microsoft Windows
Available inEnglish
TypeScorewriter
LicenseProprietary
Websitehttp://scoremus.com
http://www.winscore.info/

Program development

Mainframe origins

SCORE began in 1967 as a means of entering music into the MUSIC V sound generating system running on the PDP-10 mainframe computers at the Stanford Artificial Intelligence Laboratory (SAIL).[3] The three men involved with the project (Leland Smith, David Poole and John Chowning) subsequently founded the Stanford Center for Computer Research in Music and Acoustics (CCRMA).[4]

As vector graphics terminals became available in the early 1970s, the parametric approach to describing musical information that had been designed for MUSIC V was adapted by Smith into a program called MS (the standard abbreviation for manuscript) for printing musical scores. The graphics plotters used for output were not able to plot curves so MS did not use music fonts as they are understood today, instead using user-editable symbol libraries based on polygons; only page text such as the title and composer were saved as text from a PostScript Type 1 font.[4][5]

The first printing of a complete musical work set entirely by computer was of Smith's Six Bagatelles for Piano which appeared in December 1971[6], and the first book set entirely by computer to be published was his Handbook of Harmonic Analysis in 1979, created on the PDP-10 computer at SAIL using the PUB typesetting program in conjunction with MS. The printing was done at double size on a Varian Data Machines Statos electrostatic printer and then optically reduced for lithographic printing.[7]

From its creation until 1985, all development of MS was either done on the PDP-10 computers at Stanford or during residencies at IRCAM in the Pompidou Centre, Paris.

Commercial development

SCORE version 4 was installed from a single 3.5" floppy disk, earlier versions shipped on up to four discs

Between 1985 and 1986 MS was ported to the Tandy 2000 running MS-DOS under the new name of SCORE.[4] This was released in 1987 as Version 1 by Passport Designs; and updated to version 2 in August 1988.[8] Passport Designs brought Perry Devine in to help make the program more user-friendly and William Holab to rewrite the manuals, which resulted in version 3.0 in 1990 (whereafter Smith's company, San Andreas Press, took over distribution), and 3.11 in 1994 (the last iteration of version 3, which is considered the most mature and still used commercially today[1]). Version 4.0 (known as SCOR4) was released in 1999.[9] The last minor update to SCOR4, numbered 4.01, was made on October 16, 2001.[10]

The German music publisher Schott Music began using SCORE in 1988[5] and their in-house engraving typefaces became the basis for SCORE's symbol library.[4]

The SCORE music publishing system is made up of the main program, SCORE, and several associated utilities. These are:

  • SCORLAS, which sends typeset pages to PostScript printers or creates an EPS file
  • PAGE, which handles page layout for multiple pages of music simultaneously, and part extraction
  • DRAW, which draws symbols for inclusion in CODE 9 or CODE 11 libraries
  • JUST, which aligns and justifies large scores with more than 32 staves per system[11]

Version 3.0 included the SPRINT program which was the forerunner of SCORLAS, and Version 3.10 also had SCORDOT which sent output to dot matrix printers. ESCORT and SCOREINPUT were sold separately and allowed MIDI input from MIDI file and MIDI keyboard, respectively.[11]

Version 4 included automatic lute and guitar tablature systems, MIDI playback, allowed the editing of groups of items simultaneously by drawing boxes with the mouse, a conditional editor, and various user interface improvements relating to file access and use of a mouse.[4][12]

WinScore, the Microsoft Windows version, was released to beta in 2008 as version 5.00. Improvements included increasing the possible number of staves on pages, removing the limits on items and vectors per page, a WYSIWYG interface, use of colour, native MIDI input and playback, extending the number of parameters per item to 36, and integrating all previous SCORE utilities (PAGE, JUST, DRAW, SCORLAS) into the main program.[13] WinScore suffered from memory leaks and other bugs which prevented its adoption by many users, and despite officially being released on December 8, 2012, it was still effectively in beta development at the time of its last update to 5.01 on November 1, 2013, six weeks before Smith's death.[9][14]

The basis of SCORE was written in FORTRAN with all the mouse and graphics routines written in Intel assembly language. WinScore was created using a combination of Visual C++ and 32-bit DEC FORTRAN.[4]

Pricing

On release in 1987, SCORE version 1 cost $695, version 2 in 1988 was $995[8], version 3 in 1991 was $795[15], version 4 in 1999 was $825[16], and WinScore, in 2013, was $300.[17]

In 1990 it cost $295 to update from an earlier version to version 3.

In 1999 it cost $125 to update from 3.11 to 4.0.[16]

In 2013 to update to WinScore from version 3 cost $200, and from version 4, $100.[17]

Abandonment

With Smith's death on December 17, 2013,[18] both SCORE and WinScore are abandonware and the website registrations have lapsed.[19]

Product reviews

Version 1 was announced in the press at the beginning of 1987 with an expected release date of April that year, and a predicted price tag of $500.[20]

Writing for Electronic Musician, Carter Scholz found the interface 'opaque and maddening' though concluded SCORE was an 'amazing' 'power tool' which 'sets a new standard' for professionals for whom ease of use would be less important than the results which could be obtained.[8] A math coprocessor was considered essential to prevent the program response being sluggish when handling the floating-point arithmetic for screen operations.

Keyboard's Jim Aikin agreed that a considerable investment of time was required to learn the package.[21] Scholz had three months and admitted he'd only 'scratched the surface' of its capabilities. Aikin came to similar conclusions, suggesting improvements to the interface and input methods would make it more accessible.

PC Magazine, reviewing SCORE at the end of 1988, concluded that the software was aimed at accomplished musicians who were prepared to put in the time to learn it, and that the design of the program and manual were thorough and clear.[22]. Three years later the same magazine described the program as having 'ushered in the era of true desktop music publishing' allowing musicians to turn out 'engraver-quality printed music of any complexity', but still admitting that it had a 'ruthlessly difficult interface', a 'confusing amalgam of command line and function keys' which 'never fully made the transition from the mainframe computers' where it originated. Editing music once entered was 'cumbersome and daunting' and the poor documentation made the program even more inaccessible.[23]

Program use

Screenshot of SCORE version 4 being used to engrave music

Entering music symbolically

Music is usually entered using text codes from a standard ASCII keyboard (though a MIDI keyboard can be used purely for note entry), and several passes are required to enter all the information. After the page has been set up with appropriate staves, information is entered voice by voice as follows:

For example, to create these two bars of Bach's Fugue in C minor, BWV 847 from Book I of the Well-Tempered Clavier:[24]

To create the staff:

IN 1 Input staff at vertical level 1
0 200 1 Sets the left end of the staff at position 0,
the right end of the staff at position 200,
and uses staff level 1 (this staff) as the basis for spacing

The five passes of data entry:

NotesTR/K3F/4 4/R/C5/BN4/C5/G4/A/C5/B4/C5/D/M1/G4/C5/BN4/C5/D/F4/G/A/G/F/M1/E/MD1;
RhythmsE/S//E///S//E///S//E//S//Q/S//H;
MarksFE 20/MP .74;
Beams2B;
Slurs1 +2/6 +7/11 -12/15 -17/18 -19;

These show the use of the following text codes - note that '/' is a delimiter and ';' marks the end of each pass:

Pass 1

TRTreble clef
K3FKey signature 3 flats
4 44/4 time signature
RRest
C5Note C in octave 5
BN4Note B natural in octave 4
M1Measure line (barline) on 1 system
MD1Double measure line on 1 system

Pass 2

EEighth note (quaver)
SSixteenth note (semiquaver)
QQuarter note (crotchet)
HHalf note (minim)

Pass 3

FE 20Fermata on note number 20
MP .74Mezzo-piano indication at position 0.74

Pass 4

2BBeam in groups of 2

Pass 5

1 +2Slur from note 1 to note 2, above the notes
11 -12Slur from note 11 to note 12, below the notes

Editing music graphically/numerically

Once the music has been entered using the five-stage input mode described above, the musical data is converted into graphical objects that are stored in memory and in SCORE data files as lists of numbers. Here is the numerical representation of the BWV 847 fugue theme example:

8 1 0 0 0 200
3 1 1.5
17 1 9.416 0 -3
18 1 19.016 0 4 4
2 1 26.516 0 1 0 0.5
1 1 34.835 8 20 0 0.25
9 1 34.835 -3 54 1 0 0 0 0 0 0 0 0 -5
6 1 34.835 8 7 41.43 22
5 1 34.835 10 10 41.43 1.1093 -1
1 1 41.435 7 23 0 0.25
1 1 47.233 8 10 0 0.5 -1
6 1 47.233 7 5.5 55.55 11
1 1 55.551 5 10 0 0.5 0.5
1 1 64.122 6 20 0 0.5
6 1 64.122 6 7 78.24 21 0 0 11 72.44 78.24
1 1 72.441 8 20 0 0.25 1.33
5 1 72.441 10 10 78.24 1.1092 -1
1 1 78.239 7 20 0 0.25
1 1 84.037 8 20 0 0.5
6 1 84.037 8 9 92.36 21
1 1 92.355 9 20 0 0.5
14 1 100.842 1
1 1 104.174 5 10 0 0.5 3
6 1 104.174 8 8 119.09 11 0 0 11 112.49 119.09
1 1 112.493 8 10 0 0.25
5 1 112.493 6 4 119.09 -1.3092 -1
1 1 119.093 7 13 0 0.25 1
1 1 125.143 8 20 0 0.5
6 1 125.143 8 9 133.46 21
1 1 133.462 9 20 0 0.5
1 1 141.781 4 10 0 0.25
6 1 141.781 4 5 147.58 12
5 1 141.781 2 4 153.38 -1.5185 -1
1 1 147.578 5 10 0 0.25
1 1 153.376 6 10 0 1
1 1 165.476 5 10 0 0.25
6 1 165.476 5 4 171.27 12
5 1 165.476 2 2 171.27 -1.1092 -1
1 1 171.274 4 10 0 0.25
14 1 178.274 1
1 1 181.606 3 10 1 2 0 0 0 14
14 1 200 1 1

Each line represents one graphical object, and the first three numbers on a line typically have the same meaning for every object: the first number is the object type, the second is the staff on which the object belongs, and the third object is the horizontal position of the object along the full width of the paper, with 0.0 representing the left margin, and 200.0 representing the right margin. The fourth number contains the vertical position of the note on the staff (although extra information may be included in the fourth parameter). The bottom line of the staff is vertical position 3, the bottom space of the staff is 4, and so on.

SCORE breaks down musical information into the following objects: Notes, Rests, Clefs, Lines, Slurs, Beams, Trills, Staves, Symbols, Numbers, User Symbols, Guitar Grid, Barlines, Graphics, Text, Key Signatures, Time Signatures

Here are selected objects and their associated parameters:

SCORE Versions 3 and 4 parameters[25] (WinScore V5 extensions[24] marked in yellow)
Parameter 1
(CODE No.)
NameParameter
2
Parameter
3
Parameter
4
Parameter
5
Parameter
6
Parameter
7
Parameter
8
Parameter
9
Parameter
10
Parameter
11
Parameter
12
Parameter
13
Parameter
14
Parameter
15
Parameter
16
Parameter
17
Parameter
18
1 NotesStaff No.Horizontal PositionVertical Position (Grace Note)Stem Direction / AccidentalNotehead TypeRhythmic DurationStem Length (Slash for Grace Note)Flags / DotsHorizontal DisplacementArticulationsStaff DisplacementHorizontal Displacement of ArticulationVertical Displacement of ArticulationSize of NoteLedger Line ThicknessOrigin of StemSize of Articulation
4 Lines / HairpinsStaff No.Left Horizontal PositionLeft Vertical PositionRight Vertical Position (Hairpin)Right Horizontal PositionType of Line (Normal, Dashed, Wavy)Length of Dash / Width of WaveRotation / Space between Dashes / Height of WaveThicknessLeft Bracket / ArrowheadRight Bracket / ArrowheadRotationPartial HairpinVertical Line OffsetsLine End Point OffsetLine End Point OffsetLine End Point Offset
5 Slurs (Ties) / Tuplets / EndingsStaff No.Left Horizontal PositionLeft Vertical PositionRight Vertical PositionRight Horizontal PositionCurvatureType of Slur (Tuplet / Ending)Flattening FactorCentre PointDashed SlurHalf Slur / Reversed SlurThicknessPartial SlurPartial SlurNo. in MiddleHorizontal Displacement of No.Vertical Displacement of No.
6 Beams / TremolandiStaff No.Left Horizontal PositionLeft Vertical Position (Cue Size)Right Vertical PositionRight Horizontal PositionStem Direction (Implied)No. Above (Auto Divide)Displacement1st Secondary Beam TremolandiLeft Position of 1st SecondaryRight Position of 1st Secondary2nd Secondary BeamLeft Position of 2nd Secondary (left offset)Right Position of 2nd Secondary (right offset)Horizontal Position of Number over BeamThicknessSize
10 Numbers / Rehearsal LettersStaff No.Horizontal PositionVertical PositionNumber / LetterSizeFontCircle / Box AroundThickness of Number (built-in fonts)Thickness of Box / CircleHorizontal Size (Box / Circle)Vertical Size (Box / Circle)Vertical Position of NumberSpace between DigitsHorizontal Displacement of NumberLetter after NumberExtended Numbers / Letters
14 Barlines / BracketsStaff No.Horizontal PositionNo. of Staves ConnectedTypeThicknessHorizontal DisplacementPartial BracketSize of Space (Dashed Barlines)Origination PointEnd PointMarker for PAGESpace between Double or Repeat BarsSpace between Dots and Lines of Repeat Bars...Vertical Position of Repeat DotsSpecial Double Bar SpacingsSets Gap in Bar
Size of Dots with Repeat Bars
17 Key SignaturesStaff No.Horizontal PositionVertical PositionNo. (type) of AccidentalsClef TypeSpace Between AccidentalsIrregular Key SignaturesIrregular Key SignaturesIrregular Key SignaturesIrregular Key SignaturesIrregular Key SignaturesIrregular Key SignaturesIgnore Lineup and JustifyHorizontal DisplacementIrregular Key SignaturesIrregular Key SignaturesExtended Numbers / Letters

Unlike most music typesetting editors, understanding and manipulation of these numerical parameters are expected of SCORE users. The conditional editor added in version 4 also allows automation of manipulation of these numeric values, and external processing of the variables can be performed. To access the numeric parameters of objects within SCORE, a user clicks on a graphical element, and a list of the parameters is displayed at the top of the editor as shown in the screenshot, where a slur is selected.

SCORE was creative in packing as much information as possible into each numeric parameter. For example, Parameter 5 of CODE 1 is described as 'stem direction/accidental' but uses each place value to encode a different piece of information:[25]

Here are selected examples of objects from the numeric parameter data:

CODE (P1)P2P3
3
(Clefs)
Staff No.Horizontal Position
1.01.50

The key signature:

CODE (P1)P2P3P4P5
17
(Key Signatures)
Staff No.Horizontal PositionVertical PositionNo. (type) of Accidentals
1.09.5.00-3.00

The time signature:

CODE (P1)P2P3P4P5P6
18
(Meter Signatures)
Staff No.Horizontal PositionVertical PositionTop No.Bottom No.
1.019.6.004.004.00

The dynamic marking ('mp'):

CODE (P1)P2P3P4P5P6
9
(Symbol Library)
Staff No.Horizontal PositionVertical PositionLibrary No.Horizontal Size
1.021.17-2.0054.001.00

The rest in the first bar:

CODE (P1)P2P3P4P5P6P7
2
(Rests)
Staff No.Horizontal PositionVertical Position (Cue Size)Type of RestDots (Invisible Rest)Rhythmic Duration
1.026.60.001.00.00.500

The first B natural in the first bar:

CODE (P1)P2P3P4P5P6P7P8P9
1
(Notes)
Staff No.Horizontal PositionVertical PositionStem Direction / AccidentalNotehead TypeRhythmic DurationStem LengthFlags / Dots
1.032.967.0023.00.00.250.00.00

The second slur in the first bar:

CODE (P1)P2P3P4P5P6P7P8
5
(Slurs)
Staff No.Left Horizontal PositionLeft Vertical PositionRight Vertical PositionRight Horizontal PositionCurvatureType of Slur (Tuplet / Ending)
1.063.4310.0010.0067.781.118-1.00

The first barline:

CODE (P1)P2P3P4
14
(Barlines / Brackets)
Staff No.Horizontal PositionNo. of Staves Connected
1.089.541.00

The last note (half note, or minim):

CODE (P1)P2P3P4P5P6P7P8P9P10P11
1
(Notes)
Staff No.Horizontal PositionVertical PositionStem Direction / AccidentalNotehead TypeRhythmic DurationStem LengthFlags / DotsHorizontal DisplacementArticulations
1.0166.183.0010.001.002.000.00.00.0014.00

Conditional editing

With version 4, conditional editing was included in the main program. This allowed users to write conditional statements in a language similar to BASIC.[12] For example,

IF P3>100 THEN P3=P3-20 will move all items on all staves which are beyond position 100 (P3>100), 20 steps to the left (P3-20).

IF (P1=1 AND P2<4) OR (P1=2 AND P2>=6) THEN DEL will delete all notes (P1=1) on staves lower than 4 (P2<4) and all rests (P1=2) on staves greater than or equal to 6 (P2>=6).

IF (P1=1 AND P2>3 AND MOD(P9,10)<>0) OR (P1=1 AND P2=1 AND P3>100) THEN P11=5, P6=6 If notes (P1=1) are on a staff above 3 (P2>3) and have tails (the result of P9 MOD 10 is not 0), or notes (P1=1) are on staff 1 (P2=1) and to the right of position 100 (P3>100), then the notes will be given an accent (P11=5) and an X-shaped notehead (P6=6).

Some functionality was limited in the implementation, such as nested parentheses being unsupported (except for use with MOD()), being unable to edit text, being unable to cross-compare and edit different items simultaneously, and being unable to read macros in sequence from a source file. To remedy this, two third party utilities were developed to take full advantage of the possibilities of conditional editing: ScorEdit from Ararat Software[26], and EDITSCOR from Brodhead Music Typography.[27]

WinScore allowed macros to be read in sequence from source files, but did not add any more functions.[24]

Output

Example output of the SCORE Music Publishing System (EPS converted to PDF and then JPG)

Music notation data is saved in a proprietary but open format:

The files are saved in binary format where the first word is the word count for the entire file. The word count is normally a 16-bit integer; however, if the word count exceeds about 31000, then a 32-bit integer is used. Saved files with less than 31000 words can be read back into the earlier versions of SCORE, except, of course, any new features of WinScore will be ignored. Files with greater than 31000 words cannot be read by the earlier versions of SCORE. The files are concluded with a 6-word trailer. The last word is -9999. The next word back is the count of the preceding trailer words (currently 5). The next word back is the measurement code (0 = inches, 1 = metric). The next back is the program version number. The next is the program serial number (a converted integer). The first word of the trailer is currently undefined. After the initial integer word count, the rest of the file consists entirely of 4-byte (32-bit) floating-point words. Each item is defined by a parameter count followed by its given parameters.[24]

Files usually have the extensions ".mus" or ".pag", though any extension is permitted[25] (Finale also uses the extension ".mus" though the file format is different).

SCORE creates PostScript graphics that can either be sent to a PostScript printer or saved as an Encapsulated PostScript file. For creating publications the EPS graphics can be imported into a desktop publishing program.[25]

Extensions

There are a number of third party utilities which take advantage of the open file format to extend the programs' functionalities and share data with other notation programs.[28][29][26]

Use with modern systems

The MS-DOS versions of SCORE can still be run on modern operating systems through the use of virtual machines, though accommodations need to be made for their age.[30][19][28]. The most common MS-DOS emulators for SCORE are DOSBox in Windows, or Boxer[31] in MacOS.

See also

References

  1. Rothman, Philip (28 December 2013). "Bill Holab on Leland Smith and SCORE". Scoring Notes. Retrieved 2 December 2018.
  2. Selfridge-Field, Eleanor (1997). Beyond MIDI: The Handbook of Musical Codes (First ed.). Massachusetts: MIT Press. p. 252. ISBN 978-0262193948.
  3. Smith, Leland (Jan–Feb 1972). "SCORE - A Musician's Approach to Computer Music" (PDF). Journal of the Audio Engineering Society. 20 (1): 7–14. Retrieved 30 December 2019.CS1 maint: date format (link)
  4. "The SCORE Music Publishing System". SCORE Music. San Andreas Press. Archived from the original on 2019-06-02. Retrieved 28 December 2019.
  5. Selfridge-Field, Eleanor (Summer 2014). "Leland Smith (1925-2013)". Computer Music Journal. 38 (2): 5–7. doi:10.1162/COMJ_e_00246. Retrieved 7 January 2020.
  6. Smith, Leland (1971). Six Bagatelles for Piano. Palo Alto, CA: San Andreas Press.
  7. Smith, Leland (1979). Handbook of Harmonic Analysis. Palo Alto, CA: San Andreas Press.
  8. Scholz, Carter (September 1988). "Passport Designs Score, An IBM PC Music Notation Program". Electronic Musician. San Bruno, CA: Mix Publications. pp. 76–83.
  9. Rothman, Philip (28 December 2013). "Thomas Brodhead on Leland Smith and SCORE". Scoring Notes. Retrieved 2 December 2018.
  10. Smith, Leland. "SAP Download Page". The SCORE Music Publishing System. San Andreas Press. Archived from the original on 12 April 2009. Retrieved 22 January 2020.
  11. Smith, Leland (1993). SCORE Version 3.10 Manual Additions. Palo Alto, CA: San Andreas Press. pp. 1.01–1.02.
  12. Smith, Leland (1999). SCORE4 Manual. Palo Alto, CA: San Andreas Press. pp. 2–7.
  13. Gibson, Stephen (18 February 2009). "WINSCORE (Score 5)". Acadia University. Retrieved 27 December 2019.
  14. "San Andreas Press WinScore". WinScore. San Andreas Press. Archived from the original on 29 December 2019. Retrieved 7 January 2020.
  15. Signell, Karl (Spring 1991). "Review". Journal of the American Musicological Society. 44 (1): 136–148. doi:10.2307/831732.
  16. "News". Viola da Gamba Society of America (VdGSA) News. 35-36: 9. June 1999.
  17. "Purchase". WinScore. San Andreas Press. Archived from the original on 26 December 2019. Retrieved 28 January 2020.
  18. Wander, Robin (10 January 2014). "Stanford Professor Leland Smith, innovative music creator, dies at 88". Stanford Report. Stanford University. Retrieved 28 December 2019.
  19. Selk, Jürgen. "ScorBox - Homepage". ScorBox. Retrieved 2 December 2018.
  20. Hertelendy, Paul (25 January 1987). "Software for sweet airs". San Jose Mercury News (Arts & Books). Bay Area News Group. Mercury News.
  21. Aikin, Jim (July 1988). "Keyboard Report: SCORE". Keyboard. Future.
  22. "Music Notation Software". PC Magazine. Ziff Davis. 29 November 1988. Retrieved 28 January 2020.
  23. Kendall, Rob (11 June 1991). "SCORE: Notation Power at a Price". PC Magazine. Ziff Davis. Retrieved 28 January 2020.
  24. Smith, Leland (23 October 2013). "WinScore Help File (CHM)". WinScore. San Andreas Press. Archived from the original on 29 December 2019. Retrieved 7 January 2020.
  25. Smith, Leland (1992). SCORE Reference Manual Version 3.0 (PDF). Palo Alto, CA: San Andreas Press. pp. 1–177.
  26. Gibson, Stephen. "ScorEdit conditional editor". New Notations London. Ararat Software. Retrieved 28 December 2019.
  27. Brodhead, Thomas. "EDITSCOR (ES.EXE)". Brodhead Music Typography. Archived from the original on 2 October 2015. Retrieved 29 January 2020.
  28. de Kloe, Jan (6 May 2018). "Music Engraving Software Utilities". Retrieved 2 December 2018.
  29. Brodhead, Thomas (4 May 2014). "SCORE utilities". Brodhead Music Typography. Archived from the original on 2 October 2015. Retrieved 5 June 2019.
  30. Brodhead, Thomas (19 December 2014). "Installing SCORE on Windows XP and later". Brodhead Music Typography. Archived from the original on 2 October 2015. Retrieved 2 December 2018.
  31. "Boxer Homepage". BoxerApp. Retrieved 11 February 2020.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.