* VRFS-2831 - metronome showing
This commit is contained in:
parent
a7824249a8
commit
947d649f5f
|
|
@ -0,0 +1,15 @@
|
|||
ALTER TABLE recordings ADD COLUMN jam_track_id VARCHAR(64) REFERENCES jam_tracks(id);
|
||||
ALTER TABLE recordings ADD COLUMN jam_track_initiator_id VARCHAR(64) REFERENCES users(id);
|
||||
|
||||
CREATE TABLE recorded_jam_track_tracks (
|
||||
id BIGINT PRIMARY KEY,
|
||||
user_id VARCHAR(64) REFERENCES users(id) ON DELETE CASCADE,
|
||||
jam_track_track_id VARCHAR(64),
|
||||
recording_id VARCHAR(64) NOT NULL,
|
||||
discard BOOLEAN,
|
||||
timeline JSON,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
ALTER TABLE recorded_jam_tracks ALTER COLUMN id SET DEFAULT nextval('tracks_next_tracker_seq');
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
module JamRuby
|
||||
# BackingTrack analog to JamRuby::RecordedTrack
|
||||
class RecordedJamTrackTrack < ActiveRecord::Base
|
||||
|
||||
belongs_to :user, :class_name => "JamRuby::User", :inverse_of => :recorded_jam_track_tracks
|
||||
belongs_to :recording, :class_name => "JamRuby::Recording", :inverse_of => :recorded_jam_track_tracks
|
||||
belongs_to :jam_track_track, :class_name => "JamRuby::JamTrackTrack", :inverse_of => :recorded_jam_track_tracks
|
||||
|
||||
validates :user, presence: true
|
||||
validates :jam_track_track, presence:true
|
||||
|
||||
def self.create_from_jam_track_track(jam_track_track, recording)
|
||||
recorded_backing_track = self.new
|
||||
recorded_backing_track.recording = recording
|
||||
recorded_backing_track.jam_track_track = jam_track_track
|
||||
recorded_backing_track.save
|
||||
recorded_backing_track
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
|
@ -890,8 +890,11 @@
|
|||
var mediaType = mixer.media_type;
|
||||
var groupId = mixer.group_id;
|
||||
|
||||
// mediaType == null is for backwards compat with older clients. Can be removed soon
|
||||
if(mediaType == null || mediaType == "" || mediaType == 'RecordingTrack') {
|
||||
if(mediaType == 'MetronomeTrack' || groupId==ChannelGroupIds.MetronomeGroup) {
|
||||
// Metronomes come across with a blank media type, so check group_id:
|
||||
metronomeTrackMixers.push(mixer);
|
||||
}
|
||||
else if(mediaType == null || mediaType == "" || mediaType == 'RecordingTrack') {
|
||||
// additional check; if we can match an id in backing tracks or recorded backing track,
|
||||
// we need to remove it from the recorded track set, but move it to the backing track set
|
||||
|
||||
|
|
@ -922,9 +925,6 @@
|
|||
} else if(mediaType == 'PeerMediaTrack' || mediaType == 'BackingTrack') {
|
||||
// BackingTrack
|
||||
backingTrackMixers.push(mixer);
|
||||
} else if(mediaType == 'MetronomeTrack' || groupId==ChannelGroupIds.MetronomeGroup) {
|
||||
// Metronomes come across with a blank media type, so check group_id:
|
||||
metronomeTrackMixers.push(mixer);
|
||||
} else if(mediaType == 'JamTrack') {
|
||||
jamTrackMixers.push(mixer);
|
||||
mixer.group_id == ChannelGroupIds.MediaTrackGroup;
|
||||
|
|
@ -1980,11 +1980,22 @@
|
|||
rest.openBackingTrack({id: context.JK.CurrentSessionModel.id(), backing_track_path: result.file})
|
||||
.done(function(response) {
|
||||
var openResult = context.jamClient.SessionOpenBackingTrackFile(result.file, false);
|
||||
//context.JK.CurrentSessionModel.refreshCurrentSession(true);
|
||||
sessionModel.setBackingTrack(result.file);
|
||||
|
||||
if(openResult) {
|
||||
sessionModel.setBackingTrack(result.file);
|
||||
}
|
||||
else {
|
||||
app.notify({
|
||||
"title": "Couldn't Open Backing Track",
|
||||
"text": "Is the file a valid audio file?",
|
||||
"icon_url": "/assets/content/icon_alert_big.png"
|
||||
});
|
||||
closeBackingTrack();
|
||||
}
|
||||
|
||||
})
|
||||
.fail(function(jqXHR) {
|
||||
app.notifyServerError(jqXHR, "Unable to Open BackingTrack For Playback");
|
||||
app.notifyServerError(jqXHR, "Unable to Open Backing Track For Playback");
|
||||
})
|
||||
}
|
||||
else {
|
||||
|
|
@ -2443,8 +2454,6 @@
|
|||
rest.openMetronome({id: sessionModel.id()})
|
||||
.done(function() {
|
||||
context.jamClient.SessionOpenMetronome(120, "Click", 1, 0)
|
||||
context.JK.CurrentSessionModel.refreshCurrentSession(true)
|
||||
context.JK.CurrentSessionModel.refreshCurrentSession(true)
|
||||
})
|
||||
.fail(function(jqXHR) {
|
||||
logger.debug(jqXHR, jqXHR)
|
||||
|
|
@ -2506,8 +2515,8 @@
|
|||
})
|
||||
.fail(function(jqXHR) {
|
||||
app.notify({
|
||||
"title": "Couldn't Close BackingTrack",
|
||||
"text": "Couldn't inform the server to close BackingTrack. msg=" + jqXHR.responseText,
|
||||
"title": "Couldn't Close Backing Track",
|
||||
"text": "Couldn't inform the server to close Backing Track. msg=" + jqXHR.responseText,
|
||||
"icon_url": "/assets/content/icon_alert_big.png"
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue