|
@@ -35,7 +35,7 @@ export const getFixTime = (speed: number) => {
|
|
const duration: any = getDuration(state.osmd as unknown as OpenSheetMusicDisplay);
|
|
const duration: any = getDuration(state.osmd as unknown as OpenSheetMusicDisplay);
|
|
let numerator = duration.numerator || 0;
|
|
let numerator = duration.numerator || 0;
|
|
let denominator = duration.denominator || 4;
|
|
let denominator = duration.denominator || 4;
|
|
- const beatUnit = duration.beatUnit || "quarter";
|
|
|
|
|
|
+ const beatUnit = "quarter";
|
|
// if (state.repeatedBeats) {
|
|
// if (state.repeatedBeats) {
|
|
// // 音频制作问题仅2拍不重复
|
|
// // 音频制作问题仅2拍不重复
|
|
// numerator = numerator === 2 ? 4 : numerator;
|
|
// numerator = numerator === 2 ? 4 : numerator;
|
|
@@ -965,6 +965,7 @@ export const formatXML = (xml: string, xmlUrl?: string, resourceType?: string):
|
|
// TODO:删除妙极客曲子无意义的words
|
|
// TODO:删除妙极客曲子无意义的words
|
|
// wordArr?.push(word?.textContent)
|
|
// wordArr?.push(word?.textContent)
|
|
if (word?.textContent && reg.test(word?.textContent) && word?.parentNode?.parentNode) {
|
|
if (word?.textContent && reg.test(word?.textContent) && word?.parentNode?.parentNode) {
|
|
|
|
+ // console.log('测试',1,measure)
|
|
measure.removeChild(word.parentNode.parentNode);
|
|
measure.removeChild(word.parentNode.parentNode);
|
|
// deleteWordArr?.push(word?.textContent)
|
|
// deleteWordArr?.push(word?.textContent)
|
|
}
|
|
}
|
|
@@ -1558,7 +1559,7 @@ export const formateTimes = (osmd: OpenSheetMusicDisplay) => {
|
|
* 曲子:1795013295024062466(春暖花开),如果音符有times信息,休止符没有times信息,此种规则是认为休止符不参与时值计算的,需要过滤掉该休止符
|
|
* 曲子:1795013295024062466(春暖花开),如果音符有times信息,休止符没有times信息,此种规则是认为休止符不参与时值计算的,需要过滤掉该休止符
|
|
*/
|
|
*/
|
|
let evNoteStartTime = 0, evNoteEndTime = 0;
|
|
let evNoteStartTime = 0, evNoteEndTime = 0;
|
|
- if (state.isEvxml && note?.noteTimeInfo?.length === 0 && state.xmlHasTimes ) {
|
|
|
|
|
|
+ if (state.isEvxml && note?.noteTimeInfo?.length === 0 && state.xmlHasTimes && !state.isCustomNoteTime) {
|
|
// 找出这个音符前面音符的结束时间
|
|
// 找出这个音符前面音符的结束时间
|
|
let preNoteTImes = allNotes[allNotes.length - 1]?.endtime*1000
|
|
let preNoteTImes = allNotes[allNotes.length - 1]?.endtime*1000
|
|
if(!preNoteTImes){
|
|
if(!preNoteTImes){
|
|
@@ -1980,6 +1981,7 @@ const analyzeEvxml = (xmlParse: any, xmlUrl?: string) => {
|
|
const denNum2 = xmlParse.getElementsByTagName("timegap")[0]?.getElementsByTagName("values")[0]?.getElementsByTagName("item")[1]?.getAttribute('den');
|
|
const denNum2 = xmlParse.getElementsByTagName("timegap")[0]?.getElementsByTagName("values")[0]?.getElementsByTagName("item")[1]?.getAttribute('den');
|
|
const timeGaps: any = xmlParse.getElementsByTagName("timegap")?.length ? Array.from(xmlParse.getElementsByTagName("timegap")?.[0]?.getElementsByTagName("values")?.[0]?.getElementsByTagName("item")) : [];
|
|
const timeGaps: any = xmlParse.getElementsByTagName("timegap")?.length ? Array.from(xmlParse.getElementsByTagName("timegap")?.[0]?.getElementsByTagName("values")?.[0]?.getElementsByTagName("item")) : [];
|
|
state.xmlHasTimes = !!xmlParse.getElementsByTagName("times")?.length
|
|
state.xmlHasTimes = !!xmlParse.getElementsByTagName("times")?.length
|
|
|
|
+ state.isCustomNoteTime = !!xmlParse.getElementsByTagName("custom-note-time")?.length
|
|
// 第一个音符的起始时间
|
|
// 第一个音符的起始时间
|
|
const firstMeasure = xmlParse.getElementsByTagName("measure")[0];
|
|
const firstMeasure = xmlParse.getElementsByTagName("measure")[0];
|
|
if (firstMeasure) {
|
|
if (firstMeasure) {
|