mirror of
https://github.com/TriM-Organization/Musicreater.git
synced 2024-11-11 01:27:35 +08:00
慢慢改bug
This commit is contained in:
parent
073ae827ab
commit
99509be48c
BIN
bgArrayLib/__pycache__/instrumentConstant.cpython-38.pyc
Normal file
BIN
bgArrayLib/__pycache__/instrumentConstant.cpython-38.pyc
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -7,7 +7,7 @@ import brotli
|
||||
class BdxConverter:
|
||||
__header = "BD@"
|
||||
__bin_header = b"BDX"
|
||||
__generator_author = b"&Charlie_Ping"
|
||||
__generator_author = b"&Musicreater"
|
||||
|
||||
keys = {
|
||||
# x--, x++, addSmallX(-128~127), addX(-32768~32767), addBigX(-2147483648~2147483647)
|
||||
@ -50,9 +50,7 @@ class BdxConverter:
|
||||
@property
|
||||
def create_and_upload_file(self):
|
||||
"""
|
||||
(瞎用property? 害怕
|
||||
创建一个bdx文件
|
||||
要close!
|
||||
:return: 一个文件对象
|
||||
"""
|
||||
_dir = os.path.dirname(self.file_path)
|
||||
@ -73,7 +71,8 @@ class BdxConverter:
|
||||
with open(self.file_path, "ab+") as f:
|
||||
f.write(brotli.compress(_bytes))
|
||||
f.close()
|
||||
return
|
||||
return open(self.file_path,'a+')
|
||||
|
||||
def upload_blocks(self):
|
||||
"""
|
||||
计算差值
|
||||
@ -83,6 +82,8 @@ class BdxConverter:
|
||||
:return:
|
||||
"""
|
||||
_types = b""
|
||||
|
||||
|
||||
for block in self.blocks:
|
||||
# print(f"当前方块:{block['block_name']}, 位置: {block['direction']}]")
|
||||
diff = self.move_pointer(self.direction, block["direction"])
|
||||
@ -94,6 +95,8 @@ class BdxConverter:
|
||||
else:
|
||||
_types += self.obtain_universal_block(block)
|
||||
self.direction = block["direction"]
|
||||
|
||||
|
||||
return _types
|
||||
|
||||
def move_pointer(self, direction: list, new_direction):
|
||||
|
@ -10,14 +10,14 @@ class NewThread(threading.Thread):
|
||||
super(NewThread, self).__init__()
|
||||
self.func = func
|
||||
self.args = args
|
||||
self.result = None
|
||||
|
||||
def run(self):
|
||||
self.result = self.func(*self.args)
|
||||
|
||||
def getResult(self):
|
||||
threading.Thread.join(self) # 等待线程执行完毕
|
||||
try:
|
||||
return self.result
|
||||
except Exception:
|
||||
return None
|
||||
|
||||
#
|
||||
# ————————————————
|
||||
|
@ -260,6 +260,10 @@ def note2bdx(filePath: str, dire: list, Notes: list, ScoreboardName: str, Instru
|
||||
return BdxConverter(filePath, 'Build by RyounMusicreater', blocks)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def music2BDX(filePath: str, direction: Iterable, music: dict, isProsess: bool = False, height: int = 200,
|
||||
isSquare: bool = False):
|
||||
"""使用方法同Note2Cmd
|
||||
@ -272,20 +276,22 @@ def music2BDX(filePath: str, direction: Iterable, music: dict, isProsess: bool =
|
||||
isSquare: 生成的结构是否需要遵循生成正方形原则
|
||||
:return 返回一个BdxConverter类,同时在指定位置生成.bdx文件"""
|
||||
from msctspt.bdxOpera_CP import BdxConverter
|
||||
from msctspt.threadOpera import NewThread
|
||||
|
||||
blocks = []
|
||||
allblocks = []
|
||||
'''需要放置的方块'''
|
||||
baseDire = direction
|
||||
|
||||
direction = list(direction)
|
||||
|
||||
for track in music['musics']:
|
||||
def trackDealing(direction,track):
|
||||
blocks = []
|
||||
cmdList = classList_conversion_SinglePlayer(track['notes'], track['set']['ScoreboardName'],
|
||||
music['mainset']['PlayerSelect'], isProsess)
|
||||
if len(cmdList) == 0:
|
||||
continue
|
||||
return
|
||||
elif cmdList is []:
|
||||
continue
|
||||
return
|
||||
dire = direction
|
||||
down = False
|
||||
'''当前是否为向下的阶段?'''
|
||||
@ -306,7 +312,6 @@ def music2BDX(filePath: str, direction: Iterable, music: dict, isProsess: bool =
|
||||
for cmd in cmdList:
|
||||
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))
|
||||
|
||||
if down:
|
||||
if dire[1] > direction[1] + 1:
|
||||
dire[1] -= 1
|
||||
@ -317,9 +322,18 @@ def music2BDX(filePath: str, direction: Iterable, music: dict, isProsess: bool =
|
||||
if (down is False and dire[1] == height + direction[1]) or (down and dire[1] == direction + 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()
|
||||
direction[2] += 2
|
||||
|
||||
return BdxConverter(filePath, 'Build by Ryoun Musicreater', blocks)
|
||||
for th in threads:
|
||||
allblocks += th.getResult()
|
||||
|
||||
return BdxConverter(filePath, 'Build by Ryoun Musicreater', allblocks)
|
||||
|
||||
|
||||
def note2webs(Notes: list, Instrument: str, speed: float = 5.0, PlayerSelect: str = '', isProsess: bool = False):
|
||||
|
@ -10,10 +10,10 @@ Copyright © W-YI 2022
|
||||
1.可以导出自定义的结构文件用于存储要导入地图中的结构
|
||||
2.进度条
|
||||
3.可以将音乐写入音符盒(红乐)
|
||||
|
||||
4.修改UI界面使之适应当前功能
|
||||
5.支持自动给音符盒绑定更多的音色
|
||||
6.可以由.schematic文件导入地图,亦可反向处理
|
||||
|
||||
7.制作软件下载器使用户更直观地操作
|
||||
8.支持自定义创建websockeet服务器播放音乐(感谢由 Fuckcraft <https://github.com/fuckcraft> “鸣凤鸽子”等 带来的我的世界websocket服务器功能)
|
||||
9.支持使用红石播放音乐
|
||||
10.支持采用延时的播放器
|
||||
@ -24,23 +24,24 @@ Copyright © W-YI 2022
|
||||
|
||||
|
||||
17.支持自动搜寻地图目录位置(网易&微软)
|
||||
++++++
|
||||
4.修改UI界面使之适应当前功能
|
||||
7.制作软件下载器使用户更直观地操作
|
||||
15.
|
||||
16.
|
||||
|
||||
|
||||
===============
|
||||
2022 年度挑战
|
||||
1.重构代码使全部变量皆使用类存储
|
||||
2.修改UI界面
|
||||
3.增加进度条
|
||||
4.修复生成bug
|
||||
===============
|
||||
|
||||
|
||||
新更新日志
|
||||
|
||||
Delta 0.2.0
|
||||
2022 2 1 - 2022 x(TO-DO)
|
||||
1.程序图标完善
|
||||
2.修改窗口样式,可显示诸多信息
|
||||
3.修复生成bug
|
||||
4.全部变量皆使用类存储
|
||||
|
||||
Delta 0.1.5.2
|
||||
2022 2 1 农历大年初一
|
||||
0.程序图标完善
|
||||
1.修复了解析指令导致的错误
|
||||
2.注意!bug没有改完,也从未改完。
|
||||
|
||||
Delta 0.1.5.1
|
||||
2022 2 1 农历大年初一
|
||||
|
BIN
测试用/【ff14双人大合奏】僵王处刑曲Brainiac Maniac.mid
Normal file
BIN
测试用/【ff14双人大合奏】僵王处刑曲Brainiac Maniac.mid
Normal file
Binary file not shown.
BIN
测试用/铭刻时间的歌.mid
BIN
测试用/铭刻时间的歌.mid
Binary file not shown.
BIN
铭刻时间的歌.mid
BIN
铭刻时间的歌.mid
Binary file not shown.
Loading…
Reference in New Issue
Block a user