Ejemplo n.º 1
0
LRESULT CTunerScanDlg::OnNewChannel(WPARAM wParam, LPARAM lParam)
{
    CDVBChannel Channel;
    CString strTemp;
    Channel.FromString((LPCTSTR)lParam);

    if (!m_bIgnoreEncryptedChannels || !Channel.IsEncrypted()) {
        int nItem, nChannelNumber;

        if (Channel.GetOriginNumber() != 0) { // LCN is available
            nChannelNumber = Channel.GetOriginNumber();
            // Insert new channel so that channels are sorted by their logical number
            for (nItem = 0; nItem < m_ChannelList.GetItemCount(); nItem++) {
                if ((int)m_ChannelList.GetItemData(nItem) > nChannelNumber || (int)m_ChannelList.GetItemData(nItem) == 0) {
                    break;
                }
            }
        } else {
            nChannelNumber = 0;
            nItem = m_ChannelList.GetItemCount();
        }

        strTemp.Format(_T("%d"), nChannelNumber);
        nItem = m_ChannelList.InsertItem(nItem, strTemp);

        m_ChannelList.SetItemData(nItem, Channel.GetOriginNumber());

        m_ChannelList.SetItemText(nItem, TSCC_NAME, Channel.GetName());

        strTemp.Format(_T("%d"), Channel.GetFrequency());
        m_ChannelList.SetItemText(nItem, TSCC_FREQUENCY, strTemp);

        strTemp = Channel.IsEncrypted() ? ResStr(IDS_DVB_CHANNEL_ENCRYPTED) : ResStr(IDS_DVB_CHANNEL_NOT_ENCRYPTED);
        m_ChannelList.SetItemText(nItem, TSCC_ENCRYPTED, strTemp);
        if (Channel.GetVideoType() == DVB_H264) {
            strTemp = _T(" H.264");
        } else if (Channel.GetVideoPID()) {
            strTemp = _T("MPEG-2");
        } else {
            strTemp = _T("   -  ");
        }
        m_ChannelList.SetItemText(nItem, TSCC_VIDEO_FORMAT, strTemp);
        strTemp = Channel.GetVideoFpsDesc();
        m_ChannelList.SetItemText(nItem, TSCC_VIDEO_FPS, strTemp);
        if (Channel.GetVideoWidth() || Channel.GetVideoHeight()) {
            strTemp.Format(_T("%dx%d"), Channel.GetVideoWidth(), Channel.GetVideoHeight());
        } else {
            strTemp = _T("   -   ");
        }
        m_ChannelList.SetItemText(nItem, TSCC_VIDEO_RES, strTemp);
        strTemp.Format(_T("%d/%d"), Channel.GetVideoARy(), Channel.GetVideoARx());
        m_ChannelList.SetItemText(nItem, TSCC_VIDEO_AR, strTemp);
        m_ChannelList.SetItemText(nItem, TSCC_CHANNEL, (LPCTSTR) lParam);
    }

    return TRUE;
}
Ejemplo n.º 2
0
LRESULT CTunerScanDlg::OnNewChannel(WPARAM wParam, LPARAM lParam)
{
    CDVBChannel Channel;
    CString strTemp;
    Channel.FromString((LPCTSTR)lParam);

    if (!m_bIgnoreEncryptedChannels || !Channel.IsEncrypted()) {
        int nItem, nChannelNumber;

        if (Channel.GetOriginNumber() != 0) { // LCN is available
            nChannelNumber = Channel.GetOriginNumber();
            // Insert new channel so that channels are sorted by their logical number
            for (nItem = 0; nItem < m_ChannelList.GetItemCount(); nItem++) {
                if ((int)m_ChannelList.GetItemData(nItem) > nChannelNumber) {
                    break;
                }
            }
        } else {
            nChannelNumber = nItem = m_ChannelList.GetItemCount();
        }

        strTemp.Format(_T("%d"), nChannelNumber);
        nItem = m_ChannelList.InsertItem(nItem, strTemp);

        m_ChannelList.SetItemData(nItem, Channel.GetOriginNumber());

        m_ChannelList.SetItemText(nItem, TSCC_NAME, Channel.GetName());

        strTemp.Format(_T("%d"), Channel.GetFrequency());
        m_ChannelList.SetItemText(nItem, TSCC_FREQUENCY, strTemp);

        strTemp = Channel.IsEncrypted() ? ResStr(IDS_DVB_CHANNEL_ENCRYPTED) : ResStr(IDS_DVB_CHANNEL_NOT_ENCRYPTED);
        m_ChannelList.SetItemText(nItem, TSCC_ENCRYPTED, strTemp);

        m_ChannelList.SetItemText(nItem, TSCC_CHANNEL, (LPCTSTR) lParam);
    }

    return TRUE;
}