VRFS-2498 : Hook up new metronome sounds. Check group_id in lieu of media_type as it is not set for metronomes.

This commit is contained in:
Steven Miers 2015-02-12 14:05:25 -06:00
parent f80e9358f0
commit 81dcd9bddc
3 changed files with 38 additions and 31 deletions

View File

@ -44,6 +44,8 @@
var rateSessionDialog = null;
var friendInput = null;
var sessionPageDone = null;
var metroTempo = 120;
var metroSound = "Beep";
var $recordingManagerViewer = null;
var $screen = null;
var $mixModeDropdown = null;
@ -849,18 +851,18 @@
function groupByType(mixers) {
context._.each(mixers, function(mixer) {
var mediaType = mixer.media_type;
// mediaType == null is for backwards compat with older clients. Can be removed soon
if(mediaType == null || mediaType == "" || mediaType == 'RecordingTrack') {
recordingTrackMixers.push(mixer)
} else if(mediaType == 'PeerMediaTrack' || mediaType == 'BackingTrack') {
if(mediaType == 'PeerMediaTrack' || mediaType == 'BackingTrack') {
// BackingTrack
backingTrackMixers.push(mixer);
} else if(mediaType == 'MetronomeTrack') {
// Metronome t
} else if(mediaType == 'MetronomeTrack' || mixer.group_id==ChannelGroupIds.MetronomeGroup) {
// Metronomes come across with a blank media type, so check group_id:
metronomeTrackMixers.push(mixer);
} else if(mediaType == 'JamTrack') {
jamTrackMixers.push(mixer);
group_id == ChannelGroupIds.MediaTrackGroup;
} else if(mediaType == null || mediaType == "" || mediaType == 'RecordingTrack') {
// mediaType == null is for backwards compat with older clients. Can be removed soon
recordingTrackMixers.push(mixer)
} else {
console.log("Unknown track type: " + mediaType)
adhocTrackMixers.push(mixer);
@ -913,7 +915,6 @@
var preMasteredClass = "";
// find the track or tracks that correspond to the mixer
var correspondingTracks = []
console.log("mixer", mixer)
correspondingTracks.push(backingTrack);
if(correspondingTracks.length == 0) {
@ -988,7 +989,6 @@
var preMasteredClass = "";
// find the track or tracks that correspond to the mixer
var correspondingTracks = []
console.log("mixer", mixer)
$.each(jamTracks, function(i, jamTrack) {
if(mixer.id.indexOf("L") == 0) {
if(mixer.id.substring(1) == jamTrack.id) {
@ -1078,7 +1078,6 @@
// using the server's info in conjuction with the client's, draw the recording tracks
if(metronomeActive && metronomeTrackMixers.length > 0) {
console.log("Rendering active metronome.");
var metronome = {active: metronomeActive}
$('.session-recording-name').text(name);//sessionModel.getCurrentSession().backing_track_path);
@ -1087,7 +1086,6 @@
var preMasteredClass = "";
// find the track or tracks that correspond to the mixer
var correspondingTracks = []
console.log("mixer", mixer)
correspondingTracks.push(metronome);
if(correspondingTracks.length == 0) {
@ -1160,10 +1158,9 @@
//trackData.mediaControlsDisabled = true;
trackData.mediaTrackOpener = isOpener;
}
_addRecordingTrack(trackData);
_addRecordingTrack(trackData);
}// if
setFormFromMetronome()
}
@ -1503,8 +1500,7 @@
}
if (track.showMetronomeControls) {
$track.find('.metronome-selects').removeClass("hidden")
setMetronomeDefaults()
$track.find('.metronome-selects').removeClass("hidden")
} else {
$track.find('.metronome-selects').addClass("hidden")
}
@ -1741,6 +1737,15 @@
// });
// }
function handleMetronomeCallback(args) {
console.log("MetronomeCallback: ", args)
metroTempo = args.bpm
// This isn't actually there, so we rely on the metroSound as set from select on form:
// metroSound = args.sound
context.JK.CurrentSessionModel.refreshCurrentSession(true);
}
function handleVolumeChangeCallback(mixerId, isLeft, value, isMuted) {
// Visually update mixer
// There is no need to actually set the back-end mixer value as the
@ -2195,7 +2200,7 @@
} else {
rest.openMetronome({id: sessionModel.id()})
.done(function() {
context.jamClient.SessionOpenMetronome(120, "click", 1, 0)
context.jamClient.SessionOpenMetronome(120, "Click", 1, 0)
context.JK.CurrentSessionModel.refreshCurrentSession(true)
context.JK.CurrentSessionModel.refreshCurrentSession(true)
})
@ -2351,16 +2356,17 @@
$(friendInput).show();
}
function setMetronomeDefaults() {
$("select.metro-tempo option[value='120']").attr('selected', 'selected');
function setFormFromMetronome() {
$("select.metro-tempo").val(metroTempo)
$("select.metro-sound").val(metroSound)
}
function setMetronomeFromForm() {
var tempo = $("select.metro-tempo:visible option:selected").val()
var sound = $("select.metro-sound:visible option:selected").val()
var t = parseInt(tempo);
var s;
var t = parseInt(tempo)
var s
if (tempo==NaN || tempo==0 || tempo==null) {
t = 120
}
@ -2372,6 +2378,8 @@
}
console.log("Setting tempo and sound:", t, s)
metroTempo = t
metroSound = s
context.jamClient.SessionSetMetronome(t, s, 1, 0)
}
@ -2436,6 +2444,7 @@
context.jamClient.SetVURefreshRate(150);
context.jamClient.RegisterVolChangeCallBack("JK.HandleVolumeChangeCallback");
playbackControls = new context.JK.PlaybackControls($('.session-recordings .recording-controls'));
context.jamClient.setMetronomeOpenCallback("JK.HandleMetronomeCallback")
var screenBindings = {
'beforeShow': beforeShow,
@ -2477,6 +2486,7 @@
}
context.JK.HandleVolumeChangeCallback = handleVolumeChangeCallback;
context.JK.HandleMetronomeCallback = handleMetronomeCallback;
context.JK.HandleBridgeCallback = handleBridgeCallback;
};

View File

@ -564,11 +564,8 @@ table.vu td {
margin: 0;
width: 100% !important;
font-size: 10px;
font-weight: normal;
//margin: 0 4px 0 4px;
background: transparent !important;
color: white;
}
font-weight: normal;
}
}
.track-icon-mute.muted {

View File

@ -124,12 +124,12 @@ script#template-session-track[type="text/template"]
CONNECTION
.disabled-track-overlay
.metronome-selects.hidden
select.metronome-select.metro-sound
option.label value="bleep" bleep
option.label value="click" click
option.label value="drum" drum
select.metronome-select.metro-sound title="Metronome Sound"
option.label value="Beep" Bleep
option.label value="Click" Click
option.label value="Snare" Drum
br
select.metronome-select.metro-tempo
select.metronome-select.metro-tempo title="Metronome Tempo"
- metronome_tempos.each do |t|
option.label value=t
=t