File: features.txt

package info (click to toggle)
abcm2ps 4.12.18-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 988 kB
  • ctags: 1,043
  • sloc: ansic: 17,890; sh: 2,793; makefile: 175
file content (298 lines) | stat: -rw-r--r-- 9,620 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
	Features of abcm2ps 4.12.6 (J.F. Moine, January 2006)
	=====================================================

abcm2ps tries to follow the ABC standard version 2.0:

	http://abc.sourceforge.net/standard/abc2-draft.html

Here are listed only the differences from the draft IV (14/8/2003)
of this standard.


Features not implemented.
========================

Information fields.

	- The fields %%abc-xxx (except %%abc-version) are ignored.

Tune body.

	- The following decorations are not implemented:
		+dacoda+, +dacapo+

	- 'U' fields cannot contain guitar chord nor annotations.

	- +none+ and +nil+ in 'U' fields do not work.

	- The values assigned by the 'U' field are always global (they
	  are not restored at end of tune).

Multiple voices.

	- The operator '&' does not work in 'w' and 's' fields.


Features that work differently.
===============================

File structure.

	- The X header field may be omitted in tunebooks in which case
	  a tune will start on a T header field.

	- The T header field may be omitted (when some 'X' is present).

	- There is no notion of 'file header': any valid ABC field
	  found outside the tunes is considered as global, and applies
	  to the remaining tunes.

	- When the %%abc-version is lower than '2.0', a backslash as the
	  last character of a line means 'concatenate the next line of the
	  same type to this one'.
	  This works only for music lines and 'd', 's' and 'w' fields.
	  In a music line, this prevents line breaking.
	  Example:
		DEF|\
		M:C
		GABc|
		w:bla bla bla\
		%%vocalfont Times-Roman 14
		w:bla bla bla bla
	  Also:
		 gf|e2dc B2A2|B2G2 E2D2|.G2.G2 GABc|d4 B2
		w: Sa-ys my au-l' wan to your aul' wan\
		   Will~ye come to the Wa-x-ies dar-gle?
	  does not work.

Information fields.

	- In a tune body, the lines beginning with a letter in range A-G
	  or a-g and immediately followed by a colon are interpreted as
	  information fields.

	- When the %%abc-version is lower than '2.0', the field 'A' is
	  'Area', and not 'Author of lyrics'. It is displayed only when
	  'infoline' is set.

	- In 'K' fields, when present, the list of accidentals always
	  replaces the accidentals of the key signature (as if 'exp'
	  was present).

	- In 'K' fields, the list of accidentals may be 'none' (for
	  no accidental).

	- When a 'K' or 'M' field is found inside a tune, in the first
	  voice, alone in a line (not enclosed by '[' / ']') and when
	  the voice is empty, it is applied to all voices.

Tune body.

	- Some bar lines are drawn as defined (ex: ':|:'), some other
	  ones are expanded, as '|::' to '[|::'.

	- '@' in annotations must be followed by the <x> and <y> offsets
	  of the text from the note position (in points). The <x> and <y>
	  values are separated by a comma, and <y> may be followed by a
	  space (usefull if the text begins with a digit, a dot or the
	  letters 'E' or 'e' - see sample3.abc for an example).

	- Grace notes may appear before any symbol and may contain
	  chords. Their note lengths are handled. The unit note length
	  is not tied to L: (or M:). Instead, for compatibility, it is:
		- a quaver for a single note and
		  a semi-quaver for many notes in standard tunes,
		- a demi-semi-quaver in bagpipe tunes.
	  Grace notes greater than crotchets are drawn as crotchets.

	- Tuplets values may be greater than 9.

	- Tuplets may be nested.

Clefs.

	- When 'clef=' is present, the clef name may be a note with its
	  pitch. The note may be only 'G' (treble clef), 'C' (alto clef)
	  or 'F' (bass clef). The pitch gives the note on the clef line.
	  The two following definitions are equivalent:
		K: clef=f
		K: bass middle=d

Multiple voices.

	- The 'P' information field inside a tune and alone in a line
	  (not enclosed by '[' / ']') is set in the first voice,
	  without changing the current voice.

Data format.

	- The special character sequences depend on the encoding.
	  Only ISO-Latin 1 to 6 are supported. The encoding is
	  defined by '-L' or %%encoding.

	- The font change ($n in strings) does not work in all cases.

ABC Stylesheet specification.

	- '%%score' is not implemented. '%%staves' shall be used instead.
	  The differences are:
		- continued bar lines are drawn when there is no '|'
		  between the voice names (this feature is inverted in
		  %%score).
		- '*' is not accepted. A floating voice may be only the
		  second one in a 3 voices brace.

	- Some formatting directives are not implemented, and some new
	  ones are defined. See the file 'format.txt' for details.


Extensions.
==========

File structure.

	- Lines starting with '\' (back-slash) are ignored (abc2mtex
	  compatibility).

