| ︙ | | |
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
|
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
|
-
+
|
if (v == undefined)
break
s = vtb[v]
if (!s || s.time != time
|| w_tb[s.type] != wmin)
continue
if (s.type == STAVES) {
sy = sy.next;
sy = s.sy;
new_sy = true;
sy_w = -1;
sy_time = s.time
}
if (fl) {
fl = 0;
s.seqst = true
|
| ︙ | | |
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
|
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
|
-
+
|
case KEY:
s2.p_v.key = clone(s2.as.u.key)
break
case METER:
s2.p_v.meter = clone(s2.as.u.meter)
break
case STAVES:
sy = sy.next
sy = s.sy
break
}
}
cur_sy = sy
for (v = 0; v < voice_tb.length; v++) {
p_voice = voice_tb[v]
for (s2 = s; s2; s2 = s2.ts_next) {
|
| ︙ | | |
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
|
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
|
-
-
|
if (p_voice.sym)
no_sym = false
}
if (no_sym /* if first %%staves */
|| (maxtime == 0 && staves_found < 0)) {
for (v = 0; v < par_sy.voices.length; v++)
par_sy.voices[v].range = -1
// } else if (staves_found != maxtime) { // if no 2 %%staves
} else {
// fixme: problem if no common voice with previous %%staves
/*
* create a new staff system and
* link the 'staves' symbol in a voice which is seen from
* the previous system - see sort_all
*/
for (v = 0; v < par_sy.voices.length; v++) {
|
| ︙ | | |
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
|
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
|
-
+
+
|
s.eoln = true;
delete s2.eoln
}
} else {
sym_link(s) // link the staves in this voice
}
par_sy.nstaff = nstaff;
new_syst()
new_syst();
s.sy = par_sy
}
// staves_found = maxtime < 0 ? 0 : maxtime
staves_found = maxtime
/* initialize the (old) voices */
for (v = 0; v < voice_tb.length; v++) {
|
| ︙ | | |
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
|
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
|
+
+
+
+
+
+
+
+
+
+
|
curvoice.clef.iend = curvoice.key.iend;
// nstaff = 0;
// curvoice.time = 0;
curvoice.default = true
} else if (!curvoice) {
curvoice = voice_tb[staves_found < 0 ? 0 : par_sy.top_voice]
}
// link the first %%score
if (staves_found >= 0) {
s = {
type: STAVES,
dur: 0,
sy: par_sy
}
sym_link(s)
}
if (!curvoice.init && !is_K) {
set_kv_parm([]);
set_transp()
}
// update some voice parameters
|
| ︙ | | |