Q:

bixby: Audio player, how to give input to audio player

I have downloaded the sample capsule and implemented into my capsule and it is working, but now i need to pass few ids and generate the content for songs.
So my intent on followup will be 
intent{
    goal:PlaySongs
    value-set:MultipleArtistId{$expr(singleArtistEvent.artistId)}
}

My PlaySongs action file read like this
action (PlaySongs) {
  type (Search)
  collect {
     computed-input (songToPlay) {
       description (Create the playlist to play)
       type (audioPlayer.AudioInfo)
       min (Required) max (One)
       compute {
       intent {
          goal: GetMeArtistSong
          value-set: MultipleArtistId
       }
    }
  hidden     
}

computed-input (play) {
    description (By passing in the AudioInfo object to the PlayAudio action, we ask the client to play our sound.)
    type (audioPlayer.Result)
    compute {
       intent {
         goal: audioPlayer.PlayAudio
         value: $expr(songToPlay)
       }
    }
    hidden
  }
}
  output (Result)
}

GetMeArtistSong action file reads like this
action (GetMeArtistSong) {
  type(Search)
  description (Artist Song)
  collect {
    input (artistId) {
    type (MultipleArtistId)
    min (Optional) max (One) 
  }
}
output (audioPlayer.AudioInfo)
}

I am unable to get the artist id on GetMeArtistSong js file. 
What are things i am doing wrong?
And what is hidden for? please explain.

A:

hidden means the linked JS function do not need to list that input as argument. Without hidden, your JS function need to have both songsToPlay and play as argument. 
Without the actual JS file and endpoints file, I can only speculate your question about artistId. It should not be related to audio player. Check endpoints and do console.log(), my feeling is that the action model and JS function are not properly linked. Also, you may want to change to min(Required) to enforce an input.

