jam-cloud/web/app/assets/javascripts/joinSession.js

57 lines
1.7 KiB
JavaScript

(function(context,$) {
"use strict";
context.JK = context.JK || {};
context.JK.joinMusicSession = function(session_id, app) {
var logger = context.JK.logger;
var server = context.JK.JamServer;
var client = context.jamClient;
if (!server.signedIn)
{
logger.log("Can't join a session because the client is not connected.");
return;
}
logger.log("Joining session: " + session_id);
// FIXME. Setting tracks for join session. Only looking at profile
// for now. Needs to check jamClient instruments and if set, use those
// as first preference.
var track = { instrument_id: "electric guitar", sound: "stereo" };
if (context.JK.userMe.instruments.length) {
track = {
instrument_id: context.JK.userMe.instruments[0].instrument_id,
sound: "stereo"
};
}
var data = {
client_id: server.clientID,
ip_address: server.publicIP,
as_musician: true,
tracks: [ track ]
};
var url = "/api/sessions/" + session_id + "/participants/legacy";
$.ajax({
type: "POST",
dataType: "json",
contentType: 'application/json',
url: url,
data: JSON.stringify(data),
processData:false,
success: function(response) {
context.JK.Sessions.JoinSession(session_id);
if (client !== undefined) {
client.JoinSession({ sessionID: session_id });
}
context.JK.refreshMusicSession(session_id);
},
error: app.ajaxError
});
};
})(window,jQuery);