From 2e0dd06db6d09f25b39495b6d163c3c544be5924 Mon Sep 17 00:00:00 2001 From: EillesWan Date: Tue, 7 Jun 2022 23:07:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=BB=B6=E6=9C=9F=EF=BC=81?= =?UTF-8?q?=E8=AF=A6=E8=A7=81=E7=BE=A4=E5=86=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AutoInstaller/MSCT Auto Installer.py | 8 +- LICENSE | 2 +- Musicreater.New.update.py | 145 +++++++++++++++++++++++++-- README.md | 24 +++-- languages/zh-CN.lang | 6 +- msctLib/buildIN.py | 7 +- readme2.md | 142 -------------------------- resources/MSCT Dev Log.txt | 10 +- 8 files changed, 166 insertions(+), 178 deletions(-) delete mode 100644 readme2.md diff --git a/AutoInstaller/MSCT Auto Installer.py b/AutoInstaller/MSCT Auto Installer.py index 7ae2148..0c32194 100644 --- a/AutoInstaller/MSCT Auto Installer.py +++ b/AutoInstaller/MSCT Auto Installer.py @@ -1,12 +1,10 @@ # -*- coding: utf-8 -*- -# W-YI 金羿 -# QQ 2647547478 # 音·创 开发交流群 861684859 # Email EillesWan2006@163.com W-YI_DoctorYI@outlook.com EillesWan@outlook.com -# 版权所有 Team-Ryoun 金羿("Eilles Wan") -# 若需转载或借鉴 请附作者 +# 版权所有 金羿("Eilles Wan") & 诸葛亮与八卦阵("bgArray") & 鸣凤鸽子("MingFengPigeon") +# 若需转载或借鉴 请依照 Apache 2.0 许可证进行许可 """ @@ -15,7 +13,7 @@ Musicreater Auto Installer (音·创自动安装器) A software that used for installing Musicreater automatically - Copyright 2022 Team-Ryoun + Copyright 2022 all the developers of Musicreater Licensed under the Apache License, Version 2.0 (the 'License'); you may not use this file except in compliance with the License. diff --git a/LICENSE b/LICENSE index 01813e0..caaa436 100644 --- a/LICENSE +++ b/LICENSE @@ -176,7 +176,7 @@ END OF TERMS AND CONDITIONS - Copyright 2022 Team-Ryoun 金羿("Eilles Wan") & 诸葛亮与八卦阵("bgArray") + Copyright 2022 all the developers of Musicreater Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/Musicreater.New.update.py b/Musicreater.New.update.py index c7ac7d0..91c17ba 100644 --- a/Musicreater.New.update.py +++ b/Musicreater.New.update.py @@ -1,8 +1,6 @@ # -*- coding: utf-8 -*- -# 金羿 Eilles -# QQ 2647547478 # 音·创 开发交流群 861684859 # Email EillesWan2006@163.com W-YI_DoctorYI@outlook.com EillesWan@outlook.com # 版权所有 金羿("Eilles Wan") & 诸葛亮与八卦阵("bgArray") & 鸣凤鸽子("MingFengPigeon") @@ -12,8 +10,10 @@ """ 音·创 (Musicreater) 一款免费开源的 《我的世界:基岩版》 音乐制作软件 +注意!除了此源文件以外,任何属于此仓库以及此项目的文件均依照Apache许可证进行许可 Musicreater (音·创) A free opensource software which is used for creating all kinds of musics in Minecraft +Note! Except for this source file, all the files in this repository and this project are licensed under Apache License 2.0 Copyright 2022 all the developers of Musicreater @@ -30,31 +30,154 @@ A free opensource software which is used for creating all kinds of musics in Min limitations under the License. """ -# 代码写的并非十分的漂亮,还请大佬多多包涵;本软件源代码依照 Apache 2.0 软件协议公开 # 下面为正文 -# 一定会好起来的 +# 音·创 为梦而创,为爱远航 + from msctLib.buildIN import version from languages.lang import _ +from msctLib.log import log +import wx # 引入wxPython库 __ver__ = f'{version.version[1]} {version.version[0]}' __author__ = '金羿Eilles' +class MainWindow(wx.Frame): + """We simply derive a new class of Frame.""" + def __init__(self, *args, **kargs): + super(MainWindow, self).__init__(*args, **kargs) + + + #创建位于窗口的底部的状态栏 + self.CreateStatusBar() + + # 设置菜单 + filemenu = wx.Menu() + + #wx.ID_ABOUT和wx.ID_EXIT是wxWidgets提供的标准ID + filemenu.Append(wx.ID_ABOUT, _(u"关于"), _(u"h关于")) + filemenu.AppendSeparator() + filemenu.Append(wx.ID_EXIT, item=_(u"退出"), helpString=_(r'h退出') ) + + # 创建菜单栏 + menuBar = wx.MenuBar() + menuBar.Append(filemenu, u"文件") + self.SetMenuBar(menuBar) + + # 创建图标 + icon = wx.Icon(name="./resources/msctIcon.png") + self.SetIcon(icon) + + self.Show(True) + + def initArgs( + self, + debug: bool = False, + menuWidget: dict = {}, + wordView: str = '音·创 Musicreater', + buttons: list = [], + settingBox: list = [], + notemap: list = [], + infobar: str = '就绪', + ) -> None: + '''使用参数初始化一些基本的音·创窗口组件 + :param debug 是否将日志输出到控制台 + wordview: str #言论部分显示的字样 + button: list = [ # 操作按钮部分 + dict = { + 按钮名称 : tuple(按钮图标,执行函数) + }, + ], + settingbox: list = [ # 设置部分显示的字样及其对应的设置函数 + ( + 设置名称:str, + 值类型:tuple, + 显示内容:str, + 设置操作函数:, + ) + ], + map: list = [ # 一首曲目的音符数据 + 音符数据 + ] + :param infobar str 显示信息用 + ''' + + if debug: + log('载入参数') + + # 载入参量 注意!图标将不被载入参数 + + + self.__root = tk.Tk() + '''窗口根''' + + + + self.menuWidgets = menuWidget + '''菜单设定项''' + + self.wordView = wordView + '''言·论 所显示的文字''' + + self.buttons = buttons + '''快捷功能按钮''' + + self.settingBox = settingBox + '''设置框''' + + self.notemap = notemap + '''音符列表''' + + self.infoBar = infobar + '''信息显示版所显示的文字''' + + self.debug = debug + '''是否打开调试模式''' + + + def setMenu(self) -> None: + '''设置根菜单''' + if not self.menuWidgets: + # 如果传入空参数则返回当前菜单 + try: + return self._RootMenu + except Exception as E: + if self.debug: + raise E + log('无法读取菜单信息', 'WARRING') + # 如果不是空参数则新建菜单 + log('新建一个菜单') + + self._RootMenu = {} + self._mainMenuBar = tk.Menu(self.__root) + for menuName, menuCmd in self.menuWidgets.items(): + # 取得一个菜单名和一堆菜单函数及其显示名称 + menu = tk.Menu(self._mainMenuBar, tearoff=0) + for cmdName, cmdFunc in menuCmd.items(): + if cmdName: + menu.add_command(label=cmdName, command=cmdFunc) + log('菜单项 -- ' + cmdName) + else: + menu.add_separator() + log('分隔符 -- 分隔符') + self._mainMenuBar.add_cascade(label=menuName, menu=menu) + self._RootMenu[menuName] = menu + log('计入一个菜单 -- ' + menuName) + self.__root.config(menu=self._mainMenuBar) + log('菜单设置完毕') + + def __main__(): - import wx # 引入wxPython库 app = wx.App(False) - frame = wx.Frame(None, id=wx.ID_ANY, title=f"{_('F音创')} {__ver__}", size=(1600, 900)) - # 创建图标 - icon_obj = wx.Icon(name="./resources/msctIcon.png") - frame.SetIcon(icon_obj) # 设定图标 - frame.Show(True) # 显示该窗口 - app.MainLoop() # 应用程序消息处理 + frame = MainWindow(None, id=wx.ID_ANY, title=f"{_('F音创')} {__ver__}", size=(1600, 900)) + + app.MainLoop() diff --git a/README.md b/README.md index 3bac2f8..489772e 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ 欢迎加群:[861684859](https://jq.qq.com/?_wv=1027&k=hpeRxrYr) -**注意注意注意!!!本程序尚在测试与开发阶段,且代码重构未完成,请自行定夺使用。** +**注意注意注意!!!当前版本正在进行代码重构,详细信息请进入QQ群了解!!** ## 软件作者✒ @@ -38,7 +38,7 @@ ## 软件架构🏢 -软件采用 *Python* 作为第一语言,目前还没有使用其他语言辅助。使用可更换的UI结构库,即开发人员可以通过更换display.py文件随心所欲地切换UI库;后期将支持插件自加载。 +软件采用 *Python* 作为第一语言,目前还没有使用其他语言辅助。 支持 Windows7+ 以及各个支持 Python3.6+ 的 Linux @@ -93,6 +93,7 @@ python3 Musicreater.py ## 诸葛亮与八卦阵的关于羽音缭绕资源包应用地说明(不必要)📖 +0. ***注意注意!!!这一条说明是供给老版本(Delta 0.1.x)使用的*** 1. 首先!这里的提示是给想使用多音色资源包的人的,如果你想用就请下载 [神羽资源包(神羽自己的链接)](https://pan.baidu.com/s/11uoq5zwN7c3rX-98DqVpJg)提取码:ek3t 2. 下载到你自己电脑上某个位置,可以不放置于本项目下。音色资源包较大,可以选取只下载: `神羽资源包_乐器、音源的资源包\羽音缭绕-midiout_25.0` 这个文件夹,再嫌麻烦的话,也可以只下载其中的: @@ -108,13 +109,13 @@ python3 Musicreater.py 6. 如果你想使用音色资源包来制作函数,那么解析时你应该用 *音创*->编辑->从midi导入音轨且用新方法解析, 然后再使用 *音创*->函数(包)->下面的四个新函数 -## 致谢🙏 +## 致谢列表🙏 1. 感谢由 [Fuckcraft](https://github.com/fuckcraft) “鸣凤鸽子”等 带来的我的世界websocket服务器功能 2. 感谢 昀梦\ 找出指令生成错误bug并指正 3. 感谢由 Charlie_Ping “查理平” 带来的bdx转换功能 4. 感谢由 CMA_2401PT 带来的 BDXWorkShop 供本程序对于bdx操作的指导 -5. 感谢由 Miracle Plume “神羽” \带来的羽音缭绕基岩版音色资源包 +5. 感谢由 神羽 (Miracle Plume) \带来的羽音缭绕基岩版音色资源包 6. 感谢 Arthur Morgan 对本程序的排错提出了最大的支持 7. 感谢广大群友为此程序提供的测试等支持 8. 若您对我们有所贡献但您的名字没有显示在此列表中,请联系我! @@ -131,19 +132,20 @@ python3 Musicreater.py 1. QQ 4740437765 -## 待办事项 +## 待办事项⏲ -* - [x] 可以使用由神羽提供的音乐资源包 -* - [x] 支持多语言 -* - [x] 支持创建可被Fastbuilder导入的.BDX文件支持 -* - [ ] 1.可以导出自定义的结构文件用于存储要导入地图中的结构 +* - [x] 支持自动安装 +* - [ ] 支持多语言 +* - [ ] 支持音乐编辑 +* - [ ] 窗口优化 +* - [ ] 1.支持插件功能 * - [ ] 2.进度条 * - [ ] 3.可以将音乐写入音符盒(红乐) * - [ ] 4.修改UI界面使之适应当前功能 * - [ ] 5.支持自动给音符盒绑定更多的音色 * - [ ] 6.可以由.schematic文件导入地图,亦可反向处理 -* - [x] 7.制作软件下载器使用户更直观地操作 -* - [x] 8.支持自定义创建websockeet服务器播放音乐 +* - [ ] 7.制作软件下载器使用户更直观地操作 +* - [ ] 8.支持自定义创建websockeet服务器播放音乐 * - [ ] 9.支持使用红石播放音乐 * - [ ] 10.支持采用延时的播放器 * - [ ] 11.支持使用bdx导出结构 diff --git a/languages/zh-CN.lang b/languages/zh-CN.lang index c591fcf..36163f3 100644 --- a/languages/zh-CN.lang +++ b/languages/zh-CN.lang @@ -13,4 +13,8 @@ F音创 音·创 Musicreater 开发者 - 开发人员 - 译者 - 翻译人员 - 确定 确定 -取消 取消 \ No newline at end of file +取消 取消 +关于 关于 +退出 退出 +h关于 音·创 和他可爱的作者们 +h退出 退出 音·创 \ No newline at end of file diff --git a/msctLib/buildIN.py b/msctLib/buildIN.py index c64e20d..a183d8d 100644 --- a/msctLib/buildIN.py +++ b/msctLib/buildIN.py @@ -10,7 +10,7 @@ class version: ) """当前所需库""" - version = ('0.2.0', 'Delta',) + version = ('0.3.0', 'Delta',) """当前版本""" def __init__(self) -> None: @@ -27,11 +27,6 @@ class version: from sys import platform import os if platform == 'win32': - import shutil - try: - shutil.rmtree(os.getenv('APPDATA') + '\\Musicreater\\') - except FileNotFoundError: - pass for i in self.libraries: print("安装库:" + i) os.system(f"python -m pip install {i} -i {index}") diff --git a/readme2.md b/readme2.md deleted file mode 100644 index ecd93bf..0000000 --- a/readme2.md +++ /dev/null @@ -1,142 +0,0 @@ -

音·创 Musicreater

- - - -

一个免费开源的《我的世界:基岩版》音乐编辑制作软件

- - - -简体中文 | - - -## 软件介绍 - -音·创 Musicreater 是一款免费开源的 **《我的世界:基岩版》** 音乐制作软件 - -欢迎加群: - -**注意注意注意!!!本程序尚在测试与开发阶段,且代码重构未完成,请自行定夺使用。** - -## 软件作者 - -金羿 Eilles:我的世界基岩版指令师,个人开发者,B站不知名UP主,南昌在校高中生。 - -诸葛亮与八卦阵 bgArray:我的世界基岩版玩家,喜欢编程和音乐,深圳初一学生。 - -## 软件架构 - -软件采用 *Python* 作为第一语言,目前还没有使用其他语言辅助。使用可更换的UI结构库,即开发人员可以通过更换display.py文件随心所欲地切换UI库;后期将支持插件自加载。 - -支持 Windows7+ 以及各个支持 Python3.6+ 的 Linux - -***各位开发人员注意!!!多语言支持请使用函数`_`加载文字!!!如需补充,请在简体中文的语言文件(zh-CN.lang)中补充!!!*** -## 使用教程 - -### 安装教程 - -下载[音·创自动安装器],将其放在你希望安装音·创的位置,运行后将自动安装。 - -提示:下载源最好选择\"2 GitHub\"。 - -### 从源代码运行教程 - -#### Windows7+ - -0. [Gitee下载(需要登陆)] - [Github下载(慢)]本程序源代码 -1. 安装Python 3.8.10 -2. 以管理员身份运行 补全库.py : - - 点击 “开始” 菜单,搜索 `命令提示符` - - 右键点击 `命令提示符` 左键点击 “以管理员身份运行” - - 将 “补全库.py” 拖拽入开启的窗口,按下回车 -3. 等待安装完成后,双击运行 Musicreater.py - -#### Linux - -0. 若你没有足够优秀的环境,推荐先在终端敲: -```bash -sudo apt-get update -sudo apt-get upgrade -sudo apt-get install python3 -sudo apt-get install python3-pip -sudo apt-get install git -``` -1. 若你足够自信,该整的都整了,就在你想下载此程序的地方打开终端,敲: -```bash -sudo git clone -cd Musicreater -python3 补全库.py -python3 Musicreater.py -``` - -### 使用说明 - -1. 直接运行就好 -2. 后期会出详细的使用教程 -3. 如果在使用过程中发现了bug拜托请上报给我,详见下方联系方式 - -## 诸葛亮与八卦阵的关于羽音缭绕资源包应用地说明(不必要)📖 - -1. 首先!这里的提示是给想使用多音色资源包的人的,如果你想用就请下载 [神羽资源包(神羽自己的链接)])提取码:ek3t -2. 下载到你自己电脑上某个位置,可以不放置于本项目下。音色资源包较大,可以选取只下载: - `神羽资源包_乐器、音源的资源包\羽音缭绕-midiout_25.0` 这个文件夹,再嫌麻烦的话,也可以只下载其中的: - `神羽资源包_乐器\音源的资源包\羽音缭绕-midiout_25.0\mcpack(国际版推荐)格式_25.0` 或者: - `神羽资源包_乐器\音源的资源包\羽音缭绕-midiout_25.0\zip格式_25.0` -4. 接下来就是关键了:在*音创*中绑定资源包 - 首先,先打开 *音创*->帮助与疑问->\[神羽资源包位置选择\]:选择文件夹... 这时候,会跳出选择框 - 关键来了,选择:***您下载的`羽音缭绕-midiout_25.0`文件夹,或者`mcpack(国际版推荐)格式_25.0`或`zip格式_25.0`的上级目录*** - 举个例子:我的文件路径是这样的: - `L:\shenyu\音源的资源包\羽音缭绕-midiout_25.0`这里面有:`神羽资源包_25.0_使用方法.xls`、 - `mcpack(国际版推荐)格式_25.0`、`zip格式_25.0`两个文件夹和一个.xls文件,而你在音创中 - 也应该选择这个文件夹:**L:\shenyu\音源的资源包\羽音缭绕-midiout_25.0** -6. 如果你想使用音色资源包来制作函数,那么解析时你应该用 *音创*->编辑->从midi导入音轨且用新方法解析, - 然后再使用 *音创*->函数(包)->下面的四个新函数 - -## 致谢🙏 - -1. 感谢由 [Fuckcraft] “鸣凤鸽子”等 带来的我的世界websocket服务器功能 -2. 感谢 昀梦\ 找出指令生成错误bug并指正 -3. 感谢由 Charlie_Ping “查理平” 带来的bdx转换功能 -4. 感谢由 CMA_2401PT 带来的 BDXWorkShop 供本程序对于bdx操作的指导 -5. 感谢由 Miracle Plume “神羽” \带来的羽音缭绕基岩版音色资源包 -6. 感谢 Arthur Morgan 对本程序的排错提出了最大的支持 -7. 感谢广大群友为此程序提供的测试等支持 -8. 若您对我们有所贡献但您的名字没有显示在此列表中,请联系我! - -## 联系我们📞 - -### 作者\<*金羿*\>(Eilles)联系方式 - -1. QQ 2647547478 -2. 电邮 EillesWan2006@163.com W-YI_DoctorYI@outlook.com EillesWan@outlook.com -3. 微信 WYI_DoctorYI - -### 作者\<*诸葛亮与八卦阵*\>(bgArray) 联系方式 - -1. QQ 4740437765 - -## 待办事项 - -* - [x] 可以使用由神羽提供的音乐资源包 -* - [x] 支持多语言 -* - [x] 支持创建可被Fastbuilder导入的.BDX文件支持 -* - [ ] 1.可以导出自定义的结构文件用于存储要导入地图中的结构 -* - [ ] 2.进度条 -* - [ ] 3.可以将音乐写入音符盒(红乐) -* - [ ] 4.修改UI界面使之适应当前功能 -* - [ ] 5.支持自动给音符盒绑定更多的音色 -* - [ ] 6.可以由.schematic文件导入地图,亦可反向处理 -* - [x] 7.制作软件下载器使用户更直观地操作 -* - [x] 8.支持自定义创建websockeet服务器播放音乐 -* - [ ] 9.支持使用红石播放音乐 -* - [ ] 10.支持采用延时的播放器 -* - [ ] 11.支持使用bdx导出结构 -* - [ ] 12.支持采用tp的方法播放 -* - [ ] 13.支持识别曲谱(简谱)图片解析音乐 -* - [ ] 14.支持使用瀑布流的方式播放音乐 -* - [ ] 15.支持读入Everyone Piano的曲谱文件(.eop) -* - [ ] 16.支持读入Musescore的通用曲谱文件,即musicXML(.mscz、.mscx) -* - [ ] 17.支持自动搜寻地图目录位置(网易&微软) -* - [ ] 18.支持读入JPword曲谱文件(.jpd) -* - [ ] 19.新的UI设计,以及UI主题文件 -* - [ ] 20.以小节为单位做音符播放时间对标 diff --git a/resources/MSCT Dev Log.txt b/resources/MSCT Dev Log.txt index ed7f103..2dd6931 100644 --- a/resources/MSCT Dev Log.txt +++ b/resources/MSCT Dev Log.txt @@ -18,8 +18,16 @@ Copyright © W-YI 2022 新更新日志 + 丁 0.3.0 +2022 6 7 ~ 2022 +0.放弃 Delta 0.2.0 的开发 +1.修改版本命名规则,将Alpha~Delta更换为甲乙丙丁,西文对应翻译不变 +2.To-Do详见读我文档 +3.对于所有开发人员的称呼优先采用中文称呼 +4.文档优先采用中文 + Delta 0.2.0 -2022 2 10 ~ 2022 x +2022 2 10 ~ 2022 4 22 1.进行了大量的代码重构,使之更加易于开发 2.对功能进行了精简优化,能够更加方便的开发新功能 3.完善程序的一些外观与性能优化,使用了更多多线程板块