This commit is contained in:
Seth Call 2015-02-15 22:15:34 -06:00
parent afe9f65709
commit e40c964d97
7 changed files with 57 additions and 3 deletions

View File

@ -179,6 +179,13 @@ module JamRuby
s3_manager.delete(self[:url]) if self[:url] && s3_manager.exists?(self[:url])
end
def mark_silent
destroy
# check if we have all the files we need, now that the recorded_backing_track is out of the way
recording.preconditions_for_mix?
end
private
def self.construct_filename(created_at, recording_id, client_track_id)

View File

@ -228,7 +228,7 @@ module JamRuby
def self.construct_filename(created_at, recording_id, client_track_id)
raise "unknown ID" unless client_track_id
"recordings/#{created_at.strftime('%m-%d-%Y')}/#{recording_id}/backing-track-#{client_track_id}.ogg"
"recordings/#{created_at.strftime('%m-%d-%Y')}/#{recording_id}/track-#{client_track_id}.ogg"
end
end
end

View File

@ -78,6 +78,23 @@
"icon_url": "/assets/content/icon_alert_big.png"
});
}
else {
// hunt for missing backing tracks; if so, mark them as silent
context._.each(openRecordingResult.backing_tracks, function(backingTrack) {
if(backingTrack.local_state == "MISSING") {
// mark this as deleted
logger.debug("marking recorded track as deleted")
rest.markRecordedBackingTrackSilent({recording_id: openRecordingResult.recording_id, backing_track_id: backingTrack.client_track_id})
.fail(function() {
app.notify({
"title": "Unable to Mark Backing Track",
"text": "A backing track was never played, but we could not tell the server to remove it from the recording.",
"icon_url": "/assets/content/icon_alert_big.png"
});
})
}
})
}
playbackControls.startMonitor();
}

View File

@ -1043,6 +1043,18 @@
})
}
function markRecordedBackingTrackSilent(options) {
var recordingId = options["recording_id"];
var trackId = options["backing_track_id"];
return $.ajax({
type: "POST",
dataType: "json",
contentType: 'application/json',
data: {},
url: "/api/recordings/" + recordingId + "/backing_tracks/" + trackId + '/silent'
});
}
function getRecordedTrack(options) {
var recordingId = options["recording_id"];
var trackId = options["track_id"];
@ -1697,6 +1709,7 @@
this.getMount = getMount;
this.createSourceChange = createSourceChange;
this.validateUrlSite = validateUrlSite;
this.markRecordedBackingTrackSilent = markRecordedBackingTrackSilent;
return this;
};

View File

@ -908,7 +908,7 @@
// mediaType == null is for backwards compat with older clients. Can be removed soon
recordingTrackMixers.push(mixer)
} else {
console.log("Unknown track type: " + mediaType)
logger.warn("Unknown track type: " + mediaType)
adhocTrackMixers.push(mixer);
}
});
@ -1257,6 +1257,7 @@
if(recordedTracks) {
$('.session-recording-name').text(sessionModel.getCurrentSession().claimed_recording.name);
console.log("renderRecordingTracks", recordingMixers, recordedTracks)
var noCorrespondingTracks = false;
$.each(recordingMixers, function(index, mixer) {
var preMasteredClass = "";

View File

@ -2,6 +2,8 @@ class ApiBackingTracksController < ApiController
# have to be signed in currently to see this screen
before_filter :api_signed_in_user
before_filter :lookup_recorded_backing_track, :only => [ :backing_track_silent ]
respond_to :json
@ -14,4 +16,17 @@ class ApiBackingTracksController < ApiController
render "api_backing_tracks/index", :layout => nil
end
end # class ApiJamTracksController
def backing_track_silent
@recorded_backing_track.mark_silent
render :json => {}, :status => 200
end
private
def lookup_recorded_backing_track
@recorded_backing_track = RecordedBackingTrack.find_by_recording_id_and_client_track_id!(params[:id], params[:track_id])
raise PermissionError, ValidationMessages::PERMISSION_VALIDATION_ERROR unless @recorded_backing_track.recording.has_access?(current_user)
end
end # class ApiBackingTracksController

View File

@ -470,6 +470,7 @@ SampleApp::Application.routes.draw do
match '/recordings/:id/backing_tracks/:track_id/upload_sign' => 'api_recordings#backing_track_upload_sign', :via => :get
match '/recordings/:id/backing_tracks/:track_id/upload_part_complete' => 'api_recordings#backing_track_upload_part_complete', :via => :post
match '/recordings/:id/backing_tracks/:track_id/upload_complete' => 'api_recordings#backing_track_upload_complete', :via => :post
match '/recordings/:id/backing_tracks/:track_id/silent' => 'api_backing_tracks#backing_track_silent', :via => :post
# Recordings - recorded_videos
match '/recordings/:id/tracks/:video_id/upload_sign' => 'api_recordings#video_upload_sign', :via => :get