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 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 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)