Merge branch 'master' of bitbucket.org:jamkazam/jam-web
This commit is contained in:
commit
4eeffd9f34
|
|
@ -135,7 +135,7 @@
|
|||
.fail(function(xhr, textStatus, errorMessage) {
|
||||
if(xhr.status == 404) {
|
||||
// we tried to join the session, but it's already gone. kick user back to join session screen
|
||||
window.location = "#/findSession"
|
||||
context.window.location = "#/findSession";
|
||||
app.notify(
|
||||
{ title: "Unable to Join Session",
|
||||
text: "The session you attempted to join is over."
|
||||
|
|
@ -144,14 +144,14 @@
|
|||
}else {
|
||||
app.ajaxError(xhr, textStatus, errorMessage);
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
function beforeHide(data) {
|
||||
// track that the screen is inactive, to disable body-level handlers
|
||||
screenActive = false;
|
||||
sessionModel.leaveCurrentSession()
|
||||
.fail(app.ajaxError)
|
||||
.fail(app.ajaxError);
|
||||
}
|
||||
|
||||
function sessionChanged() {
|
||||
|
|
@ -214,14 +214,16 @@
|
|||
|
||||
// TODO FIXME - This needs to support multiple tracks for an individual
|
||||
// client id and group.
|
||||
function _mixerForClientId(clientId, groupIds) {
|
||||
function _mixerForClientId(clientId, groupIds, usedMixers) {
|
||||
var foundMixer = null;
|
||||
$.each(mixers, function(index, mixer) {
|
||||
if (mixer.client_id === clientId) {
|
||||
for (var i=0; i<groupIds.length; i++) {
|
||||
if (mixer.group_id === groupIds[i]) {
|
||||
foundMixer = mixer;
|
||||
return false;
|
||||
if (!(mixer.id in usedMixers)) {
|
||||
foundMixer = mixer;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -346,6 +348,8 @@
|
|||
name = participant.user.first_name + ' ' + participant.user.last_name;
|
||||
}
|
||||
|
||||
var usedMixers = {}; // Once we use a mixer, we add it here to allow us to find 'second' tracks
|
||||
|
||||
// loop through all tracks for each participant
|
||||
$.each(participant.tracks, function(index, track) {
|
||||
var instrumentIcon = context.JK.getInstrumentIcon45(track.instrument_id);
|
||||
|
|
@ -377,8 +381,10 @@
|
|||
[
|
||||
ChannelGroupIds.AudioInputMusicGroup,
|
||||
ChannelGroupIds.PeerAudioInputMusicGroup
|
||||
]);
|
||||
],
|
||||
usedMixers);
|
||||
if (mixer) {
|
||||
usedMixers[mixer.id] = true;
|
||||
myTrack = (mixer.group_id === ChannelGroupIds.AudioInputMusicGroup);
|
||||
var gainPercent = percentFromMixerValue(
|
||||
mixer.range_low, mixer.range_high, mixer.volume_left);
|
||||
|
|
@ -390,7 +396,7 @@
|
|||
trackData.muteClass = muteClass;
|
||||
trackData.mixerId = mixer.id;
|
||||
} else { // No mixer to match, yet
|
||||
lookingForMixers[participant.client_id] = true;
|
||||
lookingForMixers[track.id] = participant.client_id;
|
||||
if (!(lookingForMixersTimer)) {
|
||||
lookingForMixersTimer = context.setInterval(lookForMixers, 500);
|
||||
}
|
||||
|
|
@ -434,7 +440,7 @@
|
|||
var vuLeftSelector = trackSelector + " .track-vu-left";
|
||||
var vuRightSelector = trackSelector + " .track-vu-right";
|
||||
var faderSelector = trackSelector + " .track-gain";
|
||||
var $track = $('div.track[client-id="' + clientId + '"]');
|
||||
var $track = $(trackSelector);
|
||||
// Set mixer-id attributes and render VU/Fader
|
||||
context.JK.VuHelpers.renderVU(vuLeftSelector, vuOpts);
|
||||
$track.find('.track-vu-left').attr('mixer-id', mixerId + '_vul');
|
||||
|
|
@ -453,19 +459,23 @@
|
|||
function lookForMixers() {
|
||||
lookingForMixersCount++;
|
||||
_updateMixers();
|
||||
var usedMixers = {};
|
||||
var keysToDelete = [];
|
||||
for (var key in lookingForMixers) {
|
||||
var clientId = lookingForMixers[key];
|
||||
var mixer = _mixerForClientId(
|
||||
key,
|
||||
clientId,
|
||||
[
|
||||
ChannelGroupIds.AudioInputMusicGroup,
|
||||
ChannelGroupIds.PeerAudioInputMusicGroup
|
||||
]);
|
||||
],
|
||||
usedMixers);
|
||||
if (mixer) {
|
||||
usedMixers[mixer.id] = true;
|
||||
keysToDelete.push(key);
|
||||
var gainPercent = percentFromMixerValue(
|
||||
mixer.range_low, mixer.range_high, mixer.volume_left);
|
||||
var trackSelector = 'div.track[client-id="' + key + '"]';
|
||||
var trackSelector = 'div.track[track-id="' + key + '"]';
|
||||
connectTrackToMixer(trackSelector, key, mixer.id, gainPercent);
|
||||
var $track = $('div.track[client-id="' + key + '"]');
|
||||
$track.find('.track-icon-mute').attr('mixer-id', mixer.id);
|
||||
|
|
@ -529,7 +539,7 @@
|
|||
$destination.append(newTrack);
|
||||
|
||||
// Render VU meters and gain fader
|
||||
var trackSelector = parentSelector + ' .session-track[client-id="' + trackData.clientId + '"]';
|
||||
var trackSelector = parentSelector + ' .session-track[track-id="' + trackData.trackId + '"]';
|
||||
var gainPercent = trackData.gainPercent || 0;
|
||||
connectTrackToMixer(trackSelector, trackData.clientId, trackData.mixerId, gainPercent);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue