40 Commits

Author SHA1 Message Date
Eilles Wan
79f99dd7ed 删除文件 Musicreater.New.py 2022-04-07 17:32:35 +00:00
Eilles Wan
af21b75b70 删除文件 msctplugin 2022-04-07 17:32:26 +00:00
Eilles Wan
75df9dc167 !1 旧版本(0.1.6以前的)音·创将不被支持
Merge pull request !1 from Eilles Wan/master
2022-04-07 16:19:03 +00:00
EillesWan
7edf979aee 修复bdx生成不了的问题 2022-04-07 18:07:32 +08:00
EillesWan
ae83f9c21e 更新了内部数据格式文档,修复部分bug 2022-04-05 00:55:43 +08:00
EillesWan
dd34ac9998 紧急更新,修复了无法将整首歌转换bdx的bug,其余bug正在发现。 2022-04-03 21:38:17 +08:00
EillesWan
2da06136c5 Merge branch 'master' of https://gitee.com/EillesWan/Musicreater 2022-04-03 00:51:39 +08:00
EillesWan
e9f4230a2d 金羿生日快乐~ 2022-04-03 00:51:34 +08:00
bgArray
1b7ab73c02 update README_EN.md. 2022-04-01 07:54:34 +00:00
EillesWan
2624c081bb 生活不易,改README出气 2022-04-01 15:09:03 +08:00
EillesWan
87cc189da8 修正单词拼写错误 2022-04-01 15:07:22 +08:00
Eilles Wan
668bf480b2 重命名 README_en.md 为 README_EN.md 2022-04-01 06:42:30 +00:00
EillesWan
4cc3f2678f 没事?没事就改README! 2022-04-01 14:38:50 +08:00
EillesWan
701e9d5129 Merge branch 'master' of https://gitee.com/EillesWan/Musicreater 2022-04-01 14:23:08 +08:00
EillesWan
8dd2694e82 左改改右改改,就是不改代码/qwq 2022-04-01 14:23:03 +08:00
bgArray
ac962f0ab7 update README.md. 2022-04-01 05:50:48 +00:00
EillesWan
b800384547 Merge branch 'master' of https://gitee.com/EillesWan/Musicreater 2022-04-01 12:48:41 +08:00
EillesWan
5da1041664 喵喵喵? 2022-04-01 12:48:35 +08:00
Eilles Wan
966ce515c3 update README.md. 2022-04-01 04:22:57 +00:00
EillesWan
349c255f5f LOGO 2022-04-01 11:53:43 +08:00
bgArray
cbb77086d0 update README.md. 2022-04-01 03:17:14 +00:00
bgArray
280e50f4cb update README.md. 2022-04-01 02:55:58 +00:00
bgArray
a2a37be8ef update README.md. 2022-04-01 02:33:10 +00:00
Eilles Wan
7acd6b7e38 update resources/myWords.txt. 移除上一次更改 2022-03-31 01:23:11 +00:00
bgArray
4c95f76cf9 update 道法重大更新 2022-03-30 03:01:08 +00:00
Eilles Wan
8a1a159eb8 update README.md. 2022-03-29 08:51:53 +00:00
Eilles Wan
cb43caef26 update README.md. 2022-03-29 08:51:29 +00:00
Eilles Wan
200167ef84 update README.md. 2022-03-29 08:51:23 +00:00
EillesWan
7e0a127406 Merge branch 'master' of https://gitee.com/EillesWan/Musicreater 2022-03-29 16:46:40 +08:00
EillesWan
5e70dd73a1 重大更新,我新增了很多名言名句!!! 2022-03-29 16:46:31 +08:00
bgArray
7229b12e99 删除文件 languages/log 2022-03-28 15:13:37 +00:00
bgArray
074124bc3d 删除文件 .idea 2022-03-28 15:13:09 +00:00
bgArray
91446bfd81 翻译保存器 2022-03-28 23:12:24 +08:00
EillesWan
5011efcdee Merge branch 'master' of https://gitee.com/EillesWan/Musicreater 2022-03-28 20:42:12 +08:00
EillesWan
3b4af19379 暂存更改以便pull 2022-03-28 20:40:17 +08:00
EillesWan
d3d89d2567 增强对于Linux的支持 2022-03-28 20:29:36 +08:00
EillesWan
441d1e9982 我把旧的MMFM的日志一起加入进来,作为历史的参考。 2022-03-28 14:04:30 +08:00
EillesWan
77e738cb7e 修改读我档 2022-03-28 12:33:35 +08:00
EillesWan
46b6884e64 Merge branch 'master' of https://gitee.com/EillesWan/Musicreater 2022-03-26 21:01:29 +08:00
EillesWan
d0a63d0f8e 为了pull,暂存更改 2022-03-26 21:01:23 +08:00
41 changed files with 2613 additions and 2280 deletions

BIN
AutoInstaller/MSCT Auto Installer Executable file

Binary file not shown.

View File

