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

View File

@ -565,9 +565,6 @@ table.vu td {
width: 100% !important; width: 100% !important;
font-size: 10px; font-size: 10px;
font-weight: normal; font-weight: normal;
//margin: 0 4px 0 4px;
background: transparent !important;
color: white;
} }
} }

View File

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