Index: macosx/Controller.mm =================================================================== --- macosx/Controller.mm (revision 1364) +++ macosx/Controller.mm (working copy) @@ -1467,8 +1467,9 @@ hb_title_t * title = (hb_title_t *) hb_list_item( list, [fSrcTitlePopUp indexOfSelectedItem] ); hb_job_t * job = title->job; - //int i; - + /* Lets setup our audio list info */ + hb_audio_t *audio; + /* Chapter selection */ job->chapter_start = [fSrcChapterStartPopUp indexOfSelectedItem] + 1; job->chapter_end = [fSrcChapterEndPopUp indexOfSelectedItem] + 1; @@ -1478,7 +1479,12 @@ int codecs = [fDstCodecsPopUp indexOfSelectedItem]; job->mux = FormatSettings[format][codecs] & HB_MUX_MASK; job->vcodec = FormatSettings[format][codecs] & HB_VCODEC_MASK; - job->acodec = FormatSettings[format][codecs] & HB_ACODEC_MASK; + + + /* NOT SURE IF WE NEED THIS, IT WAS IN SAINTDEV'S EXAMPLE BUT ERRORS OUT WITH */ + audio = hb_audio_copy( hb_list_item( title->list_audios, 0 ) );//<- where 0 == the Source Language Track index (0 is track 1, etc.) + /* Set the audio codec here */ + audio->out.codec = FormatSettings[format][codecs] & HB_ACODEC_MASK; // Old job->acodec /* If mpeg-4, then set mpeg-4 specific options like chapters and > 4gb file sizes */ if ([fDstFormatPopUp indexOfSelectedItem] == 0) { @@ -1594,10 +1600,18 @@ job->subtitle = [fSubPopUp indexOfSelectedItem] - 2; /* Audio tracks and mixdowns */ + /* Parse audio tracks */ + /* First audio struct is already on the list */ + //audio = hb_list_item(job->list_audio, 0); /* check for the condition where track 2 has an audio selected, but track 1 does not */ /* we will use track 2 as track 1 in this scenario */ + /* Lets add our new tracks to the audio list here */ if ([fAudLang1PopUp indexOfSelectedItem] > 0) { + //hb_list_add(job->list_audio, hb_audio_copy( hb_list_item( title->list_audio, audio->in.track ) ) ); + } + if ([fAudLang1PopUp indexOfSelectedItem] > 0) + { job->audios[0] = [fAudLang1PopUp indexOfSelectedItem] - 1; job->audios[1] = [fAudLang2PopUp indexOfSelectedItem] - 1; /* will be -1 if "none" is selected */ job->audios[2] = -1;