<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    On 10/3/22 17:34, David Engel wrote:<br>
    <blockquote type="cite"
      cite="mid:YztVcGJ%2F+xn1zBCr@opus.istwok.net">
      <pre class="moz-quote-pre" wrap="">On Mon, Oct 03, 2022 at 05:16:47PM -0400, Scott Theisen wrote:
</pre>
      <blockquote type="cite" style="color: #007cff;">
        <pre class="moz-quote-pre" wrap="">
On 10/3/22 16:41, David Engel wrote:
</pre>
        <blockquote type="cite" style="color: #007cff;">
          <pre class="moz-quote-pre" wrap="">On Tue, Sep 27, 2022 at 10:11:23AM -0400, Scott Theisen wrote:
</pre>
          <blockquote type="cite" style="color: #007cff;">
            <pre class="moz-quote-pre" wrap="">On 9/26/22 21:51, David Engel wrote:
</pre>
            <blockquote type="cite" style="color: #007cff;">
              <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" moz-do-not-send="true">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>
    <br>
    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?<br>
    <br>
    <blockquote type="cite"
      cite="mid:YztVcGJ%2F+xn1zBCr@opus.istwok.net">
      <pre class="moz-quote-pre" wrap="">

</pre>
      <blockquote type="cite" style="color: #007cff;">
        <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>
    <br>
    Don't record this showing works fine.<br>
    <br>
    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.<br>
    <br>
    <blockquote type="cite"
      cite="mid:YztVcGJ%2F+xn1zBCr@opus.istwok.net">
      <pre class="moz-quote-pre" wrap="">

</pre>
      <blockquote type="cite" style="color: #007cff;">
        <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>
    <br>
    Changing the end late amount worked for a recording in progress. 
    Restarting a failed recording manually worked.<br>
    <br>
    Scott<br>
  </body>
</html>