<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    On 10/3/22 21:33, David Engel wrote:<br>
    <blockquote type="cite" cite="mid:YzuNgLzZRwDq2Ovf@opus.istwok.net">
      <pre class="moz-quote-pre" wrap="">On Mon, Oct 03, 2022 at 06:57:27PM -0400, Scott Theisen wrote:
</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">On 10/3/22 17:34, David Engel wrote:
</pre>
        <blockquote type="cite">
          <pre class="moz-quote-pre" wrap="">On Mon, Oct 03, 2022 at 05:16:47PM -0400, Scott Theisen wrote:
</pre>
          <blockquote type="cite">
            <pre class="moz-quote-pre" wrap="">On 10/3/22 16:41, David Engel wrote:
</pre>
            <blockquote type="cite">
              <pre class="moz-quote-pre" wrap="">On Tue, Sep 27, 2022 at 10:11:23AM -0400, Scott Theisen wrote:
</pre>
              <blockquote type="cite">
                <pre class="moz-quote-pre" wrap="">On 9/26/22 21:51, David Engel wrote:
</pre>
                <blockquote type="cite">
                  <pre class="moz-quote-pre" wrap="">I'll have to review your patch.  ENOTIME right now to do a thorough
enough job but I did realize removing the "(Manual Record)" bit was
not as easy as I'd hoped it was.

David
</pre>
                </blockquote>
                <pre class="moz-quote-pre" wrap="">Thinking on it a little more, I think this way is better:
```
diff --git a/mythtv/programs/mythbackend/scheduler.cpp
b/mythtv/programs/mythbackend/scheduler.cpp
index 5d8a529dfc..fd2a322a06 100644
--- a/mythtv/programs/mythbackend/scheduler.cpp
+++ b/mythtv/programs/mythbackend/scheduler.cpp
@@ -3698,6 +3698,16 @@ void Scheduler::UpdateManuals(uint recordid)

       RecordingType rectype = RecordingType(query.value(0).toInt());
       QString title = query.value(1).toString();
+    {
+        // match suffix to ProgramInfo manual recording constructor
+        QString suffix = " (" + QObject::tr("Manual Record") + ')';
+        // corner case: user changed language between creating rule and
now,
+        // don't chop the end in that case
+        if (title.endsWith(suffix))
+        {
+            title.chop(suffix.size());
+        }
+    }
       QString subtitle = query.value(2).toString();
       QString description = query.value(3).toString();
       QString station = query.value(4).toString();
```

It has the same effect and is more correct in my opinion, even if it is more
computationally intensive.  It is also clearer what it is chopping.
</pre>
              </blockquote>
              <pre class="moz-quote-pre" wrap="">Sorry for the slow response.  Last week turned into a rather hectic week.

I'm going to veto this patch and anything similar to it.  While it
will likely work for the basic case of recording, there are enough
enough other cases (e.g duplicate checking, override recordings,
reactivation, change ending time, etc.) that I'm not confident in.
</pre>
            </blockquote>
            <pre class="moz-quote-pre" wrap="">Manual recordings are excluded from duplicate checking:<a class="moz-txt-link-freetext" href="https://github.com/MythTV/mythtv/blob/167e016e38b30fb2984e1959dc323bbdaea30468/mythtv/programs/mythfrontend/manualschedule.cpp#L214">https://github.com/MythTV/mythtv/blob/167e016e38b30fb2984e1959dc323bbdaea30468/mythtv/programs/mythfrontend/manualschedule.cpp#L214</a>
</pre>
          </blockquote>
          <pre class="moz-quote-pre" wrap="">The scheduler performs its own form of duplicate checking while a
program is recording and when one is stopped early.
</pre>
        </blockquote>
        <pre class="moz-quote-pre" wrap="">
Could that be why creating a new manual recording with the same (default)
name resulted in only one recording with the newer duration overriding the
old?
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
Probably.  The oldrecorded table serves multiple purposes.  One
purpose is maitaining scheduler state and that keys off scheduled (not
recording) starttime, callsign and program title.</pre>
    </blockquote>
    <br>
    If it uses the callsign, that may be the cause of a separate issue I
    discovered.  I receive two channels (22.1 and 67.1) with the same
    callsign, MPT-HD.  When I manually scheduled a test recording on
    22_1, it recorded from the other channel, 67_1, instead.<br>
    <br>
    <blockquote type="cite" cite="mid:YzuNgLzZRwDq2Ovf@opus.istwok.net">
      <pre class="moz-quote-pre" wrap="">

</pre>
      <blockquote type="cite">
        <blockquote type="cite">
          <blockquote type="cite">
            <pre class="moz-quote-pre" wrap="">What do you mean by "override recordings"?
</pre>
          </blockquote>
          <pre class="moz-quote-pre" wrap="">Override rules -- don't record and record with override settings.
</pre>
        </blockquote>
        <pre class="moz-quote-pre" wrap="">
Don't record this showing works fine.

Record with override appeared to work, although setting two overrides with
three conflicting recordings and two tuners did not select both overrides
without reducing the recording priority of the third recording.  However, we
don't use that kind of override so I don't know how it's supposed to work.

</pre>
        <blockquote type="cite">
          <pre class="moz-quote-pre" wrap="">
</pre>
          <blockquote type="cite">
            <pre class="moz-quote-pre" wrap="">I will perform some tests with overlapping manual recordings. Stopping the
recordings early worked fine from what I remember. I'll also test two
identically named recording rules with different lengths, with one canceled.

You can't change the end time (or the start time) after creating a manual
recording rule, except by adjusting the start early and end late times.
Unless you were talking about something else?
</pre>
          </blockquote>
          <pre class="moz-quote-pre" wrap="">The ending time can be changed while a program is recording.  Programs
can also be restarted either manually or automatically due to crashes
either with the normal end time or another one for that recording.

</pre>
        </blockquote>
        <pre class="moz-quote-pre" wrap="">
Changing the end late amount worked for a recording in progress. Restarting
a failed recording manually worked.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
I'm still not comfortable with the change.  The more I think about it,
I like the ruletitle change much, much more.  It's the old adage -- If
a thing is worth doing, it's worth doing well.

David
</pre>
    </blockquote>
    <br>
    I don't want perfect to become the enemy of good enough.  I think
    trimming " (Manual Record)" is good enough.<br>
    <br>
    If <b>you</b> also want to add ruletitle, that seems to me like a
    mostly separate enhancement.  Since it is your idea, you probably
    have a better idea of what that change entails.<br>
    <br>
    Scott<br>
  </body>
</html>