* click track import working
This commit is contained in:
parent
d6d3ef4299
commit
32d32b3393
|
|
@ -45,9 +45,8 @@ module JamRuby
|
|||
return
|
||||
end
|
||||
|
||||
click_track_file = File.join(tmp_dir, File.basename(click_track_file[:original_filename]))
|
||||
JamTrackImporter.song_storage_manager.download(click_track_file[:original_filename], click_track_file)
|
||||
|
||||
#wav_file = File.join(tmp_dir, File.basename(click_track_file[:original_filename]))
|
||||
#JamTrackImporter.song_storage_manager.download(click_track_file[:original_filename], wav_file)
|
||||
|
||||
JamTrack.transaction do
|
||||
click_track = jam_track.click_track
|
||||
|
|
@ -55,17 +54,21 @@ module JamRuby
|
|||
if click_track.nil?
|
||||
click_track = JamTrackTrack.new
|
||||
#track.original_filename = wav_file
|
||||
#track.original_audio_s3_path = wav_file
|
||||
track.track_type = 'Click'
|
||||
track.part = 'Click'
|
||||
track.instrument_id = 'computer'
|
||||
track.jam_track = jam_track
|
||||
if !track.save
|
||||
finish("jam_track_click", "unable to create: #{track.errors}")
|
||||
click_track.original_audio_s3_path = click_track_file[:original_filename]
|
||||
click_track.track_type = 'Click'
|
||||
click_track.part = 'Click'
|
||||
click_track.instrument_id = 'computer'
|
||||
click_track.jam_track = jam_track
|
||||
click_track.position = 10000
|
||||
if !click_track.save
|
||||
@@log.error("unable to create jamtrack click track #{click_track.errors.inspect}")
|
||||
finish("jam_track_click", "unable to create: #{click_track.errors.inspect}")
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
# with the click track in hand, flesh out the details
|
||||
synchronize_audio_track(jam_track, tmp_dir, false, click_track)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -1066,6 +1069,10 @@ module JamRuby
|
|||
if track.track_type == 'Master'
|
||||
instrument_weight = 1000
|
||||
end
|
||||
|
||||
if track.track_type == 'Click'
|
||||
instrument_weight = 10000
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
|
@ -1308,11 +1315,8 @@ module JamRuby
|
|||
begin
|
||||
Dir.mktmpdir do |tmp_dir|
|
||||
|
||||
generate_mp3_aac_stem(jam_track, tmp_dir, skip_audio_upload)
|
||||
jam_track.jam_track_tracks.each do |track|
|
||||
|
||||
synchronized_audio_track(jam_track, tmp_dir, skip_audio_upload, track)
|
||||
|
||||
synchronize_audio_track(jam_track, tmp_dir, skip_audio_upload, track)
|
||||
end
|
||||
end
|
||||
rescue Exception => e
|
||||
|
|
@ -1330,9 +1334,17 @@ module JamRuby
|
|||
ogg_44100_filename = File.basename(basename, ".wav") + "-44100.ogg"
|
||||
ogg_48000_filename = File.basename(basename, ".wav") + "-48000.ogg"
|
||||
|
||||
|
||||
# make a 44100 version, and a 48000 version
|
||||
mp3_48000_filename = File.basename(basename, ".wav") + "-48000.mp3"
|
||||
aac_48000_filename = File.basename(basename, ".wav") + "-48000.aac"
|
||||
|
||||
ogg_44100_s3_path = track.filename(ogg_44100_filename)
|
||||
ogg_48000_s3_path = track.filename(ogg_48000_filename)
|
||||
|
||||
mp3_48000_s3_path = track.filename(mp3_48000_filename)
|
||||
aac_48000_s3_path = track.filename(aac_48000_filename)
|
||||
|
||||
track.skip_uploader = true
|
||||
|
||||
if skip_audio_upload
|
||||
|
|
@ -1344,6 +1356,14 @@ module JamRuby
|
|||
track["md5_48"] = 'md5'
|
||||
track["length_48"] = 1
|
||||
|
||||
track["url_mp3_48"] = mp3_48000_filename
|
||||
track["md5_mp3_48"] = 'md5'
|
||||
track["length_mp3_48"] = 1
|
||||
|
||||
track["url_aac_48"] = aac_48000_filename
|
||||
track["md5_aac_48"] = 'md5'
|
||||
track["length_aac_48"] = 1
|
||||
|
||||
# we can't fake the preview as easily because we don't know the MD5 of the current item
|
||||
#track["preview_md5"] = 'md5'
|
||||
#track["preview_mp3_md5"] = 'md5'
|
||||
|
|
@ -1394,6 +1414,33 @@ module JamRuby
|
|||
track["md5_48"] = ::Digest::MD5.file(ogg_48000).hexdigest
|
||||
track["length_48"] = File.new(ogg_48000).size
|
||||
|
||||
# now create mp3 and aac files
|
||||
mp3_48000 = File.join(tmp_dir, File.basename(basename, ".wav") + "-48000.mp3")
|
||||
aac_48000 = File.join(tmp_dir, File.basename(basename, ".wav") + "-48000.aac")
|
||||
|
||||
`ffmpeg -i "#{wav_file}" -ar 48000 -ab 192k "#{mp3_48000}"`
|
||||
|
||||
`ffmpeg -i "#{wav_file}" -c:a libfdk_aac -b:a 192k "#{aac_48000}"`
|
||||
|
||||
# upload the new ogg files to s3
|
||||
@@log.debug("uploading mp3 48000 to #{mp3_48000_s3_path}")
|
||||
|
||||
jamkazam_s3_manager.upload(mp3_48000_s3_path, mp3_48000)
|
||||
|
||||
@@log.debug("uploading aac 48000 to #{aac_48000_s3_path}")
|
||||
|
||||
jamkazam_s3_manager.upload(aac_48000_s3_path, aac_48000)
|
||||
|
||||
mp3_48000_digest = ::Digest::MD5.file(mp3_48000)
|
||||
# and finally update the JamTrackTrack with the new info
|
||||
track["url_mp3_48"] = mp3_48000_s3_path
|
||||
track["md5_mp3_48"] = mp3_48000_digest.hexdigest
|
||||
track["length_mp3_48"] = File.new(mp3_48000).size
|
||||
|
||||
track["url_aac_48"] = aac_48000_s3_path
|
||||
track["md5_aac_48"] = ::Digest::MD5.file(aac_48000).hexdigest
|
||||
track["length_aac_48"] = File.new(aac_48000).size
|
||||
|
||||
synchronize_duration(jam_track, ogg_44100)
|
||||
jam_track.save!
|
||||
|
||||
|
|
@ -1404,7 +1451,7 @@ module JamRuby
|
|||
if !preview_succeeded
|
||||
return false
|
||||
end
|
||||
elsif track.track_type == 'Track'
|
||||
elsif track.track_type == 'Track' || track.track_type == 'Click'
|
||||
synchronize_track_preview(track, tmp_dir, ogg_44100)
|
||||
end
|
||||
|
||||
|
|
@ -2095,6 +2142,7 @@ module JamRuby
|
|||
importers = []
|
||||
|
||||
JamTrack.all.each do |jam_track|
|
||||
#jam_track = JamTrack.find('126')
|
||||
importers << import_click_track(jam_track)
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue