更新延期!详见群内

This commit is contained in:
EillesWan 2022-06-07 23:07:55 +08:00
parent 5c501a3466
commit 2e0dd06db6
8 changed files with 166 additions and 178 deletions

View File

@ -1,12 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# W-YI 金羿
# QQ 2647547478
# 音·创 开发交流群 861684859 # 音·创 开发交流群 861684859
# Email EillesWan2006@163.com W-YI_DoctorYI@outlook.com EillesWan@outlook.com # 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 (·创自动安装器) Musicreater Auto Installer (·创自动安装器)
A software that used for installing Musicreater automatically 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'); Licensed under the Apache License, Version 2.0 (the 'License');
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.

View File

@ -176,7 +176,7 @@
END OF TERMS AND CONDITIONS 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"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.

View File

@ -1,8 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# 金羿 Eilles
# QQ 2647547478
# 音·创 开发交流群 861684859 # 音·创 开发交流群 861684859
# Email EillesWan2006@163.com W-YI_DoctorYI@outlook.com EillesWan@outlook.com # Email EillesWan2006@163.com W-YI_DoctorYI@outlook.com EillesWan@outlook.com
# 版权所有 金羿("Eilles Wan") & 诸葛亮与八卦阵("bgArray") & 鸣凤鸽子("MingFengPigeon") # 版权所有 金羿("Eilles Wan") & 诸葛亮与八卦阵("bgArray") & 鸣凤鸽子("MingFengPigeon")
@ -12,8 +10,10 @@
""" """
· (Musicreater) · (Musicreater)
一款免费开源的 我的世界基岩版 音乐制作软件 一款免费开源的 我的世界基岩版 音乐制作软件
注意除了此源文件以外任何属于此仓库以及此项目的文件均依照Apache许可证进行许可
Musicreater (·) Musicreater (·)
A free opensource software which is used for creating all kinds of musics in Minecraft 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 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. limitations under the License.
""" """
# 代码写的并非十分的漂亮,还请大佬多多包涵;本软件源代码依照 Apache 2.0 软件协议公开
# 下面为正文 # 下面为正文
# 一定会好起来的 # 音·创 为梦而创,为爱远航
from msctLib.buildIN import version from msctLib.buildIN import version
from languages.lang import _ from languages.lang import _
from msctLib.log import log
import wx # 引入wxPython库
__ver__ = f'{version.version[1]} {version.version[0]}' __ver__ = f'{version.version[1]} {version.version[0]}'
__author__ = '金羿Eilles' __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,
设置操作函数:<function>,
)
],
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__(): def __main__():
import wx # 引入wxPython库
app = wx.App(False) app = wx.App(False)
frame = wx.Frame(None, id=wx.ID_ANY, title=f"{_('F音创')} {__ver__}", size=(1600, 900)) frame = MainWindow(None, id=wx.ID_ANY, title=f"{_('F音创')} {__ver__}", size=(1600, 900))
# 创建图标
icon_obj = wx.Icon(name="./resources/msctIcon.png") app.MainLoop()
frame.SetIcon(icon_obj) # 设定图标
frame.Show(True) # 显示该窗口
app.MainLoop() # 应用程序消息处理

View File

