史诗级更新!支持导出mcstructure库,更改部分API和文档,修改了部分代码格式,新增红乐测试

This commit is contained in:
2023-04-29 17:00:32 +08:00
parent b758a2f967
commit 4874ace92d
13 changed files with 905 additions and 357 deletions

View File

@@ -25,6 +25,7 @@ class MSCTBaseException(Exception):
"""音·创库版本的所有错误均继承于此"""
def __init__(self, *args):
"""音·创库版本的所有错误均继承于此"""
super().__init__(*args)
def miao(
@@ -35,39 +36,67 @@ class MSCTBaseException(Exception):
def crash_it(self):
raise self
class CrossNoteError(MSCTBaseException):
"""同通道下同音符交叉出现所产生的错误"""
pass
class NotDefineTempoError(MSCTBaseException):
"""没有Tempo设定导致时间无法计算的错误"""
class MidiFormatException(MSCTBaseException):
"""音·创库版本的所有MIDI格式错误均继承于此"""
pass
def __init__(self, *args):
"""音·创库版本的所有MIDI格式错误均继承于此"""
super().__init__("MIDI格式错误", *args)
class MidiDestroyedError(MSCTBaseException):
"""Midi文件损坏"""
pass
def __init__(self, *args):
"""Midi文件损坏"""
super().__init__("MIDI文件损坏无法读取MIDI文件", *args)
class ChannelOverFlowError(MSCTBaseException):
"""一个midi中含有过多的通道数量应≤16"""
class CommandFormatError(RuntimeError):
"""指令格式与目标格式不匹配而引起的错误"""
pass
def __init__(self, *args):
"""指令格式与目标格式不匹配而引起的错误"""
super().__init__("指令格式不匹配", *args)
class NotDefineProgramError(MSCTBaseException):
class CrossNoteError(MidiFormatException):
"""同通道下同音符交叉出现所产生的错误"""
def __init__(self, *args):
"""同通道下同音符交叉出现所产生的错误"""
super().__init__("同通道下同音符交叉", *args)
class NotDefineTempoError(MidiFormatException):
"""没有Tempo设定导致时间无法计算的错误"""
def __init__(self, *args):
"""没有Tempo设定导致时间无法计算的错误"""
super().__init__("在曲目开始时没有声明Tempo未指定拍长", *args)
class ChannelOverFlowError(MidiFormatException):
"""一个midi中含有过多的通道"""
def __init__(self, max_channel = 16, *args):
"""一个midi中含有过多的通道"""
super().__init__("含有过多的通道(数量应≤{}".format(max_channel), *args)
class NotDefineProgramError(MidiFormatException):
"""没有Program设定导致没有乐器可以选择的错误"""
pass
def __init__(self, *args):
"""没有Program设定导致没有乐器可以选择的错误"""
super().__init__("未指定演奏乐器", *args)
class ZeroSpeedError(MSCTBaseException):
class ZeroSpeedError(MidiFormatException):
"""以0作为播放速度的错误"""
pass
def __init__(self, *args):
"""以0作为播放速度的错误"""
super().__init__("播放速度为0", *args)