All pastes #495389 Raw Edit

Mine

public text v1 · immutable
·published 2007-05-18 18:55 UTC
rendered paste body
# ------------------------------------------------------------------------------
# Define Dbox2 Function setup_channel(dbox_ipaddr, httpport, streamport, dbox_currentmode, chid)
# This function sets up the dbox ready to stream & streams the HTTP link
# Return Type: String

def setup_stream(dbox_ipaddr, httpport, streamport, dbox_currentmode, chid):
    change = change_channel(dbox_ipaddr, httpport, chid)
    pids = get_allpids(dbox_ipaddr, httpport)
    selected_pid = pids[1][0]

    if len(pids) > 2:

        class SelectAudioStream(xbmcgui.WindowDialog):

            def __init__(setaudio):
                setaudio.bg = xbmcgui.ControlImage(200,25,520,500, 'panel2.png')
                setaudio.addControl(setaudio.bg)
                setaudio.header = xbmcgui.ControlLabel(305,95,245,25, 'Select Audio Stream', 'font13', '0xFFFFFFFF', '', 0x00000002)
                setaudio.addControl(setaudio.header)
                setaudio.list = xbmcgui.ControlList(230,130,400,320)
                setaudio.addControl(setaudio.list)
                setaudio.setFocus(setaudio.list)
                stream_count = 0
                    
                for x in pids[1:]:
                    stream_count = stream_count + 1
                    listitem = xbmcgui.ListItem()
                    listitem.setLabel(str(stream_count) + '. ' + x[1])
                    setaudio.list.addItem(listitem)

                def onControl(setaudio, control):
                    pass

                def onAction(setaudio, action):
                    if action == ACTION_SELECT_ITEM:
                        setaudio.position = setaudio.list.getSelectedPosition()
                        selected_pid = pids[position + 1][0]
                        setaudio.removeControl(setaudio.list)
                        setaudio.removeControl(setaudio.header)
                        setaudio.removeControl(setaudio.bg)
                        setaudio.close()
                            
                    if action == ACTION_PREVIOUS_MENU or action == ACTION_B_BUTTON:
                        setaudio.removeControl(setaudio.list)
                        setaudio.removeControl(setaudio.header)
                        setaudio.removeControl(setaudio.bg)
                        setaudio.close()
          
        show_setaudio = SelectAudioStream()
        show_setaudio.doModal()

        if dbox_currentmode == 'tv':
            httplink = str('http://' + dbox_ipaddr + ':' + streamport + '/' + hex(int(pids[0][0]))[2:] + ',' + hex(int(selected_pid))[2:])
        else:
            httplink = str('http://' + dbox_ipaddr + ':' + streamport + '/' + hex(int(selected_pid))[2:])
        xbmc.executebuiltin('xbmc.playmedia(' + httplink + ')')

        del show_setaudio