def copydel(): line = "" try: cfg_file = file(cfg_file_name, "r") except: print >> sys.stderr, "Can't open config file,", cfg_file_name sys.exit(1) for line in cfg_file: line = line.strip() if line.startswith("#"): continue if line == "": continue line = jtrans.tr(line, "\t", " ") # line = chr_combine(line, " ") try: (act, arch) = line.split("|") except ValueError, err: print "Invalid config line: no '|' or too many:" print line if not yn("Continue", "n"): raise Quit("User Quit") act = act.strip() arch = arch.strip() if Backup: dest = arch src = act else: dest = act src = arch print "%s --> %s" % (src, dest) found_files = False for (root, dirs, files) in os.walk(src): found_files = True if (backup(src, dest, root, dirs, files)): return if not found_files: print >> sys.stderr, "Can't open source dir '%s'" % act if not yn("Continue with subsequent lines", "n"): raise Quit("User Quit")
def load_filenames(args): global gl warnings = [] errors = [] for arg in args: #{ for sampfname in glob.glob(arg): if True: try: sampf = file(sampfname, "rb") except IOError, msg: errors.append(msg) if sampf: sampf.close() samp = Samp() # strip directory basename = sampfname.replace("\\", "/") basename = sampfname.split("/")[-1] # strip ".wav" extension basename = basename.split(".") basename = ".".join(basename[0:-1]) basename = jtrans.tr(basename, DELIMS, " ") # get layer name parts = basename.split(" ") if len(parts) <= abs(LAYER_LOC): loc = LAYER_LOC if loc >= 0: loc += 1 print >>sys.stderr, ( "After splitting filename '%s' delimiters," % (basename)) print >>sys.stderr, ( "there aren't enough parts to find part number %d." % loc) sys.exit(1) layername = parts[LAYER_LOC] # get note: might be MIDI number or note name if len(parts) <= abs(NOTE_LOC): loc = NOTE_LOC if loc >= 0: loc += 1 print >>sys.stderr, ( "After splitting filename '%s' at delimiters, there aren't" % (basename)) print >>sys.stderr, ( "there aren't enough parts to find part number %d." % loc) sys.exit(1) notespec = parts[NOTE_LOC] mnote = jmidi.notenum(notespec) if mnote == None: print >>sys.stderr, ( "Invalid MIDI note designation '%s' in '%s'" % (notespec, basename)) sys.exit(1) # print sampfname, mnote, layername, jmidi.mnote_name(mnote)[0] samp.fname = sampfname samp.mnote = mnote samp.notename = jmidi.mnote_name(mnote, pad=None) samp.layername = layername if layername not in gl.layernum: warnings.append("Sample for unconfigured layer '%s': %s" % (samp.layername, samp.fname)) continue samp.layer = gl.layernum[layername] if samp.layer == None: warnings.append("Sample for missing layer '%s': %s" % (samp.layername, samp.fname)) continue x = LO_KEY - MAX_NOTE_SHIFT if (samp.mnote < max(0, LO_KEY - MAX_NOTE_SHIFT) or samp.mnote > HI_KEY + MAX_NOTE_SHIFT): warnings.append("Sample outside useful note range (%s): %s" % (samp.notename, samp.fname)) continue samp.char = None gl.samps[sampfname] = samp gl.grid[samp.layer][mnote] = samp
global gl try: cfgf = file(cfg_fname, "r") except Exception, msg: print >>sys.stderr, msg sys.exit(1) COMMENT = "" layers = [] lvmode = None lineno = 0 for iline in cfgf.readlines(): #{ line = jtrans.tr(iline.strip(), "\t", " ") lineno += 1 # skip blank line or comment if len(line) == 0 or line[0] == "#": continue # print >>sys.stderr, line groups = line.split(" ") cmd = groups[0] for ix in range(len(groups)-1, -1, -1): if len(groups[ix]) == 0: del groups[ix] if cmd == "bankname":
def main(prog, args): global _fn_prefix global _fn_suffix global _infile global _folder global _pitchlog global _logfile rCode = 0 if len(args) < 1: usage(prog) return 1 if _log_pitch: print "OPENING PITCH LOG" _pitchlog = open("pitch.csv", "w") t1 = jtime.start() file_count = 0 while len(args) > 0: if len(args) > 2 and args[0] == "-f": _folder = args[1] + "/" print "Output folder:", args[1] del args[0] del args[0] if len(args) < 1: return rCode fspec = args[0] del args[0] for _infile in glob.glob(fspec): file_count += 1 print "\nProcessing", _infile, "===================================" print # Split the file name into prefix (inst name) and suffix (velocity) basename = _infile.split(".")[0] # strip ".wav" basename = jtrans.tr(basename, "\\", "/") basename = basename.split("/")[-1] # strip path parts = basename.split("_") _fn_prefix = parts[0] + "_" del parts[0] _fn_suffix = "_" + "_".join(parts) print "prefix =", _fn_prefix print "suffix =", _fn_suffix _logfile = open(_folder + _fn_prefix + _fn_suffix[1:] + "_log.csv", "w") print >>_logfile, "fn_prefix" \ ,",", "file_num" \ ,",", "mnote" \ ,",", "notename" \ ,",", "cents" \ ,",", "freq" \ ,",", "sn_ratio" \ ,",", "peak" \ ,",", "duration" t2 = jtime.start() try: if prof: rCode = profile.run("process_samples()") else: rCode = process_samples() except IOError, msg: print msg if len(args) > 0: print "Skipping ..." continue print print "Elapsed time for %s: " % _infile, jtime.hms( jtime.end(t2), 1) _logfile.close()
def load_filenames(args): global gl warnings = [] errors = [] for arg in args: #{ for sampfname in glob.glob(arg): if True: try: sampf = file(sampfname, "rb") except IOError, msg: errors.append(msg) if sampf: sampf.close() samp = Samp() # strip directory basename = sampfname.replace("\\", "/") basename = sampfname.split("/")[-1] # strip ".wav" extension basename = basename.split(".") basename = ".".join(basename[0:-1]) basename = jtrans.tr(basename, DELIMS, " ") # get layer name parts = basename.split(" ") if len(parts) <= abs(LAYER_LOC): loc = LAYER_LOC if loc >= 0: loc += 1 print >> sys.stderr, ( "After splitting filename '%s' delimiters," % (basename)) print >> sys.stderr, ( "there aren't enough parts to find part number %d." % loc) sys.exit(1) layername = parts[LAYER_LOC] # get note: might be MIDI number or note name if len(parts) <= abs(NOTE_LOC): loc = NOTE_LOC if loc >= 0: loc += 1 print >> sys.stderr, ( "After splitting filename '%s' at delimiters, there aren't" % (basename)) print >> sys.stderr, ( "there aren't enough parts to find part number %d." % loc) sys.exit(1) notespec = parts[NOTE_LOC] mnote = jmidi.notenum(notespec) if mnote == None: print >> sys.stderr, ( "Invalid MIDI note designation '%s' in '%s'" % (notespec, basename)) sys.exit(1) # print sampfname, mnote, layername, jmidi.mnote_name(mnote)[0] samp.fname = sampfname samp.mnote = mnote samp.notename = jmidi.mnote_name(mnote, pad=None) samp.layername = layername if layername not in gl.layernum: warnings.append("Sample for unconfigured layer '%s': %s" % (samp.layername, samp.fname)) continue samp.layer = gl.layernum[layername] if samp.layer == None: warnings.append("Sample for missing layer '%s': %s" % (samp.layername, samp.fname)) continue x = LO_KEY - MAX_NOTE_SHIFT if (samp.mnote < max(0, LO_KEY - MAX_NOTE_SHIFT) or samp.mnote > HI_KEY + MAX_NOTE_SHIFT): warnings.append("Sample outside useful note range (%s): %s" % (samp.notename, samp.fname)) continue samp.char = None gl.samps[sampfname] = samp gl.grid[samp.layer][mnote] = samp
global gl try: cfgf = file(cfg_fname, "r") except Exception, msg: print >> sys.stderr, msg sys.exit(1) COMMENT = "" layers = [] lvmode = None lineno = 0 for iline in cfgf.readlines(): #{ line = jtrans.tr(iline.strip(), "\t", " ") lineno += 1 # skip blank line or comment if len(line) == 0 or line[0] == "#": continue # print >>sys.stderr, line groups = line.split(" ") cmd = groups[0] for ix in range(len(groups) - 1, -1, -1): if len(groups[ix]) == 0: del groups[ix] if cmd == "bankname":