* vst working

This commit is contained in:
Seth Call 2015-11-13 14:00:37 -06:00
parent 021db62539
commit 5fad4953bc
7 changed files with 45 additions and 15 deletions

View File

@ -122,12 +122,11 @@ ConfigureTracksStore = @ConfigureTracksStore
midiInstruments = []
instruments = []
instruments.push(`<option value="">Select the instrument for this track</option>`)
for displayName, value of context.JK.server_to_client_instrument_map
instruments.push(`<option value={value.server_id}>{displayName}</option>`)
selectedMidiInterface = ''
selectedInstrument = ''
selectedInstrument = context.JK.client_to_server_instrument_map[50].server_id # default to electric guitar
selectedMidiInstrument = ''
instrumentDisabled = true

View File

@ -41,7 +41,7 @@ gearUtils = context.JK.GearUtils
trackTypeLabel = 'AUDIO'
vstName = 'None'
if inputsForTrack.vst
if inputsForTrack.vst? && inputsForTrack.vst != 'NONE'
vstName = "#{inputsForTrack.vst.name} by #{inputsForTrack.vst.manuf}"
liveTracks.push(

View File

@ -54,6 +54,7 @@ context = window
associatedVst = null
# find any VST info
if hasMixer && @configureTracks?
console.log("checking associations", @configureTracks.vstTrackAssignments.vsts, mixerData.mixer)
for vst in @configureTracks.vstTrackAssignments.vsts
if vst.track == mixerData.mixer.track - 1 && vst.name != 'NONE'
logger.debug("found VST on track", vst, track)

View File

@ -33,7 +33,6 @@ bool VST_EnableMidiForTrack(const QString& trackId, bool enableMidi, int midiDev
midiTrackAssignments: {tracks: []}
trackType: 'audio'
init: () ->
this.listenTo(context.AppStore, this.onAppInit)
this.listenTo(context.MixerStore, this.onMixersChanged)
@ -69,7 +68,7 @@ bool VST_EnableMidiForTrack(const QString& trackId, bool enableMidi, int midiDev
@performVstScan(true)
performVstScan: (sendChanged) ->
@hasVst = context.jamClient.hasVstHost()
@hasVst = gon.global.vst_enabled & context.jamClient.hasVstHost()
logger.debug("hasVst", @hasVst)
if @hasVst
logger.debug("vstScan starting")
@ -103,11 +102,19 @@ bool VST_EnableMidiForTrack(const QString& trackId, bool enableMidi, int midiDev
@changed()
performMidiScan: () ->
if !@hasVst
logger.debug("performMidiScan skipped due to no VST")
return
context.jamClient.VST_ScanForMidiDevices();
@attachedMidiDevices = context.jamClient.VST_GetMidiDeviceList();
# trackNumber is 0-based, and optional
onShowVstSettings: (trackNumber) ->
if !@hasVst
logger.debug("onShowVstSettings skipped due to no VST")
return
if !trackNumber?
trackNumber = @trackNumber - 1 if @trackNumber?
@ -126,15 +133,16 @@ bool VST_EnableMidiForTrack(const QString& trackId, bool enableMidi, int midiDev
@editingTrack = inputsForTrack
break
# slap on vst, if any, from list of vst assignments
for vst in @vstTrackAssignments.vsts
if vst.track == @editingTrack.assignment - 1
@editingTrack.vst = vst
@editingTrack.midiDeviceIndex = vst.midiDeviceIndex
break
if @editingTrack.vst?
logger.debug("current track has a VST assigned:" + @editingTrack.vst.file)
# slap on vst, if any, from list of vst assignments
for vst in @vstTrackAssignments.vsts
if vst.track == @editingTrack.assignment - 1
@editingTrack.vst = vst
@editingTrack.midiDeviceIndex = vst.midiDeviceIndex
break
if @editingTrack.vst?
logger.debug("current track has a VST assigned:" + @editingTrack.vst.file)
@item = {
musicPorts: @musicPorts,
@ -192,8 +200,15 @@ bool VST_EnableMidiForTrack(const QString& trackId, bool enableMidi, int midiDev
loadTrackInstruments: (forceInputsToUnassign) ->
for inputsForTrack in @trackAssignments.inputs.assigned
clientInstrument = context.jamClient.TrackGetInstrument(inputsForTrack.assignment)
if clientInstrument == 0
logger.debug("defaulting track instrument for assignment #{@trackNumber}")
# ensure that we always have an instrument set (50 = electric guitar
context.jamClient.TrackSetInstrument(inputsForTrack.assignment, 50)
clientInstrument = 50
instrument = context.JK.client_to_server_instrument_map[clientInstrument];
inputsForTrack.instrument_id = instrument?.server_id
@ -244,6 +259,11 @@ bool VST_EnableMidiForTrack(const QString& trackId, bool enableMidi, int midiDev
context.JK.Banner.showAlert('Unable to save assignments. ' + result);
onAssociateVSTWithTrack: (vst) ->
if !@hasVst
logger.debug("onAssociateVSTWithTrack skipped due to no VST")
return
if vst?
logger.debug("associating track:#{@trackNumber} with VST:#{vst.file}")
@ -336,8 +356,13 @@ bool VST_EnableMidiForTrack(const QString& trackId, bool enableMidi, int midiDev
break
if @newTrack
# ensure that we always have an instrument set (50 = electric guitar
context.jamClient.TrackSetInstrument(@trackNumber, 50)
assignment = context.jamClient.TrackGetInstrument(@trackNumber)
if assignment == 0
logger.debug("defaulting track instrument for assignment #{@trackNumber}")
# ensure that we always have an instrument set (50 = electric guitar
context.jamClient.TrackSetInstrument(@trackNumber, 50)
@changed()

View File

@ -377,5 +377,7 @@ if defined?(Bundler)
config.download_tracker_day_range = 30
config.max_user_ip_address = 10
config.max_multiple_users_same_ip = 2
config.vst_enabled = true
end
end

View File

@ -102,4 +102,6 @@ SampleApp::Application.configure do
config.react.variant = :development
config.time_shift_style = :sox # or sbsms
config.vst_enabled = true
end

View File

@ -22,4 +22,5 @@ Gon.global.jamtrack_landing_bubbles_enabled = Rails.application.config.jamtrack_
Gon.global.jamtrack_browser_bubbles_enabled = Rails.application.config.jamtrack_browser_bubbles_enabled
Gon.global.bugsnag_key = Rails.application.config.bugsnag_key
Gon.global.bugsnag_notify_release_stages = Rails.application.config.bugsnag_notify_release_stages
Gon.global.vst_enabled = Rails.application.config.vst_enabled
Gon.global.env = Rails.env