WIP midi and audio channel config
This commit is contained in:
parent
dd4f62cb07
commit
917d8f1a8e
|
|
@ -110,7 +110,7 @@ ConfigureTracksStore = @ConfigureTracksStore
|
|||
</div>
|
||||
<div className="instrument-selection">
|
||||
<h3>Instrument</h3>
|
||||
<select className="instrument-pick" name="instrument" onChange={() => {this.instrumentSelected()}} value={selectedInstrument} disabled={instrumentDisabled}>
|
||||
<select className="instrument-pick" name="instrument" onChange={this.instrumentSelected} value={selectedInstrument} disabled={instrumentDisabled}>
|
||||
{instruments}
|
||||
</select>
|
||||
</div>
|
||||
|
|
@ -188,7 +188,7 @@ ConfigureTracksStore = @ConfigureTracksStore
|
|||
</div>
|
||||
<div className="instrument-selection">
|
||||
<h3>Instrument</h3>
|
||||
<select className="instrument-pick" name="instrument" onChange={async () => { await this.instrumentSelected()}} value={selectedInstrument} disabled={instrumentDisabled}>
|
||||
<select className="instrument-pick" name="instrument" onChange={this.instrumentSelected} value={selectedInstrument} disabled={instrumentDisabled}>
|
||||
{instruments}
|
||||
</select>
|
||||
</div>
|
||||
|
|
@ -293,7 +293,7 @@ ConfigureTracksStore = @ConfigureTracksStore
|
|||
# instrumentId = $select.val()
|
||||
# ConfigureTracksActions.associateInstrumentWithTrack(instrumentId)
|
||||
|
||||
instrumentSelected: `async function(e) {
|
||||
instrumentSelected: `function(e) {
|
||||
const $root = $(this.getDOMNode());
|
||||
const $select = $root.find('.instrument-pick');
|
||||
|
||||
|
|
@ -365,7 +365,7 @@ ConfigureTracksStore = @ConfigureTracksStore
|
|||
# $root.find('select.instrument-pick').unbind('change').change(@instrumentSelected)
|
||||
# $root.find('select.vsts').unbind('change').change(@vstsChanged)
|
||||
|
||||
componentDidUpdate: `async function() {
|
||||
componentDidUpdate: `function() {
|
||||
const $root = $(this.getDOMNode());
|
||||
|
||||
const $manageAudioPlugins = $root.find('.manage-audio-plugins');
|
||||
|
|
@ -379,7 +379,8 @@ ConfigureTracksStore = @ConfigureTracksStore
|
|||
context.JK.dropdown($root.find('select'));
|
||||
$root.find('select.input-selectors').unbind('change').change(this.inputChanged);
|
||||
$root.find('select.instrument-pick').unbind('change').change(this.instrumentSelected);
|
||||
return $root.find('select.vsts').unbind('change').change(this.vstsChanged);
|
||||
$root.find('select.vsts').unbind('change').change(this.vstsChanged);
|
||||
$root.find('select.midi-select').unbind('change').change(this.updateMidiAssociations);
|
||||
}
|
||||
}`
|
||||
|
||||
|
|
@ -426,7 +427,6 @@ ConfigureTracksStore = @ConfigureTracksStore
|
|||
|
||||
|
||||
midiInterfaceChanged: (e) ->
|
||||
|
||||
@updateMidiAssociations()
|
||||
|
||||
updateMidiAssociations: (e) ->
|
||||
|
|
|
|||
|
|
@ -351,6 +351,7 @@ void removeSearchPath(int typeId, QString pathToRemove);
|
|||
|
||||
findMidiTrack: () ->
|
||||
midi = null
|
||||
console.log("__DEBUG__ @trackAssignments", @trackAssignments)
|
||||
for assignment in @trackAssignments.inputs.assigned
|
||||
if assignment.assignment == MIDI_TRACK
|
||||
midi = assignment
|
||||
|
|
@ -600,6 +601,7 @@ void removeSearchPath(int typeId, QString pathToRemove);
|
|||
# context.JK.Banner.showAlert('Unable to save assignments. ' + result);
|
||||
|
||||
onAssociateInputsWithTrack: `async function(inputId1, inputId2) {
|
||||
alert('onAssociateInputsWithTrack')
|
||||
if (this.trackNumber == null) { return; }
|
||||
|
||||
for (let inputs of Array.from(this.editingTrack)) {
|
||||
|
|
@ -646,7 +648,6 @@ void removeSearchPath(int typeId, QString pathToRemove);
|
|||
# logger.debug("synced midi track with #{instrumentId}")
|
||||
# midi.instrument_id = instrumentId
|
||||
|
||||
|
||||
# if(!result || result.length == 0)
|
||||
|
||||
# else
|
||||
|
|
@ -660,12 +661,9 @@ void removeSearchPath(int typeId, QString pathToRemove);
|
|||
# else
|
||||
# context.JK.Banner.showAlert('Unable to save assignments. ' + result);
|
||||
|
||||
onAssociateInstrumentWithTrack: `async function(instrumentId) {
|
||||
|
||||
onAssociateInstrumentWithTrack: `function(instrumentId) {
|
||||
if (this.trackNumber == null) { return; }
|
||||
|
||||
console.log("context.jamClient.TrackSetInstrument(trackNumber, track.instrument_id)", this.trackNumber, instrumentId);
|
||||
|
||||
let clientInstrumentId = null;
|
||||
if ((instrumentId !== null) && (instrumentId !== '')) {
|
||||
clientInstrumentId = context.JK.instrument_id_to_instrument[instrumentId].client_id;
|
||||
|
|
@ -673,33 +671,37 @@ void removeSearchPath(int typeId, QString pathToRemove);
|
|||
clientInstrumentId = 0;
|
||||
}
|
||||
|
||||
await context.jamClient.TrackSetInstrument(this.trackNumber, clientInstrumentId);
|
||||
|
||||
if (this.trackNumber === MIDI_TRACK) {
|
||||
console.log("checking midi track for track instrument synchronization");
|
||||
// keep artificial midi track in sync
|
||||
const midi = this.findMidiTrack();
|
||||
if (midi != null) {
|
||||
logger.debug('synced midi track with ' + instrumentId);
|
||||
midi.instrument_id = instrumentId;
|
||||
const self = this
|
||||
context.jamClient.TrackSetInstrument(self.trackNumber, clientInstrumentId).then(function(result){
|
||||
|
||||
console.log("__DEBUG__ TrackSetInstrument result, trackNumber, MIDI_TRACK", result, self.trackNumber, MIDI_TRACK);
|
||||
|
||||
if (self.trackNumber == MIDI_TRACK) {
|
||||
console.log("checking midi track for track instrument synchronization");
|
||||
// keep artificial midi track in sync
|
||||
const midi = self.findMidiTrack();
|
||||
console.log("__DEBUG__ midi", midi)
|
||||
if (midi != null) {
|
||||
logger.debug('synced midi track with ' + instrumentId);
|
||||
midi.instrument_id = instrumentId;
|
||||
context.jamClient.TrackSaveAssignments().then(function(result){
|
||||
if(result.process_status !== 'Success') {
|
||||
console.log("__DEBUG__ Unable to save1", result)
|
||||
context.JK.Banner.showAlert('Unable to save assignments.' + result);
|
||||
}
|
||||
}).catch(function(){
|
||||
context.JK.Banner.showAlert('Unable to save assignments.');
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(!result || (result.length === 0)) {
|
||||
|
||||
} else {
|
||||
context.JK.Banner.showAlert('Unable to save assignments. ' + result);
|
||||
}
|
||||
|
||||
|
||||
var result = await context.jamClient.TrackSaveAssignments();
|
||||
|
||||
if(!result || (result.length === 0)) {
|
||||
|
||||
} else {
|
||||
return context.JK.Banner.showAlert('Unable to save assignments. ' + result);
|
||||
}
|
||||
if(result.process_status !== 'Success') {
|
||||
context.JK.Banner.showAlert('Unable to save assignments. ' + result);
|
||||
}
|
||||
}).catch(function(){
|
||||
context.JK.Banner.showAlert('Unable to save assignments.');
|
||||
})
|
||||
|
||||
}`
|
||||
|
||||
# onAssociateVSTWithTrack: (vst) ->
|
||||
|
|
@ -731,7 +733,7 @@ void removeSearchPath(int typeId, QString pathToRemove);
|
|||
# )), 250)
|
||||
|
||||
onAssociateVSTWithTrack: `async function(vst) {
|
||||
|
||||
alert('onAssociateVSTWithTrack')
|
||||
if (!this.hasVst) {
|
||||
logger.debug("onAssociateVSTWithTrack skipped due to no VST");
|
||||
return;
|
||||
|
|
@ -996,15 +998,17 @@ void removeSearchPath(int typeId, QString pathToRemove);
|
|||
# )), 250)
|
||||
|
||||
onAssociateMIDIWithTrack: `async function(midiInterface) {
|
||||
|
||||
alert('onAssociateMIDIWithTrack')
|
||||
this.trackNumber = MIDI_TRACK;
|
||||
|
||||
if ((midiInterface == null) || (midiInterface === '')) {
|
||||
logger.debug('disabling midiInterface:'+midiInterface+', track:' +this.trackNumber - 1);
|
||||
await context.jamClient.VST_EnableMidiForTrack(this.trackNumber - 1, false, 0);
|
||||
res1 = await context.jamClient.VST_EnableMidiForTrack(this.trackNumber - 1, false, 0);
|
||||
console.log("onAssociateMIDIWithTrack res1", res1)
|
||||
} else {
|
||||
logger.debug('enabling midiInterface:'+midiInterface+', track:' +this.trackNumber - 1);
|
||||
await context.jamClient.VST_EnableMidiForTrack(this.trackNumber - 1, true, midiInterface);
|
||||
res2 = await context.jamClient.VST_EnableMidiForTrack(this.trackNumber - 1, true, midiInterface);
|
||||
console.log("onAssociateMIDIWithTrack res2", res2)
|
||||
}
|
||||
|
||||
setTimeout((async () => (
|
||||
|
|
|
|||
Loading…
Reference in New Issue