diff --git a/ruby/lib/jam_ruby/jam_track_importer.rb b/ruby/lib/jam_ruby/jam_track_importer.rb index c31e9779a..fed33d413 100644 --- a/ruby/lib/jam_ruby/jam_track_importer.rb +++ b/ruby/lib/jam_ruby/jam_track_importer.rb @@ -38,13 +38,29 @@ module JamRuby # we need to download the click track, if it exists. Dir.mktmpdir do |tmp_dir| + @@log.info("importing clicking track for #{jam_track.original_artist}:#{jam_track.name}") + + if jam_track.click_track + @@log.info("already has click track: #{jam_track.original_artist}:#{jam_track.name}") + finish('success', 'already_has_click_track') + return + end + click_track_file = jam_track.click_track_file if click_track_file.nil? - @@log.info("no click track for #{jam_track.name}:#{jam_track.name}") + @@log.info("no click track for #{jam_track.original_artist}:#{jam_track.name}") finish('success', 'no_click_track') return end + original_filename = click_track_file[:original_filename] + + if original_filename.nil? + @@log.info("no click track s3 path for #{jam_track.original_artist}:#{jam_track.name}") + finish('no_original_source', 'click track is missing s3 path:' + click_track_file.id) + return + end + #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) diff --git a/ruby/lib/jam_ruby/models/jam_track.rb b/ruby/lib/jam_ruby/models/jam_track.rb index 26e3fc8b3..1121b607f 100644 --- a/ruby/lib/jam_ruby/models/jam_track.rb +++ b/ruby/lib/jam_ruby/models/jam_track.rb @@ -354,9 +354,8 @@ module JamRuby # :jam_track_rights, # :genres]) # { genres_jam_tracks: :genre }, - query = query.includes([{ jam_track_tracks: :instrument }, - { genres_jam_tracks: :genre }, - :jam_track_tap_ins]) + # query = query.includes([{ jam_track_tracks: :instrument }, + # { genres_jam_tracks: :genre }]) count = query.total_entries diff --git a/ruby/lib/jam_ruby/resque/jam_track_mixdown_packager.rb b/ruby/lib/jam_ruby/resque/jam_track_mixdown_packager.rb index c954e62d3..32b5d51ff 100644 --- a/ruby/lib/jam_ruby/resque/jam_track_mixdown_packager.rb +++ b/ruby/lib/jam_ruby/resque/jam_track_mixdown_packager.rb @@ -102,6 +102,33 @@ module JamRuby vol != 1.0 || pan != 0 end + def create_tapin_track + jmep = @mixdown.jam_track.jmep_json + if jmep + jmep = JSON.parse(jmep) + end + + if jmep.nil? + return nil + end + + events = jmep["Events"] + + return nil if events.nil? || events.length == 0 + + metronome = nil + events.each do |event| + if event.has_key?("Metronome") + metronome = event + break + end + end + + return nil if metronome.nil? || metronome.length == 0 + + cmd("sox -n -r 44100 -c 2 silence.wav trim 0.0 0.05", "bpm_silence") + end + # creates a list of tracks to actually mix def track_settings altered_tracks = @settings["tracks"] || [] diff --git a/ruby/spec/jam_ruby/models/jam_track_spec.rb b/ruby/spec/jam_ruby/models/jam_track_spec.rb index 814a4cbb3..4ed8e7b28 100644 --- a/ruby/spec/jam_ruby/models/jam_track_spec.rb +++ b/ruby/spec/jam_ruby/models/jam_track_spec.rb @@ -234,6 +234,17 @@ describe JamTrack do query.size.should == 2 end + + it "deals with aggregration (regression)" do + + query, pager, count = JamTrack.index({sort_by: 'jamtrack', artist: 'K.C. And The Sunshine Band'}, user) + count.should == 0 + + jam_track1 = FactoryGirl.create(:jam_track_with_tracks, name: 'Take a Chance On Me', original_artist: 'K.C. And The Sunshine Band') + + query, pager, count = JamTrack.index({sort_by: 'jamtrack', artist: 'K.C. And The Sunshine Band'}, user) + count.should == 1 + end end describe "validations" do diff --git a/web/app/assets/javascripts/react-components/JamTrackSearchScreen.js.jsx.coffee b/web/app/assets/javascripts/react-components/JamTrackSearchScreen.js.jsx.coffee index 7ba13df37..25eb00088 100644 --- a/web/app/assets/javascripts/react-components/JamTrackSearchScreen.js.jsx.coffee +++ b/web/app/assets/javascripts/react-components/JamTrackSearchScreen.js.jsx.coffee @@ -533,6 +533,9 @@ MIX_MODES = context.JK.MIX_MODES if search? performSearch = true @search(search.searchType, search.searchData) + else + if !@state.first_search + @search(@state.type, window.JamTrackSearchInput) if performSearch if window.history.replaceState #ie9 proofing @@ -540,8 +543,6 @@ MIX_MODES = context.JK.MIX_MODES beforeShow: () -> - if !@state.first_search - @search(@state.type, window.JamTrackSearchInput) onAppInit: (@app) -> diff --git a/web/app/assets/javascripts/react-components/stores/JamTrackStore.js.coffee b/web/app/assets/javascripts/react-components/stores/JamTrackStore.js.coffee index fb16873ec..17c088534 100644 --- a/web/app/assets/javascripts/react-components/stores/JamTrackStore.js.coffee +++ b/web/app/assets/javascripts/react-components/stores/JamTrackStore.js.coffee @@ -135,7 +135,7 @@ JamTrackActions = @JamTrackActions @trackDetail = context.jamClient.JamTrackGetTrackDetail (fqId) if @trackDetail.version? - logger.error("after invalidating package, the version is still wrong!", @trackDetail) + logger.error("after invalidating package, the version is still wrong!", @trackDetail.version) throw "after invalidating package, the version is still wrong!" if @jamTrack.activeMixdown.client_state == 'cant_open'