fix session metronome related functions
This commit is contained in:
parent
6486761483
commit
73a56b2cf6
|
|
@ -1498,13 +1498,20 @@
|
|||
function openBackingTrack(options) {
|
||||
var musicSessionId = options["id"];
|
||||
delete options["id"];
|
||||
|
||||
return $.ajax({
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
contentType: 'application/json',
|
||||
url: "/api/sessions/" + musicSessionId + "/backing_tracks/open",
|
||||
data: JSON.stringify(options)
|
||||
return new Promise(function(resolve, reject){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
contentType: 'application/json',
|
||||
url: "/api/sessions/" + musicSessionId + "/backing_tracks/open",
|
||||
data: JSON.stringify(options)
|
||||
})
|
||||
.done(function(resp){
|
||||
resolve(resp);
|
||||
})
|
||||
.fail(function(xhr){
|
||||
reject(xhr)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -1653,13 +1660,20 @@
|
|||
function closeMetronome(options) {
|
||||
var musicSessionId = options["id"];
|
||||
delete options["id"];
|
||||
|
||||
return $.ajax({
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
contentType: 'application/json',
|
||||
url: "/api/sessions/" + musicSessionId + "/metronome/close",
|
||||
data: JSON.stringify(options)
|
||||
return new Promise((resolve, reject) => {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
contentType: 'application/json',
|
||||
url: "/api/sessions/" + musicSessionId + "/metronome/close",
|
||||
data: JSON.stringify(options)
|
||||
})
|
||||
.done((resp) => {
|
||||
resolve(resp)
|
||||
})
|
||||
.fail(jqXHR => {
|
||||
reject(jqXHR);
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -466,6 +466,7 @@ ChannelGroupIds = context.JK.ChannelGroupIds
|
|||
unless @childWindow?
|
||||
logger.debug("opening media control window")
|
||||
@childWindow = window.open("/popups/media-controls", 'Media Controls', 'scrollbars=yes,toolbar=no,status=no,height=155,width=350')
|
||||
console.log('childWindow', @childWindow)
|
||||
@childWindow.PopupProps = {media: @state, jamTrackState: context.JamTrackStore.getState(), downloadingJamTrack: context.SessionStore.downloadingJamTrack, windowUnloaded: @windowUnloaded }
|
||||
if !@state.popupOpen
|
||||
setTimeout(() =>
|
||||
|
|
|
|||
|
|
@ -300,19 +300,36 @@ ConfigureTracksActions = @ConfigureTracksActions
|
|||
logger.debug("SessionStore: OnLog", detail)
|
||||
|
||||
# codeInitiated means the user did not initiate this
|
||||
onCloseMedia: (codeInitiated) ->
|
||||
# onCloseMedia: (codeInitiated) ->
|
||||
|
||||
logger.debug("SessionStore: onCloseMedia", codeInitiated)
|
||||
if @helper.recordedTracks()
|
||||
@closeRecording()
|
||||
else if @helper.jamTracks() || @downloadingJamTrack
|
||||
@closeJamTrack()
|
||||
else if @helper.backingTrack() && @helper.backingTrack().path
|
||||
@closeBackingTrack()
|
||||
else if @helper.isMetronomeOpen()
|
||||
@closeMetronomeTrack()
|
||||
else
|
||||
logger.error("don't know how to close open media", @helper) unless codeInitiated
|
||||
# logger.debug("SessionStore: onCloseMedia", codeInitiated)
|
||||
# if @helper.recordedTracks()
|
||||
# @closeRecording()
|
||||
# else if @helper.jamTracks() || @downloadingJamTrack
|
||||
# @closeJamTrack()
|
||||
# else if @helper.backingTrack() && @helper.backingTrack().path
|
||||
# @closeBackingTrack()
|
||||
# else if @helper.isMetronomeOpen()
|
||||
# @closeMetronomeTrack()
|
||||
# else
|
||||
# logger.error("don't know how to close open media", @helper) unless codeInitiated
|
||||
|
||||
|
||||
onCloseMedia: `async function(codeInitiated) {
|
||||
|
||||
logger.debug("SessionStore: onCloseMedia", codeInitiated);
|
||||
if (this.helper.recordedTracks()) {
|
||||
this.closeRecording();
|
||||
} else if (this.helper.jamTracks() || this.downloadingJamTrack) {
|
||||
this.closeJamTrack();
|
||||
} else if (this.helper.backingTrack() && this.helper.backingTrack().path) {
|
||||
this.closeBackingTrack();
|
||||
} else if (this.helper.isMetronomeOpen()) {
|
||||
await this.closeMetronomeTrack();
|
||||
} else {
|
||||
if (!codeInitiated) { return logger.error("don't know how to close open media", this.helper); }
|
||||
}
|
||||
}`
|
||||
|
||||
# closeJamTrack: () ->
|
||||
# logger.debug("closing jam track");
|
||||
|
|
@ -402,7 +419,8 @@ ConfigureTracksActions = @ConfigureTracksActions
|
|||
# @app.notifyServerError(jqXHR, "Unable to Open Backing Track For Playback");
|
||||
# )
|
||||
|
||||
onOpenBackingTrack: `function(result) {
|
||||
onOpenBackingTrack: `async function(result) {
|
||||
console.log('onOpenBackingTrack', result)
|
||||
if (!this.inSession()) {
|
||||
logger.debug("ignoring backing track selected callback (not in session)");
|
||||
return;
|
||||
|
|
@ -411,26 +429,24 @@ ConfigureTracksActions = @ConfigureTracksActions
|
|||
if (result.success) {
|
||||
logger.debug("backing track selected: " + result.file);
|
||||
|
||||
return rest.openBackingTrack({id: this.currentSessionId, backing_track_path: result.file})
|
||||
.done(async () => {
|
||||
|
||||
try{
|
||||
await rest.openBackingTrack({id: this.currentSessionId, backing_track_path: result.file});
|
||||
const openResult = await context.jamClient.SessionOpenBackingTrackFile(result.file, false);
|
||||
|
||||
console.log('openResult', openResult)
|
||||
if (openResult) {
|
||||
// storing session state in memory, not in response of Session server response. bad.
|
||||
return this.openBackingTrack = result.file;
|
||||
this.openBackingTrack = result.file;
|
||||
} else {
|
||||
this.app.notify({
|
||||
"title": "Couldn't Open Backing Track",
|
||||
"text": "Is the file a valid audio file?",
|
||||
"icon_url": "/assets/content/icon_alert_big.png"
|
||||
});
|
||||
return this.closeBackingTrack();
|
||||
this.closeBackingTrack();
|
||||
}
|
||||
})
|
||||
.fail(jqXHR => {
|
||||
return this.app.notifyServerError(jqXHR, "Unable to Open Backing Track For Playback");
|
||||
});
|
||||
}catch(jqXHR){
|
||||
this.app.notifyServerError(jqXHR, "Unable to Open Backing Track For Playback");
|
||||
}
|
||||
}
|
||||
}`
|
||||
|
||||
|
|
@ -488,20 +504,19 @@ ConfigureTracksActions = @ConfigureTracksActions
|
|||
# })
|
||||
# )
|
||||
|
||||
closeMetronomeTrack: `function() {
|
||||
closeMetronomeTrack: `async function() {
|
||||
logger.debug("SessionStore: closeMetronomeTrack");
|
||||
return rest.closeMetronome({id: this.currentSessionId})
|
||||
.done(async() => {
|
||||
try{
|
||||
await rest.closeMetronome({id: this.currentSessionId})
|
||||
await context.jamClient.SessionCloseMetronome();
|
||||
this.refreshCurrentSession(true);
|
||||
})
|
||||
.fail(jqXHR => {
|
||||
return this.app.notify({
|
||||
}catch(jqXHR){
|
||||
this.app.notify({
|
||||
"title": "Couldn't Close MetronomeTrack",
|
||||
"text": "Couldn't inform the server to close MetronomeTrack. msg=" + jqXHR.responseText,
|
||||
"icon_url": "/assets/content/icon_alert_big.png"
|
||||
});
|
||||
});
|
||||
}
|
||||
}`
|
||||
|
||||
# closeBackingTrack: () ->
|
||||
|
|
@ -1436,10 +1451,14 @@ ConfigureTracksActions = @ConfigureTracksActions
|
|||
# SessionStatsActions.pushStats(connectionStats, parentConnectionStats)
|
||||
|
||||
updateBackendStats: `async function() {
|
||||
//const clientId = await context.jamClient.clientID();
|
||||
//const parentClientId = await context.jamClient.getParentClientId();
|
||||
const clientId = context.JK.app.clientId
|
||||
|
||||
const connectionStats = await window.jamClient.getConnectionDetail('', false);
|
||||
const parentConnectionStats = await window.jamClient.getConnectionDetail('', true);
|
||||
//console.log("CONNECTION STATES", connectionStats)
|
||||
//console.log("PARENT STATES", parentConnectionStats)
|
||||
console.log("CONNECTION STATES", connectionStats)
|
||||
console.log("PARENT STATES", parentConnectionStats)
|
||||
SessionStatsActions.pushStats(connectionStats, parentConnectionStats);
|
||||
}`
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ SessionActions = @SessionActions
|
|||
|
||||
foundIndex = -1
|
||||
|
||||
console.log("STATE", state)
|
||||
#console.log("STATE", state)
|
||||
if state.sessions.length > 0
|
||||
for x in [0..state.sessions.length - 1]
|
||||
if state.sessions[x].id == session.id
|
||||
|
|
|
|||
|
|
@ -2667,7 +2667,7 @@
|
|||
}
|
||||
|
||||
async function openBackingTrack(e) {
|
||||
|
||||
alert('session.openBackingTrack')
|
||||
if($openBackingTrack.is('.disabled')) {
|
||||
logger.debug("backing track dialog already open")
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Reference in New Issue