abc2svg
Diff
Not logged in

Differences From Artifact [65eecf9cc2]:

To Artifact [58a6f266de]:


877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
		case "color=":
			map[2] = a[++i]
			break
		}
	}
}

// %%MIDI
function get_midi(param) {
	var	n, v,
		a = param.split(/\s+/)

	switch (a[0]) {
	case "channel":
		if (a[1] != "10")
			break
		set_v_param("midictl", "0 1")	// channel 10 is bank 128 program 0
		break
	case "program":
		if (a[2] != undefined)	// the channel is unused
			v = a[2]
		else
			v = a[1];
		v = parseInt(v)
		if (isNaN(v) || v < 0 || v > 127) {
			syntax(1, "Bad program in %%MIDI")
			return
		}
		set_v_param("instr", v)
		break
	case "control":
		n = parseInt(a[1])
		if (isNaN(n) || n < 0 || n > 127) {
			syntax(1, "Bad controller number in %%MIDI")
			return
		}
		v = parseInt(a[2])
		if (isNaN(v) || v < 0 || v > 127) {
			syntax(1, "Bad controller value in %%MIDI")
			return
		}
		set_v_param("midictl", a[1] + ' ' + a[2])
		break
	}
}

// set the transposition in the previous or starting key
function set_transp() {
	var	s, transp, vtransp

	if (curvoice.ckey.k_bagpipe || curvoice.ckey.k_drum)
		return








<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<







877
878
879
880
881
882
883







































884
885
886
887
888
889
890
		case "color=":
			map[2] = a[++i]
			break
		}
	}
}








































// set the transposition in the previous or starting key
function set_transp() {
	var	s, transp, vtransp

	if (curvoice.ckey.k_bagpipe || curvoice.ckey.k_drum)
		return

1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
		return
	case "deco":
		deco_add(param)
		return
	case "linebreak":
		set_linebreak(param)
		return
	case "MIDI":
		get_midi(param)
		return
	case "map":
		get_map(param)
		return
	case "maxsysstaffsep":
		if (parse.state == 3) {
			par_sy.voices[curvoice.v].maxsep = get_unit(param)
			return







<
<
<







992
993
994
995
996
997
998



999
1000
1001
1002
1003
1004
1005
		return
	case "deco":
		deco_add(param)
		return
	case "linebreak":
		set_linebreak(param)
		return



	case "map":
		get_map(param)
		return
	case "maxsysstaffsep":
		if (parse.state == 3) {
			par_sy.voices[curvoice.v].maxsep = get_unit(param)
			return
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
		wmeasure: glovar.meter.wmeasure,
		clef: {
			type: CLEF,
			clef_auto: true,
			clef_type: "a",		// auto
			time: 0
		},
		hy_st: 0,
		instr: 0			// default MIDI instrument
	}

	voice_tb.push(p_voice);

	par_sy.voices[v] = {
		range: -1
	}







|
<







2088
2089
2090
2091
2092
2093
2094
2095

2096
2097
2098
2099
2100
2101
2102
		wmeasure: glovar.meter.wmeasure,
		clef: {
			type: CLEF,
			clef_auto: true,
			clef_type: "a",		// auto
			time: 0
		},
		hy_st: 0

	}

	voice_tb.push(p_voice);

	par_sy.voices[v] = {
		range: -1
	}