@@ -1,69 +0,0 @@
# -*- coding: utf-8 -*-
# W-YI 金羿
# QQ 2647547478
# 音·创 开发交流群 861684859
# Email EillesWan2006@163.com W-YI_DoctorYI@outlook.com EillesWan@outlook.com
# 版权所有 Team-Ryoun 金羿("Eilles Wan") & 诸葛亮与八卦阵("bgArray")
# 若需转载或借鉴 请附作者
"""
音·创 (Musicreater)
一款免费开源的 《我的世界:基岩版》 音乐制作软件
Musicreater (音·创)
A free opensource software which is used for creating all kinds of musics in Minecraft
Copyright 2022 Team-Ryoun
Licensed under the Apache License, Version 2.0 (the 'License');
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an 'AS IS' BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""
# 代码写的并非十分的漂亮还请大佬多多包涵本软件源代码依照Apache软件协议公开
# 下面为正文
from msctspt.bugReporter import version
__ver__ = f'{version.version[1]} {version.version[0]}'
__author__ = '金羿Eilles'
from msctLib.display import *
from msctLib.function import *
from msctLib.data import uniteIO
def __main__():
disp()
if __name__ == '__main__':
__main__()

File diff suppressed because it is too large Load Diff

View File

@@ -1,38 +1,51 @@
# 音·创 Musicreater
<h1 align="center">音·创 Musicreater</h1>
[![Licence: Apache (shields.io)](https://img.shields.io/badge/Licence-Apache-blueviolet)](https://choosealicense.com/licenses/apache-2.0/)
[![Bilibili: 凌云金羿 (shields.io)]( https://img.shields.io/badge/Bilibili-%E5%87%8C%E4%BA%91%E9%87%91%E7%BE%BF-blueviolet)](https://space.bilibili.com/397369002/)
[![Bilibili: 诸葛亮与八卦阵 (shields.io)](https://img.shields.io/badge/Bilibili-%E8%AF%B8%E8%91%9B%E4%BA%AE%E4%B8%8E%E5%85%AB%E5%8D%A6%E9%98%B5-blueviolet)](https://space.bilibili.com/604072474)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
<p align="center">
<img width="128" height="128" src="https://s1.ax1x.com/2022/04/01/qhfOPA.png" >
</p>
<p align="center">
<img src="https://forthebadge.com/images/badges/built-with-love.svg">
<p>
[![][Bilibili: 凌云金羿]](https://space.bilibili.com/397369002/)
[![][Bilibili: 诸葛亮与八卦阵]](https://space.bilibili.com/604072474)
[![CodeStyle: black]](https://github.com/psf/black)
[![][python]](https://www.python.org/)
[![][license]](LICENSE)
[![][release]](../../releases)
### 介绍
简体中文🇨🇳 | [English🇬🇧](README_EN.md)
音·创 Musicreater 是由凌天之云创新应用软件开发团队开发的一款免费开源的 **《我的世界:基岩版》** 音乐制作软件
## 软件介绍🚀
欢迎加群861684859
音·创 Musicreater 是一款免费开源的 **《我的世界:基岩版》** 音乐制作软件
### 作者
欢迎加群:[861684859](https://jq.qq.com/?_wv=1027&k=hpeRxrYr)
金羿 Eilles我的世界基岩版指令师个人开发者B站不知名UP主在校高中生。
**注意注意注意!!!本程序尚在测试与开发阶段,且代码重构未完成,请自行定夺使用。**
## 软件作者✒
金羿 Eilles我的世界基岩版指令师个人开发者B站不知名UP主南昌在校高中生。
诸葛亮与八卦阵 bgArray我的世界基岩版玩家喜欢编程和音乐深圳初一学生。
### 软件架构
## 软件架构🏢
软件采用 *Python* 作为第一语言,目前还没有使用其他语言辅助。使用 *Tkinter* 为图形库
软件采用 *Python* 作为第一语言,目前还没有使用其他语言辅助。使用可更换的UI结构库即开发人员可以通过更换display.py文件随心所欲地切换UI库后期将支持插件自加载
支持 Windows7+ 以及各个支持 Python3.8 的 Linux
支持 Windows7+ 以及各个支持 Python3.6+ 的 Linux
***各位开发人员注意!!!多语言支持请使用函数`_`加载文字!!!如需补充,请在简体中文的语言文件(zh-CN.lang)中补充!!!***
## 使用教程📕
### 安装教程
下载音·创自动安装器,将其放在你希望安装音·创的位置,运行后将自动安装。
下载[音·创自动安装器](https://gitee.com/EillesWan/Musicreater/releases/v0.2.0.0-Delta),将其放在你希望安装音·创的位置,运行后将自动安装。
提示:下载源最好选择2GitHub。
提示:下载源最好选择\"2 GitHub\"
### 从源代码运行教程
@@ -67,15 +80,13 @@ python3 补全库.py
python3 Musicreater.py
```
### 使用说明
1. 直接运行就好
2. 看得懂简体中文字的不一定全会用
3. 最好要懂一点点英文
2. 后期会出详细的使用教程
3. 如果在使用过程中发现了bug拜托请上报给我详见下方联系方式
### 诸葛亮与八卦阵的说明(不必要)
## 诸葛亮与八卦阵的关于羽音缭绕资源包应用地说明(不必要)📖
1. 首先!这里的提示是给想使用多音色资源包的人的,如果你想用就请下载 [神羽资源包(神羽自己的链接)](https://pan.baidu.com/s/11uoq5zwN7c3rX-98DqVpJg)提取码:ek3t
2. 下载到你自己电脑上某个位置,可以不放置于本项目下。音色资源包较大,可以选取只下载:
@@ -92,7 +103,7 @@ python3 Musicreater.py
6. 如果你想使用音色资源包来制作函数,那么解析时你应该用 *音创*->编辑->从midi导入音轨且用新方法解析
然后再使用 *音创*->函数(包)->下面的四个新函数
### 致谢
## 致谢🙏
1. 感谢由 [Fuckcraft](https://github.com/fuckcraft) “鸣凤鸽子”等 带来的我的世界websocket服务器功能
2. 感谢 昀梦\<QQ1515399885\> 找出指令生成错误bug并指正
@@ -103,8 +114,9 @@ python3 Musicreater.py
7. 感谢广大群友为此程序提供的测试等支持
8. 若您对我们有所贡献但您的名字没有显示在此列表中,请联系我!
## 联系我们📞
### 作者\<*金羿*\>(W-YI)联系方式
### 作者\<*金羿*\>(Eilles)联系方式
1. QQ 2647547478
2. 电邮 EillesWan2006@163.com W-YI_DoctorYI@outlook.com EillesWan@outlook.com
@@ -112,4 +124,38 @@ python3 Musicreater.py
### 作者\<*诸葛亮与八卦阵*\>(bgArray) 联系方式
1. QQ 4740437765
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.以小节为单位做音符播放时间对标
[Bilibili: 凌云金羿]: https://img.shields.io/badge/Bilibili-%E5%87%8C%E4%BA%91%E9%87%91%E7%BE%BF-00A1E7?style=for-the-badge
[Bilibili: 诸葛亮与八卦阵]: https://img.shields.io/badge/Bilibili-%E8%AF%B8%E8%91%9B%E4%BA%AE%E4%B8%8E%E5%85%AB%E5%8D%A6%E9%98%B5-00A1E7?style=for-the-badge
[CodeStyle: black]: https://img.shields.io/badge/code%20style-black-121110.svg?style=for-the-badge
[python]: https://img.shields.io/badge/python-3.6-AB70FF?style=for-the-badge
[release]: https://img.shields.io/github/v/release/EillesWan/Musicreater?style=for-the-badge
[license]: https://img.shields.io/badge/Licence-Apache-228B22?style=for-the-badge

View File

@@ -1,41 +1,57 @@
# Musicreater
<h1 align="center">音·创 Musicreater</h1>
[![Licence: Apache (shields.io)](https://img.shields.io/badge/Licence-Apache-blueviolet)](https://choosealicense.com/licenses/apache-2.0/)
[![Bilibili: 凌云金羿 (shields.io)]( https://img.shields.io/badge/Bilibili-%E5%87%8C%E4%BA%91%E9%87%91%E7%BE%BF-blueviolet)](https://space.bilibili.com/397369002/)
[![Bilibili: 诸葛亮与八卦阵 (shields.io)](https://img.shields.io/badge/Bilibili-%E8%AF%B8%E8%91%9B%E4%BA%AE%E4%B8%8E%E5%85%AB%E5%8D%A6%E9%98%B5-blueviolet)](https://space.bilibili.com/604072474)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
<p align="center">
<img width="128" height="128" src="https://s1.ax1x.com/2022/04/01/qhfOPA.png" >
</p>
### Introduction
<p align="center">
<img src="https://forthebadge.com/images/badges/built-with-love.svg">
<p>
Musicreater(音·创) is an Eilles(*W-YI*)'s app that is used for creating musics in **Minecraft: Bedrock Edition**.
[![][Bilibili: Eilles]](https://space.bilibili.com/397369002/)
[![][Bilibili: bgArray]](https://space.bilibili.com/604072474)
[![CodeStyle: black]](https://github.com/psf/black)
![][python]
[![][license]](LICENSE)
[![][release]](../../releases)
Welcome to join our QQ group: 861684859
[简体中文🇨🇳](README.md) | English🇬🇧
### Author
**Notice that the language support of *README* may be a little SLOW.**
Eilles (金羿)The main author, who developed the most and especially the principal parts of Musicreater, and its predecessors, which has been called as "*Minecraft Function Music Maker*", "*Note Fun Creater*", "*Note World Creater*"(now ,they are united as ***Musicreater***!)
## Introduction🚀
Musicreater(音·创) is an free open source software which is used for making and also creating music in **Minecraft: Bedrock Edition**.
Welcome to join our QQ group: [861684859](https://jq.qq.com/?_wv=1027&k=hpeRxrYr)
**ATTENTION!** This software is under testing and developing, there is still a lot of bugs needed to be fixed. Please use it wisely.
### Authors✒
Eilles (金羿)A high school student, individual developer, unfamous BilibiliUPer, which knows a little about commands in *Minecraft: Bedrock Edition*
bgArray "诸葛亮与八卦阵": Fix bugs, improve code aesthetics, add new functions, change data format, etc.
### Framework
### Framework🏢
Using *Python* to develop, using Tkinter as a graphics library.
Developed under *Python3.8 3.9*. However, theoretically support Python3.6+.
Support Windows7+ && Linux (that supports Python3.8)
Support Windows7+ && Linux (that supports Python3.6+)
***ATTENTION TO DEVELOPERS!!! TO SUPPORT DIFFERENT LANGUAGES, PLEASE USE CONSTANT `READABLETEXT` TO OUTPUT!!! IF YOU NEED TO SUPPLEMENT, PLEASE ADD THEM IN SIMPLEFIED CHINESE\'S LANGUAGE FILE(zhCN.py), WHEATHER WHAT LANGUAGE YOU USE!!!***
***ATTENTION TO DEVELOPERS!!! TO SUPPORT DIFFERENT LANGUAGES, PLEASE USE FUNCTION(METHOD) `_` TO LOAD TEXTs!!! IF YOU NEED TO SUPPLEMENT, PLEASE ADD THEM IN SIMPLEFIED CHINESE\'S LANGUAGE FILE(zh-CN.lang), WHEATHER WHAT LANGUAGE YOU USE!!!***
## Instructions📕
### Installation
Download the *[MSCT Auto Installer]()*, put it in a directory that you want to install *Musicreater* into.
Then run the auto installer and it will help you to install the *Musicreator*
Download the *[MSCT Auto Installer](https://github.com/EillesWan/Musicreater/releases/tag/v0.2.0.0-Delta)*, put it in a directory that you want to install *Musicreater* into. Then run the auto installer and it will help you to install the *Musicreator* as well as Python3.8(if you haven\'t install it)
Tips: You'd better choose the 2GitHub download source
Tips: You'd better choose the \"2 GitHub\" download source
### Run with Source Code
#### Windows
#### Windows7+
0. First, download the source code pack of Musicreater.
[Download from Gitee (Need to Login)](https://gitee.com/EillesWan/Musicreater/repository/archive/master.zip)
@@ -67,15 +83,13 @@ python3 补全库.py
python3 Musicreater.py
```
### Instructions of Using
### Instructions
1. Just run Musicreater.pyc(or .py) if you have installed well
2. Detailed instructions is coming soon
3. If you find a bug, could you please report it to me? My contact info is right below.
1. Just make u understand the Chinese
2. If u dont understand, u can come to the QQ group or email me to ask questions
3. The English Edition is comming soon.
### Explanation of bgArray 诸葛亮与八卦阵 (unnecessary)
## Explanation of the use of *PlumeAudioSurrounding Resource Pack* by bgArray (unnecessary)📖
1. First! The tips here are for those who want to use the multi tone resource package, [Shenyu resource package (Shenyu's own link)](https://pan.baidu.com/s/11uoq5zwN7c3rX-98DqVpJg) \(Extraction code: `ek3t`\)
2. Download it to any location on your PC. Note that it does ***not*** need to be placed in the directory where *Musicreater* are. The audio resource package is large, so you can choose to download only:`神羽资源包_乐器、音源的资源包\羽音缭绕-midiout_25.0`.
@@ -90,7 +104,7 @@ python3 Musicreater.py
6. If you want to use the Miracle Plume Bedrock Edition Audio Resource Pack to make .mcfunction s, you should use Musicreater -> Edit - > Import audio tracks from MIDI and parse them with a new method, and then use it
Musicreater - > function (package) - > the following four new functions
### Thanks
## Thanks🙏
1. Thank [Fuckcraft](https://github.com/fuckcraft) *(“鸣凤鸽子” ,etc)* for the function of Creating the Websocket Server for Minecraft: Bedrock Edition.
- *!! They have given me the rights to directly copy the lib into Musicreater*
@@ -102,13 +116,25 @@ Musicreater - > function (package) - > the following four new functions
7. Thanks for a lot of groupmates who support me and help me to test the program.
8. If you have give me some help but u haven't been in the list, please contact me.
## Contact Information📞
### Contact *Eilles(W-YI)*(金羿)
### Author *Eilles*(金羿)
1. QQ 2647547478
2. E-mail EillesWan2006@163.com W-YI_DoctorYI@outlook.com EillesWan@outlook.com
3. WeChat WYI_DoctorYI
### Contact *bgArray*(诸葛亮与八卦阵)
### Author *bgArray*(诸葛亮与八卦阵)
1. QQ 4740437765
1. QQ 4740437765
[Bilibili: Eilles]: https://img.shields.io/badge/Bilibili-%E5%87%8C%E4%BA%91%E9%87%91%E7%BE%BF-00A1E7?style=for-the-badge
[Bilibili: bgArray]: https://img.shields.io/badge/Bilibili-%E8%AF%B8%E8%91%9B%E4%BA%AE%E4%B8%8E%E5%85%AB%E5%8D%A6%E9%98%B5-00A1E7?style=for-the-badge
[CodeStyle: black]: https://img.shields.io/badge/code%20style-black-121110.svg?style=for-the-badge
[python]: https://img.shields.io/badge/python-3.6-AB70FF?style=for-the-badge
[release]: https://img.shields.io/github/v/release/EillesWan/Musicreater?style=for-the-badge
[license]: https://img.shields.io/badge/Licence-Apache-228B22?style=for-the-badge

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,5 +1,13 @@
zh-CN
简体中文 中国大陆
Simplified Chinese, Chinese Mainland
简体中文 中国大陆
zh-ME
喵喵文 中国大陆
Meow Catsese, China Mainland
喵喵喵~ 祖国喵~
金羿,Email EillesWan@outlook.com,QQ 2647547478
音创创喵~
音·创 Musicreater
音创创喵的主人们
凌天之云创新我的世界开发团队\n×\n凌天之云创新计算机应用软件开发团队
~ 主人们 ~
~ 爸爸妈妈们 ~
好哒~

View File

@@ -84,6 +84,7 @@ def __loadLanguage(languageFilename: str):
from msctLib.log import log
log(f'丢失对于 {line[0]} 的本地化文本', 'WARRING')
langkeys = _text.keys()
# print(_text)
return _text
@@ -180,6 +181,8 @@ if __name__ == '__main__':
Translatetextbar.edit_redo()
Translatetextbar.bind("<Control-y>", ctrlY)
Translatetextbar.bind("<Control-s>", _autoSave)
tk.Button(Translaterame, text='保存', command=_autoSave).pack(side='bottom', fill='x')
tk.Label(Orignrame, text='中文原文').pack(side='top')

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -11,8 +11,12 @@ from msctLib.log import log
DEFAULTBLUE = (0, 137, 242)
# 0089F2
WEAKBLUE = (0, 161, 231)
LIGHTBLUE = (38, 226, 255)
# 26E2FF
RED = (255, 52, 50)
PURPLE = (171, 112, 255)
GREEN = (0, 255, 33)
@@ -46,6 +50,7 @@ class disp:
buttons: list = [],
settingBox: list = [],
notemap: list = [],
infobar:str = '就绪',
) -> None:
'''使用参数建立基本的 音·创 窗口
:param root 根窗口
@@ -68,75 +73,100 @@ class disp:
map: list = [ # 一首曲目的音符数据
音符数据
]
:param infobar 显示信息用
'''
self.root = root
# 载入参量 注意!图标将不被载入参数
self.__root = root
'''窗口根'''
self.title = title
self.geometry = geometry
self.menuWidget = menuWidget
'''窗口标题'''
self.menuWidgets = menuWidget
'''菜单设定项'''
self.wordView = wordView
'''言·论'''
self.buttons = buttons
'''快捷功能按钮'''
self.settingBox = settingBox
'''设置框'''
self.notemap = notemap
'''音符列表'''
self.setTitle(title, debug)
self.setGeometry(geometry, debug)
self.setIcon(*iconbitmap, debug=debug)
self.infoBar = infobar
'''信息显示版'''
self.setMenu(menuWidget)
self.initWidget(wordView, buttons, settingBox, notemap)
self.debug = debug
'''是否打开调试模式'''
self.setTitle()
self.setGeometry(geometry)
self.setIcon(*iconbitmap)
self.setMenu()
self.initWidget()
# =========================================================
# 设定函数部分
def setTitle(self, title: str = '', debug: bool = False) -> None:
'''设置窗口标题'''
self.root.title = title
if debug:
log(f"设置窗口标题{title}")
# =========================================================
def setGeometry(self, geometry: str = '0x0', debug: bool = False) -> None:
def setTitle(self) -> None:
'''设置窗口标题'''
self.__root.title = self.title
if self.debug:
log(f"设置窗口标题{self.title}")
def setGeometry(self,geometry:str = '0x0') -> None:
'''设置窗口大小'''
self.root.geometry(geometry)
if debug:
self.__root.geometry(geometry)
if self.debug:
log(f"设置窗口大小{geometry}")
def setIcon(
self, bitmap: str = './musicreater.ico', default: str = '', debug: bool = False
self, bitmap: str = './musicreater.ico', default: str = ''
) -> None:
'''设置窗口图标
注意default参数仅在Windows下有效其意为将所有没有图标的窗口设置默认图标
如果在非Windows环境使用default参数一个Error将被升起'''
if not debug:
if not self.debug:
try:
if default:
self.root.iconbitmap(bitmap, default)
self.__root.iconbitmap(bitmap, default)
log(f'设置图标为{bitmap},默认为{default}')
else:
self.root.iconbitmap(bitmap)
self.__root.iconbitmap(bitmap)
log(f'设置图标为{bitmap}')
return True
except Exception as e:
log(str(e), 'ERROR')
return False
else:
self.root.iconbitmap(bitmap, default)
self.__root.iconbitmap(bitmap, default)
return
def setMenu(self, menuWidgets: dict = {}, debug: bool = False) -> None:
def setMenu(self) -> None:
'''设置根菜单'''
if not menuWidgets:
if not self.menuWidgets:
# 如果传入空参数则返回当前菜单
try:
return self.RootMenu
except Exception as E:
if debug:
if self.debug:
raise E
else:
log('无法读取菜单信息', 'WARRING')
# 如果不是空参数则新建菜单
self.RootMenu = {}
self.mainMenuBar = tk.Menu(self.root)
for menuName, menuCmd in menuWidgets.items():
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():
@@ -146,7 +176,7 @@ class disp:
menu.add_separator()
self.mainMenuBar.add_cascade(label=menuName, menu=menu)
self.RootMenu[menuName] = menu
self.root.config(menu=self.mainMenuBar)
self.__root.config(menu=self.mainMenuBar)
def addMenu(self, menuRoot: str = '', menuLabel: str = '', menuCommand=None):
'''增加一个菜单项
@@ -176,13 +206,7 @@ class disp:
self.mainMenuBar.add_cascade(label=menuRoot, menu=menu)
self.RootMenu[menuRoot] = menu
def initWidget(
self,
wordView: str = '音·创 Musicreater',
buttons: list = [],
settingBox: list = [],
notemap: list = [],
) -> None:
def initWidget(self,) -> None:
'''设置窗口小部件,分为:
:言·论 WordView
:快捷按钮面板 ButtonBar
@@ -191,33 +215,38 @@ class disp:
:各个音轨的显示框 TrackFrame
:信息显示版 InfoBar
'''
self._wordviewBar = tk.Label(self.root, bg='white', fg='black', text=wordView)
self._wordviewBar = tk.Label(
self.__root, bg='white', fg='black', text=self.wordView, font=(fontPattern[0], 30)
)
self.setWordView(wordView)
self.setWordView(self.wordView)
def setWordView(self, text: str) -> None:
self._wordviewBar['text'] = text
# =========================================================
# 预置函数部分
def authorMenu(
# =========================================================
def authorWindowStarter(
authors: tuple = (
('金羿', 'Email EillesWan@outlook.com', 'QQ 2647547478'),
('诸葛亮与八卦阵', 'QQ 474037765'),
),
translaters: tuple = None,
)
):
'''自定义作者界面'''
from languages.lang import _
from languages.lang import DEFAULTLANGUAGE
from msctLib.buildIN import version
aabw = tk.Tk()
aabw.title(_('关于'))
aabw.geometry('550x600') # 像素
tk.Label(aabw, text='', font=('', 15)).pack()
tk.Label(aabw, text=_('F音创'), font=('', 35)).pack()
authorWindow = tk.Tk()
authorWindow.title(_('关于'))
authorWindow.geometry('550x600') # 像素
tk.Label(authorWindow, text='', font=('', 15)).pack()
tk.Label(authorWindow, text=_('F音创'), font=('', 35)).pack()
tk.Label(
aabw,
authorWindow,
text='{} {}'.format(version.version[1] + version.version[0]),
font=('', 15),
).pack()
@@ -225,18 +254,18 @@ class disp:
# grid 的row 是列数、column是行排注意这是针对空间控件本身大小来的即是指向当前控件的第几个。
# place的 x、y是(x,y)坐标
tk.Label(
aabw,
authorWindow,
image=tk.PhotoImage(file='./resources/RyounLogo.png'),
width=200,
height=200,
).pack()
tk.Label(aabw, text=_('凌云pairs'), font=('', 20)).pack()
tk.Label(aabw, text='', font=('', 15)).pack()
tk.Label(aabw, text=_('开发者'), font=('', 15)).pack()
tk.Label(authorWindow, text=_('凌云pairs'), font=('', 20)).pack()
tk.Label(authorWindow, text='', font=('', 15)).pack()
tk.Label(authorWindow, text=_('开发者'), font=('', 15)).pack()
for i in authors:
for j in i:
tk.Label(
aabw,
authorWindow,
text=j,
font=(
'',
@@ -244,13 +273,13 @@ class disp:
'bold' if i.index(j) == 0 else '',
),
).pack()
tk.Label(aabw, text='', font=('', 5)).pack()
tk.Label(authorWindow, text='', font=('', 5)).pack()
if DEFAULTLANGUAGE != 'zh-CN':
tk.Label(aabw, text=_('译者'), font=('', 15)).pack()
tk.Label(authorWindow, text=_('译者'), font=('', 15)).pack()
for i in _('TRANSLATERS').split(';'):
for j in i.split(','):
tk.Label(
aabw,
authorWindow,
text=j,
font=(
'',
@@ -260,11 +289,11 @@ class disp:
).pack()
def exitAboutWindow():
aabw.destroy()
authorWindow.destroy()
tk.Button(aabw, text=_('确定'), command=exitAboutWindow).pack()
tk.Button(authorWindow, text=_('确定'), command=exitAboutWindow).pack()
aabw.mainloop()
authorWindow.mainloop()
class ProgressBar:

View File

@@ -48,7 +48,7 @@ StrStartTime = str(datetime.datetime.now()).replace(':', '_')[:-7]
'''字符串型的程序开始时间'''
def log(info:str = '',level : str = 'INFO', isPrinted:bool = False):
def log(info:str = '',level : str = 'INFO', isPrinted:bool = True):
'''将信息连同当前时间载入日志
:param info : str
日志信息
@@ -66,12 +66,12 @@ def log(info:str = '',level : str = 'INFO', isPrinted:bool = False):
try:
if not os.path.exists('./log/'):
os.makedirs('./log/')
if not os.path.exists('./logs/'):
os.makedirs('./logs/')
outputinfo = f'{str(datetime.datetime.now())[11:19]}-[{level}] {info}'
with open('./log/'+StrStartTime+'.msct.log', 'a',encoding='UTF-8') as f:
with open('./logs/'+StrStartTime+'.msct.log', 'a',encoding='UTF-8') as f:
f.write(outputinfo+'\n')
if isPrinted:

View File

@@ -50,17 +50,130 @@ functions.py中会调取./addon/目录下的全部功能文件,这些功能文
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 变量
1. `infoBar`
信息显示栏,一个字符串,用于显示一些信息。
2. `title`
窗口标题,字符串
3. `menuWidgets`
对于窗口菜单的设定,其格式如下:
```python
menuWidgets: dist = { # 菜单项目
str"菜单名" : dict{
str"选项名"|None : <function>选项函数
},
...
}
```
注:
`菜单名` : `str` 显示在菜单上的字符串
`选项名` : `str` 显示在菜单选项上的字符串
`选项函数` : `function` 菜单调取的函数(无返回值,无入参)
当 `选项名` 的布尔值判定为 `False` 的时候,无论 `选项函数` 为何,皆插入一段分割线,但 `选项函数` 不得为空
4. `wordView`
显示在言论上的文字,字符串
5. `buttons`
快捷功能按钮的列表列表的元素为字典字典的键是按钮的名称值为一个元组元组中含有两个元素其中元组的第1个元素为按钮图标是一个图片的路径第2个元素为执行的函数其值应当是一个函数对象。
```python
button: list = [ # 操作按钮部分
dict{
str"按钮名称" : tuple(
按钮图标,
执行函数
)
},
...
],
```
6. `settingBox`
设置框,用于设置音乐的基本属性,例如词作者,曲作者等,设置格式如下:
```python
settingbox: list = [ #设置部分显示的字样及其对应的设置函数
tuple(
设置名称:str,
值类型:tuple,
显示内容:str,
设置操作函数:<function>,
),
...
]
```
其中,值类型可以是如下几个项
1. `('str',)` 字符串类型,使用文本框输入数据
2. `('bool',)` 布尔类型,使用复选框输入数据
3. `('num',最小值:float,最大值:float,步长:float = 1)` 数值类型,使用数值滑动条输入数据
4. `('list',列表项:list)` 单选类型,即列表中多选一,使用单选框输入数据
其中,值操作函数需要有一个参数,用于传递用户提供的设置值。
7. `notemap`
音符数据表,用于存储曲谱信息,存储格式如下
```python
notemap: list = [ # 音轨列表
dict{ # 单个音轨
'instrument' : str"乐器",
'velocity' : int 响度,
# 这里理论上需要写一个小节多少个X分音符
# 以及小节里的都是几分音符
# 但是这个留给以后来支持
int 小节编号 : [ # 一个小节
tuple( # 一个音符
时间 : int,
持续 : int,
乐器 : str,
采样 : float,
响度 : int,
),
...
],
...
},
...
]
```
其中,对于每个音符:
1. 时间 单位:帧 当前音符开始时,距离当前小节开始所经过的帧数
2. 持续 单位:帧 当前音符持续的帧数
3. 乐器 当前音符使用的乐器,需要在乐器列表中有所注册
4. 采样 当前音符在MC的采样音高(不含打击乐器)
5. 响度 单位:格的-1次方 音符播放源距离播放者的距离的倒数
- 函数
1. `setMenu`对菜单的基础设定
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ python
```python
{
菜单名 : {
选项名 : 选项函数
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
注:
`菜单名` : `str` 显示在菜单上的字符串
@@ -115,13 +228,16 @@ functions.py中会调取./addon/目录下的全部功能文件,这些功能文
# 这里是全局设置
'name' : str, #项目名,即包名
'title': str, #音乐名称
'repeation': bool, #是否开启重复播放
'player_selection': str, #玩家选择器,用于选择播放的的玩家
# 下面是音轨独立设置
'track_name': str, #此音轨的名字
'track_sbname': str, #此音轨所使用的计分板
- 变量
使用类中的变量可以对类中的内容进行实时修改
####
全曲的设置应该如下:
```python
标题 : str = '无名'
副标题 : str = ''
作曲 : str = '佚名'
作词 : str = ''
歌曲版权信息 : str = ''
# bpm 暂时不需要
```

View File

@@ -1,49 +0,0 @@
# -*- coding: utf-8 -*-
'''此文件为音·创的插件加载程序为了满足各平台需求使用的是CLI界面'''
# W-YI 金羿
# QQ 2647547478
# 音·创 开发交流群 861684859
# Email EillesWan2006@163.com W-YI_DoctorYI@outlook.com EillesWan@outlook.com
# 版权所有 Team-Ryoun 金羿
# 若需转载或借鉴 请附作者
"""
Copyright 2022 Eilles Wan (金羿)
Licensed under the Apache License, Version 2.0 (the 'License');
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an 'AS IS' BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""
# 代码写的并非十分的漂亮还请大佬多多包涵本软件源代码依照Apache软件协议公开
# 下面为正文
print("""
音·创 插件管理
Musicreater PLUGINS Management
""")

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -93,11 +93,11 @@ class report:
class version:
libraries = (
'mido', 'amulet', 'amulet-core', 'amulet-nbt', 'piano_transcription_inference', 'pypinyin',
'pyinstaller', 'py7zr','websockets', 'torch', 'requests'
'pyinstaller', 'py7zr','websockets', 'torch', 'requests', 'zhdate'
)
"""当前所需库"""
version = ('0.2.0', 'Delta',)
version = ('0.1.6', 'Delta',)
"""当前版本"""
def __init__(self) -> None:

