Python 如何更改mingus中容器的谱号?

Python 如何更改mingus中容器的谱号?,python,python-3.x,lilypond,Python,Python 3.x,Lilypond,在mingus中,以下代码创建了一个带有高音谱号和C2音符的单根staff from mingus.containers.bar import Bar from mingus.containers.track import Track from mingus.extra.lilypond import * b = Bar("C") t = Track(b) t.add_notes("C-2") sheet = from_Track(t) to_png(sh

在mingus中,以下代码创建了一个带有高音谱号和C2音符的单根staff

from mingus.containers.bar import Bar
from mingus.containers.track import Track
from mingus.extra.lilypond import *
b = Bar("C")
t = Track(b)
t.add_notes("C-2")
sheet = from_Track(t)
to_png(sheet, "example1")
或者,下面的代码创建两个木棍,每个木棍都有一个高音谱号和一个C5和C2。分别

from mingus.containers.bar import Bar
from mingus.containers.track import Track
from mingus.containers.composition import Composition
from mingus.extra.lilypond import *
b1 = Bar("C")
b2 = Bar("C")
t1 = Track(b1)
t2 = Track(b2)
t1.add_notes("C-5")
t2.add_notes("C-2")
c = Composition()
c.add_track(t1)
c.add_track(t2)
sheet = from_Composition(c)
to_png(sheet, "example2")
我如何强制明格斯/莉莉邦德在这两个例子中使用低音谱号


感谢阅读源代码,它看起来不受支持

我能编出一个工作循环。它依赖于使用Instrument类,其中应该定义
clef
属性。请注意,在定义
Track()
对象时,不应传入
Bar()
对象,而应仅传入
Instrument()
对象

我的方法覆盖了lilypond中的默认
from_Track()
函数。它从_Track()调用原始版本的
,然后确保在此处添加所需的任何谱号符号:。这是一个简单的补丁,所以如果你选择了一个坏的谱号样式,没有错误检查,所以只要确保它是有效的,否则它将恢复到默认的高音

以下是我的工作成果:

来自mingus.containers.bar导入栏
来自mingus.containers.instrument进口仪器
从mingus.containers.track导入跟踪
来自mingus.containers.composition导入合成
将mingus.extra.lilypond作为lilypond导入
from_Track_Orig=lilypond.from_Track
来自_轨道的def(轨道):
全球从轨道开始
结果=从轨道开始(轨道)
如果isinstance(结果,str)和track.instrument不是None,而isinstance(track.instrument.clef,str):
result=“%s\clef%s%s”%(结果[:1],track.instrument.clef.split()[0],结果[1])
返回结果
lilypond.from_Track=from_Track
i=仪器()
i、 谱号=‘低音’
b1=巴(“C”)
b2=巴(“C”)
t1=轨道()
t1.添加_条(b1)
t2=轨道(i)
t2.添加_条(b2)
t1.添加注释(“C-5”)
t2.添加注释(“C-2”)
c=成分()
c、 添加轨道(t1)
c、 添加轨道(t2)
片材=Lillypond.来自合成(c)
lilypond.to_png(表格,“示例2”)

请注意,谱号区分大小写!所以“低音”和“低音”是不一样的。只需确保它与该符号引用匹配即可。