diff options
Diffstat (limited to 'devtools/create_bladerunner/subtitles')
4 files changed, 51 insertions, 27 deletions
diff --git a/devtools/create_bladerunner/subtitles/quotesSpreadsheetCreator/audFileDecode.py b/devtools/create_bladerunner/subtitles/quotesSpreadsheetCreator/audFileDecode.py index 5be678f3f2..15733488bb 100644 --- a/devtools/create_bladerunner/subtitles/quotesSpreadsheetCreator/audFileDecode.py +++ b/devtools/create_bladerunner/subtitles/quotesSpreadsheetCreator/audFileDecode.py @@ -25,8 +25,8 @@ if (not ctypesLibFound) \ from struct import * -my_module_version = "0.60" -my_module_name = "audFileDecode" +MY_MODULE_VERSION = "0.60" +MY_MODULE_NAME = "audFileDecode" aud_ima_index_adjust_table = [-1, -1, -1, -1, 2, 4, 6, 8] @@ -225,11 +225,12 @@ class audFileDecode: if __name__ == '__main__': # main() - print "[Debug] Running %s as main module" % (my_module_name) decodeInstance = audFileDecode() + if decodeInstance.m_traceModeEnabled: + print "[Debug] Running %s (%s) as main module" % (MY_MODULE_NAME, MY_MODULE_VERSION) else: #debug - #print "[Debug] Running %s imported from another module" % (my_module_name) + #print "[Debug] Running %s (%s) imported from another module" % (MY_MODULE_NAME, MY_MODULE_VERSION) pass
\ No newline at end of file diff --git a/devtools/create_bladerunner/subtitles/quotesSpreadsheetCreator/audFileLib.py b/devtools/create_bladerunner/subtitles/quotesSpreadsheetCreator/audFileLib.py index 2912a93930..3c72521c0d 100644 --- a/devtools/create_bladerunner/subtitles/quotesSpreadsheetCreator/audFileLib.py +++ b/devtools/create_bladerunner/subtitles/quotesSpreadsheetCreator/audFileLib.py @@ -62,8 +62,8 @@ if (not osLibFound) \ from struct import * from audFileDecode import * -my_module_version = "0.80" -my_module_name = "audFileLib" +MY_MODULE_VERSION = "0.80" +MY_MODULE_NAME = "audFileLib" #constants aud_chunk_id = 0x0000deaf @@ -129,9 +129,11 @@ class audFile: cbinaryDataOutLst.append(tmpTupleH[0]) cvirtualBinaryD = struct.pack('B'*len(cbinaryDataOutLst), *cbinaryDataOutLst) - if (not cvirtualBinaryD): - print "[Error] audio file could not be exported properly (0 data read): " + filename + if (not cvirtualBinaryD and (len(audBytesBuff) - SIZE_OF_AUD_HEADER_IN_BYTES) > 0): + print "[Error] audio file could not be exported properly (0 data read): %s" % (filename) return 1 + elif (len(audBytesBuff) - SIZE_OF_AUD_HEADER_IN_BYTES) == 0: + print "[Warning] Creating empty wav file: %s" % (filename) cb_sample = self.get_cb_sample() cs_remaining = self.get_c_samples() @@ -188,8 +190,18 @@ class audFile: print "[Debug] Sample rate: %d\tsizeIn: %d\tsizeOut: %d\tflags: %d\tcompression: %d" % (self.get_samplerate(), self.header().m_size_in, self.header().m_size_out, self.header().m_flags, self.header().m_compression) if self.get_samplerate() < 8000 or self.get_samplerate() > 48000 or self.header().m_size_in > (maxLength - SIZE_OF_AUD_HEADER_IN_BYTES ): - print "[Error] Bad AUD Header size in file %s" % (self.m_simpleAudioFileName) - return False + print "[Warning] Bad AUD Header info in file %s, size_in: %d, maxLen: %d" % (self.m_simpleAudioFileName, self.header().m_size_in, (maxLength - SIZE_OF_AUD_HEADER_IN_BYTES)) + if self.header().m_size_in == 0: + # handle special case where only the header of the AUD file is present and the size_in is 0. + # fill the header with "valid" info for an empty wav file + self.header().m_size_out = 0 + self.header().m_samplerate = 22050 + self.header().m_compression = 0 + self.header().m_flags = 2 + self.header().m_populated = True + return True + else: + return False else: if self.header().m_compression == 1: if (self.header().m_flags != 0): @@ -360,16 +372,16 @@ class audFile: # if __name__ == '__main__': # main() - print "[Debug] Running %s as main module" % (my_module_name) - # assumes a file of name 000000.AUD in same directory + # (by default) assumes a file of name 000000.AUD in same directory + # otherwise tries to use the first command line argument as input file inAUDFile = None inAUDFileName = '00000000.AUD' if len(sys.argv[1:]) > 0 \ and os.path.isfile(os.path.join('.', sys.argv[1])) \ - and len (sys.argv[1]) > 5 \ + and len(sys.argv[1]) > 5 \ and sys.argv[1][-3:] == 'AUD': inAUDFileName = sys.argv[1] - print "[Debug] Using %s as input AUD file..." % (inAUDFileName) + print "[Info] Using %s as input AUD file..." % (inAUDFileName) errorFound = False try: @@ -381,10 +393,12 @@ if __name__ == '__main__': if not errorFound: allOfAudFileInBuffer = inAUDFile.read() audFileInstance = audFile(True) + if audFileInstance.m_traceModeEnabled: + print "[Debug] Running %s (%s) as main module" % (MY_MODULE_NAME, MY_MODULE_VERSION) audFileInstance.loadAudFile(allOfAudFileInBuffer, len(allOfAudFileInBuffer), inAUDFileName) audFileInstance.export_as_wav(allOfAudFileInBuffer, './tmp.wav') inAUDFile.close() else: #debug - #print "[Debug] Running %s imported from another module" % (my_module_name) + #print "[Debug] Running %s (%s) imported from another module" % (MY_MODULE_NAME, MY_MODULE_VERSION) pass
\ No newline at end of file diff --git a/devtools/create_bladerunner/subtitles/quotesSpreadsheetCreator/sortBladeRunnerWavs02.py b/devtools/create_bladerunner/subtitles/quotesSpreadsheetCreator/sortBladeRunnerWavs02.py index ce9f9437a5..800372b4cc 100644 --- a/devtools/create_bladerunner/subtitles/quotesSpreadsheetCreator/sortBladeRunnerWavs02.py +++ b/devtools/create_bladerunner/subtitles/quotesSpreadsheetCreator/sortBladeRunnerWavs02.py @@ -394,6 +394,11 @@ def inputTLKsExport(inputTLKpath, outputWAVpath, pExportWavFilesMode, pExtractDe if(offsetOfAUDEntry + sizeOfAUDEntry > allTlkFileSize): print "[Error] audio file (AUD) file size mismatch with reported size in entry header!" else: + targetSimpleWavFileName = targetSimpleAudFileName[:-4] + '.WAV' # remove the .AUD before adding the .WAV + if not fileIsMIX: # TLK file + (actorID, actorSName, localQuoteId) = getActorShortNameAndLocalQuoteIdByAUDHashID(idOfAUDEntry) + targetSimpleWavFileName = actorSName + '_' + str(localQuoteId).zfill(4) + '_' + ''.join('{:08X}'.format(idOfAUDEntry)).upper()+'.WAV' + audFileBuffer = inTLKorMIXFile.read(sizeOfAUDEntry) if (len(audFileBuffer) == sizeOfAUDEntry): # load audio file (AUD) file @@ -401,12 +406,6 @@ def inputTLKsExport(inputTLKpath, outputWAVpath, pExportWavFilesMode, pExtractDe if (thisAudFile.loadAudFile(audFileBuffer, allTlkFileSize, targetSimpleAudFileName)): if gTraceModeEnabled: print "[Debug] Audio file (AUD) file %s was loaded successfully!" % (targetSimpleAudFileName) - # find - # print "[Debug] Emulating Wav write to appropriate folder..." - targetSimpleWavFileName = targetSimpleAudFileName[:-4] + '.WAV' # remove the .AUD before adding the .WAV - if not fileIsMIX: # TLK file - (actorID, actorSName, localQuoteId) = getActorShortNameAndLocalQuoteIdByAUDHashID(idOfAUDEntry) - targetSimpleWavFileName = actorSName + '_' + str(localQuoteId).zfill(4) + '_' + ''.join('{:08X}'.format(idOfAUDEntry)).upper()+'.WAV' #print os.path.join(outputWAVpath, tmpTLKorMIXFileTuple[1], targetSimpleWavFileName) # tmpTLKorMIXFileTuple[1] is the subfolder where the AUD -> WAV files for this archive are written if not os.path.isfile(os.path.join(outputWAVpath, tmpTLKorMIXFileTuple[1], targetSimpleWavFileName) ): @@ -415,7 +414,7 @@ def inputTLKsExport(inputTLKpath, outputWAVpath, pExportWavFilesMode, pExtractDe if gTraceModeEnabled: print "[Info] Output file %s already exists. Skipping..." % (os.path.join(outputWAVpath, tmpTLKorMIXFileTuple[1], targetSimpleWavFileName)) else: - print "[Error] while loading audio file (AUD) %s!" % (targetSimpleAudFileName) + print "[Warning] Failed to load a proper audio file (AUD) %s (to export it to %s)! Size of input is: %d" % (targetSimpleAudFileName, targetSimpleWavFileName, sizeOfAUDEntry) else: print "[Error] while reading audio file (AUD) file %s into mem buffer" % (targetSimpleAudFileName) #print "[Error] while reading audio file (AUD) file %s into mem buffer" % (''.join('{:08X}'.format(idOfMIXEntry))) diff --git a/devtools/create_bladerunner/subtitles/quotesSpreadsheetCreator/treFileLib.py b/devtools/create_bladerunner/subtitles/quotesSpreadsheetCreator/treFileLib.py index d9ee538fb0..18a23ba5f0 100644 --- a/devtools/create_bladerunner/subtitles/quotesSpreadsheetCreator/treFileLib.py +++ b/devtools/create_bladerunner/subtitles/quotesSpreadsheetCreator/treFileLib.py @@ -43,8 +43,8 @@ if (not osLibFound) \ from struct import * -my_module_version = "0.50" -my_module_name = "treFileLib" +MY_MODULE_VERSION = "0.50" +MY_MODULE_NAME = "treFileLib" class TreHeader: @@ -129,10 +129,17 @@ class treFile: # if __name__ == '__main__': # main() - print "[Debug] Running %s as main module" % (my_module_name) - # assumes a file of name ACTORS.TRE in same directory + # (by default) assumes a file of name ACTORS.TRE in same directory + # otherwise tries to use the first command line argument as input file inTREFile = None inTREFileName = 'ACTORS.TRE' + + if len(sys.argv[1:]) > 0 \ + and os.path.isfile(os.path.join('.', sys.argv[1])) \ + and len(sys.argv[1]) > 5 \ + and sys.argv[1][-3:] == 'TRE': + inTREFileName = sys.argv[1] + print "[Info] Using %s as input TRE file..." % (inTREFileName) errorFound = False @@ -146,6 +153,9 @@ if __name__ == '__main__': if not errorFound: allOfTreFileInBuffer = inTREFile.read() treFileInstance = treFile(True) + if treFileInstance.m_traceModeEnabled: + print "[Debug] Running %s (%s) as main module" % (MY_MODULE_NAME, MY_MODULE_VERSION) + if (treFileInstance.loadTreFile(allOfTreFileInBuffer, len(allOfTreFileInBuffer, inTREFileName))): print "[Info] Text Resource file loaded successfully!" else: @@ -153,5 +163,5 @@ if __name__ == '__main__': inTREFile.close() else: #debug - #print "[Debug] Running %s imported from another module" % (my_module_name) + #print "[Debug] Running %s (%s) imported from another module" % (MY_MODULE_NAME, MY_MODULE_VERSION) pass
\ No newline at end of file |