* merged
This commit is contained in:
parent
afe9f65709
commit
e40c964d97
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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 = "";
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue