/[libvob]/libvob/lava/bgfilegen.py
ViewVC logotype

Diff of /libvob/lava/bgfilegen.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.13 by humppake, Sun May 4 13:11:01 2003 UTC revision 1.14 by humppake, Tue May 6 12:55:48 2003 UTC
# Line 81  def listdir(path, extensions): Line 81  def listdir(path, extensions):
81      files = [f for f in files if extensions.count(f.split('.')[-1]) > 0]      files = [f for f in files if extensions.count(f.split('.')[-1]) > 0]
82      return files      return files
83    
84  def genBgFileFromSeed(w, vs, seed, jpeg=0):  def genBgFileFromSeed(w, vs, seed, jpeg=0, scale=1):
85      """      """
86      Generates a background texture into filename constructed      Generates a background texture into filename constructed
87      from the seed. Seed is some 64bit integer value.      from the seed. Seed is some 64bit integer value.
# Line 89  def genBgFileFromSeed(w, vs, seed, jpeg= Line 89  def genBgFileFromSeed(w, vs, seed, jpeg=
89    
90      Returns the filename with absolute path of the generated file.      Returns the filename with absolute path of the generated file.
91      """      """
92        scalePostfix = ''
93        if scale != 1: scalePostfix = '-%sx' % (scale)
94    
95        w.setLocation(0,0,384*scale,384*scale)
96      size = vs.getSize()      size = vs.getSize()
97    
98      # for Java to accept Python Long      # for Java to accept Python Long
# Line 98  def genBgFileFromSeed(w, vs, seed, jpeg= Line 102  def genBgFileFromSeed(w, vs, seed, jpeg=
102    
103      pap = ThePaperMill().getPaper(lseed, passmask=passmask, vecs=[[.5,0],[0, .5]])      pap = ThePaperMill().getPaper(lseed, passmask=passmask, vecs=[[.5,0],[0, .5]])
104      pq = GLRen.createPaperQuad(pap, -0.5, -0.5, 0.5, 0.5, 0)      pq = GLRen.createPaperQuad(pap, -0.5, -0.5, 0.5, 0.5, 0)
105      cs = vs.coords.affine(0, 1, 0, 0, 768, 0, 0, 768)      cs = vs.coords.affine(0, 1, 0, 0, 768*scale, 0, 0, 768*scale)
106      vs.matcher.add(cs, "tex")      vs.matcher.add(cs, "tex")
107      vs.put(SolidBackdropVob(java.awt.Color(0,0,0)))      vs.put(SolidBackdropVob(java.awt.Color(0,0,0)))
108      vs.map.put(pq, cs, 0)      vs.map.put(pq, cs, 0)
109      w.renderStill(vs, 0)      w.renderStill(vs, 0)
110    
111      if (jpeg):      if (jpeg):
112          print 'Saving background texture into %s-paper.gen.jpg.' % (str(seed))          print 'Saving background texture into %s%s-paper.gen.jpg.' % (str(seed), scalePostfix)
113          saveanim.saveframe('bgfile.tmp', w, 0, 0, 384, 384)            saveanim.saveframe('bgfile.tmp', w, 0, 0, 384*scale, 384*scale)  
114          os.system("convert -quality 95 %s %s" \          os.system("convert -quality 95 %s %s" \
115                    % ('bgfile.tmp', basedir+str(seed)+'-paper.gen.jpg'))                    % ('bgfile.tmp', basedir+str(seed)+'%s-paper.gen.jpg' % (scalePostfix)))
116          os.system("rm bgfile.tmp")          os.system("rm bgfile.tmp")
117          return os.path.abspath(basedir+str(seed)+'-paper.gen.jpg')          w.setLocation(0,0,384,384)
118            return os.path.abspath(basedir+str(seed)+'%s-paper.gen.jpg' % (scalePostfix))
119      else:      else:
120          print 'Saving background texture into %s-paper.gen.png.' % (str(seed))          print 'Saving background texture into %s%s-paper.gen.png.' % (str(seed), scalePostfix)
121          saveanim.saveframe(basedir+str(seed)+'-paper.gen.png',          saveanim.saveframe(basedir+str(seed)+'%s-paper.gen.png' % (scalePostfix),
122                             w, 0, 0, 384, 384)                               w, 0, 0, 384*scale, 384*scale)  
123          return os.path.abspath(basedir+str(seed)+'-paper.gen.png')          w.setLocation(0,0,384,384)
124            return os.path.abspath(basedir+str(seed)+'%s-paper.gen.png' % (scalePostfix))
125    
126  class Main(Runnable):  class Main(Runnable):
127      def run(self):      def run(self):
# Line 123  class Main(Runnable): Line 129  class Main(Runnable):
129          from vob.paper.papermill import ThePaperMill          from vob.paper.papermill import ThePaperMill
130    
131          w = gfxapi.createWindow()          w = gfxapi.createWindow()
         w.setLocation(0,0,384,384)  
132          vs = w.createVobScene()          vs = w.createVobScene()
133          print "Working directory:", basedir          print "Working directory:", basedir
134    
# Line 142  value. Line 147  value.
147                  if len(requests) > 0:                  if len(requests) > 0:
148                      sleep = 0                      sleep = 0
149                      for seed in requests:                      for seed in requests:
150                          filepath =  genBgFileFromSeed(w,                          if seed.find('-') != -1:
151                                            vs,                              id = seed.split('.')[0]
152                                            long(seed.split('.')[0]),                              scale = id.split('-')[1].split('x')[0]
153                                            jpeg)                              filepath =  genBgFileFromSeed(w,
154                                                              vs,
155                                                              long(id.split('-')[0]),
156                                                              jpeg, int(scale))
157                            else:
158                                filepath =  genBgFileFromSeed(w,
159                                                              vs,
160                                                              long(seed.split('.')[0]),
161                                                              jpeg)
162                          if notify:                          if notify:
163                              os.system(notify + ' ' + filepath \                              os.system(notify + ' ' + filepath \
164                                        + ' ' + seed.split('.')[0])                                        + ' ' + seed.split('.')[0])
165                          os.system('rm '+basedir+seed)                          os.system('rm '+basedir+seed)
                           
166                  else:                  else:
167                      if not sleep:                      if not sleep:
168                          print time.strftime('%y/%m/%d %H:%M:%S'), \                          print time.strftime('%y/%m/%d %H:%M:%S'), \

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26