From 8e55ad4f6e1be8e238085294018dde9403e59ab3 Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 3 Jul 2019 14:42:35 +0800 Subject: [PATCH] [UPDATE] fixed that fail when filename contains special chars like \' " --- README.md | 4 +- djbeat/djbeat.py | 8 ++-- setup.py | 2 +- test/treasure-trimed Project.fcpxml | 42 ++++++++++++++++++ ...207 \346\265\213\350\257\225\"$#&*^!~.wav" | Bin ...6\265\213\350\257\225\"$#&*^!~.wav.fcpxml" | 39 ++++++++++++++++ ...207 \346\265\213\350\257\225\".wav.fcpxml" | 39 ++++++++++++++++ ...6\207 \346\265\213\350\257\225.wav.fcpxml" | 4 +- 8 files changed, 130 insertions(+), 8 deletions(-) create mode 100644 test/treasure-trimed Project.fcpxml rename "test/\344\270\255\346\226\207 \346\265\213\350\257\225.wav" => "test/\344\270\255\346\226\207 \346\265\213\350\257\225\"$#&*^!~.wav" (100%) create mode 100644 "test/\344\270\255\346\226\207 \346\265\213\350\257\225\"$#&*^!~.wav.fcpxml" create mode 100644 "test/\344\270\255\346\226\207 \346\265\213\350\257\225\".wav.fcpxml" diff --git a/README.md b/README.md index 137a456..d9fdc16 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@

- Version: 0.4.6
+ Version: 0.4.9
"A Simple Beat Time Marks Generator"
-- Created by Kevin T. Lee --

