Why does MP only record with "Manual" as name (1 Viewer)

STSC

Portal Pro
December 4, 2004
139
0
Germany
Hi,

when I make a recording with "manual" as name everything works find, but when I change it in the database to something else or when I use the PVR Scheduler Plugin and schedule a recording not with "manual" then MP doesn't work. Is there any reason?

I put the sources of the the PVR Scheduler Plugin for MediaPortal in my download area, because frodo requested it. If it is acceptable to Sam I will also put the sources of the ECP2 in my download area, but I have to talk to Sam first.

http://www.pvr-scheduler.de
 

vbap

Portal Pro
February 15, 2005
131
1
Melbourne, Australia
I have noticed (I'm on 0.1.0.10_2) that manual recordings will be listed under Scheduled Recordings as "Manual", but some time after the recording is completed (not sure exactly when), it seems to pick up the info from the EPG, so that "Manual" is replaced with "<Program name>" in the RecordTV listings.

I actually like this feature....!
 

STSC

Portal Pro
December 4, 2004
139
0
Germany
But you said it does not work everytime. And what about the people that use an online EPG on the web to scheduler their recordings?
So it would not be too bad to change that.

Thanks!!
 

STSC

Portal Pro
December 4, 2004
139
0
Germany
Ok I found the issue. Is there any reason, that a program is needed to make a e.g. weekly recording?


Code:
 /// <summary>
    /// Checks whether the recording should record the specified TVProgram
    /// at the specified time including the pre/post intervals
    /// </summary>
    /// <param name="dtTime">time</param>
    /// <param name="TVProgram">TVProgram</param>
    /// <param name="iPreInterval">pre record interval</param>
    /// <param name="iPostInterval">post record interval</param>
    /// <returns>true if the recording should record</returns>
    /// <seealso cref="MediaPortal.TV.Database.TVProgram"/>
		public bool IsRecordingProgramAtTime(DateTime dtTime,TVProgram currentProgram, int iPreInterval, int iPostInterval)
		{
      DateTime dtStart;
      DateTime dtEnd;
			switch (RecType)
			{
        // record program just once
				case RecordingType.Once:
					if (dtTime >= this.StartTime.AddMinutes(-iPreInterval) && dtTime <= this.EndTime.AddMinutes(iPostInterval) ) 
					{
            if (Canceled>0)
            {
              return false;
            }
          
            if (currentProgram!=null) 
            {
              if (currentProgram.Channel!=this.Channel)  return false;
              if (dtTime >= currentProgram.StartTime.AddMinutes(-iPreInterval) && dtTime <= currentProgram.EndTime.AddMinutes(iPostInterval) ) 
              {
                return true;
              }
              return false;
            }
            string strManual=GUILocalizeStrings.Get(413);
						if (this.Title.Length==0 || String.Compare(this.Title,strManual,true)==0) return true;
						
						strManual=GUILocalizeStrings.Get(736);
						if (this.Title.Length==0 || String.Compare(this.Title,strManual,true)==0) return true;
            return false;
					}
				break;
				
        // record program daily at same time & channel
				case RecordingType.WeekDays:
          if (currentProgram==null) return false;   //we need a program
          if (currentProgram.Channel==this.Channel) //check channel is correct
          {
            // check if program start/date time is correct
            dtStart=new DateTime(dtTime.Year,dtTime.Month,dtTime.Day,currentProgram.StartTime.Hour,StartTime.Minute,0);
            dtEnd  =new DateTime(dtTime.Year,dtTime.Month,dtTime.Day,currentProgram.EndTime.Hour  ,EndTime.Minute  ,0);
            if (dtStart.DayOfWeek>=DayOfWeek.Monday && dtStart.DayOfWeek<=DayOfWeek.Friday)
            {
              if (dtTime >= dtStart.AddMinutes(-iPreInterval) && dtTime <= dtEnd.AddMinutes(iPostInterval) ) 
              {
                // check if recording start/date time is correct
                dtStart=new DateTime(dtTime.Year,dtTime.Month,dtTime.Day,this.StartTime.Hour,StartTime.Minute,0);
                dtEnd  =new DateTime(dtTime.Year,dtTime.Month,dtTime.Day,this.EndTime.Hour  ,EndTime.Minute  ,0);
                if (dtTime >= dtStart.AddMinutes(-iPreInterval) && dtTime <= dtEnd.AddMinutes(iPostInterval) ) 
                {
                  // not canceled?
									if (IsSerieIsCanceled(currentProgram.StartTime))
									{
										return false;
									}
                  return true;
                }
              }
            }
          }
				break;

        // record program daily at same time & channel
				case RecordingType.Daily:
          if (currentProgram==null) return false;   //we need a program
          if (currentProgram.Channel==this.Channel) //check channel is correct
          {
            // check if program start/date time is correct
            dtStart=new DateTime(dtTime.Year,dtTime.Month,dtTime.Day,currentProgram.StartTime.Hour,StartTime.Minute,0);
            dtEnd  =new DateTime(dtTime.Year,dtTime.Month,dtTime.Day,currentProgram.EndTime.Hour  ,EndTime.Minute  ,0);
            if (dtTime >= dtStart.AddMinutes(-iPreInterval) && dtTime <= dtEnd.AddMinutes(iPostInterval) ) 
            {
              // check if recording start/date time is correct
              dtStart=new DateTime(dtTime.Year,dtTime.Month,dtTime.Day,this.StartTime.Hour,StartTime.Minute,0);
              dtEnd  =new DateTime(dtTime.Year,dtTime.Month,dtTime.Day,this.EndTime.Hour  ,EndTime.Minute  ,0);
              if (dtTime >= dtStart.AddMinutes(-iPreInterval) && dtTime <= dtEnd.AddMinutes(iPostInterval) ) 
              {
                // not canceled?
								if (IsSerieIsCanceled(currentProgram.StartTime))
								{
									return false;
								}
                return true;
              }
            }
          }
				break;
				
        // record program weekly at same time & channel
				case RecordingType.Weekly:
          if (currentProgram==null) return false;   // we need a program
          if (currentProgram.Channel==this.Channel) // check if channel is correct
          {
            // check if day of week of program matches 
            if (currentProgram.StartTime.DayOfWeek== dtTime.DayOfWeek)
            {

              // check if start/end time of program is correct
              dtStart=new DateTime(dtTime.Year,dtTime.Month,dtTime.Day,currentProgram.StartTime.Hour,currentProgram.StartTime.Minute,0);
              dtEnd  =new DateTime(dtTime.Year,dtTime.Month,dtTime.Day,currentProgram.EndTime.Hour  ,currentProgram.EndTime.Minute  ,0);

              if (dtTime >= dtStart.AddMinutes(-iPreInterval) && dtTime <= dtEnd.AddMinutes(iPostInterval) ) 
              {
                
                // check if day of week of recording matches 
                if (this.StartTime.DayOfWeek == dtTime.DayOfWeek)
                {
                  // check if start/end time of recording is correct
                  dtStart=new DateTime(dtTime.Year,dtTime.Month,dtTime.Day,this.StartTime.Hour,this.StartTime.Minute,0);
                  dtEnd  =new DateTime(dtTime.Year,dtTime.Month,dtTime.Day,this.EndTime.Hour  ,this.EndTime.Minute  ,0);
                  if (dtTime >= dtStart.AddMinutes(-iPreInterval) && dtTime <= dtEnd.AddMinutes(iPostInterval) ) 
                  {
                    // not canceled?
										if (IsSerieIsCanceled(currentProgram.StartTime))
										{
											return false;
										}
                    return true;
                  }
                }
              }
            }
          }
				break;
				
        //record program everywhere
				case RecordingType.EveryTimeOnEveryChannel:
          if (currentProgram==null) return false; // we need a program
          if (currentProgram.Title==this.Title)  // check title
          {
            // check program time
            if (dtTime >= currentProgram.StartTime.AddMinutes(-iPreInterval) && 
                dtTime <= currentProgram.EndTime.AddMinutes(iPostInterval) ) 
            {
              // not canceled?
							if (IsSerieIsCanceled(currentProgram.StartTime))
							{
								return false;
							}
              return true;
            }
          }
				break;
				
          //record program on this channel
				case RecordingType.EveryTimeOnThisChannel:
          if (currentProgram==null) return false; // we need a channel
          
          // check channel & title
          if (currentProgram.Title==this.Title && currentProgram.Channel==this.Channel) 
          {
            // check time
            if (dtTime >= currentProgram.StartTime.AddMinutes(-iPreInterval) && 
                dtTime <= currentProgram.EndTime.AddMinutes(iPostInterval) ) 
            {

              // not canceled?
							if (IsSerieIsCanceled(currentProgram.StartTime))
							{
								return false;
							}
              return true;
            }
          }
				break;
			}
			return false;
		
    }
 

Users who are viewing this thread

Top Bottom