VRFS-2025 Incremental

This commit is contained in:
Steven Miers 2014-10-06 16:17:46 -05:00
parent dffdb78f71
commit 47490ea3d9
5 changed files with 37 additions and 6 deletions

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -100,4 +100,8 @@ describe JamRuby::Connection do
conn.locidispid.should == 0
end
end
describe "join_the_session" do
end
end