VRFS-2025 Incremental
This commit is contained in:
parent
dffdb78f71
commit
47490ea3d9
|
|
@ -321,7 +321,7 @@ SQL
|
|||
end
|
||||
end
|
||||
|
||||
def join_music_session(user, client_id, music_session, as_musician, tracks, audio_latency)
|
||||
def join_music_session(user, client_id, music_session, as_musician, tracks, audio_latency, video_sources=nil)
|
||||
connection = nil
|
||||
|
||||
ConnectionManager.active_record_transaction do |connection_manager|
|
||||
|
|
@ -329,7 +329,7 @@ SQL
|
|||
|
||||
connection = Connection.find_by_client_id_and_user_id!(client_id, user.id)
|
||||
|
||||
connection.join_the_session(music_session, as_musician, tracks, user, audio_latency)
|
||||
connection.join_the_session(music_session, as_musician, tracks, user, audio_latency, video_sources)
|
||||
# connection.music_session_id = music_session.id
|
||||
# connection.as_musician = as_musician
|
||||
# connection.joining_session = true
|
||||
|
|
|
|||
|
|
@ -447,7 +447,7 @@ module JamRuby
|
|||
[music_sessions, user_scores]
|
||||
end
|
||||
|
||||
def self.participant_create user, music_session_id, client_id, as_musician, tracks, audio_latency
|
||||
def self.participant_create(user, music_session_id, client_id, as_musician, tracks, audio_latency, video_sources=nil)
|
||||
music_session = MusicSession.find(music_session_id)
|
||||
|
||||
if music_session.active_music_session
|
||||
|
|
@ -458,7 +458,7 @@ module JamRuby
|
|||
|
||||
active_music_session.with_lock do # VRFS-1297
|
||||
active_music_session.tick_track_changes
|
||||
connection = ConnectionManager.new.join_music_session(user, client_id, active_music_session, as_musician, tracks, audio_latency)
|
||||
connection = ConnectionManager.new.join_music_session(user, client_id, active_music_session, as_musician, tracks, audio_latency, video_sources)
|
||||
|
||||
if connection.errors.any?
|
||||
# rollback the transaction to make sure nothing is disturbed in the database
|
||||
|
|
@ -515,7 +515,7 @@ module JamRuby
|
|||
|
||||
# auto-join this user into the newly created session
|
||||
as_musician = true
|
||||
connection = ConnectionManager.new.join_music_session(user, client_id, active_music_session, as_musician, tracks, audio_latency)
|
||||
connection = ConnectionManager.new.join_music_session(user, client_id, active_music_session, as_musician, tracks, audio_latency, video_sources)
|
||||
|
||||
unless connection.errors.any?
|
||||
user.update_progression_field(:first_music_session_at)
|
||||
|
|
|
|||
|
|
@ -163,12 +163,18 @@ module JamRuby
|
|||
true
|
||||
end
|
||||
|
||||
def join_the_session(music_session, as_musician, tracks, user, audio_latency)
|
||||
#
|
||||
def join_the_session(music_session, as_musician, tracks, user, audio_latency)
|
||||
join_the_session(music_session, as_musician, tracks, nil, user, audio_latency)
|
||||
end
|
||||
|
||||
def join_the_session(music_session, as_musician, tracks, videos, user, audio_latency)
|
||||
self.music_session_id = music_session.id
|
||||
self.as_musician = as_musician
|
||||
self.joining_session = true
|
||||
self.joined_session_at = Time.now
|
||||
associate_tracks(tracks) unless tracks.nil?
|
||||
associate_videos(videos) unless videos.nil?
|
||||
self.save
|
||||
|
||||
# if user joins the session as a musician, update their addr and location
|
||||
|
|
@ -193,6 +199,20 @@ module JamRuby
|
|||
end
|
||||
end
|
||||
|
||||
def associate_videos(videos)
|
||||
unless videos.nil?
|
||||
self.videos.clear()
|
||||
videos.each do |video|
|
||||
v = VideoSource.new
|
||||
v.connection = self
|
||||
v.sound = video["sound"]
|
||||
v.client_video_source_id = video["client_video_source_id"]
|
||||
v.save # todo what if it fails?
|
||||
self.videos << v
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def self.update_locidispids(use_copied = true)
|
||||
# using addr, we can rebuild locidispid
|
||||
|
||||
|
|
|
|||
|
|
@ -74,6 +74,7 @@ module JamRuby
|
|||
def add_to_feed
|
||||
feed = Feed.new
|
||||
feed.music_session = self
|
||||
feed.active = true
|
||||
end
|
||||
|
||||
|
||||
|
|
@ -604,6 +605,12 @@ module JamRuby
|
|||
|
||||
hist.end_history if hist
|
||||
|
||||
feed = Feed.find_by_music_session_id(session_id)
|
||||
unless feed.nil?
|
||||
feed.active = false
|
||||
feed.save
|
||||
end
|
||||
|
||||
Notification.send_session_ended(session_id)
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -100,4 +100,8 @@ describe JamRuby::Connection do
|
|||
conn.locidispid.should == 0
|
||||
end
|
||||
end
|
||||
|
||||
describe "join_the_session" do
|
||||
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in New Issue