@ -28,7 +28,7 @@
欢迎加群:[861684859](https://jq.qq.com/?_wv=1027&k=hpeRxrYr) 欢迎加群:[861684859](https://jq.qq.com/?_wv=1027&k=hpeRxrYr)
**注意注意注意!!!本程序尚在测试与开发阶段,且代码重构未完成,请自行定夺使用。** **注意注意注意!!!当前版本正在进行代码重构详细信息请进入QQ群了解**
## 软件作者✒ ## 软件作者✒
@ -38,7 +38,7 @@
## 软件架构🏢 ## 软件架构🏢
软件采用 *Python* 作为第一语言,目前还没有使用其他语言辅助。使用可更换的UI结构库即开发人员可以通过更换display.py文件随心所欲地切换UI库后期将支持插件自加载。 软件采用 *Python* 作为第一语言,目前还没有使用其他语言辅助。
支持 Windows7+ 以及各个支持 Python3.6+ 的 Linux 支持 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 1. 首先!这里的提示是给想使用多音色资源包的人的,如果你想用就请下载 [神羽资源包(神羽自己的链接)](https://pan.baidu.com/s/11uoq5zwN7c3rX-98DqVpJg)提取码:ek3t
2. 下载到你自己电脑上某个位置,可以不放置于本项目下。音色资源包较大,可以选取只下载: 2. 下载到你自己电脑上某个位置,可以不放置于本项目下。音色资源包较大,可以选取只下载:
`神羽资源包_乐器、音源的资源包\羽音缭绕-midiout_25.0` 这个文件夹,再嫌麻烦的话,也可以只下载其中的: `神羽资源包_乐器、音源的资源包\羽音缭绕-midiout_25.0` 这个文件夹,再嫌麻烦的话,也可以只下载其中的:
@ -108,13 +109,13 @@ python3 Musicreater.py
6. 如果你想使用音色资源包来制作函数,那么解析时你应该用 *音创*->编辑->从midi导入音轨且用新方法解析 6. 如果你想使用音色资源包来制作函数,那么解析时你应该用 *音创*->编辑->从midi导入音轨且用新方法解析
然后再使用 *音创*->函数(包)->下面的四个新函数 然后再使用 *音创*->函数(包)->下面的四个新函数
## 致谢🙏 ## 致谢列表🙏
1. 感谢由 [Fuckcraft](https://github.com/fuckcraft) “鸣凤鸽子”等 带来的我的世界websocket服务器功能 1. 感谢由 [Fuckcraft](https://github.com/fuckcraft) “鸣凤鸽子”等 带来的我的世界websocket服务器功能
2. 感谢 昀梦\<QQ1515399885\> 找出指令生成错误bug并指正 2. 感谢 昀梦\<QQ1515399885\> 找出指令生成错误bug并指正
3. 感谢由 Charlie_Ping “查理平” 带来的bdx转换功能 3. 感谢由 Charlie_Ping “查理平” 带来的bdx转换功能
4. 感谢由 CMA_2401PT 带来的 BDXWorkShop 供本程序对于bdx操作的指导 4. 感谢由 CMA_2401PT 带来的 BDXWorkShop 供本程序对于bdx操作的指导
5. 感谢由 Miracle Plume “神羽” \<QQshenyu40403\>带来的羽音缭绕基岩版音色资源包 5. 感谢由 神羽 (Miracle Plume) \<QQshenyu40403\>带来的羽音缭绕基岩版音色资源包
6. 感谢 Arthur Morgan 对本程序的排错提出了最大的支持 6. 感谢 Arthur Morgan 对本程序的排错提出了最大的支持
7. 感谢广大群友为此程序提供的测试等支持 7. 感谢广大群友为此程序提供的测试等支持
8. 若您对我们有所贡献但您的名字没有显示在此列表中,请联系我! 8. 若您对我们有所贡献但您的名字没有显示在此列表中,请联系我!
@ -131,19 +132,20 @@ python3 Musicreater.py
1. QQ 4740437765 1. QQ 4740437765
## 待办事项 ## 待办事项
* - [x] 可以使用由神羽提供的音乐资源包 * - [x] 支持自动安装
* - [x] 支持多语言 * - [ ] 支持多语言
* - [x] 支持创建可被Fastbuilder导入的.BDX文件支持 * - [ ] 支持音乐编辑
* - [ ] 1.可以导出自定义的结构文件用于存储要导入地图中的结构 * - [ ] 窗口优化
* - [ ] 1.支持插件功能
* - [ ] 2.进度条 * - [ ] 2.进度条
* - [ ] 3.可以将音乐写入音符盒(红乐) * - [ ] 3.可以将音乐写入音符盒(红乐)
* - [ ] 4.修改UI界面使之适应当前功能 * - [ ] 4.修改UI界面使之适应当前功能
* - [ ] 5.支持自动给音符盒绑定更多的音色 * - [ ] 5.支持自动给音符盒绑定更多的音色
* - [ ] 6.可以由.schematic文件导入地图亦可反向处理 * - [ ] 6.可以由.schematic文件导入地图亦可反向处理
* - [x] 7.制作软件下载器使用户更直观地操作 * - [ ] 7.制作软件下载器使用户更直观地操作
* - [x] 8.支持自定义创建websockeet服务器播放音乐 * - [ ] 8.支持自定义创建websockeet服务器播放音乐
* - [ ] 9.支持使用红石播放音乐 * - [ ] 9.支持使用红石播放音乐
* - [ ] 10.支持采用延时的播放器 * - [ ] 10.支持采用延时的播放器
* - [ ] 11.支持使用bdx导出结构 * - [ ] 11.支持使用bdx导出结构

View File

@ -13,4 +13,8 @@ F音创 音·创 Musicreater
开发者 - 开发人员 - 开发者 - 开发人员 -
译者 - 翻译人员 - 译者 - 翻译人员 -
确定 确定 确定 确定
取消 取消 取消 取消
关于 关于
退出 退出
h关于 音·创 和他可爱的作者们
h退出 退出 音·创

View File

@ -10,7 +10,7 @@ class version:
) )
"""当前所需库""" """当前所需库"""
version = ('0.2.0', 'Delta',) version = ('0.3.0', 'Delta',)
"""当前版本""" """当前版本"""
def __init__(self) -> None: def __init__(self) -> None:
@ -27,11 +27,6 @@ class version:
from sys import platform from sys import platform
import os import os
if platform == 'win32': if platform == 'win32':
import shutil
try:
shutil.rmtree(os.getenv('APPDATA') + '\\Musicreater\\')
except FileNotFoundError:
pass
for i in self.libraries: for i in self.libraries:
print("安装库:" + i) print("安装库:" + i)
os.system(f"python -m pip install {i} -i {index}") os.system(f"python -m pip install {i} -i {index}")

View File

@ -1,142 +0,0 @@
<h1 align="center">音·创 Musicreater</h1>
<h3 align="center">一个免费开源的《我的世界:基岩版》音乐编辑制作软件</h3>
简体中文 |
## 软件介绍
音·创 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. 感谢 昀梦\<QQ1515399885\> 找出指令生成错误bug并指正
3. 感谢由 Charlie_Ping “查理平” 带来的bdx转换功能
4. 感谢由 CMA_2401PT 带来的 BDXWorkShop 供本程序对于bdx操作的指导
5. 感谢由 Miracle Plume “神羽” \<QQshenyu40403\>带来的羽音缭绕基岩版音色资源包
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.以小节为单位做音符播放时间对标

View File

@ -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 Delta 0.2.0
2022 2 10 ~ 2022 x 2022 2 10 ~ 2022 4 22
1.进行了大量的代码重构,使之更加易于开发 1.进行了大量的代码重构,使之更加易于开发
2.对功能进行了精简优化,能够更加方便的开发新功能 2.对功能进行了精简优化,能够更加方便的开发新功能
3.完善程序的一些外观与性能优化,使用了更多多线程板块 3.完善程序的一些外观与性能优化,使用了更多多线程板块