From 19bbb92cffa44eec3bbf4aaac602975ff4bfaab6 Mon Sep 17 00:00:00 2001
From: bgArray <474037765@qq.com>
Date: Fri, 28 Jan 2022 18:29:51 +0800
Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E6=94=B9=E5=8A=A8=E3=80=81=E5=9B=9E?=
=?UTF-8?q?=E6=A1=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/.gitignore | 3 +
.idea/Musicreater.iml | 12 ++
.idea/inspectionProfiles/Project_Default.xml | 46 ++++++
.../inspectionProfiles/profiles_settings.xml | 6 +
.idea/misc.xml | 4 +
.idea/modules.xml | 8 +
.idea/vcs.xml | 6 +
Musicreater.py | 139 ++++++++++++++++--
.../__pycache__/__init__.cpython-39.pyc | Bin 181 -> 181 bytes
bgArrayLib/__pycache__/bpm.cpython-39.pyc | Bin 1368 -> 1368 bytes
languages/__pycache__/__init__.cpython-39.pyc | Bin 180 -> 180 bytes
languages/__pycache__/lang.cpython-39.pyc | Bin 490 -> 490 bytes
languages/__pycache__/zhCN.cpython-39.pyc | Bin 6833 -> 7014 bytes
languages/zhCN.py | 6 +-
log/2022-01-28 17_43_56.logger | 0
log/2022-01-28 18_19_20.logger | 4 +
log/2022-01-28 18_20_50.logger | 3 +
log/2022-01-28 18_21_33.logger | 5 +
log/2022-01-28 18_27_50.logger | 4 +
msctspt/__pycache__/__init__.cpython-39.pyc | Bin 178 -> 178 bytes
.../__pycache__/bugReporter.cpython-39.pyc | Bin 4392 -> 4392 bytes
msctspt/__pycache__/funcOpera.cpython-39.pyc | Bin 0 -> 8822 bytes
.../__pycache__/threadOpera.cpython-39.pyc | Bin 1065 -> 1065 bytes
nmcsup/__pycache__/__init__.cpython-39.pyc | Bin 177 -> 177 bytes
nmcsup/__pycache__/const.cpython-39.pyc | Bin 10275 -> 10275 bytes
nmcsup/__pycache__/log.cpython-39.pyc | Bin 1759 -> 1759 bytes
nmcsup/__pycache__/nmcreader.cpython-39.pyc | Bin 4946 -> 5655 bytes
nmcsup/__pycache__/vers.cpython-39.pyc | Bin 2172 -> 2172 bytes
nmcsup/nmcreader.py | 42 +++++-
查看代码数.py | 24 ++-
补全库.py | 2 +-
31 files changed, 285 insertions(+), 29 deletions(-)
create mode 100644 .idea/.gitignore
create mode 100644 .idea/Musicreater.iml
create mode 100644 .idea/inspectionProfiles/Project_Default.xml
create mode 100644 .idea/inspectionProfiles/profiles_settings.xml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/modules.xml
create mode 100644 .idea/vcs.xml
create mode 100644 log/2022-01-28 17_43_56.logger
create mode 100644 log/2022-01-28 18_19_20.logger
create mode 100644 log/2022-01-28 18_20_50.logger
create mode 100644 log/2022-01-28 18_21_33.logger
create mode 100644 log/2022-01-28 18_27_50.logger
create mode 100644 msctspt/__pycache__/funcOpera.cpython-39.pyc
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..eaf91e2
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/Musicreater.iml b/.idea/Musicreater.iml
new file mode 100644
index 0000000..2946dc0
--- /dev/null
+++ b/.idea/Musicreater.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..a2a5d19
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..8d93904
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..b125bed
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..9661ac7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Musicreater.py b/Musicreater.py
index 6629b00..f6a61fe 100644
--- a/Musicreater.py
+++ b/Musicreater.py
@@ -219,6 +219,15 @@ def __main__():
else:
return k
+ def MidiAnalysisClass(midfile: str):
+ from nmcsup.nmcreader import midiClassReader
+ k = midiClassReader(midfile)
+ if k is False:
+ tk.messagebox.showerror(title=READABLETEXT[0], message=READABLETEXT[105].format(midfile))
+ return
+ else:
+ return k
+
print('完成!')
# 菜单命令
@@ -285,13 +294,13 @@ def __main__():
global is_save
is_save = True
except TypeError:
- SaveNewProject()
+ SaveClassProject()
return
def SaveNewProject():
if is_new_file:
# 新的项目相等于另存为
- SaveAsNewProject()
+ SaveAsClassProject() # SaveAsNewProject()
return
else:
save_list = [dataset]
@@ -306,6 +315,18 @@ def __main__():
global is_save
is_save = True
+ def SaveClassProject():
+ if is_new_file:
+ # 新的项目相等于另存为
+ SaveAsClassProject()
+ return
+ else:
+ with open(ProjectName, 'wb') as f:
+ pickle.dump(dataset, f)
+ tkinter.messagebox.showinfo(title=READABLETEXT[4], message=READABLETEXT[107].format(ProjectName))
+ global is_save
+ is_save = True
+
print('保存项目命令加载完成!')
def SaveAsProject():
@@ -349,6 +370,19 @@ def __main__():
global is_save
is_save = True
+ def SaveAsClassProject():
+ fn = tkinter.filedialog.asksaveasfilename(title=READABLETEXT[5], initialdir=r'./',
+ filetypes=[(READABLETEXT[108], '.msct'), (READABLETEXT[109], '*')],
+ defaultextension='Noname.msct')
+ if fn is None or fn == '':
+ return
+ Project_Name = fn
+ with open(Project_Name, 'wb') as f:
+ pickle.dump(dataset, f)
+ tkinter.messagebox.showinfo(title=READABLETEXT[4], message=READABLETEXT[107].format(Project_Name))
+ global is_save
+ is_save = True
+
print('另存项目命令加载完成!')
def openOldProject():
@@ -447,6 +481,51 @@ def __main__():
RefreshMain()
RefreshMusic(NowMusic)
+ def openClassProject():
+ global is_save
+ if is_save is not True:
+ result = tkinter.messagebox.askyesno(title=READABLETEXT[1], message=READABLETEXT[106])
+ if result:
+ SaveProject()
+ fn = tkinter.filedialog.askopenfilename(title=READABLETEXT[7], initialdir=r'./',
+ filetypes=[(READABLETEXT[108], '.msct'), (READABLETEXT[112], '*')],
+ multiple=True)
+ if fn is None or fn == '':
+ return
+ else:
+ # print(fn)
+ fn = fn[0]
+ # print(fn)
+ log("尝试打开:" + fn)
+ try:
+ try:
+ with open(fn, 'rb') as C:
+ global dataset
+ # print(pickle.load(C))
+ read = pickle.load(C) # 重要的事情说三遍!!!pickle.load只能load一次,所以多load几次就有bug,要一次读完!
+ # 重要的事情说三遍!!!pickle.load只能load一次,所以多load几次就有bug,要一次读完!
+ # 重要的事情说三遍!!!pickle.load只能load一次,所以多load几次就有bug,要一次读完!
+ # print(read)
+ dataset = read
+ log("读取新文件成功")
+ except KeyError:
+ with open(fn, 'rb') as C:
+ dataset[0] = pickle.load(C)
+ log("读取新文件成功")
+ except pickle.UnpicklingError: # 程序规范修改:根据新的语法标准:except后面不能没有错误类型,测试后改为:
+ # pickle.UnpicklingError
+ print(READABLETEXT[8].format(fn))
+ log('无法打开{}'.format(fn))
+ return
+ global is_new_file
+ global ProjectName
+ is_new_file = False
+ ProjectName = fn
+ del fn
+ global NowMusic
+ RefreshMain()
+ RefreshMusic(NowMusic)
+
print('打开项目命令加载完成!')
def appabout():
@@ -557,8 +636,41 @@ def __main__():
threading.Thread(target=midiSPT, args=(th,)).start()
del th
- def MidiClass():
- log('从midi导入音乐并采用新读取方式')
+ def NewFromMidi():
+ try:
+ tkinter.messagebox.showinfo("开发提示", "因为一些原因这个功能暂时取消")
+ except tkinter.TclError:
+ log('从midi导入音乐并采用新读取方式')
+ midfile = tkinter.filedialog.askopenfilename(title=READABLETEXT[21], initialdir=r'./',
+ filetypes=[(READABLETEXT[114], '.mid .midi'),
+ (READABLETEXT[112], '*')], multiple=True)
+ if midfile is None or midfile == '':
+ log('取消')
+ return
+ else:
+ midfile = midfile[0]
+ th = NewThread(LoadMidi, (midfile,))
+ th.start()
+ del midfile
+
+ def midiSPT(th_):
+ for i in th_.getResult():
+ datas = DMM()
+ datas['notes'] = i
+ dataset[0]['musics'].append(datas)
+ del th_
+ global is_save
+ is_save = False
+ global NowMusic
+ RefreshMain()
+ RefreshMusic(NowMusic)
+
+ threading.Thread(target=midiSPT, args=(th,)).start()
+ del th
+ dataset[0]['mainset']['ReadMethod'] = "new"
+
+ def FromMidiClass():
+ log('从midi导入音乐并采用类读取方式')
midfile = tkinter.filedialog.askopenfilename(title=READABLETEXT[21], initialdir=r'./',
filetypes=[(READABLETEXT[114], '.mid .midi'),
(READABLETEXT[112], '*')], multiple=True)
@@ -567,7 +679,7 @@ def __main__():
return
else:
midfile = midfile[0]
- th = NewThread(LoadMidi, (midfile,))
+ th = NewThread(MidiAnalysisClass, (midfile,))
th.start()
del midfile
@@ -585,7 +697,7 @@ def __main__():
threading.Thread(target=midiSPT, args=(th,)).start()
del th
- dataset[0]['mainset']['ReadMethod'] = "new"
+ dataset[0]['mainset']['ReadMethod'] = "class"
print('读midi命令加载完成!')
@@ -1407,11 +1519,17 @@ def __main__():
filemenu.add_command(label=READABLETEXT[55], command=SaveProject)
filemenu.add_command(label=READABLETEXT[56], command=SaveAsProject)
+ # filemenu.add_separator()
+ #
+ # filemenu.add_command(label=READABLETEXT[149], command=openNewProject)
+ # filemenu.add_command(label=READABLETEXT[150], command=SaveNewProject)
+ # filemenu.add_command(label=READABLETEXT[151], command=SaveAsNewProject)
+
filemenu.add_separator()
- filemenu.add_command(label=READABLETEXT[149], command=openNewProject)
- filemenu.add_command(label=READABLETEXT[150], command=SaveNewProject)
- filemenu.add_command(label=READABLETEXT[151], command=SaveAsNewProject)
+ filemenu.add_command(label=READABLETEXT[161], command=openClassProject)
+ filemenu.add_command(label=READABLETEXT[162], command=SaveClassProject)
+ filemenu.add_command(label=READABLETEXT[163], command=SaveAsClassProject)
filemenu.add_separator() # 分隔符
@@ -1427,7 +1545,8 @@ def __main__():
editmenu.add_command(label=READABLETEXT[61], command=FromForm)
editmenu.add_command(label=READABLETEXT[62], command=FromText)
editmenu.add_separator()
- editmenu.add_command(label=READABLETEXT[148], command=MidiClass)
+ editmenu.add_command(label=READABLETEXT[160], command=FromMidiClass)
+ editmenu.add_command(label=READABLETEXT[148], command=NewFromMidi)
# 将子菜单加入到菜单条中
main_menu_bar.add_cascade(label=READABLETEXT[63], menu=editmenu)
diff --git a/bgArrayLib/__pycache__/__init__.cpython-39.pyc b/bgArrayLib/__pycache__/__init__.cpython-39.pyc
index fe1e90c849a6b4f6cde214e8e7f3df51a1f021f2..33ba708e3f470ebff46198c920925384f15dea9b 100644
GIT binary patch
delta 23
dcmdnWxRsGBk(ZZ?0SFfEn#fhcXgsmr3;;nw1>gVx
delta 23
dcmdnWxRsGBk(ZZ?0SInJOynwIG@4j%1^_?&1+@SG
diff --git a/bgArrayLib/__pycache__/bpm.cpython-39.pyc b/bgArrayLib/__pycache__/bpm.cpython-39.pyc
index 5c12cdac566a49b6e37a10e28a0cd07f4ba2216b..433a7f9aa35121d0ccd70af35693bf4d5d094311 100644
GIT binary patch
delta 26
gcmcb?b%Tp5k(ZZ?0SFfE+Q`Mm$Y{J-kkOq509IWEwEzGB
delta 26
gcmcb?b%Tp5k(ZZ?0SInJY~*5NWHj0=$mq@j092O+iU0rr
diff --git a/languages/__pycache__/__init__.cpython-39.pyc b/languages/__pycache__/__init__.cpython-39.pyc
index 7ebf6f0a6c85d2915d6320cead64235b0b6fae1a..8e57f6d1bfb1b6001dce6cdf27b9ff68301f1701 100644
GIT binary patch
delta 23
dcmdnOxP_4`k(ZZ?0SFfEn#fhcXgsmr6aYaL1>FDu
delta 23
dcmdnOxP_4`k(ZZ?0SInJOynwIG@4j%3IIRP1+oAD
diff --git a/languages/__pycache__/lang.cpython-39.pyc b/languages/__pycache__/lang.cpython-39.pyc
index db46249a2dd79e74f662eb167595ae2500c0fb33..64376917edcb86aa936d77cc4af82f84c0ee7a6c 100644
GIT binary patch
delta 25
fcmaFG{EC??k(ZZ?0SFfE+Q_wlkX=d;)8>FJe9098KOKlka{8BccXf~$qdgC(E#FT<1s>eQTdiz}ok
zF|Rl$v1GHL*lQ-emkWSqy<7+)7J-PxK*CRx@fJ^ztD}pflaFhNYedLOhN3w@@uE4C
d#U!m6jVA|5>N1*bZjjVtoP0o%gSmm>DgeUPcXa>&
delta 124
zcmaE6w$W5Ok(ZZ?0SG=MeonNJVPJR+;vj?RK#l_t7n^O=He}?QGcAfCWqL4!=8VmG
zjPpg9G^cG|Aoi6>%1@K=7Eh3?ql=@Hk86l)M94~pq8UJKMKdNJmb7Lxn*3i[神羽资源包位置选择]:选择文件夹... 方法添加路径文件吧!",
158: "有路径文件(.rpposi文件),但路径指示错误,请仔细阅读Readme或先用:帮助与疑问->[神羽资源包位置选择]:选择文件夹... 更改路径!",
- 159: "更改路径文件(.rpposi文件)成功!!"
+ 159: "更改路径文件(.rpposi文件)成功!!",
+ 160: "从midi导入音轨且用类方法解析",
+ 161: "打开 类方法: 音·创项目...",
+ 162: "保存为类方法项目",
+ 163: "另存为类方法项...",
}
diff --git a/log/2022-01-28 17_43_56.logger b/log/2022-01-28 17_43_56.logger
new file mode 100644
index 0000000..e69de29
diff --git a/log/2022-01-28 18_19_20.logger b/log/2022-01-28 18_19_20.logger
new file mode 100644
index 0000000..bad3b7f
--- /dev/null
+++ b/log/2022-01-28 18_19_20.logger
@@ -0,0 +1,4 @@
+2022-01-28 18:19:20,019 - nmcsup.log - INFO - ִλãǰļλ L:\0WorldMusicCreater-MFMS new edition\\v0.5.3\Musicreater\Musicreater.py
+2022-01-28 18:19:20,503 - nmcsup.log - INFO - root.mainloopڣ
+2022-01-28 18:19:48,827 - nmcsup.log - INFO - midiֲȡʽ
+2022-01-28 18:19:57,915 - nmcsup.log - INFO - ˢ0
diff --git a/log/2022-01-28 18_20_50.logger b/log/2022-01-28 18_20_50.logger
new file mode 100644
index 0000000..a4a36bb
--- /dev/null
+++ b/log/2022-01-28 18_20_50.logger
@@ -0,0 +1,3 @@
+2022-01-28 18:20:50,054 - nmcsup.log - INFO - ִλãǰļλ L:\0WorldMusicCreater-MFMS new edition\\v0.5.3\Musicreater\Musicreater.py
+2022-01-28 18:20:50,293 - nmcsup.log - INFO - root.mainloopڣ
+2022-01-28 18:20:54,018 - nmcsup.log - INFO - midiֲȡʽ
diff --git a/log/2022-01-28 18_21_33.logger b/log/2022-01-28 18_21_33.logger
new file mode 100644
index 0000000..2998450
--- /dev/null
+++ b/log/2022-01-28 18_21_33.logger
@@ -0,0 +1,5 @@
+2022-01-28 18:21:33,187 - nmcsup.log - INFO - ִλãǰļλ L:\0WorldMusicCreater-MFMS new edition\\v0.5.3\Musicreater\Musicreater.py
+2022-01-28 18:21:33,383 - nmcsup.log - INFO - root.mainloopڣ
+2022-01-28 18:21:36,770 - nmcsup.log - INFO - midiֲȡʽ
+2022-01-28 18:21:48,289 - nmcsup.log - INFO - ˳
+2022-01-28 18:21:51,019 - nmcsup.log - INFO - ˳
diff --git a/log/2022-01-28 18_27_50.logger b/log/2022-01-28 18_27_50.logger
new file mode 100644
index 0000000..95d1634
--- /dev/null
+++ b/log/2022-01-28 18_27_50.logger
@@ -0,0 +1,4 @@
+2022-01-28 18:27:50,902 - nmcsup.log - INFO - ִλãǰļλ L:\0WorldMusicCreater-MFMS new edition\\v0.5.3\Musicreater\Musicreater.py
+2022-01-28 18:27:51,150 - nmcsup.log - INFO - root.mainloopڣ
+2022-01-28 18:28:04,248 - nmcsup.log - INFO - ˳
+2022-01-28 18:28:04,248 - nmcsup.log - INFO - ˳
diff --git a/msctspt/__pycache__/__init__.cpython-39.pyc b/msctspt/__pycache__/__init__.cpython-39.pyc
index 5ed360f7d58913e376393e86870f10b85e4c2833..35e5198dec7ad0ff94465c408de13b2a53afb78f 100644
GIT binary patch
delta 23
dcmdnQxQUS~k(ZZ?0SFfEn#fhcXgsmr7yv-K1=j!o
delta 23
dcmdnQxQUS~k(ZZ?0SInJOynwIG@4j%3;;iM1*`x7
diff --git a/msctspt/__pycache__/bugReporter.cpython-39.pyc b/msctspt/__pycache__/bugReporter.cpython-39.pyc
index 4f78f759b1dfa5b7bcffffcd25c844cdd36bd395..e7caaa28fc49703e0cf9775406b5525e819b4b63 100644
GIT binary patch
delta 26
gcmZ3Xv_gq1k(ZZ?0SFfE+Q{X{%xJthlKDI@09I56ssI20
delta 26
gcmZ3Xv_gq1k(ZZ?0SK5jY~=D|W;EIy$$Xv{08PUN00000
diff --git a/msctspt/__pycache__/funcOpera.cpython-39.pyc b/msctspt/__pycache__/funcOpera.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..f286fbbb166856ee3dae1c7e8b17d61bbfc58d8e
GIT binary patch
literal 8822
zcmeHN>vI&>mGAE9d8iQrgg_Fuaa#~T7=(n0<0U3*$CzF3+6swqumy@T%x&-(&5XF+
zV?Z8JxWq$%c*StNUGW@f7s%Sb`ASG_x4Dw
zK_XR&zimeJnZEa)d+zCT&pp3$dWcV-ZYcN+4E}dK^PHmmCpCf}9gXL3*?T~k(yB0(
zX&q`xYt>YR&9g#Qi0S8(-rDB9D}u3$4T
z8e@;KS*&uO+FHiuv)QZ)cLsZ$&0%wKH;tLBn$_U0oYl4{^-pA%Ly3{IU)=ef*L%hs
z`f#6j@K)i}XN7+}n!nZW{X<{=#@_tk8E^mf{LRze;j_a%w?;5QsaM@lM`qiGdd)3Q
zrV|}mX0t2s^d
ztwNukQye9y^r%d)Q81?EbpCNJ#5;26J*Vc>0acEV@u@7lA5t);4X8EBeyvv7sI-8)
z$j|g@U*;d1lkUVy?)c1yuS6RDDXRtNZB)_~szQIS!xk+{Bm4q86v_SpHuHMVjeKz4
z8$9myzL&pw%qCk~eCW{S{LSlL?`Kw;6^}?s;{k?zxns?%&*SEiLD~VadM=oHrIg_@$-Vc24o5w~jo-XvB_CEXC`)aRu=}7Yi4!2N7
z1i6pTWeqN7rQL8654Yzf_04ZJHhjO~sm+2{vTjb<3CHeq
zHgC{2n)5gZ?R)JIN_nImIc+!8czU_f6s5@Obj>$-Qtgj`XvT^5KJ09xkCcI)%4}
zg}3H!|7z&e2mcSel~Y{f6xcX9g>XPg%F%SA+bydT4zmCa-(j=|9A>_@5Dqg>t0RZ0
z04HK=gj-IQrxSD-iXU?HG1qw+jjm^yih!xCRoYAhN9~-#G!`1rm|CkaeY?gDxK{WF
z2&y{_2YfvUnKdFHj)j?s2s2THnOJr;M0&?hdtbljhk?F>`J3nEDIYm?+Z()yv+f=J
z!n=KI=+uP;bZXC2oGE3nv1@XnTv&?%2M%NFQnMZRyv^(
zum7Q?X=}tWJAfM;0A)bwR*H7mPOyXUx(%>`DL5vlC`;H8;!?)k{&U`c$<}s&m?fCFO
zUqS5J(1!=S8y5@xhtPuvTR8eLZicR0+?)>1UfzVTjPUFmaag=o=)0Qo^i_a#WNW8NXLAyTE8ucHL
z*HFJsXT%K?wO#cMJ_ntpt`URNv~+ePoxjDPf0kluxd^!wcF8|xY8Cj7!B2GZlgGh1
zsx_>b;2GqDbX0|B+`yR<$(NE+yODg6C*aZ@?0-(J#)&~frgw*(kb`7|g=^8%qpn5r
z(sr*q0&$(xJ7d&+PbwF)?qK|d@p&x2OjQK_0qy8v>ltF-BQv{X!0aIpV%33hp}Zs
z^HMu657>5|Z`)9*ZPJynO~_ssv<)OS6eY41B_0{vv7%Ic3aR};se3|u^gUt7ZY0^P
z4zaZ9?n0bnB%%m;-qjC>&Rq3woyy-hGW71*LhlJbc8Q=V0v1p;)|_#ym4J)8-^a`~
zQ+*1b{u889&hBP(jfU#lOt+$CY@X~in~c#}
z)-EfNb*%B(qek5_v4Xwk?XEd%ni?9K8oS%fJ$v?;kk~ovsQF^&@ytKzcU^(Jw7#xZyPHZI8|iSR%9KO{kE3%aXLG^g?FzN`reU#I6Aw%CEMAV
z;ZDFbQZvCTODf6hMp~#^Y`}+R)!{ce2(=<-ja>HnE
zlW82B*WvsT>eVv{5!d^ezN_}Y!(lV|dSSMhSt+y5Ky=*5xu
ze@jTmDIoH-L|!Daj>zAD)Ek^?KHdW2M%&u~813x>dIT!*muQg6I!@^e|9c|zdZa$a
zU!nVEA~c!*gvfd#KP4i{%*jw^CZSHVwQ~%3j)L7j3{nK1m=7592nKxckpNU403#jn
zQ5BW&BB7-Uyh}xu`ey^ntI%cwutd>8W)Q$K7l17*+ip#KtKA`F&mlS%U9IBn1=Upq
z8VG7Q#CWqYq3y#9=HSSej7`Eza`8%Vo~}6h?mqc`33JP+|8*s;H7Ysn&G5O12*u;8
z3IO8&KIvHLDyW|a)Dx=xACOy4auKMac&DTL0e*s1HoZqXzDT^wDPt9mk<Lg-Y5F
zBU(x5ZVZNz5-lgu1i%!_;b#}DvejRu2z%0=fVBzstVFObY9Z_NaeV=67!yw;wDfCV
z1iMl#|1GGc15p1Xnxby+!Fvr@tePywv=-%ZO_t)!!|Nt``7cT*@BEh{bT(%nS~5}M
z7_7S{%%@P*8e1PvY^Q>ztBUScY_Z;mzm-I)--(vJqRUuO%<%2(4ASp+pUZke)^%BW
zQ6z6Mf)`tb_s-$%m}KdiFGTL77yj)N1vk8DXVP62E0A|4w_3I%+F6SCa_WTs{LKsA
z@xxP!5%INa)+YR-@^&4m-JWE1tIfKu`E|?CSLdS%x;B}O%jjQ|+172eb^Y*d8s3`W
zskqZV&ebGly@3~H7RMxF0vogJ1W$HSts{g#Z_>k|HYh%rNlS|rr&^QbVvJBlh!7Sp
z&d6qctyk88ty}1j%CIc*Ytmdym8wjl%%+Da1Ac-wT9V}?hz{_5R|)G#&&g@APbTh1!|V$wmX9ggco-K*XR
diff --git a/nmcsup/__pycache__/__init__.cpython-39.pyc b/nmcsup/__pycache__/__init__.cpython-39.pyc
index fb15f92996837878deeadce7e501b8a528b48204..8cf72dc7482158b92d2e6dfe8f08e05fbfac6483 100644
GIT binary patch
delta 23
dcmdnUxRH@7k(ZZ?0SFfEn#fhcXgsmr2mnBi1=Iil
delta 23
dcmdnUxRH@7k(ZZ?0SInJOynwIG@4j%1OPus1*rf4
diff --git a/nmcsup/__pycache__/const.cpython-39.pyc b/nmcsup/__pycache__/const.cpython-39.pyc
index fa93dcd8eaac59420a4c26244d776c2e3ebde3b0..04e94549c954cd78e1afcfb67aac698faebaec9a 100644
GIT binary patch
delta 26
gcmZ1+usDD#k(ZZ?0SFfE+Q{Xv%4obfO7$cY0AFSYF#rGn
delta 26
gcmZ1+usDD#k(ZZ?0SInJY~=D+Wi;9xrFxPH09~L51^@s6
diff --git a/nmcsup/__pycache__/log.cpython-39.pyc b/nmcsup/__pycache__/log.cpython-39.pyc
index 44d2b05a5d7051ba471463fc07ed26781359de7a..59b44c5c7a0f87c4abbca4faf895e321a597db9e 100644
GIT binary patch
delta 26
gcmcc5d!Lspk(ZZ?0SFfE+Q_wyh0%EPK^8eC0AUCR1ONa4
delta 26
gcmcc5d!Lspk(ZZ?0SInJY~j8a
zjp(5lxevbdus-ffAVMJp^(RCG!TtjgL@)gTb+UCVK?$jn+xT1*N0KmjbUWwEH}QQ@E5tD+f;=)+to5G
zbz=YZa|JFR^r=sSP?vA4!9-o1{62_%c@j~FhL5j3D!O$UuLq}gmyb2(t>08Q;JhR;_4!qa30f%rN1rnPm$XY_u>H
zpcz8N27X~wRS~M{i?D}Bc(@_7nkjsqzl066T4c{VoS+vAOmey}A4kad)|G8ON#QNR
z6rt@e+R4ix-l3J~RTyk_6!LC~u&BtMNv
zMR_mzvxNUVGoRb0l}m(CLYy!}xJyV71_+*{?vdvpQWozd-)nxP4+>8byk>pmxr7{n
z#KIpCh6$~Nql?O`vA{(5pG&>P^%C_#Spmul#iM}&HkddKPh3IFXy^x_8A%e;QEn#i
z{6QhI3kmP|P4u5;L`vrx`75$5HUMAbOspG4^@(sLU}>;z+-AlC_%hn9u6%Nri-EECv#$0;SwR_T
z(YZK}16iaEXv>7|mKo*kO(CMo`Uwwtawh6J9%|$?kOGt6bPJd)*)?lq@5_!|bC}Uh
zI5Tu 0:
+ print(i)
+ tracks.append(
+ [Note(i.channel, i.note, i.velocity, i.time, Time(overallTime, tpb, bpm), instrument)])
+ Notes.append(tracks)
+ print(Notes.__len__())
+ return Notes
+
+
def ReadOldProject(fn: str): # -> list
import json
from nmcsup.trans import note2list
diff --git a/查看代码数.py b/查看代码数.py
index fdf509a..9683985 100644
--- a/查看代码数.py
+++ b/查看代码数.py
@@ -1,27 +1,25 @@
# -*- conding: utf8 -*-
-import os
+import os
from msctspt.funcOpera import keepart
+m = 0
-l = 0
-
-for path,dir_list,file_list in os.walk(r"./") :
- for file_name in file_list:
- if keepart(file_name,'.',None) == '.py':
+for path, dir_list, file_list in os.walk(r"./"):
+ for file_name in file_list:
+ if keepart(file_name, '.', None) == '.py':
file = os.path.join(path, file_name)
- print("得到文件名:"+str(file))
- for i in open(file,'r',encoding="utf-8"):
- code = i.replace(' ','').replace('\n','')
+ print("得到文件名:" + str(file))
+ for i in open(file, 'r', encoding="utf-8"):
+ code = i.replace(' ', '').replace('\n', '')
try:
code -= code[code.index('#'):]
except:
pass
if code:
- print("\t"+code)
- l+=1
+ print("\t" + code)
+ m += 1
else:
pass
-input("\n最终代码行数为:"+str(l))
-
+input("\n最终代码行数为:" + str(m))
diff --git a/补全库.py b/补全库.py
index ecad380..136e76c 100644
--- a/补全库.py
+++ b/补全库.py
@@ -1,2 +1,2 @@
from msctspt.bugReporter import version
-version.installLibraries(version)
\ No newline at end of file
+version.installLibraries(version)