jam-cloud/web/app/assets/javascripts/react-components/mixins/SessionMyTracksMixin.js.coffee

45 lines
1.3 KiB
CoffeeScript

context = window
@SessionMyTracksMixin = {
onInputsChanged: (sessionMixers) ->
session = sessionMixers.session
mixers = sessionMixers.mixers
tracks = []
if session.inSession()
participant = session.getParticipant(@app.clientId)
if participant
photoUrl = context.JK.resolveAvatarUrl(participant.user.photo_url);
chatMixer = mixers.chatMixer
chat = null
if chatMixer
chat =
mixers: chatMixer
mode: @props.mode
photoUrl: photoUrl
name = participant.user.name;
for track in participant.tracks
# try to find mixer info for this track
mixerFinder = [participant.client_id, track, true] # so that other callers can re-find their mixer data
mixerData = mixers.findMixerForTrack(participant.client_id, track, true, @props.mode)
# todo: sessionModel.setAudioEstablished
instrumentIcon = context.JK.getInstrumentIcon45(track.instrument_id);
tracks.push({track: track, mixerFinder: mixerFinder, mixers: mixerData, name: name, instrumentIcon: instrumentIcon, photoUrl: photoUrl, clientId: participant.client_id})
else
logger.warn("SessionMyTracks: unable to find participant")
this.setState(tracks: tracks, session:session, chat: chat)
}