<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p><br>
</p>
<div class="moz-cite-prefix">On 9/3/23 07:03, Philip Brady wrote:<br>
</div>
<blockquote type="cite"
cite="mid:AS8P193MB1464C27AF66EB2AE4C66A0A1CDEAA@AS8P193MB1464.EURP193.PROD.OUTLOOK.COM">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style>@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}.MsoChpDefault
{mso-style-type:export-only;}div.WordSection1
{page:WordSection1;}</style>
<div class="WordSection1">
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Sent from <a
href="https://go.microsoft.com/fwlink/?LinkId=550986"
moz-do-not-send="true">
Mail</a> for Windows</p>
<p class="MsoNormal"><o:p> </o:p></p>
<div
style="mso-element:para-border-div;border:none;border-top:solid
#E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="border:none;padding:0cm"><b>From:
</b><a href="mailto:pb.mythtv@gmail.com"
moz-do-not-send="true">Peter Bennett</a><br>
<b>Sent: </b>01 September 2023 21:34<br>
<b>To: </b><a href="mailto:mythtv-users@mythtv.org"
moz-do-not-send="true" class="moz-txt-link-freetext">mythtv-users@mythtv.org</a><br>
<b>Subject: </b>Re: [mythtv-users] API call
Guide/GetProgramList broken with port 6744.</p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p><o:p> </o:p></p>
<div>
<p class="MsoNormal">On 9/1/23 09:46, Philip Brady wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black">The API call
/Guide/GetProgramList is broken with port 6744. It does
not respect the Details=true parameter.
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black">This breaks
portability of my 'split film' utility.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black">I know that the
right course of action for me is to submit a bug, but
can anyone point me at a tutorial for doing that
please?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black">mythbackend
--version<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black">Please attach all
output as a file in bug reports.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black">MythTV Version :
v34.0~master.202306020720.ed409bfc02~ubuntu22.04.1<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black">MythTV Branch :
master<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black">Network Protocol
: 91<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black">Library API :
34.20220913-1<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black">QT Version :
5.15.3<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black">Options compiled
in:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"> linux profile
use_hidesyms using_alsa using_oss using_pulse
using_pulseoutput using_backend using_bindings_perl
using_bindings_python using_bindings_php using_dvb
using_firewire using_frontend using_hdhomerun
using_satip using_vbox using_ceton using_joystick_menu
using_libcec using_libcrypto using_gnutls
using_libdns_sd using_libxml2 using_lirc using_mheg
using_opengl using_egl using_qtwebkit using_qtscript
using_qtdbus using_taglib using_v4l2 using_v4l2prime
using_x11 using_system_libbluray
using_system_libudfread using_systemd_notify
using_systemd_journal using_drm using_bindings_perl
using_bindings_python using_bindings_php
using_freetype2 using_mythtranscode using_opengl
using_egl using_drm using_vaapi using_nvdec
using_vdpau using_ffmpeg_threads using_mheg
using_libass using_libxml2 using_libmp3lame<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black">With port 6544 I
get this:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><a
href="http://192.168.2.109:6544/Guide/GetProgramList?StartTime=2023-09-01T13:22:13Z&ChanId=11080&Count=6&Details=true"
moz-do-not-send="true">http://192.168.2.109:6544/Guide/GetProgramList?StartTime=2023-09-01T13:22:13Z&ChanId=11080&Count=6&Details=true</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black">...<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><Recording><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><RecordedId>0</RecordedId><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><Status>Unknown</Status><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><Priority>0</Priority><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><StartTs
xsi:nil="true"/><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><EndTs
xsi:nil="true"/><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><FileSize>0</FileSize><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><FileName/><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><HostName/><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><LastModified
xsi:nil="true"/><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><RecordId>0</RecordId><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><RecGroup/><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><PlayGroup/><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><StorageGroup/><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><RecType>0</RecType><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><DupInType>1</DupInType><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><DupMethod>1</DupMethod><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><EncoderId>0</EncoderId><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><EncoderName/><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><Profile/><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"></Recording><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black">but with port
6744 I get:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><a
href="http://192.168.2.109:6744/Guide/GetProgramList?StartTime=2023-09-01T13:22:13Z&ChanId=11080&Count=6&Details=true"
moz-do-not-send="true">http://192.168.2.109:6744/Guide/GetProgramList?StartTime=2023-09-01T13:22:13Z&ChanId=11080&Count=6&Details=true</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><Recording
xsi:nil="true"/><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black">Phil<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span
style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
</blockquote>
<p>When there is a recording scheduled, the Recording tags is
filled in. When there is no recording scheduled for that
program, it is reported as nil.</p>
<p><o:p> </o:p></p>
<p><u>Recording scheduled</u>:</p>
<p><Recording version="1.3"><br>
<RecordedId>0</RecordedId><br>
<Status>10</Status><br>
<StatusName>Inactive</StatusName><br>
<Priority>0</Priority><br>
<StartTs>2023-09-01T20:01:00Z</StartTs><br>
<EndTs>2023-09-01T21:00:00Z</EndTs><br>
<FileSize>0</FileSize><br>
<FileName xsi:nil="true"/><br>
<HostName>rocinante</HostName><br>
<LastModified>2023-09-01T20:00:00Z</LastModified><br>
<RecordId>178</RecordId><br>
<RecGroup>Default</RecGroup><br>
<StorageGroup>Default</StorageGroup><br>
<PlayGroup>Default</PlayGroup><br>
<RecType>4</RecType><br>
<DupInType>15</DupInType><br>
<DupMethod>6</DupMethod><br>
<EncoderId>0</EncoderId><br>
<EncoderName xsi:nil="true"/><br>
<Profile>Default</Profile><br>
</Recording></p>
<p class="MsoNormal"><br>
<u>Not scheduled</u>:<br>
<Recording xsi:nil="true"/><o:p></o:p></p>
<p><o:p> </o:p></p>
<p>The old API would return a tag full of default, null and
invalid values when no recording was scheduled. This, in my
opinion, was a bug in the old code that is now fixed.</p>
<p><o:p> </o:p></p>
<p><u>OLD Result for no schedule</u>:</p>
<p><Recording><br>
<RecordedId>0</RecordedId><br>
<Status>Unknown</Status><br>
<Priority>0</Priority><br>
<StartTs xsi:nil="true"/><br>
<EndTs xsi:nil="true"/><br>
<FileSize>0</FileSize><br>
<FileName/><br>
<HostName/><br>
<LastModified xsi:nil="true"/><br>
<RecordId>0</RecordId><br>
<RecGroup/><br>
<PlayGroup/><br>
<StorageGroup/><br>
<RecType>0</RecType><br>
<DupInType>1</DupInType><br>
<DupMethod>1</DupMethod><br>
<EncoderId>0</EncoderId><br>
<EncoderName/><br>
<Profile/><br>
</Recording></p>
<p><o:p> </o:p></p>
<p>Can you handle this in your utility?</p>
<p><o:p> </o:p></p>
<p>Peter</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks Peter.<o:p></o:p></p>
<p class="MsoNormal">Yes, should be able to handle that and I’ll
update the documentation accordingly.<o:p></o:p></p>
<p class="MsoNormal">Would you clarify though – is it only the
‘Guide’ APIs or is it applied to the ‘Dvr’ ones too?<o:p></o:p></p>
<p class="MsoNormal">Regards<o:p></o:p></p>
<p class="MsoNormal">Phil.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</blockquote>
<p>The infrastructure that gets the requests and formats the results
was rewritten and all of the methods were converted. There are
minor changes throughout.</p>
<p>I checked Dvr/GetRecordedList. Artwork is one structure that is
optional. <br>
</p>
<p>In the old API an empty Artwork shows like this</p>
<p><Artwork><br>
<ArtworkInfos/><br>
</Artwork><br>
</p>
<p>In the new API an empty Artwork shows like this:</p>
<p><Artwork xsi:nil="true"/></p>
<p>In case you want to run comparisons:<br>
</p>
<p>In master, versions before v34-Pre-408-gdd35e85329 use port 6744
for the new api and 6544 for the old.</p>
<p>Versions after v34-Pre-408-gdd35e85329 use port 6544 for the new
API and have the old api on port 6550. This old API will not be
updated and will be removed at some point. Port 6744 is also still
available and runs the new API.<br>
</p>
<p>I hope this helps.</p>
<p>Peter<br>
</p>
<p><br>
</p>
</body>
</html>