View File

@@ -12,7 +12,7 @@ import amulet
from amulet.api.block import Block
from amulet.utils.world_utils import block_coords_to_chunk_coords as bc2cc
from amulet_nbt import TAG_String as ts
from nmcsup.log import log
from msctLib.log import log
def hans2pinyin(hans, style=3):
@@ -33,11 +33,8 @@ def classList_conversion_SinglePlayer(List: list, ScoreboardName: str, playerSel
commands = []
length = len(List)
j = 1
print(List)
for k in range(len(List)):
i = List[k][0]
print(i)
print(type(i))
try:
commands.append(
f"execute @a{playerSelection} ~ ~ ~ execute @s[scores={{{ScoreboardName}="
@@ -54,7 +51,6 @@ def classList_conversion_SinglePlayer(List: list, ScoreboardName: str, playerSel
pass
# a += List[i][1]
# commands.append("\n\n# 凌云我的世界开发团队 x 凌云软件开发团队 : W-YI金羿\n")
print(commands)
return commands
@@ -268,6 +264,7 @@ def music2cmdBlocks(direction: Iterable, music: dict, isProsess: bool = False, h
:return 返回一个列表,其中包含了音乐生成的所有的指令方块数据"""
from msctspt.threadOpera import NewThread
allblocks = []
'''需要放置的方块'''
baseDire = direction
@@ -275,14 +272,15 @@ def music2cmdBlocks(direction: Iterable, music: dict, isProsess: bool = False, h
direction = list(direction)
def trackDealing(direction,track):
print('=========DEBUG=========音轨起方块:', direction)
blocks = []
cmdList = classList_conversion_SinglePlayer(track['notes'], track['set']['ScoreboardName'],
music['mainset']['PlayerSelect'], isProsess)
if len(cmdList) == 0:
return
return []
elif cmdList is []:
return
dire = direction
return []
dire = direction.copy()
down = False
'''当前是否为向下的阶段?'''
# 开头的指令方块
@@ -300,8 +298,9 @@ def music2cmdBlocks(direction: Iterable, music: dict, isProsess: bool = False, h
# :4 x轴负方向 无条件
# :5 x轴正方向 无条件
for cmd in cmdList:
print('=========DEBUG=========方块:', dire)
blocks.append(formCmdBlock(dire, cmd, 5 if (down is False and dire[1] == height + direction[1]) or (
down and dire[1] == direction + 1) else 0 if down else 1, 2, needRedstone=False))
down and dire[1] == direction[1] + 1) else 0 if down else 1, 2, needRedstone=False))
if down:
if dire[1] > direction[1] + 1:
dire[1] -= 1
@@ -309,15 +308,15 @@ def music2cmdBlocks(direction: Iterable, music: dict, isProsess: bool = False, h
if dire[1] < height + direction[1]:
dire[1] += 1
if (down is False and dire[1] == height + direction[1]) or (down and dire[1] == direction + 1):
if (down is False and dire[1] == height + direction[1]) or (down and dire[1] == direction[1] + 1):
down = not down
dire[0] += 1
return blocks
threads = []
for track in music['musics']:
threads.append(NewThread(trackDealing,(direction,track)))
threads[threads.__len__()-1].start()
threads.append(NewThread(trackDealing,(direction.copy(),track)))
threads[-1].start()
direction[2] += 2
for th in threads:

View File

@@ -0,0 +1,62 @@
《我的世界》函数音乐生成器
C++版本开发日志
我在本年初提出此计划,由于学业原因,便延迟计划开始编写代码。
Beta V0.1 - 20200920
0.新增命令help
1.新增命令make
2.新增命令form
3.新增命令exit
4.能够根据输入的CDEFGAB转换成.mcfunction
5.命令行界面操作
Beta V0.2 - 20200921
0.修改命令make为write
1.新增可设置代替实体名
2.新增可设置计分板名
3.新增乐曲标题设定项
4.新增循环模式设定项
5.由于"器"一字被网易屏蔽,修改程序名为"我的世界函数音乐生成者"
Beta V0.3 - 20200922
0.修改命令write为make
1.将代替实体名加入设定项
2.将计分板名加入设定项
3.将乐曲标题加入设定项
Beta V0.4 - 20200923
0.新增生成文件名称设定项
1.新增bug:最后三个音符的指令不写入文件(DE001)
2.新增命令ver可显示版本及关于信息
Beta V0.5 - 20200925
0.修改命令make为write
1.新增设定项文件路径
2.支持音符由简谱1234567音调表示
3.支持休止符0
Beta V0.6 - 20200926
0.修改命令write为make
1.修复bug:最后三个音符的指令不写入文件(DE001)
2.新增命令buld
3.新增命令comd
4.由help打开的帮助菜单由一页变为两页
5.命令行窗口大小自动调整
Beta V0.7 - 20200927
0.新增命令mdir,可以直接生成整个函数包
1.新增命令ldir,可以查看当前目录信息
3.新增指令look,可以显示指定文本文件内容
4.删除退出时的等待按键提示
5.新增bug:使用look查看文件结束后有几率卡崩或无法显示提示符">>>"(DE002、DE003)
6.新增bug:mdir无法使用(DE004)
TO-DO Beta V0.8_中秋国庆版 - 20200929
0.新增彩蛋命令国庆,在国庆期间输入可以得到一份中国国旗字符画
1.新增彩蛋命令中秋,在中秋期间输入可以得到一份月亮字符画
——此版本直接跳过
Beta V0.9 - 20201224
0.修复bug:mdir无法使用(DE004)
1.新增bug:mdir一运行立马产生错误并停止运行(DE005)

View File

@@ -0,0 +1,126 @@
这是MMFM我的世界函数音乐生成器的Python版本日志
我从2021年5月移植中间停更了一段时间。
Beta V 0.0.0
2021 5 ?15 - 2021 5 23
1.将C++版本全部有用的功能移植至Python版本
2.新增了可更改的音乐乐器
3.新增了可更改的语言包Chinese
4.附带应用"jsonread - lang"可用于新增语言文本
5.支持全部音阶但不支持附点、X分音符等
Beta V 0.0.1
2021 6 5
1.可读取不同的语言文件通过lang指令完成
2.新增English语言包
3.在输入非内部指令时以命令行运行
Beta V 0.0.2
2021 6 13
1.支持设置项保存
2.语言设置移至设置项中
3.新增RESET命令以重置所有设置项至默认
4.支持休止符“0”
5.设置项更加人性化
Beta V 0.0.3
2021 6 14
1.支持全平台能运行Python的平台
2.安卓系统下不需要从源地址运行
3.设置中给出乐器列表并需要使用在列表内的乐器
Beta V 0.0.4
2021 6 14
1.新增win指令支持窗口化输入
2.语言包English停止支持
3.停止支持的语言包部分将使用Chinese语言包
4.输出结果更加人性化
5.停止支持输入非内部命令以系统指令运行
Formal V 0.0.1
2021 6 21 - 2021 6 22
1*.支持附点、延音等时间延长谱号
2*.支持X分音符等时间缩短谱号
3.删除win指令支持的窗口化输入即禁止窗口运行
4.新增日志系统,程序运行将载入日志以便检查
*实际上输入的时候是不支持的,只是支持了修改音符延长时间而已
Formal V 0.0.2
2121 6 22
1.解决了字符串解析为列表时出现的问题
2.停止调整命令行窗口大小
3.解决了输入的音符被除重的问题
4.buld指令建立的附加包中新增startXXX函数用于初始设定
Formal V 0.0.3
2021 6 29
1.新增save、load指令支持工程文件存取
2.新增default指令存储默认设置
3.输入exit指令退出时不会保存为默认设置
4.新增delog指令在Windows系统下删除日志文件
Formal V 0.0.4 ~ 0.0.4.2
2021 6 30
1.支持midi解析能够通过midi文件解析音符且仅支持打击乐器即音长为0的声音不能解析音的长度解析仅包含note_on消息而不包含note_off消息且暂时不能解析音乐附带的其他信息
2.新增彩蛋指令TAFTCPC(the Anniversary of the Founding of The Communist Party of China) -0.0.4.1
3.修复读取文件时读取内容不正确的问题 -0.0.4.2
Formal V0.0.4.3
2021 7 1
1.内部代码优化,更加模块化,便于以后窗口化调用
Formal V0.0.5 ~ 0.0.5.2
2021 7 3 ~ 2021 7 4
1.支持同时编辑、生成多个音乐函数
2.支持一个项目中保存多个文件
3.支持同一函数中出现不同的乐器 -0.0.5.1
4.读取midi文件时支持音长的自动解析读取并支持选择音轨 -0.0.5.2
5.修复了编辑不同乐器时出现闪退的问题 -0.0.5.2
Formal V0.0.5.3
2021 7 5
1.修复了存储工程文件时的崩溃问题
2.读取midi时支持通过音轨自动生成不同的函数文件
3.修复了生成函数文件中计分板为浮点数的问题
4.修复文件路径不正确的问题
5.新增应用bat脚本仅Windows可以快速启动、可以清除日志
6.新增开发bat脚本仅Windows可以快速编译文件并启动测试、可以快速编译文件、可以快速启动测试
Formal V0.0.6
2021 7 8 - 2021 7 9
1.停止对非Windows系统环境的支持
2.支持预听生成的函数,即音乐试听
3.乐曲修改设置:单个乐曲可包含多个文件序列(多个乐器),歌曲可以有自己单独的曲名、执行实体、执行计分板等独立设置;同时,每个歌曲可包含不同的乐器序列等等
4.读取的音频格式更新:音符、我的世界音调、频率(Hz),仍是字典:'str' : [ float , float ]
5.单个项目内不包含多首歌曲,但是做了预制功能:可以编辑多个项目(现在暂时不行)
6.不可单独编辑单个音符的乐器
7.放弃对语言文件的读取的支持
8.停止支持对已读取的音轨的编辑即删除edit指令
9.停止支持全局设置的修改以及其相关支持即删除当前的set、reset、default指令
10.预制支持对于单个音轨设置的修改以及音乐主设置的修改(现在暂时不行)
11.存储的项目结构变为json文件结构则无需zipfile库
12.生成的文件包含支持函数1个、循环执行、音乐函数多个、循环执行、启动函数1个、执行一次
13.发现并修改错误遇到休止符0时播放会报错并停止
14.新增彩蛋指令RYOUN生成团队队歌文件及项目
15.项目更名为“我的世界函数音乐构建”
TO-DO
1.支持从midi文件的元信息中收取音符信息并自动生成
2.Windows平台下支持窗口化
3.支持使用WebSocket接口自动播放已编辑的音乐
4.可以编辑多个项目
5.能够自动将一个长串的音乐分成多个函数文件
6.对于单个音轨设置的修改以及音乐主设置的修改
7.支持汇报崩溃记录(通过邮件附件的方式)

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -6,27 +6,6 @@ Copyright © W-YI 2022
本软件是金羿前作函数音创和世界音创的集合版本,同时增加了大量功能更新。
To-Do
1.可以导出自定义的结构文件用于存储要导入地图中的结构
2.进度条
3.可以将音乐写入音符盒(红乐)
4.修改UI界面使之适应当前功能
5.支持自动给音符盒绑定更多的音色
6.可以由.schematic文件导入地图亦可反向处理
7.制作软件下载器使用户更直观地操作
8.支持自定义创建websockeet服务器播放音乐感谢由 Fuckcraft <https://github.com/fuckcraft> “鸣凤鸽子”等 带来的我的世界websocket服务器功能
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.以小节为单位做音符播放时间对标
===============
2022 年度挑战
@@ -40,7 +19,7 @@ Copyright © W-YI 2022
新更新日志
Delta 0.2.0
2022 2 10 ~ 2022 3
2022 2 10 ~ 2022 x
1.进行了大量的代码重构,使之更加易于开发
2.对功能进行了精简优化,能够更加方便的开发新功能
3.完善程序的一些外观与性能优化,使用了更多多线程板块
@@ -53,6 +32,16 @@ Copyright © W-YI 2022
10.新增下载器,无需用户从源代码安装
Delta 0.1.5
2022 4 4
0.新增金羿生日祝福
1.修复诸多问题
2.正在往0.2版本迭代更新
3.预计半年之内可以发布新版本
4.支持使用自动安装器下载安装
5.
Delta 0.1.5.2
2022 2 1 农历大年初一
0.程序图标完善

BIN
resources/msctIcon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

View File

@@ -64,7 +64,7 @@ A man achieve with challenges.
你们——会祝福下一个时代吗? ——原神
任何旅途中的旅伴同行,都会有分别的一日。 ——原神
「永恒」最接近于天理 ——原神
等旅途到达了终点,再考虑停留于何处吧 ——原神
等旅途到达了终点,再考虑停留于何处吧 ——原神
人海中相遇,本是缘分。 ——原神
凡缘朦朦仙缘滔
因果红尘渺渺,烟消 ——原神
@@ -99,3 +99,42 @@ A man achieve with challenges.
苦痛的旅程中盘错着举世的谎言
欲落的花会告诉你我无尽的思念,而风会在此刻替我拥抱住你。 ——蝶<1361223398>
仰望这深邃的夜空,明星洒下的光,总是无尽斑驳
欲知后事如何,唯有后世来分说 ——b站BV1jm4y1S76q
曲高未必人不识,自有知音和清词 ——原神
接引春雷焚身骨,化灰以养万类荣 ——原神
浮世景色百千年依旧,人之在世却如白露与泡影 ——原神
今古诸事,激荡中流,宏图待看新秀 ——原神
烟花易逝,人情长存 ——原神
正因为我们都是须臾之人,才更应该珍惜须臾的美好 ——原神
如果说,生命的脚印终有一天会被时间的尘埃掩埋,那么我们就永远不能停下脚步 ——明日方舟
只要不停下脚步,道路就会不断延伸。 ——某B站用户
红色光芒从遥远的地平线上浮现,影月留给人间的黑暗逐渐退潮 ——明日方舟
如果没有人有了解真相的意愿,那就算把真相撒播在街道上,也不会发芽的 ——明日方舟
永远不要否定善行,道德和良知永远不会错 ——明日方舟
唯独死亡不可避免,唯独生命不可辜负 ——少女前线
人即像树,枝叶越向往明亮的天空,根须越深入幽暗的地底 ——尼采
沉默不代表服从,生活在黑暗里,不代表放弃光明 ——少女前线
但行前路终无悔,只盼万事在人为 ——废墟图书馆
我忘却了所有悲剧,所见之处皆是奇迹 ——空洞骑士
只要坚信自己的道路,就无所谓天气是晴是雨。 ——原神
在这个真实的太过分的世界里,每个人都需要仰望星空 ——原神
当你重新踏上旅途之后,一定要记得旅途本身的意义 ——原神
识花鸟之一趣,照月风之长路 ——原神
只要不失去你的崇高,整个世界都会向你敞开 ——原神
每个人都是一个自己的精神支柱 ——GitHub Copliot
I am a dreamer, but I am not a dreamer. ——GitHub Copliot
The only thing that makes a dream impossible is the fear of failure. ——GitHub Copliot
A dream is a wish that you have or something that you have dreamed of in your mind. ——GitHub Copliot
It is not the strongest of the species that survives, nor the most intelligent, nor the fastest. ——GitHub Copliot
To be a dreamer is to be a free spirit. ——GitHub Copliot
To be or not to be is a question. ——莎士比亚
即使身躯残破,也要在战场上拼杀到最后一刻,要战斗到流干最后一滴血为止。 ——原神
朋友之间,也许就是要心知肚明才好 ——原神
轻盈的风,偶尔也会变得沉重…虽然,只是凡人难以察觉的短短一瞬 ——原神
我听过树的歌、乌云和雨的歌、遥远北方的青色飞龙悠远的吟唱,也听过我降落在地面上时,狐、兔,和地里的虫颤抖的协奏 ——原神
无人来书写我们的故事,我们就是故事本身。
故事的种子是生活与旅行 ——原神
每个人的「生活(故事)」,都只属于自己… ——原神
如果我们要再会,就在夕阳与海面相遇的地方再会吧。 ——原神
到那时,再让我看看你如同钻石一般明净而璀璨的灵魂,是否蒙上了一缕尘埃吧。 ——原神
水过时迁