Add rescan_database function

This commit is contained in:
Keith Edmunds 2021-05-02 16:11:08 +01:00
parent cc9b168e81
commit 1c9c82cc1c

View File

@ -123,6 +123,21 @@ def fade_point(audio_segment, fade_threshold=Config.DBFS_FADE,
return int(trim_ms) return int(trim_ms)
def rescan_database():
tracks = Tracks.get_all_tracks()
total_tracks = len(tracks)
track_count = 0
for track in tracks:
track_count += 1
print(f"Track {track_count} of {total_tracks}")
audio = get_audio_segment(track.path)
track.start_gap = leading_silence(audio)
track.fade_at = fade_point(audio)
track.silence_at = trailing_silence(audio)
session.commit()
def trailing_silence(audio_segment, silence_threshold=-50.0, def trailing_silence(audio_segment, silence_threshold=-50.0,
chunk_size=Config.AUDIO_SEGMENT_CHUNK_SIZE): chunk_size=Config.AUDIO_SEGMENT_CHUNK_SIZE):
return fade_point(audio_segment, silence_threshold, chunk_size) return fade_point(audio_segment, silence_threshold, chunk_size)
@ -156,5 +171,5 @@ def update_db():
add_path_to_db(path) add_path_to_db(path)
if __name__ == '__main__': if __name__ == '__main__' and '__file__' in globals():
main() main()