Guest User

Untitled

a guest
Apr 20th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.73 KB | None | 0 0
  1. import re
  2.  
  3. ### before run
  4. # make sure the metafile name is correct, and the file is in the same location
  5. # run with python3
  6. # check if timebase position is right
  7.  
  8. ### after run (in output.cue)
  9. # insert title name
  10. # change new.flac to a correct flac file name
  11.  
  12.  
  13. def main():
  14. try: # exception when there is no such file
  15. f = open('part_A_FFMETADATAFILE')
  16. data = f.read()
  17. f.close()
  18. # print(data)
  19. split_data = re.split(r"\s*\n", data)
  20. timebase_index = split_data.index('TIMEBASE=1/1000000000')
  21. timebase = split_data[timebase_index].replace('TIMEBASE=1/', '')
  22. # timebase = split_data[3].replace('TIMEBASE=1/', '')
  23. # print(timebase)
  24.  
  25. # create cue file
  26. f = open('output.cue', 'a')
  27. f.write('TITLE ""')
  28. f.write('\n')
  29. f.write('PERFORMER "fripSide"')
  30. f.write('\n')
  31. f.write('FILE "new.flac" WAVE')
  32. f.write('\n')
  33. f.close()
  34.  
  35. count = 0
  36. track_number = 0
  37. for element in split_data:
  38. # print(element)
  39. if element == '[CHAPTER]':
  40. track_number += 1
  41. start = count + 2
  42. title = count + 4
  43. print(split_data[start].replace('START=', ''))
  44. print(split_data[title].replace('title=', ''))
  45. print('---------------------------------------------------------')
  46.  
  47. f = open('output.cue', 'a')
  48. if track_number < 10:
  49. f.write(' TRACK 0' + str(track_number) + ' AUDIO\n')
  50. else:
  51. f.write(' TRACK ' + str(track_number) + ' AUDIO\n')
  52. f.write(' TITLE "')
  53. f.write(split_data[title].replace('title=', ''))
  54. f.write('"')
  55. f.write('\n')
  56.  
  57. f.write(' PERFORMER "fripSide"')
  58. f.write('\n')
  59.  
  60. index_sec = float(split_data[start].replace('START=', '')) / float(timebase)
  61. index_sec_str = str("{0:.0f}".format(index_sec % 60))
  62. print(index_sec_str)
  63.  
  64. index_msec = index_sec % 1
  65. index_msec_str = str("{0:.2f}".format(index_msec)).replace('0.', '')
  66. print(index_msec_str)
  67.  
  68. index_min = index_sec // 60
  69. index_min_str = str(index_min).replace('.0', '')
  70. print(index_min_str)
  71.  
  72. f.write(' INDEX 01 ' + index_min_str + ':' + index_sec_str + ':' + index_msec_str)
  73. # f.write()
  74. f.write('\n')
  75.  
  76. f.close()
  77. count += 1
  78.  
  79. else:
  80. count += 1
  81.  
  82. except FileNotFoundError:
  83. print('FileNotFoundError')
  84.  
  85.  
  86.  
  87. if __name__ == "__main__":
  88. main()
Add Comment
Please, Sign In to add comment