LEFT | RIGHT |
1 #!@PYTHON@ | 1 #!@PYTHON@ |
| 2 |
2 import codecs | 3 import codecs |
| 4 import difflib |
3 import errno | 5 import errno |
4 import sys | 6 import functools |
| 7 import glob |
| 8 import html |
| 9 import math |
5 import optparse | 10 import optparse |
6 import os | 11 import os |
7 import math | |
8 import re | 12 import re |
| 13 import sys |
9 import tempfile | 14 import tempfile |
10 import difflib | |
11 import time | 15 import time |
12 import glob | |
13 import html | |
14 import functools | |
15 | 16 |
16 ## so we can call directly as scripts/build/output-distance.py | 17 ## so we can call directly as scripts/build/output-distance.py |
17 me_path = os.path.abspath (os.path.split (sys.argv[0])[0]) | 18 me_path = os.path.abspath (os.path.split (sys.argv[0])[0]) |
18 sys.path.insert (0, me_path + '/../../python/') | 19 sys.path.insert (0, me_path + '/../../python/') |
19 sys.path.insert (0, me_path + '/../../python/out/') | 20 sys.path.insert (0, me_path + '/../../python/out/') |
20 import midi | 21 import midi |
21 | 22 |
22 X_AXIS = 0 | 23 X_AXIS = 0 |
23 Y_AXIS = 1 | 24 Y_AXIS = 1 |
24 INFTY = 1e6 | 25 INFTY = 1e6 |
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
330 return None | 331 return None |
331 else: | 332 else: |
332 raise | 333 raise |
333 | 334 |
334 entries = f.read ().split ('\n') | 335 entries = f.read ().split ('\n') |
335 def string_to_tup (s): | 336 def string_to_tup (s): |
336 return tuple (map (scheme_float, s.split (' '))) | 337 return tuple (map (scheme_float, s.split (' '))) |
337 | 338 |
338 def string_to_entry (s): | 339 def string_to_entry (s): |
339 fields = s.split('@') | 340 fields = s.split('@') |
340 fields[1] = string_to_tup (fields[1]) | 341 |
341 fields[2] = string_to_tup (fields[2]) | 342 # Backward compatibility; remove this once we stop comparing |
| 343 # againsts older versions |
| 344 if len(fields) == 5: |
| 345 fields = (fields[0], string_to_tup(fields[2]), string_to_tup(fields[
3])) |
| 346 else: |
| 347 fields[1] = string_to_tup (fields[1]) |
| 348 fields[2] = string_to_tup (fields[2]) |
342 | 349 |
343 return tuple (fields) | 350 return tuple (fields) |
344 | 351 |
345 entries = [string_to_entry (e) for e in entries | 352 entries = [string_to_entry (e) for e in entries |
346 if e and not e.startswith ('#')] | 353 if e and not e.startswith ('#')] |
347 | 354 |
348 grob_sigs = [GrobSignature (e) for e in entries] | 355 grob_sigs = [GrobSignature (e) for e in entries] |
349 sig = SystemSignature (grob_sigs) | 356 sig = SystemSignature (grob_sigs) |
350 return sig | 357 return sig |
351 | 358 |
(...skipping 1066 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1418 \midi {} | 1425 \midi {} |
1419 } | 1426 } |
1420 \paper {} | 1427 \paper {} |
1421 } | 1428 } |
1422 ''' | 1429 ''' |
1423 | 1430 |
1424 open ('20multipage.ly', 'w').write (multipage_str.replace ('c1', 'd1')) | 1431 open ('20multipage.ly', 'w').write (multipage_str.replace ('c1', 'd1')) |
1425 open ('19multipage.ly', 'w').write ('#(set-global-staff-size 19.5)\n' + mult
ipage_str) | 1432 open ('19multipage.ly', 'w').write ('#(set-global-staff-size 19.5)\n' + mult
ipage_str) |
1426 | 1433 |
1427 names = simple_names + [ "20multipage", "19multipage" ] | 1434 names = simple_names + [ "20multipage", "19multipage" ] |
1428 system ('lilypond -dbackend=eps --formats=ps -dseparate-log-files -dinclude-
eps-fonts -dgs-load-fonts --header=texidoc -I /home/hanwen/vc/lilypond/Documenta
tion/included/ -ddump-profile -dcheck-internal-types -ddump-signatures -danti-al
ias-factor=1 ' + ' '.join (names)) | 1435 binary = os.environ.get ("LILYPOND_BINARY", "lilypond") |
| 1436 system ('%s -dbackend=eps --formats=ps -dseparate-log-files -dinclude-eps-fo
nts -dgs-load-fonts --header=texidoc -I /home/hanwen/vc/lilypond/Documentation/i
ncluded/ -ddump-profile -dcheck-internal-types -ddump-signatures -danti-alias-fa
ctor=1 %s' % (binary, ' '.join (names))) |
1429 test_compare_signatures (simple_names) | 1437 test_compare_signatures (simple_names) |
1430 | 1438 |
1431 | 1439 |
1432 def test_compare_signatures (names, timing=False): | 1440 def test_compare_signatures (names, timing=False): |
1433 times = 1 | 1441 times = 1 |
1434 if timing: | 1442 if timing: |
1435 times = 100 | 1443 times = 100 |
1436 | 1444 |
1437 t0 = time.time () | 1445 t0 = time.time () |
1438 | 1446 |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1548 | 1556 |
1549 out = options.output_dir | 1557 out = options.output_dir |
1550 if not out: | 1558 if not out: |
1551 out = args[0].replace ('/', '') | 1559 out = args[0].replace ('/', '') |
1552 out = os.path.join (args[1], 'compare-' + shorten_string (out)) | 1560 out = os.path.join (args[1], 'compare-' + shorten_string (out)) |
1553 | 1561 |
1554 compare_tree_pairs (list(zip(args[0::2], args[1::2])), out, options.threshol
d) | 1562 compare_tree_pairs (list(zip(args[0::2], args[1::2])), out, options.threshol
d) |
1555 | 1563 |
1556 if __name__ == '__main__': | 1564 if __name__ == '__main__': |
1557 main () | 1565 main () |
LEFT | RIGHT |