MIT Code - Version + Version
# DJ-beat diff --git a/djbeat/djbeat.py b/djbeat/djbeat.py index ac3be40..92de190 100644 --- a/djbeat/djbeat.py +++ b/djbeat/djbeat.py @@ -2,7 +2,7 @@ # author: Kevin T. Lee # description: DJ-beat is available to detect the beat from the audio and generate time marks for FCPX and premiere. -__version__ = '0.4.7' +__version__ = '0.4.9' import madmom import librosa @@ -11,6 +11,7 @@ import os import datetime import numpy as np +import re from tqdm import tqdm from pyfiglet import Figlet from string import Template @@ -54,7 +55,7 @@ def proc_data(self): self.file_time = (1.0 * len(self.y) / self.audio_sr) self.file_real_length = int(self.file_time * 1000) self.file_length = int(self.file_time) * 1000 - proc = madmom.features.beats.DBNBeatTrackingProcessor(fps=self.fps) + proc = madmom.features.beats.DBNBeatTrackingProcessor(look_ahead=0.4, fps=self.fps) act = madmom.features.beats.RNNBeatProcessor()(self.filepath) beat_times = proc(act) @@ -76,10 +77,11 @@ def gen_fcpxml(self): self.beat_marks = '\n'.join(markers) + new_file_name = re.sub(r'\W','_',self.file_name) _dict = {'build_version': self.build_version, 'date_time': self.date_time, 'frame_rate': self.frame_rate, - 'file_name': self.file_name, + 'file_name': new_file_name, 'file_path': pathname2url(self.abs_filepath), 'file_length': self.file_length, 'file_real_length': self.file_real_length, diff --git a/setup.py b/setup.py index 77c17e0..301f3bd 100644 --- a/setup.py +++ b/setup.py @@ -15,7 +15,7 @@ entry_points={ "console_scripts": ['djbeat = djbeat.djbeat:main'] }, - version='0.4.7', + version='0.4.9', description="A simple CLI tool for generating beat marks of music for FCPX and PRE", license="MIT", install_requires=[ diff --git a/test/treasure-trimed Project.fcpxml b/test/treasure-trimed Project.fcpxml new file mode 100644 index 0000000..3c5a62c --- /dev/null +++ b/test/treasure-trimed Project.fcpxml @@ -0,0 +1,42 @@ + + + + + + + + Ym9vazQDAAAAAAQQMAAAAGmRsqvaJ4K/qcAGPjgdMvst076Mb9cX1iFox0ENEVbpMAIAAAQAAAADAwAAABgAKAUAAAABAQAAVXNlcnMAAAAFAAAAAQEAAGtldmluAAAACAAAAAEBAABQcm9qZWN0cwYAAAABAQAAR2l0SHViAAAHAAAAAQEAAGRqLWJlYXQABAAAAAEBAAB0ZXN0EgAAAAEBAADkuK3mlocg5rWL6K+VIi53YXYAABwAAAABBgAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAbAAAAAgAAAAEAwAAo2cGAAAAAAAIAAAABAMAALWlCQAAAAAACAAAAAQDAAA22xoAAQAAAAgAAAAEAwAAEU1VAQEAAAAIAAAABAMAANShRAIBAAAACAAAAAQDAADUokQCAQAAAAgAAAAEAwAAoEa8AgEAAAAcAAAAAQYAAKwAAAC8AAAAzAAAANwAAADsAAAA/AAAAAwBAAAIAAAAAAQAAEHBX5gR4RSYGAAAAAECAAABAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAIAAAABAMAAAUAAAAAAAAABAAAAAMDAAD1AQAACAAAAAEJAABmaWxlOi8vLwwAAAABAQAATWFjaW50b3NoIEhECAAAAAQDAAAAoCBodAAAAAgAAAAABAAAQb6DYoIAAAAkAAAAAQEAADBENjJCNzdELUQ1RkItMzQzQy05NzYyLTg0NzdDQTFCQzk1QRgAAAABAgAAgQAAAAEAAADvEwAAAQAAAAAAAAAAAAAAAQAAAAEBAAAvAAAAAAAAAAEFAADMAAAA/v///wEAAAAAAAAAEAAAAAQQAACIAAAAAAAAAAUQAAAcAQAAAAAAABAQAABQAQAAAAAAAEAQAABAAQAAAAAAAAIgAAAcAgAAAAAAAAUgAACMAQAAAAAAABAgAACcAQAAAAAAABEgAADQAQAAAAAAABIgAACwAQAAAAAAABMgAADAAQAAAAAAACAgAAD8AQAAAAAAADAgAAAoAgAAAAAAAAHAAABwAQAAAAAAABHAAAAgAAAAAAAAABLAAACAAQAAAAAAABDQAAAEAAAAAAAAAA== + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/test/\344\270\255\346\226\207 \346\265\213\350\257\225.wav" "b/test/\344\270\255\346\226\207 \346\265\213\350\257\225\"$#&*^!~.wav" similarity index 100% rename from "test/\344\270\255\346\226\207 \346\265\213\350\257\225.wav" rename to "test/\344\270\255\346\226\207 \346\265\213\350\257\225\"$#&*^!~.wav" diff --git "a/test/\344\270\255\346\226\207 \346\265\213\350\257\225\"$#&*^!~.wav.fcpxml" "b/test/\344\270\255\346\226\207 \346\265\213\350\257\225\"$#&*^!~.wav.fcpxml" new file mode 100644 index 0000000..7fa338e --- /dev/null +++ "b/test/\344\270\255\346\226\207 \346\265\213\350\257\225\"$#&*^!~.wav.fcpxml" @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/test/\344\270\255\346\226\207 \346\265\213\350\257\225\".wav.fcpxml" "b/test/\344\270\255\346\226\207 \346\265\213\350\257\225\".wav.fcpxml" new file mode 100644 index 0000000..72105c5 --- /dev/null +++ "b/test/\344\270\255\346\226\207 \346\265\213\350\257\225\".wav.fcpxml" @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/test/\344\270\255\346\226\207 \346\265\213\350\257\225.wav.fcpxml" "b/test/\344\270\255\346\226\207 \346\265\213\350\257\225.wav.fcpxml" index 5b744e5..c3b248c 100644 --- "a/test/\344\270\255\346\226\207 \346\265\213\350\257\225.wav.fcpxml" +++ "b/test/\344\270\255\346\226\207 \346\265\213\350\257\225.wav.fcpxml" @@ -1,8 +1,8 @@ - - + +