I think I fixed the flags problem in the
alc_SndClasses.py source file. Can the developers evaluate this?
I noticed that in 1.2.1 the flags were set in
self.fProperties:
- Code: Select all
flags = FindInDict(objscript,"sound.flags", "")
flags = flags.replace(" ","")
f = flags.split('|')
for prop in f:
if(prop == "3d"):
self.fProperties |= plSound.Properties["kPropIs3DSound"]
if(prop == "loop"):
self.fProperties |= plSound.Properties["kPropLooping"]
if(prop == "start"):
self.fProperties |= plSound.Properties["kPropAutoStart"]
if(prop == "local"):
self.fProperties |= plSound.Properties["kPropLocalOnly"]
1.3.0 sets them in
self.fFlags like this:
- Code: Select all
flags = FindInDict(objscript,"sound.flags",[])
if type(flags) == list:
self.fFlags = 0 # reset
for flag in flags:
if flag.lower() in plWin32Sound.scriptProps:
idx = plWin32Sound.scriptProps[flag.lower()]
self.fFlags |= idx
self.fProperties is no longer set anywhere after being initialized with a default value.
So I changed
self.fFlags back to
self.fProperties and everything is ok now.
- Code: Select all
flags = FindInDict(objscript,"sound.flags",[])
if type(flags) == list:
self.fProperties = 0 # reset
for flag in flags:
if flag.lower() in plWin32Sound.scriptProps:
idx = plWin32Sound.scriptProps[flag.lower()]
self.fProperties |= idx
Not sure why I thought it was working briefly once before (see previous post). Perhaps I mixed up my plugin versions and accidently loaded 1.2.1. Anyway, it works for me now at every export.