Information fields.

	- The field 'M' may specify more complex meters with a
	  combination of digits, parenthesis, slashes and blanks.
	  It may also specify ancient meters as 'M:2' or 'M:3'.
	  An explicit measure duration may be specified putting its
	  value after an '=' sign (ex: 'M:C|=2/1').

	- The field 'Q' may contain text that is written before and/or
	  after the tempo definition.
	  The tempo value may be any string.
	  The tempo value may be a note lenth (as '1/4').
	  The beat and tempo may be omitted.
	  There may be up to 4 beats. Ex:
		Q: "string before" 1/4 3/8 1/4 3/8=40-50 "string after"

	- The field 'd' is the same as 's' (symbol line).

Tune body.

	- Microtone pitches are indicated by a fraction after an
	  accidental, as "^3/4c". When omitted, the numerator defaults
	  to 1 and the denominator to 2 ("^/c" is the same as "^1/2c").
	  The numerator and denominator cannot be greater than 256.
	  Support exists for 1/2 and 3/2 sharps and flats. For other
	  values, PostScript functions must be defined (by %%postscript).
	  The name of such a function is:
		<accidental_type><micro_value>
	  where:
		  - <accidental_type> is "sh" (sharp) or "ft" (flat)
			(may be also "nt", "dsh" or "dft" !)
		  - <micro_value> is computed from the fraction as:
			( <numerator> - 1 ) * 256 + <denominator> - 1

	- A note length starting with '0' (zero') indicates a stemless
	  black note (the note length must be a crotchet).

	- A space ('y') may be followed by a width in points.
	  The default width is 20 pts.

	- '[]' is the same as '[|]' (invisible bar).

	- ':' (colon alone) is the same as '.|' (dotted bar).

	- Repeat bars may contain a set of digits, '-' (hyphen),
	  ',' (comma) or '.' (dot), or even a free string. Ex:
		|: ... [1,3 ... :|2,4-6 :|["last time" ...
	  (note that a '[' is needed before the string - this one may
	   be empty).

	- ']' indicates the explicit end of a repeat section.
	  It may be used as an invisible bar.

	- There may be slurs from notes to grace notes and reverse.

	- Opening slurs may be followed by "'" or "," to force their
	  direction (above or below).

	- The tie character ("-") may be followed by "'" or "," to force
	  the tie direction (above or below).

	- The following decorations are added:
		+beamon+	do not break beaming (on a measure bar)
		+beambr1+ and +beambr2+
				let only 1 or 2 beams from the previous note
		+gmark+		grace mark
		+invisible+	prevent a note to be displayed
		+rbstop+	stop here the current repeat bracket
		+trem1+ .. +trem4+
				tremolo (on the second of a couple of notes
				- see sample4.abc for an example)
		+xstem+		draw a stem up to the note on the previous
				staff
		!+!		same as +plus+

	- There may be decorations on notes inside chords.
	  Such decorations cannot be standard ones, they must be
	  defined by %%deco and %%postscript (there is no control).

	- There may be decorations on grace notes.

	- Multiple lines of guitar chord / annotation may also be
	  indicated by '\n', ';' or a new line inside the quoted
	  string. Ex:
		"G3""4"G "G3\n4"G "G3;4"G "G3
		4"G

	- Annotations may contain '\#', '\b' and '\=' to display
	  accidentals.

Clefs.

	- 'clef=P' is the same as 'perc'.

	- When the clef name is 'perc' (or 'P'), accidentals change the
	  note head glyph. By default, sharp notes are drawn as a 'x'
	  and flat notes as a circled 'x'. This behaviour may be changed
	  overloading the PostScript functions 'pshhd' and 'pfthd', or
	  defining 'pnthd' (natural), 'pdshhd' (double sharp) and
	  'pdfthd' (double flat).

	- When no clef is specified, clef changes are automatically
	  inserted when needed ('bass' or 'treble').

	- When the clef is bass or alto, for abc2ps compatibility,
	  abcm2ps scans the beginning of the tune to see if some
	  transposition was applied.
	  If the option CLEF_TRANSPOSE was set during abcm2ps generation,
	  abc2ps transposition always occurs.

Multiple voices.

	- 'gstem=up' or 'gstem=down' in a V field forces the direction
	  of the stems of the grace notes.

	- 'stem=auto' and 'gstem=auto' in a V field re-enables the
	  automatic computation of the direction of the stems (default
	  values).

	- 'dyn=up', 'dyn=down' or 'dyn=auto' in a V field forces the
	  place of the dynamic marks (above or below the staff -
	  default is 'auto').

	- 'lyrics=up', 'lyrics=down' or 'lyrics=auto' in a V field forces
	  the place of the lyrics (above or below the staff - default
	  is 'auto').

	- 'staffscale=<value>' in a V field sets the scale of the
	  associated staff. The default value is '1'.

	- 'merge' in a V field makes the voice to go on the same staff
	  as the previous voice (BarFly compatibility).

	- The BarFly voice switch in tune ('V:x <notes>', i.e.
	  voice + notes on the same line) may work.

	- The operator '(&...&...&)' permits voice overlay on many
	  measures. See sample3.abc for example.

Deprecated ABC syntax.

	- The deprecated ABC syntax is supported.