Hi Garth,chickeneps wrote:
Like, what would you do if both "lokey" and "key" were defined in the same region, and they were different values? What if there was a "volume" opcode in the Region, and also one in a Group? The spec says nothing about precedence, nor if ganged opcodes are added or overridden. What about the "transpose"?
Here is how this works in sfz in my experience:
Precedence should be handled by the available <global> and <group> opcode headers.
<global>
Groups and regions inherit all opcodes specified here.
<group>
Global inheritance, however any new opcodes specified here will take precedence for the regions within this group.
<region>
global and group inheritance, also any new opcodes specified here will take precedence for the specific region.
So with that in mind:
Code: Select all
<global>
transpose=12
<group>
group=1
<region>
sample=sample1.wav
<group>
group=2
transpose=0
<region>
sample=sample2.wav
what would you do if both "lokey" and "key" were defined in the same region, and they were different values?
Code: Select all
<region> sample=60.wav lokey=60 hikey=61 key=60 pitch_keycenter=60The volume from the <region> will take precedence over specified volumes from <group>, and <global>.What if there was a "volume" opcode in the Region, and also one in a Group?
I agree there should be better details and documentation on this. There is room for interpreting inheritance and precedence in ways that would result in some very bad ugliness of instruments playback/performance.
