diff --git a/data/locale/english.locale b/data/locale/english.locale index b11c034ed..4e9882b8b 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -312,7 +312,7 @@ flashupdate.checkupdate search for new version flashupdate.currentreleasecycle Release cycle flashupdate.currentversion_sep Current version flashupdate.currentversiondate Date -flashupdate.currentversionsnapshot ImageType +flashupdate.currentversionsnapshot Image Type flashupdate.currentversiontime Time flashupdate.erasefailed erasure of flash failed flashupdate.erasing erasing flash @@ -332,6 +332,8 @@ flashupdate.md5sumerror image has errors flashupdate.msgbox Found the following new file:\nDate: %s, %s\nBaseImage: %s\nType: %s\n\nDo you want to download and install this version now? flashupdate.msgbox_manual Found the following new image:\nDate: %s, %s\nBaseImage: %s\nImageType: %s\n\nDo you want to install this version now? flashupdate.mtdselector Partition-Selector +flashupdate.new_found New image found ! +flashupdate.new_notfound No new images found flashupdate.programmingflash programming flash flashupdate.proxypassword Password flashupdate.proxypassword_hint1 enter the proxyserver password @@ -498,6 +500,7 @@ messagebox.discard Discard changes? messagebox.error Error messagebox.info Information messagebox.no No +messagebox.ok Ok messagebox.yes Yes miscsettings.bootinfo Show infos at start miscsettings.bootmenu Show boot menu @@ -1401,3 +1404,5 @@ upnpbrowser.head UPnP Browser upnpbrowser.noservers No UPnP servers found upnpbrowser.rescan Scan again upnpbrowser.scanning Scanning for UPnP servers +wizard.welcome_head Welcome to the Setup Wizard +wizard.welcome_text Next steps will guide you\nthrough initial installation of the device.\nDo you want to continue ? diff --git a/src/driver/genpsi.c b/src/driver/genpsi.c index 0a0ee923d..e0628cb75 100644 --- a/src/driver/genpsi.c +++ b/src/driver/genpsi.c @@ -46,7 +46,7 @@ typedef struct uint16_t vpid; uint8_t vtype; uint16_t apid[10]; - short isAC3[10]; + short isAC3[10]; } T_AV_PIDS; T_AV_PIDS avPids; diff --git a/src/driver/vcrcontrol.cpp b/src/driver/vcrcontrol.cpp index e55d62da6..cb053e0e9 100644 --- a/src/driver/vcrcontrol.cpp +++ b/src/driver/vcrcontrol.cpp @@ -909,16 +909,18 @@ std::string CVCRControl::CFileAndServerDevice::getMovieInfoString(const CVCRComm if(pids.APIDs[i].pid == it->apid) { audio_pids.epgAudioPid = pids.APIDs[i].pid; audio_pids.epgAudioPidName = ZapitTools::UTF8_to_UTF8XML(g_RemoteControl->current_PIDs.APIDs[i].desc); - audio_pids.atype = pids.APIDs[i].is_ac3; + audio_pids.atype = pids.APIDs[i].is_ac3 ? 1 : pids.APIDs[i].is_aac ? 5 : 0; audio_pids.selected = (audio_pids.epgAudioPid == (int) g_currentapid) ? 1 : 0; g_movieInfo->audioPids.push_back(audio_pids); if(pids.APIDs[i].is_ac3) g_ac3flags[i] = 1; + if(pids.APIDs[i].is_aac) + g_ac3flags[i] = 5; g_apids[i] = pids.APIDs[i].pid; if(g_apids[i] == g_currentapid) - g_currentac3 = pids.APIDs[i].is_ac3; + g_currentac3 = pids.APIDs[i].is_ac3 ? 1 : pids.APIDs[i].is_aac ? 5 : 0; g_numpida++; } } @@ -928,7 +930,7 @@ std::string CVCRControl::CFileAndServerDevice::getMovieInfoString(const CVCRComm int i = 0; audio_pids.epgAudioPid = pids.APIDs[i].pid; audio_pids.epgAudioPidName = ZapitTools::UTF8_to_UTF8XML(g_RemoteControl->current_PIDs.APIDs[i].desc); - audio_pids.atype = pids.APIDs[i].is_ac3; + audio_pids.atype = pids.APIDs[i].is_ac3 ? 1 : pids.APIDs[i].is_aac ? 5 : 0; audio_pids.selected = 1; g_movieInfo->audioPids.push_back(audio_pids); } diff --git a/src/gui/update.cpp b/src/gui/update.cpp index f053612c1..fb3cbf5e2 100644 --- a/src/gui/update.cpp +++ b/src/gui/update.cpp @@ -68,7 +68,8 @@ extern int allow_flash; -#define gTmpPath "/var/update/" +//#define gTmpPath "/var/update/" +#define gTmpPath "/tmp/" #define gUserAgent "neutrino/softupdater 1.0" #define LIST_OF_UPDATES_LOCAL_FILENAME "coolstream.list" @@ -135,17 +136,33 @@ bool CFlashUpdate::selectHttpImage(void) std::vector updates_lists, urls, names, versions, descriptions, md5s; char fileTypes[128]; int selected = -1; + int curVer, newVer, newfound = 0; + + CConfigFile _configfile('\t'); + const char * versionString = (_configfile.loadConfig("/.version")) ? (_configfile.getString( "version", "????????????????").c_str()) : "????????????????"; + installedVersion = versionString; + + CFlashVersionInfo curInfo(versionString); + printf("current flash-version: %s (%d)\n", installedVersion.c_str(), curInfo.getVersion()); + curVer = curInfo.getVersion(); httpTool.setStatusViewer(this); showStatusMessageUTF(g_Locale->getText(LOCALE_FLASHUPDATE_GETINFOFILE)); // UTF-8 + char current[200]; + snprintf(current, 200, "%s: %s %s %s %s %s", g_Locale->getText(LOCALE_FLASHUPDATE_CURRENTVERSION_SEP), curInfo.getReleaseCycle(), + g_Locale->getText(LOCALE_FLASHUPDATE_CURRENTVERSIONDATE), curInfo.getDate(), + g_Locale->getText(LOCALE_FLASHUPDATE_CURRENTVERSIONTIME), curInfo.getTime()); CMenuWidget SelectionWidget(LOCALE_FLASHUPDATE_SELECTIMAGE, NEUTRINO_ICON_UPDATE); + SelectionWidget.addItem(GenericMenuSeparator); SelectionWidget.addItem(GenericMenuBack); + SelectionWidget.addItem(new CMenuSeparator(CMenuSeparator::LINE)); + SelectionWidget.addItem(new CMenuForwarderNonLocalized(current, false)); std::ifstream urlFile(g_settings.softupdate_url_file); #ifdef DEBUG -printf("[update] file %s\n", g_settings.softupdate_url_file); + printf("[update] file %s\n", g_settings.softupdate_url_file); #endif unsigned int i = 0; @@ -153,7 +170,7 @@ printf("[update] file %s\n", g_settings.softupdate_url_file); { std::string::size_type startpos, endpos; #ifdef DEBUG -printf("[update] url %s\n", url.c_str()); + printf("[update] url %s\n", url.c_str()); #endif /* extract domain name */ @@ -188,16 +205,21 @@ printf("[update] url %s\n", url.c_str()); //std::getline(in, md5); md5s.push_back(md5); enabled = true; -#ifdef DEBUG -printf("[update] url %s version %s md5 %s name %s\n", url.c_str(), version.c_str(), md5.c_str(), name.c_str()); -#endif CFlashVersionInfo versionInfo(versions[i]); - + newVer = versionInfo.getVersion(); +#ifdef DEBUG + printf("[update] url %s version %s (%d) md5 %s name %s\n", url.c_str(), version.c_str(), newVer, md5.c_str(), name.c_str()); +#endif + if(newVer > curVer) + newfound = 1; if(!allow_flash && (versionInfo.snapshot < '3')) enabled = false; fileTypes[i] = versionInfo.snapshot; - std::string description = versionInfo.getType(); + //std::string description = versionInfo.getType(); + std::string description = versionInfo.getReleaseCycle(); + description += ' '; + description += versionInfo.getType(); description += ' '; description += versionInfo.getDate(); description += ' '; @@ -205,7 +227,8 @@ printf("[update] url %s version %s md5 %s name %s\n", url.c_str(), version.c_str descriptions.push_back(description); /* workaround since CMenuForwarder does not store the Option String itself */ - SelectionWidget.addItem(new CMenuForwarderNonLocalized(names[i].c_str(), enabled, descriptions[i].c_str(), new CUpdateMenuTarget(i, &selected))); + //SelectionWidget.addItem(new CMenuForwarderNonLocalized(names[i].c_str(), enabled, descriptions[i].c_str(), new CUpdateMenuTarget(i, &selected))); + SelectionWidget.addItem(new CMenuForwarderNonLocalized(descriptions[i].c_str(), enabled, names[i].c_str(), new CUpdateMenuTarget(i, &selected))); i++; } } @@ -218,6 +241,10 @@ printf("[update] url %s version %s md5 %s name %s\n", url.c_str(), version.c_str ShowHintUTF(LOCALE_MESSAGEBOX_ERROR, g_Locale->getText(LOCALE_FLASHUPDATE_GETINFOFILEERROR)); // UTF-8 return false; } + if(newfound) + ShowMsgUTF(LOCALE_MESSAGEBOX_INFO, g_Locale->getText(LOCALE_FLASHUPDATE_NEW_FOUND), CMessageBox::mbrOk, CMessageBox::mbOk, NEUTRINO_ICON_INFO); + else + ShowMsgUTF(LOCALE_MESSAGEBOX_INFO, g_Locale->getText(LOCALE_FLASHUPDATE_NEW_NOTFOUND), CMessageBox::mbrOk, CMessageBox::mbOk, NEUTRINO_ICON_INFO); SelectionWidget.exec(NULL, ""); @@ -229,7 +256,7 @@ printf("[update] url %s version %s md5 %s name %s\n", url.c_str(), version.c_str file_md5 = md5s[selected]; fileType = fileTypes[selected]; #ifdef DEBUG -printf("[update] filename %s type %c newVersion %s md5 %s\n", filename.c_str(), fileType, newVersion.c_str(), file_md5.c_str()); + printf("[update] filename %s type %c newVersion %s md5 %s\n", filename.c_str(), fileType, newVersion.c_str(), file_md5.c_str()); #endif return true; diff --git a/src/gui/widget/messagebox.cpp b/src/gui/widget/messagebox.cpp index 68048d3e2..9af9f7d1a 100644 --- a/src/gui/widget/messagebox.cpp +++ b/src/gui/widget/messagebox.cpp @@ -57,7 +57,7 @@ CMessageBox::CMessageBox(const neutrino_locale_t Caption, const char * const Tex num++; if (showbuttons & mbNo) num++; - if (showbuttons & (mbCancel | mbBack)) + if (showbuttons & (mbCancel | mbBack | mbOk)) num++; int new_width = 15 + num*ButtonWidth; if(new_width > m_width) @@ -80,7 +80,7 @@ CMessageBox::CMessageBox(const neutrino_locale_t Caption, ContentLines& Lines, c num++; if (showbuttons & mbNo) num++; - if (showbuttons & (mbCancel | mbBack)) + if (showbuttons & (mbCancel | mbBack | mbOk)) num++; int new_width = 15 + num*ButtonWidth; if(new_width > m_width) @@ -152,7 +152,7 @@ void CMessageBox::paintButtons() } - if (showbuttons & (mbCancel | mbBack)) + if (showbuttons & (mbCancel | mbBack | mbOk)) { if (result >= mbrCancel) { @@ -168,7 +168,9 @@ void CMessageBox::paintButtons() m_window->paintBoxRel(xpos, m_height-m_fheight-20, ButtonWidth, m_fheight, (CFBWindow::color_t)bgcolor, RADIUS_LARGE);//round //m_window->paintIcon(NEUTRINO_ICON_BUTTON_HOME, xpos+10, m_height-m_fheight-19); m_window->paintIcon(NEUTRINO_ICON_BUTTON_HOME, xpos+14, m_height-m_fheight - 20, m_fheight); - m_window->RenderString(g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL], xpos + 43, m_height-m_fheight+4, ButtonWidth- 53, g_Locale->getText((showbuttons & mbCancel) ? LOCALE_MESSAGEBOX_CANCEL : LOCALE_MESSAGEBOX_BACK), (CFBWindow::color_t)color, 0, true); // UTF-8 + m_window->RenderString(g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL], xpos + 43, m_height-m_fheight+4, ButtonWidth- 53, + g_Locale->getText((showbuttons & mbCancel) ? LOCALE_MESSAGEBOX_CANCEL : (showbuttons & mbOk) ? LOCALE_MESSAGEBOX_OK : LOCALE_MESSAGEBOX_BACK), + (CFBWindow::color_t)color, 0, true); // UTF-8 } } @@ -205,9 +207,9 @@ int CMessageBox::exec(int timeout) } else if (((msg == CRCInput::RC_timeout) || (msg == (neutrino_msg_t)g_settings.key_channelList_cancel)) && - (showbuttons & (mbCancel | mbBack))) + (showbuttons & (mbCancel | mbBack | mbOk))) { - result = (showbuttons & mbCancel) ? mbrCancel : mbrBack; + result = (showbuttons & mbCancel) ? mbrCancel : (showbuttons & mbOk) ? mbrOk: mbrBack; loop = false; } else if ((msg == CRCInput::RC_green) && (showbuttons & mbNo)) diff --git a/src/gui/widget/messagebox.h b/src/gui/widget/messagebox.h index 0800e9f4e..cb06a57be 100644 --- a/src/gui/widget/messagebox.h +++ b/src/gui/widget/messagebox.h @@ -54,7 +54,8 @@ class CMessageBox : public CHintBoxExt mbrYes = 0, mbrNo = 1, mbrCancel = 2, - mbrBack = 3 + mbrBack = 3, + mbrOk = 4 } result; enum buttons_ @@ -63,7 +64,8 @@ class CMessageBox : public CHintBoxExt mbNo = 0x02, mbCancel = 0x04, mbAll = 0x07, - mbBack = 0x08 + mbBack = 0x08, + mbOk = 0x10 } buttons; // Text & Caption are always UTF-8 encoded diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 9648cdc03..90b6bd69d 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -2612,32 +2612,34 @@ int CNeutrinoApp::run(int argc, char **argv) if (display_language_selection) { hintBox->hide(); - languageSettings.setWizardMode(true); - int ret = languageSettings.exec(NULL, ""); - languageSettings.setWizardMode(false); + if(ShowMsgUTF (LOCALE_WIZARD_WELCOME_HEAD, g_Locale->getText(LOCALE_WIZARD_WELCOME_TEXT), CMessageBox::mbrYes, CMessageBox::mbYes | CMessageBox::mbrCancel) == CMessageBox::mbrYes) { + languageSettings.setWizardMode(true); + int ret = languageSettings.exec(NULL, ""); + languageSettings.setWizardMode(false); - if(ret != menu_return::RETURN_EXIT_ALL) { - videoSettings->setWizardMode(true); - videoSettings->exec(NULL, ""); - videoSettings->setWizardMode(false); - } - if(ret != menu_return::RETURN_EXIT_ALL) { - colorSettings.setWizardMode(true); - colorSettings.exec(NULL, ""); - colorSettings.setWizardMode(false); - } - if(ret != menu_return::RETURN_EXIT_ALL) { - networkSettings.setWizardMode(true); - networkSettings.exec(NULL, ""); - networkSettings.setWizardMode(false); - } - if(ret != menu_return::RETURN_EXIT_ALL) { - _scanSettings.setWizardMode(true); - _scanSettings.exec(NULL, ""); - _scanSettings.setWizardMode(false); - } + if(ret != menu_return::RETURN_EXIT_ALL) { + videoSettings->setWizardMode(true); + videoSettings->exec(NULL, ""); + videoSettings->setWizardMode(false); + } + if(ret != menu_return::RETURN_EXIT_ALL) { + colorSettings.setWizardMode(true); + colorSettings.exec(NULL, ""); + colorSettings.setWizardMode(false); + } + if(ret != menu_return::RETURN_EXIT_ALL) { + networkSettings.setWizardMode(true); + networkSettings.exec(NULL, ""); + networkSettings.setWizardMode(false); + } + if(ret != menu_return::RETURN_EXIT_ALL) { + _scanSettings.setWizardMode(true); + _scanSettings.exec(NULL, ""); + _scanSettings.setWizardMode(false); + } - videoDecoder->StopPicture(); + videoDecoder->StopPicture(); + } } if(loadSettingsErg) { diff --git a/src/neutrino_menue.cpp b/src/neutrino_menue.cpp index cedb572ff..f94526a6a 100644 --- a/src/neutrino_menue.cpp +++ b/src/neutrino_menue.cpp @@ -1455,7 +1455,7 @@ void CNeutrinoApp::InitServiceSettings(CMenuWidget &service, CMenuWidget &_scanS //mtdexpert->addItem(new CMenuForwarder(LOCALE_FLASHUPDATE_READFLASH , true, NULL, fe, "readflash" )); //if(softupdate) // mtdexpert->addItem(new CMenuForwarder(LOCALE_FLASHUPDATE_WRITEFLASH , true, NULL, fe, "writeflash" )); - mtdexpert->addItem(GenericMenuSeparatorLine); + //mtdexpert->addItem(GenericMenuSeparatorLine); mtdexpert->addItem(new CMenuForwarder(LOCALE_FLASHUPDATE_READFLASHMTD , true, NULL, fe, "readflashmtd" )); if (softupdate) mtdexpert->addItem(new CMenuForwarder(LOCALE_FLASHUPDATE_WRITEFLASHMTD, true, NULL, fe, "writeflashmtd")); @@ -1471,6 +1471,7 @@ void CNeutrinoApp::InitServiceSettings(CMenuWidget &service, CMenuWidget &_scanS updateSettings->addItem( oj ); updateSettings->addItem( new CMenuForwarder(LOCALE_EXTRA_UPDATE_DIR, true, g_settings.update_dir , this, "update_dir", CRCInput::RC_yellow, NEUTRINO_ICON_BUTTON_YELLOW) ); +#if 0 // image info and update list show current version, probably ehough /* show current version */ updateSettings->addItem(new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_FLASHUPDATE_CURRENTVERSION_SEP)); @@ -1488,7 +1489,7 @@ void CNeutrinoApp::InitServiceSettings(CMenuWidget &service, CMenuWidget &_scanS updateSettings->addItem(new CMenuForwarder(LOCALE_FLASHUPDATE_CURRENTRELEASECYCLE , false, versionInfo.getReleaseCycle())); /* versionInfo.getType() returns const char * which is never deallocated */ updateSettings->addItem(new CMenuForwarder(LOCALE_FLASHUPDATE_CURRENTVERSIONSNAPSHOT, false, versionInfo.getType())); - +#endif updateSettings->addItem(new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_FLASHUPDATE_PROXYSERVER_SEP)); CStringInputSMS * updateSettings_proxy = new CStringInputSMS(LOCALE_FLASHUPDATE_PROXYSERVER, g_settings.softupdate_proxyserver, 23, LOCALE_FLASHUPDATE_PROXYSERVER_HINT1, LOCALE_FLASHUPDATE_PROXYSERVER_HINT2, "abcdefghijklmnopqrstuvwxyz0123456789-.: "); diff --git a/src/system/flashtool.cpp b/src/system/flashtool.cpp index 4f61ec192..3f527fabf 100644 --- a/src/system/flashtool.cpp +++ b/src/system/flashtool.cpp @@ -365,6 +365,7 @@ CFlashVersionInfo::CFlashVersionInfo(const std::string & versionString) releaseCycle[4] = 0; } + version = atoi(&releaseCycle[0]) * 100 + atoi(&releaseCycle[2]); // recover date date[0] = versionString[10]; date[1] = versionString[11]; @@ -425,6 +426,10 @@ const char *CFlashVersionInfo::getType(void) const } } +const int CFlashVersionInfo::getVersion(void) const +{ + return version; +} //----------------------------------------------------------------------------------------------------------------- diff --git a/src/system/flashtool.h b/src/system/flashtool.h index 4b8b55bdb..3bc3d7e14 100644 --- a/src/system/flashtool.h +++ b/src/system/flashtool.h @@ -75,6 +75,7 @@ class CFlashVersionInfo char date[11]; char time[6]; char releaseCycle[5]; + int version; public: char snapshot; @@ -85,6 +86,7 @@ class CFlashVersionInfo const char *getTime(void) const; const char *getReleaseCycle(void) const; const char *getType(void) const; + const int getVersion(void) const; }; diff --git a/src/system/locals.h b/src/system/locals.h index 5eb105410..79c21358b 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -361,6 +361,8 @@ typedef enum { LOCALE_FLASHUPDATE_MSGBOX, LOCALE_FLASHUPDATE_MSGBOX_MANUAL, LOCALE_FLASHUPDATE_MTDSELECTOR, + LOCALE_FLASHUPDATE_NEW_FOUND, + LOCALE_FLASHUPDATE_NEW_NOTFOUND, LOCALE_FLASHUPDATE_PROGRAMMINGFLASH, LOCALE_FLASHUPDATE_PROXYPASSWORD, LOCALE_FLASHUPDATE_PROXYPASSWORD_HINT1, @@ -532,6 +534,7 @@ typedef enum { LOCALE_MESSAGEBOX_ERROR, LOCALE_MESSAGEBOX_INFO, LOCALE_MESSAGEBOX_NO, + LOCALE_MESSAGEBOX_OK, LOCALE_MESSAGEBOX_YES, LOCALE_MISCSETTINGS_BOOTINFO, LOCALE_MISCSETTINGS_BOOTMENU, @@ -1405,7 +1408,9 @@ typedef enum { LOCALE_CPU_FREQ, LOCALE_CPU_FREQ_NORMAL, LOCALE_CPU_FREQ_STANDBY, - LOCALE_CPU_FREQ_DEFAULT + LOCALE_CPU_FREQ_DEFAULT, + LOCALE_WIZARD_WELCOME_HEAD, + LOCALE_WIZARD_WELCOME_TEXT } neutrino_locale_t; #endif diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index e7f405312..dc0c7e01c 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -361,6 +361,8 @@ const char *locale_real_names[] = { "flashupdate.msgbox", "flashupdate.msgbox_manual", "flashupdate.mtdselector", + "flashupdate.new_found", + "flashupdate.new_notfound", "flashupdate.programmingflash", "flashupdate.proxypassword", "flashupdate.proxypassword_hint1", @@ -532,6 +534,7 @@ const char *locale_real_names[] = { "messagebox.error", "messagebox.info", "messagebox.no", + "messagebox.ok", "messagebox.yes", "miscsettings.bootinfo", "miscsettings.bootmenu", @@ -1405,7 +1408,9 @@ const char *locale_real_names[] = { "cpu.freq", "cpu.freq_normal", "cpu.freq_standby", - "cpu.freq_default" + "cpu.freq_default", + "wizard.welcome_head", + "wizard.welcome_text" }; #endif diff --git a/src/zapit/src/channel.cpp b/src/zapit/src/channel.cpp index 6ed1ae3cf..d7c27ce4a 100644 --- a/src/zapit/src/channel.cpp +++ b/src/zapit/src/channel.cpp @@ -42,12 +42,12 @@ CZapitChannel::CZapitChannel(const std::string & p_name, t_service_id p_sid, t_t pmtPid = 0; resetPids(); ttx_language_code = ""; -//printf("NEW CHANNEL %s %x\n", name.c_str(), this); +//printf("NEW CHANNEL %s %x\n", name.c_str(), (int) this); } CZapitChannel::~CZapitChannel(void) { -//printf("DEL CHANNEL %s %x\n", name.c_str(), this); +//printf("DEL CHANNEL %s %x subs %d\n", name.c_str(), (int) this, getSubtitleCount()); resetPids(); //if(currentEvent) diff --git a/src/zapit/src/getservices.cpp b/src/zapit/src/getservices.cpp index 05a7ec1d7..732669f35 100644 --- a/src/zapit/src/getservices.cpp +++ b/src/zapit/src/getservices.cpp @@ -191,7 +191,7 @@ void ParseChannels(xmlNodePtr node, const t_transport_stream_id transport_stream ) ) ); -//printf("INS CHANNEL %s %x\n", name.c_str(), &ret.first->second); +//printf("INS CHANNEL %s %x\n", name.c_str(), (int) &ret.first->second); if(ret.second == false) { printf("[zapit] duplicate channel %s id %llx freq %d (old %s at %d)\n", name.c_str(), chid, freq, ret.first->second.getName().c_str(), ret.first->second.getFreqId());