0

HD1010 GPIO Expander EM100 multiple files



Here is what I have so far, I can select one of 5 videos each which will play a separate audio file, However I cannot get them to keep the file playing after I hit the button 4 for reset. THey only play a second and then stop after i hit button 4. I also cannot lock out the other buttons except for the 4 button for show stop while a video is playing. THis would be very useful if I can make this work. Please help. debug=true gpio = CreateObject("roControlPort", "Expander-GPIO") p = createobject("roMessagePort") tmr = CreateObject("roMessagePort") vplayer = CreateObject("roVideoPlayer") vplayer.SetPort(p) vm = CreateObject("roVideoMode") vm.SetMode ("1920x1080x29.97p") vplayer.SetAudioOutput(4) vplayer.SetAudioMode(0) vplayer.MapStereoOutput(3) vplayer.SetVolume(100) '****** AVAILABLE AUDIO SETTINGS 1 bbcodeparser bbcode.php bbcode.pl bbcode.txt bbparse.php engine existusers.txt extstusers.parsed1.txt extstusers.parsed2.txt extstusers.parsed.txt htmlentdec.php logs nbbc_files phpbb2zendesk.log phpbb3-to-zd.log phpbb3-to-zdnew.log phpbb3-to-zd.sh phpbb3-to-zd-undo.sh phpbb_db phpbbdb3 phpbbusers.xls postids.tmp post_results.xml posts.xml SBBCodeParser.php stdout studioloft_phpbb.sql styles test2 test4 tests testtext.txt test.txt txt2html_func.php txt2html.php txthtmlencode.php users.json users.json.txt users_tmp.json users_tmp_nc.json zddelete zdget zdpost ' ANALOG OUTPUT VALUES: ' 0 - Analog audio ' 1 - USB Audio ' 2 - SPDIF audio, stereo PCM ' 3 - SPDIF audio, raw AC3 ' 4 - Analog audio with SPDIF mirroring raw AC3 ' AUDIO MODE VALUES: ' 0 - AC3 Surround ' 1 - AC3 mixed down to stereo ' 2 - No audio ' (Options 0 & 1 only apply to video files, 2 applies to all audio sources) ' MAPPING VALUES: ' 0 - Stereo audio is mapped to HD810 analog output ' 1 - Stereo audio is mapped to Expander Audio 1 (left) if Expander is present ' 2 - Stereo audio is mapped to Expander Audio 2 (middle) if Expander is present ' 3 - Stereo audio is mapped to Expander Audio 3 (right) if Expander is present ' VOLUME SETTING RANGE: ' 0 = lowest to 100 full volume '****** AUDIO MP3 FILE SETTINGS 1 bbcodeparser bbcode.php bbcode.pl bbcode.txt bbparse.php engine existusers.txt extstusers.parsed1.txt extstusers.parsed2.txt extstusers.parsed.txt htmlentdec.php logs nbbc_files phpbb2zendesk.log phpbb3-to-zd.log phpbb3-to-zdnew.log phpbb3-to-zd.sh phpbb3-to-zd-undo.sh phpbb_db phpbbdb3 phpbbusers.xls postids.tmp post_results.xml posts.xml SBBCodeParser.php stdout studioloft_phpbb.sql styles test2 test4 tests testtext.txt test.txt txt2html_func.php txt2html.php txthtmlencode.php users.json users.json.txt users_tmp.json users_tmp_nc.json zddelete zdget zdpost audio = CreateObject("roAudioPlayer") audio.SetPort(p) audio.SetAudioOutput(0) audio.SetAudioMode(2) audio.MapStereoOutput(2) audio.SetVolume(100) gpio.SetPort(p) gpio.EnableInput(0) gpio.EnableInput(1) gpio.EnableInput(2) gpio.EnableInput(3) gpio.EnableInput(4) gpio.EnableOutput(5) gpio.EnableOutput(6) gpio.EnableOutput(7) gpio.EnableOutput(9) '****** CREATE TIMER 1 bbcodeparser bbcode.php bbcode.pl bbcode.txt bbparse.php engine existusers.txt extstusers.parsed1.txt extstusers.parsed2.txt extstusers.parsed.txt htmlentdec.php logs nbbc_files phpbb2zendesk.log phpbb3-to-zd.log phpbb3-to-zdnew.log phpbb3-to-zd.sh phpbb3-to-zd-undo.sh phpbb_db phpbbdb3 phpbbusers.xls postids.tmp post_results.xml posts.xml SBBCodeParser.php stdout studioloft_phpbb.sql styles test2 test4 tests testtext.txt test.txt txt2html_func.php txt2html.php txthtmlencode.php users.json users.json.txt users_tmp.json users_tmp_nc.json zddelete zdget zdpost st = CreateObject("roSystemTime") Timer = CreateObject("roTimer") Timer.SetPort(p) REM Video Database DIM vlist[4] vlist[0]="audio1.mp3" vlist[1]="audio2.mp3" vlist[2]="audio3.mp3" vlist[3]="audio4.mp3" Start: ok = vplayer.Stop() ok = audio.Stop() gpio.SetOutputState(5,1) gpio.SetOutputState(6,1) gpio.SetOutputState(7,1) gpio.SetOutputState(8,1) loop: msg = wait(0,p) if type(msg) = "roControlDown" then button_pressed = msg.GetInt() if button_pressed = 0 then gpio.SetOutputState(5,1) 'English Chilkoot Feedback Light gpio.SetOutputState(9,1) 'Reset BTN Feedback Light gpio.SetOutputState(6,0) gpio.SetOutputState(7,0) gpio.SetOutputState(8,0) ok = vplayer.PlayFile(vlist[button_pressed]) msg = wait(200, tmr) 'Delay in ms to sync MP3 file playback with video. ok = audio.PlayFile("audio.mp3") 'used as a place holder elseif button_pressed = 1 then gpio.SetOutputState(6,1) 'Deutsche Chilkoot Feedback Light gpio.SetOutputState(9,1) 'Reset BTN Feedback Light gpio.SetOutputState(5,0) gpio.SetOutputState(7,0) gpio.SetOutputState(8,0) ok = vplayer.PlayFile(vlist[button_pressed]) msg = wait(200, tmr) 'Delay in ms to sync MP3 file playback with video. ok = audio.PlayFile("audio.mp3") 'used as a place holder elseif button_pressed = 2 then gpio.SetOutputState(7,1) 'Francais Chilkoot Feedback Light gpio.SetOutputState(9,1) 'Reset BTN Feedback Light gpio.SetOutputState(6,0) gpio.SetOutputState(5,0) gpio.SetOutputState(8,0) ok = vplayer.PlayFile(vlist[button_pressed]) msg = wait(200, tmr) 'Delay in ms to sync MP3 file playback with video. ok = audio.PlayFile("audio.mp3") 'used as a place holder elseif button_pressed = 3 then gpio.SetOutputState(8,1) 'English Bear Feedback Light gpio.SetOutputState(9,1) 'Reset BTN Feedback Light gpio.SetOutputState(6,0) gpio.SetOutputState(7,0) gpio.SetOutputState(5,0) ok = vplayer.PlayFile(vlist[button_pressed]) msg = wait(200, tmr) 'Delay in ms to sync MP3 file playback with video. ok = audio.PlayFile("audio.mp3") 'used as a place holder elseif button_pressed = 4 then gpio.SetOutputState(9,0) 'Reset BTN Feedback Light gpio.SetOutputState(8,0) 'English Feedback Light gpio.SetOutputState(7,0) 'Francais Feedback Light gpio.SetOutputState(6,0) 'Deutsche Feedback Light gpio.SetOutputState(5,0) 'English Feedback Light goto start endif else if type(msg) = "roVideoEvent" then if msg.GetInt() = 8 goto start endif goto loop Also at the end of a playfile it has the same issues with a sound humming and wont do a good replay as if i had hit button 4. Thanks

2 comments

  • 0
    Avatar
    RokuLyndon


    To ignore input, you can create a variable at the top called ignore_button. Set it to false. Whenever you've received a button press to play files, change it to true.

    And, make sure that your check to play a video/audio checks if ignore_button is false before accepting the input.


    Just to clarify, if you hit button 4, it does stop. But, if you then hit button 3 after hitting button 4, you get a second?
  • 0
    Avatar
    Kurt Durjan


    Correct Button 4 will stop like it should. Afterwards only a brief blip will will play if i try to restart a file. HOwever the file for the expander will play through everytime if i let it. I only want button 4 to work after hitting button 0-3 to start a show. And would like to ensire that both files will play through to the end everytime someone hits a start show button 0-3 unless 4 is hit to stop it. THanks for your help with this one lyndon. I knew i could count on you.
Please sign in to leave a comment.