日志和bug修改

This commit is contained in:
bgArray
2022-01-19 17:48:47 +08:00
parent 7e13b22d46
commit 81eb8e5376
17 changed files with 433 additions and 419 deletions

View File

@ -1,87 +1,84 @@
"""音创系列的文件读取功能"""
# 诸葛亮与八卦阵帮忙修改语法 日期:---2022年1月19日
# 统计致命三级错误0个警告二级错误3个语法一级错误22个
from nmcsup.log import log
from nmcsup.const import notes
#从格式文本文件读入一个音轨并存入一个列表
def ReadFile(fn : str) -> list:
# 从格式文本文件读入一个音轨并存入一个列表
def ReadFile(fn: str): # -> list
from nmcsup.trans import note2list
log('打开'+fn+"并读取音符")
log('打开' + fn + "并读取音符")
try:
nat = open(fn, 'r', encoding='UTF-8').read().split(" ")
del fn
except:
except FileNotFoundError:
log("找不到读取目标文件")
return False
Notes = []
log(str(nat)+"已读取")
for i in range(int(len(nat)/2)):
Notes.append([nat[i*2], float(nat[i*2+1])])
log(str(nat) + "已读取")
for i in range(int(len(nat) / 2)):
Notes.append([nat[i * 2], float(nat[i * 2 + 1])])
Notes = note2list(Notes)
log('音符数据更新'+str(Notes))
return [Notes,]
log('音符数据更新' + str(Notes))
return [Notes, ]
#从midi读入多个音轨返回多个音轨列表
def ReadMidi(midfile : str ) -> list:
# 从midi读入多个音轨返回多个音轨列表
def ReadMidi(midfile: str): # -> list
import mido
from msctspt.threadOpera import NewThread
Notes = []
try:
mid = mido.MidiFile(midfile)
except:
log("找不到文件或无法读取文件"+midfile)
except FileNotFoundError:
log("找不到文件或无法读取文件" + midfile)
return False
# 解析
ks = list(notes.values())
def loadMidi(track):
def loadMidi(track1):
datas = []
for i in track:
for i in track1:
if i.is_meta:
log('元信息'+str(i))
log('元信息' + str(i))
pass # 不处理元信息
elif 'note_on' in str(i):
msg = str(i).replace("note=", '').replace("time=", '').split(" ")
log('音符on消息处理后'+str(msg))
log('音符on消息处理后' + str(msg))
if msg[4] == '0':
datas.append([ks[int(msg[2])-20][0], 1.0])
log('延续时间0tick--:添加音符'+str([ks[int(msg[2])-20][0], 1.0]))
datas.append([ks[int(msg[2]) - 20][0], 1.0])
log('延续时间0tick--:添加音符' + str([ks[int(msg[2]) - 20][0], 1.0]))
else:
datas.append([ks[int(msg[2])-20][0], float(msg[4])/480])
log('延续时间'+msg[4]+'tick--:添加音符' +str([ks[int(msg[2])-20][0], float(msg[4])/480]))
datas.append([ks[int(msg[2]) - 20][0], float(msg[4]) / 480])
log('延续时间' + msg[4] + 'tick--:添加音符' + str([ks[int(msg[2]) - 20][0], float(msg[4]) / 480]))
del msg
log('音符增加'+str(datas))
log('音符增加' + str(datas))
return datas
for j, track in enumerate(mid.tracks):
th = NewThread(loadMidi,(track,))
th = NewThread(loadMidi, (track,))
th.start()
Notes.append(th.getResult())
del ks
return Notes
def ReadOldProject(fn:str) -> list:
def ReadOldProject(fn: str): # -> list
import json
from nmcsup.trans import note2list
log("读取文件:"+fn)
log("读取文件:" + fn)
try:
with open(fn, 'r', encoding='UTF-8') as c:
dataset = json.load(c)
except:
print('找不到文件:'+fn+",请查看您是否输入正确")
log("丢失"+fn)
except FileNotFoundError:
print('找不到文件:' + fn + ",请查看您是否输入正确")
log("丢失" + fn)
return False
for i in range(len(dataset['musics'])):
dataset['musics'][i]['notes'] = note2list(dataset['musics'][i]['notes'])
#返回 音轨列表 选择器
# 返回 音轨列表 选择器
return dataset