VRFS-292 bug fixes

This commit is contained in:
Brian Smith 2013-05-28 00:27:57 -04:00
parent 12f15d4fdb
commit 4daf517de0
2 changed files with 92 additions and 83 deletions

View File

@ -53,15 +53,18 @@
};
// dialog variables
var unusedAudioInputChannels = [];
var inputUnassignedList = [];
var track1AudioInputChannels = [];
var track2AudioInputChannels = [];
var unusedAudioOutputChannels = [];
var usedAudioOutputChannels = [];
var outputUnassignedList = [];
var outputAssignedList = [];
var unusedChatInputChannels = [];
var usedChatInputChannels = [];
var chatUnassignedList = [];
var chatAssignedList = [];
var chatOtherUnassignedList = [];
var chatOtherAssignedList = [];
var removedAudioChannels = {};
var removedVoiceChatChannels = {};
@ -71,6 +74,12 @@
var originalVoiceChat;
var currentVoiceChat;
var OS = {
WIN32: "Win32",
OSX: "MacOSX",
UNIX: "Unix"
};
var configure_audio_instructions = {
"Win32": "Choose the driver to use for audio and check its settings. Then use arrow " +
"buttons to assign audio inputs to your tracks, to indicate what instrument you are playing on " +
@ -339,7 +348,9 @@
for (var i=0; i < keys.length; i++) {
var template = $('#template-option').html();
var isSelected = "";
logger.debug("keys[i]=" + keys[i]);
if (keys[i] === deviceId) {
logger.debug("keys[i] === deviceId");
isSelected = "selected";
}
var html = context.JK.fillTemplate(template, {
@ -352,6 +363,7 @@
}
if (deviceId === '') {
logger.debug("deviceId is blank");
context.jamClient.TrackSetMusicDevice($('#audio-drivers').val());
}
@ -367,19 +379,8 @@
initDialogData();
// filter out any channels already used on the Voice Chat tab
var musicAudioOptions = [];
$.each(unusedAudioInputChannels, function(index, val) {
var deviceId = val.id;
// verify the device is not already used on track 1 or 2
if ($('#voice-inputs-selection > option[value="' + deviceId + '"]').length === 0) {
logger.debug("Adding " + val.id + " to Music Audio.");
musicAudioOptions.push(val);
}
});
// load Unused Inputs
context.JK.loadOptions($('#template-option').html(), $('#audio-inputs-unused'), musicAudioOptions, "id", "name", -1);
context.JK.loadOptions($('#template-option').html(), $('#audio-inputs-unused'), inputUnassignedList, "id", "name", -1);
// load Track 1 Input(s)
context.JK.loadOptions($('#template-option').html(), $('#track1-input'), track1AudioInputChannels, "id", "name", -1);
@ -399,10 +400,10 @@
}
// load Unused Outputs
context.JK.loadOptions($('#template-option').html(), $('#audio-output-unused'), unusedAudioOutputChannels, "id", "name", -1);
context.JK.loadOptions($('#template-option').html(), $('#audio-output-unused'), outputUnassignedList, "id", "name", -1);
// load Session Audio Output
context.JK.loadOptions($('#template-option').html(), $('#audio-output-selection'), usedAudioOutputChannels, "id", "name", -1);
context.JK.loadOptions($('#template-option').html(), $('#audio-output-selection'), outputAssignedList, "id", "name", -1);
}
}
@ -424,25 +425,25 @@
var chatOption = $('#voice-chat-device').val();
// populate with unused session inputs
var voiceChatOptions = [];
$.each(unusedAudioInputChannels, function(index, val) {
var deviceId = val.id;
// verify the device is not already used on track 1 or 2
if ($('#track1-input > option[value="' + deviceId + '"]').length === 0 &&
$('#track2-input > option[value="' + deviceId + '"]').length === 0) {
voiceChatOptions.push(val);
}
});
// var voiceChatOptions = [];
// $.each(inputUnassignedList, function(index, val) {
// var deviceId = val.id;
// // verify the device is not already used on track 1 or 2
// if ($('#track1-input > option[value="' + deviceId + '"]').length === 0 &&
// $('#track2-input > option[value="' + deviceId + '"]').length === 0) {
// voiceChatOptions.push(val);
// }
// });
if (chatOption === VOICE_CHAT.SESSION) {
context.JK.loadOptions($('#template-option').html(), $('#voice-inputs-unused'), voiceChatOptions, "id", "name", -1);
context.JK.loadOptions($('#template-option').html(), $('#voice-inputs-selection'), usedChatInputChannels, "id", "name", -1);
context.JK.loadOptions($('#template-option').html(), $('#voice-inputs-unused'), chatUnassignedList, "id", "name", -1);
context.JK.loadOptions($('#template-option').html(), $('#voice-inputs-selection'), chatAssignedList, "id", "name", -1);
}
// populate with voice devices
else if (chatOption === VOICE_CHAT.CHAT) {
context.JK.loadOptions($('#template-option').html(), $('#voice-inputs-unused'), unusedChatInputChannels, "id", "name", -1);
context.JK.loadOptions($('#template-option').html(), $('#voice-inputs-selection'), usedChatInputChannels, "id", "name", -1);
context.JK.loadOptions($('#template-option').html(), $('#voice-inputs-unused'), chatOtherUnassignedList, "id", "name", -1);
context.JK.loadOptions($('#template-option').html(), $('#voice-inputs-selection'), chatOtherUnassignedList, "id", "name", -1);
}
// disable inputs
@ -454,69 +455,69 @@
function initDialogData() {
// clear out arrays
unusedAudioInputChannels = [];
track1AudioInputChannels = [];
track2AudioInputChannels = [];
// set arrays
inputUnassignedList = _loadList(ASSIGNMENT.UNASSIGNED, true, false);
track1AudioInputChannels = _loadList(ASSIGNMENT.TRACK1, true, false);
track2AudioInputChannels = _loadList(ASSIGNMENT.TRACK2, true, false);
unusedAudioOutputChannels = [];
usedAudioOutputChannels = [];
outputUnassignedList = _loadList(ASSIGNMENT.UNASSIGNED, false, false);
outputAssignedList = _loadList(ASSIGNMENT.OUTPUT, false, false);
unusedChatInputChannels = [];
usedChatInputChannels = [];
chatUnassignedList = _loadList(ASSIGNMENT.UNASSIGNED, true, false);
chatAssignedList = _loadList(ASSIGNMENT.CHAT, true, false);
chatOtherUnassignedList = _loadList(ASSIGNMENT.UNASSIGNED, true, true);
chatOtherAssignedList = _loadList(ASSIGNMENT.CHAT, true, true);
}
function _loadList(assignment, input, chat) {
var list = [];
// get data needed for listboxes
var channels = context.jamClient.TrackGetChannels();
var musicDevices = context.jamClient.TrackGetMusicDeviceNames(input);
// unassigned inputs
$.each(channels, function(index, val) {
var assignment = context.jamClient.TrackGetAssignment(val.id, val.input);
logger.debug("channel id=" + val.id + ", channel input=" + val.input + ", channel assignment=" + assignment +
if (input !== val.input) {
return;
}
var currAssignment = context.jamClient.TrackGetAssignment(val.id, val.input);
if (assignment !== currAssignment) {
return;
}
logger.debug("channel id=" + val.id + ", channel input=" + val.input + ", channel assignment=" + currAssignment +
", channel name=" + val.name + ", channel type=" + val.device_type + ", chat=" + val.chat);
// INPUT
if (context.jamClient.TrackIsMusicDeviceType(val.device_type)) {
if (val.input) {
if (assignment === ASSIGNMENT.CHAT) {
usedChatInputChannels.push(val);
}
else if (assignment === ASSIGNMENT.UNASSIGNED) {
if (!val.chat) {
unusedAudioInputChannels.push(val);
}
else {
unusedChatInputChannels.push(val);
}
}
else if (assignment === ASSIGNMENT.OUTPUT) {
}
else {
if (assignment === ASSIGNMENT.TRACK1) {
track1AudioInputChannels.push(val);
}
else if (assignment === ASSIGNMENT.TRACK2) {
track2AudioInputChannels.push(val);
}
}
}
// OUTPUT
else {
if (assignment === ASSIGNMENT.CHAT) {
}
else if (assignment === ASSIGNMENT.UNASSIGNED) {
if (!val.chat) {
unusedAudioOutputChannels.push(val);
}
}
else if (assignment === ASSIGNMENT.OUTPUT) {
usedAudioOutputChannels.push(val);
}
else {
}
var os = context.jamClient.GetOSAsString();
if (os === OS.WIN32) {
if (chat && ($.inArray(val.device_id, musicDevices) > -1 || context.jamClient.TrackIsMusicDeviceType(val.device_type))) {
return;
}
}
else {
if (chat && ($.inArray(val.device_id, musicDevices) > -1 || !context.jamClient.TrackIsMusicDeviceType(val.device_type))) {
return;
}
}
if (!chat && $.inArray(val.device_id, musicDevices) === -1) {
return;
}
if ((chat && !val.chat) || (!chat && val.chat)) {
return;
}
logger.debug("Adding " + val.device_id + " channel to list.");
list.push(val);
});
return list;
}
function saveSettings() {

View File

@ -264,6 +264,13 @@
device_id = id;
}
function TrackGetMusicDeviceNames(input) {
var names = [];
names.push("Test 1");
names.push("Test 2");
return names;
}
// mock response of this method by allowing only even device IDs to open control panel
function TrackHasControlPanel() {
return true;
@ -396,6 +403,7 @@
this.TrackGetDevices = TrackGetDevices;
this.TrackGetMusicDeviceID = TrackGetMusicDeviceID;
this.TrackSetMusicDevice = TrackSetMusicDevice;
this.TrackGetMusicDeviceNames = TrackGetMusicDeviceNames;
this.TrackHasControlPanel = TrackHasControlPanel;
this.TrackOpenControlPanel = TrackOpenControlPanel;
this.TrackIsMusicDeviceType = TrackIsMusicDeviceType;