45 lines
1.3 KiB
CoffeeScript
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.debug("SessionMyTracks: unable to find participant")
|
|
|
|
this.setState(tracks: tracks, session:session, chat: chat)
|
|
} |