feature/share-libs
rb 23 lines 672 Bytes
Raw
1 # frozen_string_literal: true
2
3 class AudioAnalysisJob < ApplicationJob
4 queue_as :default
5
6 def perform(audio_file_id)
7 # Get the file to split.
8 @file = AudioFile.find_by(id: audio_file_id)
9
10 # Return early if the file is not found.
11 return if @file.nil?
12
13 # Perform result files processing.
14 bass = @file.bass_file
15 AudioAnalysisSplitfireResultJob.perform_later(bass.id)
16 vocal = @file.vocals_file
17 AudioAnalysisSplitfireResultJob.perform_later(vocal.id)
18 drum = @file.drums_file
19 AudioAnalysisSplitfireResultJob.perform_later(drum.id)
20 other = @file.other_file
21 AudioAnalysisSplitfireResultJob.perform_later(other.id)
22 end
23 end