diff --git a/src/driver/record.cpp b/src/driver/record.cpp index 40d03bc5e..9b135bdfe 100644 --- a/src/driver/record.cpp +++ b/src/driver/record.cpp @@ -720,6 +720,11 @@ bool CRecordManager::Record(const CTimerd::RecordingInfo * const eventinfo, cons if(!CheckRecording(eventinfo)) return false; +#if 1 // FIXME test + StopSectionsd = false; + if(recmap.size()) + StopSectionsd = true; +#endif RunStartScript(); mutex.lock(); @@ -884,6 +889,24 @@ bool CRecordManager::TimeshiftOnly() return (autoshift && (count == 1)); } +bool CRecordManager::SameTransponder(const t_channel_id channel_id) +{ + bool same = true; + mutex.lock(); + int count = recmap.size(); + if(count) { + if(autoshift && count == 1) + same = true; + else { + recmap_iterator_t fit = recmap.begin(); + t_channel_id id = fit->first; + same = (SAME_TRANSPONDER(channel_id, id)); + } + } + mutex.unlock(); + return same; +} + bool CRecordManager::Stop(const t_channel_id channel_id) { printf("%s: %llx\n", __FUNCTION__, channel_id); @@ -1151,8 +1174,10 @@ bool CRecordManager::CutBackNeutrino(const t_channel_id channel_id, const int mo } if(ret) { - if(StopSectionsd) + if(StopSectionsd) { + printf("%s: g_Sectionsd->setPauseScanning(true)\n", __FUNCTION__); g_Sectionsd->setPauseScanning(true); + } /* after this zapit send EVT_RECORDMODE_ACTIVATED, so neutrino getting NeutrinoMessages::EVT_RECORDMODE */ g_Zapit->setRecordMode( true ); diff --git a/src/driver/record.h b/src/driver/record.h index 3f2362698..2394075a2 100644 --- a/src/driver/record.h +++ b/src/driver/record.h @@ -182,6 +182,7 @@ class CRecordManager : public CMenuTarget, public CChangeObserver bool RecordingStatus(const t_channel_id channel_id = 0); bool TimeshiftOnly(); bool Timeshift() { return (autoshift || shift_timer); }; + bool SameTransponder(const t_channel_id channel_id); int handleMsg(const neutrino_msg_t _msg, neutrino_msg_data_t data); // old code bool ChooseRecDir(std::string &dir);