When you're done writing the parsing stuff for lame, could you
possibly move it into util or something? Because we also want to use
it for cd extraction.
On Sun, Jul 06, 2003 at 01:26:51PM -0700, [EMAIL PROTECTED] wrote:
> Update of /cvsroot/freevo/freevo/WIP/Thomas
> In directory sc8-pr-cvs1:/tmp/cvs-serv25856
>
> Modified Files:
> burn.py
> Log Message:
> some parsing added. Still not inside any freevo framework.
>
>
> Index: burn.py
> ===================================================================
> RCS file: /cvsroot/freevo/freevo/WIP/Thomas/burn.py,v
> retrieving revision 1.1
> retrieving revision 1.2
> diff -C2 -d -r1.1 -r1.2
> *** burn.py 6 Jul 2003 10:42:18 -0000 1.1
> --- burn.py 6 Jul 2003 20:26:49 -0000 1.2
> ***************
> *** 3,6 ****
> --- 3,8 ----
> import os
> import struct
> + import re
> + import string
>
> PGSMSG_RCD_ANALYZING = 1
> ***************
> *** 51,57 ****
> Converts the file into a wav file using lame.
> """
> newfilename = filename[:-3] + 'wav'
> fi,fo,fe = os.popen3('lame --nohist --verbose --decode "%s" "%s"' % (filename,
> newfilename))
> - rest = ''
> while (1):
> t = fe.read(160)
> --- 53,60 ----
> Converts the file into a wav file using lame.
> """
> + #splitter = re.compile(r'Frame#\s*(\d+)\/(\d+)^\\r*\\r')
> + splitter = re.compile(r'Frame#\s*(\d+)\/(\d+)[^\r]*\r')
> newfilename = filename[:-3] + 'wav'
> fi,fo,fe = os.popen3('lame --nohist --verbose --decode "%s" "%s"' % (filename,
> newfilename))
> while (1):
> t = fe.read(160)
> ***************
> *** 60,81 ****
> break
> else:
> ! s = t.split('\r')
> ! s[0] = rest + s[0]
> ! for l in s[:-1]:
> ! endidx = l.find('\x08')
> ! if endidx > 0:
> ! print "T: %s" % l[:endidx].strip()
> else:
> ! print "T: %s" % l.strip()
> ! rest = s[-1]
> ! #print str(t)
> fi.close()
> fo.close()
> return newfilename
>
> def resample(filename, samplerate = 44100):
> newfilename = filename[:-4] + '_resampled.wav'
> ! f = os.popen('sox "%s" -r %d -V "%s" resample' % (filename, samplerate,
> newfilename), 'r')
> ! f.close()
> if filename != newfilename:
> os.remove(filename)
> --- 63,95 ----
> break
> else:
> ! tt = splitter.findall(t)
> ! for s in tt:
> ! if len(s) != 2:
> ! print s
> else:
> ! frame = string.atoi(s[0])
> ! frameof = string.atoi(s[1])
> ! if frame <= frameof:
> ! print "wav: %d%% (%d/%d)" %
> (frame*100/frameof,frame,frameof)
> ! else:
> ! print s
> fi.close()
> fo.close()
> + fe.close()
> return newfilename
>
> def resample(filename, samplerate = 44100):
> newfilename = filename[:-4] + '_resampled.wav'
> ! fi,fo,fe = os.popen3('sox "%s" -r %d -V "%s" resample' % (filename,
> samplerate, newfilename))
> ! while (1):
> ! t = fe.read(160)
> ! if t == None or t == '':
> ! print "BREAK"
> ! break
> ! else:
> ! continue
> ! fi.close()
> ! fo.close()
> ! fe.close()
> if filename != newfilename:
> os.remove(filename)
> ***************
> *** 83,89 ****
>
> def normalize(files):
> textlist = reduce( lambda a,b: a +' "' + b + '"', files, '' )
> ! f = os.popen('normalize -m %s' % textlist, 'r')
> ! f.close()
>
>
> --- 97,112 ----
>
> def normalize(files):
> + splitter = re.compile(r'(\d+)%\sdone\.*(\d+)%\sdone')
> textlist = reduce( lambda a,b: a +' "' + b + '"', files, '' )
> ! fi,fo,fe = os.popen3('normalize -m %s' % textlist)
> ! while (1):
> ! t = fe.readline(160)
> ! if t == None or t == '':
> ! break
> ! else:
> ! print "Batch: %d / Total: %d" % (re.findall(t)[0])
> ! fi.close()
> ! fo.close()
> ! fe.close()
>
>
> ***************
> *** 99,103 ****
> r,w = os.pipe()
> cmd = 'cdrdao write -n --remote %d "%s" ' % (w,tocfile)
> ! f = os.popen(cmd, 'r')
> re = os.dup(r)
> os.close(r)
> --- 122,126 ----
> r,w = os.pipe()
> cmd = 'cdrdao write -n --remote %d "%s" ' % (w,tocfile)
> ! fi,fo,fe = os.popen3(cmd)
> re = os.dup(r)
> os.close(r)
> ***************
> *** 115,121 ****
> except:
> break
> ! re.close()
> ! r.close()
> ! f.close()
> # Remove the toc-file
> os.remove(tocname)
> --- 138,145 ----
> except:
> break
> ! fi.close()
> ! os.close(re)
> ! fo.close()
> ! fe.close()
> # Remove the toc-file
> os.remove(tocname)
>
>
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites including
> Data Reports, E-commerce, Portals, and Forums are available now.
> Download today and enter to win an XBOX or Visual Studio .NET.
> http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01
> _______________________________________________
> Freevo-cvslog mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/freevo-cvslog
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog