MythLogBot@irc.libera.chat :: #mythtv

Daily chat history

Current users (23):

ChanServ, DevMythNotifyBot, frobnic, gigem, gregl, GreyFoxx_, gtb, hampton, ijc, knowledgejunkie, mkbloke, MythBuild, MythLogBot, ooshlablu, peper03, poptix, sphery, TechMonk, tonsofpc1, troyt, Warped, xris, zbot
Wednesday, August 25th, 2021, 00:16 UTC
[00:16:12] peterbennett (peterbennett!~peter@mythtv/developer/peterbennett) has quit (Quit: Leaving.)
[00:32:28] Steve-Goodey (Steve-Goodey!~steve@2a00:23c5:7d83:6501:6ea1:20d:5872:d872) has joined #mythtv
[01:37:57] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 245 seconds)
[01:38:45] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[01:43:39] Steve-Goodey (Steve-Goodey!~steve@2a00:23c5:7d83:6501:6ea1:20d:5872:d872) has quit (Quit: Konversation terminated!)
[02:11:10] TechMonk (TechMonk!~TechMonk@173.241.20.60) has quit (Ping timeout: 252 seconds)
[02:39:27] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 240 seconds)
[02:40:46] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[02:49:25] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 250 seconds)
[02:50:42] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[04:47:44] TechMonk (TechMonk!~TechMonk@173.241.20.60) has joined #mythtv
[05:17:21] gregl (gregl!~gregl@cpe-24-194-253-7.nycap.res.rr.com) has quit (Ping timeout: 248 seconds)
[05:20:54] gregl (gregl!~gregl@cpe-24-194-253-7.nycap.res.rr.com) has joined #mythtv
[06:24:08] TechMonk_ (TechMonk_!~quassel@173.241.20.60) has joined #mythtv
[06:27:14] TechMonk (TechMonk!~TechMonk@173.241.20.60) has quit (Quit: Leaving)
[06:48:17] TechMonk_ is now known as TechMonk
[08:07:52] Steve-Goodey (Steve-Goodey!~steve@2a00:23c5:7d83:6501:6ea1:20d:5872:d872) has joined #mythtv
[08:32:11] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 250 seconds)
[08:35:01] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[10:16:15] knowledgejunkie (knowledgejunkie!~knowledge@cpc77018-warw18-2-0-cust959.3-2.cable.virginm.net) has joined #mythtv
[10:32:49] DevMythNotifyBot: COMMIT: stuarta pushed 2 commit(s) to branch master: https://github.com/MythTV/mythtv/compare/aa68 . . . a2cdb9047a68
[10:53:41] warpme_ (warpme_!uid391875@id-391875.brockwell.irccloud.com) has joined #mythtv
[11:10:18] warpme_ (warpme_!uid391875@id-391875.brockwell.irccloud.com) has quit ()
[11:14:55] warpme_ (warpme_!uid391875@helmsley.irccloud.com) has joined #mythtv
[11:21:10] warpme_ (warpme_!uid391875@helmsley.irccloud.com) has quit (Ping timeout: 240 seconds)
[11:23:42] warpme_ (warpme_!uid391875@helmsley.irccloud.com) has joined #mythtv
[13:01:09] DevMythNotifyBot (DevMythNotifyBot!~nodebot@cust32-dsl91-135-4.idnet.net) has quit (Read error: Connection reset by peer)
[13:01:23] DevMythNotifyBot (DevMythNotifyBot!~nodebot@cust32-dsl91-135-4.idnet.net) has joined #mythtv
[13:06:14] DevMythNotifyBot (DevMythNotifyBot!~nodebot@cust32-dsl91-135-4.idnet.net) has quit (Read error: Connection reset by peer)
[13:06:28] DevMythNotifyBot (DevMythNotifyBot!~nodebot@cust32-dsl91-135-4.idnet.net) has joined #mythtv
[13:12:13] peterbennett (peterbennett!~peter@mythtv/developer/peterbennett) has joined #mythtv
[13:12:13] Mode for #mythtv by ChanServ!ChanServ@services.libera.chat : +v peterbennett
[13:44:33] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 248 seconds)
[13:47:26] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[13:56:11] peterbennett (peterbennett!~peter@mythtv/developer/peterbennett) has quit (Quit: Leaving.)
[14:31:50] peterbennett (peterbennett!~peter@mythtv/developer/peterbennett) has joined #mythtv
[14:31:50] Mode for #mythtv by ChanServ!ChanServ@services.libera.chat : +v peterbennett
[14:34:40] peterbennett: stuarta: I see the review request for #173. It's a problem that pull requests and bug logs sit for years with nothing done.
[14:34:40] ** MythLogBot https://code.mythtv.org/trac/ticket/173 **
[14:35:27] stuarta: indeed, with a bit of work, and leveraging of github workflow, we may be able to improve this
[14:35:36] stuarta: otherwise it's time for a bug aging bot
[14:35:50] peterbennett: Do we need to fix the logbot giving trac links?
[14:36:07] stuarta: yes one day
[14:36:15] stuarta: it's not exactly high on the todo list
[14:37:12] stuarta: at some point that code will need to be retired and replaced.
[14:37:34] stuarta: it's currently running a binary build on f27
[14:37:52] stuarta: at a certain point, it is impossible to build it on a newer one
[14:37:58] stuarta: without more coding
[14:38:06] peterbennett: Anyway I want to try that pull out and also look at the existing frontend service which does include a Live TV cation but that does not include a channel number. Perhaps would make more sense to add channel number to that one with the optional parameter that is already there.
[14:38:36] peterbennett: s/cation/action/
[14:40:33] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 248 seconds)
[14:40:41] stuarta: i guess it depends on if it can be done without breaking existing api clients (of which i doubt there are many at all)
[14:41:00] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[14:41:06] stuarta: i don't even know of any, other than home grown stuff to control frontends
[14:43:21] peterbennett: There is a frontend service "SendAction" which has an optional parameter Value and thet Value is not currently used in the "Live TV" action.
[14:43:37] stuarta: ah i see
[14:43:52] peterbennett: So allowing something to be in the Value should not break anything
[14:43:56] stuarta: nope
[14:44:37] peterbennett: I have not tried these services so they may not work as I expect.
[14:45:03] stuarta: i tried them whilst writing the web app for the frontend, and they do seem to work
[14:51:06] peterbennett: What is the port number fro FE services (old) ? The new is 8081 ...
[14:52:25] peterbennett: Ah it seems to be 6547
[15:02:55] stuarta: sounds about right
[15:32:23] peterbennett (peterbennett!~peter@mythtv/developer/peterbennett) has quit (Quit: Leaving.)
[15:39:47] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 240 seconds)
[15:40:18] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[15:47:54] peterbennett (peterbennett!~peter@mythtv/developer/peterbennett) has joined #mythtv
[15:47:54] Mode for #mythtv by ChanServ!ChanServ@services.libera.chat : +v peterbennett
[15:53:27] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 240 seconds)
[15:53:57] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[16:10:13] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 250 seconds)
[16:10:34] stuarta: ah nice, managed to get my first bit of data from the API into the skeleton angular based framework for the backend web app
[16:10:41] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[16:11:42] peterbennett: ?
[16:12:18] stuarta: so i've been working on the "web app" which replaces the "webfrontend" (as it's known). ie what you see when you hit :6544
[16:12:29] stuarta: been writing it in angular
[16:12:45] stuarta: and have just managed to pull a bit of data from the API and display it
[16:12:46] peterbennett: Wondering what "angular" is
[16:13:05] stuarta: oh, angular is a javascript framework
[16:13:19] stuarta: see also react, vuejs, svelte... etc
[16:13:40] stuarta: basically all technologies for building modern web apps
[16:13:45] peterbennett: i see
[16:14:14] stuarta: the end goal is to be able to configure the backend from your web browser
[16:14:34] stuarta: ie. everything mythtv-setup does now
[16:15:02] stuarta: the API work you are doing is one part of that
[16:15:14] stuarta: the web app consumes the API to do what it needs
[16:15:47] peterbennett: So you really need the ones for adding capture cards, etc., which I have not converted yet...
[16:15:55] stuarta: there will be gaps in what the services API can currently do, and what it'll need todo in order to support all configuration
[16:16:00] stuarta: eventually yes
[16:16:14] stuarta: at the speed i'm going, you'll have converted those before i need them :-p
[16:16:52] stuarta: so far i've pulled '/Myth/GetHostName' which isn't interesting in the slightest
[16:17:58] stuarta: there is also work to be done to allow the backend to startup without a database, and have that be configurable via the API
[16:18:14] stuarta: at the moment, it just bombs out
[16:18:52] peterbennett: Chicken and egg situation...
[16:18:55] stuarta: i also need to convert the frontend web app from svelte to angular
[16:19:25] stuarta: re no database, we don't have a state machine representing the configured status of the database
[16:19:42] stuarta: we just assume we have everything then it fails
[16:20:23] peterbennett: There is some method for that, I think.
[16:20:32] peterbennett: dummy database or something
[16:20:38] stuarta: add the state machine, along the lines of { unconfigured -> configured -> connected -> latest schema -> ok } and handle it from there
[16:21:08] stuarta: right now we just assumed we are at configured and go from there
[16:21:45] peterbennett: In startup code it starts with no database and then is able to put up a startup screen with progress – that uses some sort of database fake-out for settings.
[16:22:01] stuarta: frontend does that
[16:22:04] stuarta: backend doesn't
[16:22:07] stuarta: setup does
[16:22:21] stuarta: but we won't have a gui, with a web based config
[16:22:31] peterbennett: backend has the same startup code, just does not need to put up the screen
[16:23:04] stuarta: good point, that'll give a point where the code can potentially be hooked in
[16:23:53] stuarta: but, that is a *long* way down the road
[16:24:03] peterbennett: There is some sort of fake setting thing there, also a file in .mythtv where the cached settings are stored when the databaase is down.
[16:24:27] stuarta: yes config.xml supplied all parts the connection details
[16:24:51] stuarta: curiously that is written and maintained by libmythupnp
[16:25:08] stuarta: yet another thing that needs to be unpicked
[16:25:53] stuarta: in the unconfigured state we either don't have a config.xml or the connection details are wrong / db offline
[16:26:25] peterbennett: there is .mythtv/cache/contextcache.xml
[16:26:39] stuarta: once it's up at least once....
[16:27:33] peterbennett: This caches the settings that are needed in startup before the database is up. Perhaps it could be expanded and set up with some defaults for setup before you have the database.
[16:28:08] peterbennett: The settings api automatically goes to that file when the database is down.
[16:28:44] stuarta: ah yes, those are frontend specific bits
[16:29:56] stuarta: which isn't relevant to replacing mythtv-setup with a web app
[16:31:20] stuarta: bah, another case of Version vs version
[16:31:27] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 240 seconds)
[16:31:45] stuarta: it may have been better to fix the services "version" -> "Version"
[16:31:53] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[16:32:13] stuarta: frontend ones have Version, introspection code looks for Version, and you updated the serializers to look for version.
[16:32:52] peterbennett: It is Version in the service class and version in the return type header files.
[16:33:15] peterbennett: I am sure we can change it.
[16:33:42] stuarta: it's the Q_CLASSINFO("Version"....) i'm talking about
[16:33:49] stuarta: we currently have a mix of cases on version
[16:36:08] stuarta: anyway, that's not a significant issue
[16:36:35] peterbennett: it is consistently Q_CLASSINFO("Version", "1.0") in the service class , i.e. the class with the methods, and Q_CLASSINFO( "version" in the header files with return structures.
[16:36:48] stuarta: ug
[16:36:48] peterbennett: Or should be :)
[16:37:01] stuarta: i would have expected both to be the same
[16:38:06] stuarta: i'm not sure it even makes sense to define it in both the header and the implementation
[16:38:23] stuarta: why not just the header? (for reference, that's what the v2 of the frontend services do)
[16:38:45] peterbennett: The old services had lowercase everywhere but did not use version in the implementation.
[16:39:03] stuarta: hah
[16:41:01] peterbennett: I see that the new frontend services use Version so they will not find it.
[16:42:53] stuarta: what doesn't get found?
[16:43:03] stuarta: it all seems to work AFAICT
[16:43:36] peterbennett: The frontend service will not find the version for the return xml since I changed to look for version instead of Version
[16:43:53] stuarta: is that the version that's included in the xml response?
[16:44:20] peterbennett: yes
[16:44:43] peterbennett: I see Mark changed it from version in the old header file to Version in the new.
[16:45:09] stuarta: is this a compatibility with the xml output thing?
[16:46:00] peterbennett: The xml main tag gets a version=1.0 attribute from that.
[16:46:22] peterbennett: If it is missing or uppercase Version it does not have that attribute
[16:46:33] hampton: Mark liked his capital letters. :-)
[16:47:28] peterbennett: So we can either change Version to version in 1 file or version to Version in some 20 or 30 files
[16:49:07] stuarta: just checked /Frontend/GetStatus and xml returns version="1.0"
[16:49:10] stuarta: so some magic is happening
[16:51:05] stuarta: anyway, time to go talk to the family
[16:52:48] stuarta: todo_list += certain API's which make changes need protecting via authentication
[16:53:30] peterbennett: I do not see that – did you use port 8081?
[16:54:11] stuarta: yes
[16:54:34] stuarta: curl http://localhost:8081/Frontend/GetStatus | xmllint --format -
[16:54:35] peterbennett: I see it with port 6547 but missing with 8081
[16:54:54] peterbennett: Maybe you do not have the latest built for frontend?
[16:55:09] stuarta: yeah i do, rebuilt it earlier today
[16:55:22] peterbennett: 6547 – <FrontendStatus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quo . . . .1">
[16:55:44] peterbennett: 8081 – <FrontendStatus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quo . . . .1">
[16:56:13] peterbennett: http://rocinante:8081/Frontend/GetStatus
[16:56:40] stuarta: ah yes, it's missing in the FrontendStatus object
[16:56:49] stuarta: right, i shall leave you to it, night
[16:56:57] peterbennett: Bye
[17:10:39] peterbennett (peterbennett!~peter@mythtv/developer/peterbennett) has quit (Quit: Leaving.)
[17:22:35] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 250 seconds)
[17:23:18] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[17:32:40] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 240 seconds)
[17:33:52] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[18:20:39] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 250 seconds)
[18:21:08] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[18:47:14] peterbennett (peterbennett!~peter@mythtv/developer/peterbennett) has joined #mythtv
[18:47:14] Mode for #mythtv by ChanServ!ChanServ@services.libera.chat : +v peterbennett
[19:02:37] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 252 seconds)
[19:02:47] stuarta: ooo, there is a /Config pseudo service on the backend
[19:04:38] stuarta: even "protected"
[19:06:13] peterbennett: Which do you prefer in teh services, version or Version – I will make the changes...
[19:06:26] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[19:07:36] stuarta: peterbennett: in the xml output i don't really care. i have a slight preference for Version in the classinfo
[19:08:01] stuarta: keep in mind the introspection code also looks for "Version", and you didn't change that last time
[19:08:14] peterbennett: They have to be the same in the xml and the classinfo
[19:08:42] peterbennett: I will change them all to Version.
[19:08:48] stuarta: i only noticed because /Myth/GetHostName complains in the logs about lack of "Version" when the Myth service class is introspected
[19:08:55] stuarta: peterbennett: thanks, it's appreciated
[19:09:56] peterbennett: Yes – at the current state it expects Version for the service methods class and version for the return structures.
[19:10:57] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 248 seconds)
[19:11:14] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[19:11:43] stuarta: right the whole '/Config' service need rebuilding, not keeping as is. it just spits out raw html for the webfrontend
[19:11:59] stuarta: it's not even an API
[19:13:25] peterbennett: There is a Config service? Is that in the old services?
[19:14:01] peterbennett: Maybe that is the old attempt at creating configuration in teh web server?
[19:15:48] stuarta: yep
[19:16:01] stuarta: from "10 Jan 2011" :-)
[19:16:07] stuarta: https://github.com/MythTV/mythtv/commit/261f9 . . . 0c12ccbb346f
[19:16:47] stuarta: peterbennett: and it's certainly not a service, nor an API endpoint
[19:17:18] peterbennett: ok
[19:18:23] stuarta: it's what appears when you navigate in the webfrontend to Setup > WebFrontend
[19:19:37] peterbennett: can that be salvaged and used for the new setup?
[19:19:40] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 240 seconds)
[19:19:41] stuarta: or something like that
[19:19:50] stuarta: the concepts maybe
[19:19:58] stuarta: but we want a proper API there
[19:20:14] stuarta: and the presentation side done in the web app
[19:21:04] stuarta: ah, it handles Setup > Advanced Setup > Database & General
[19:21:19] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[19:22:55] stuarta: there is also a bunch of stuff under /setup which looks like the QtScript bits we need to get away from
[19:23:23] stuarta: ah yes there it all is as plain files
[19:23:48] stuarta: mythtv/html/setup
[19:26:47] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 240 seconds)
[19:28:03] peterbennett: sed -i 's/"version"/"Version"/' *.h and it's done ....
[19:28:07] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[19:28:27] stuarta: :-)
[19:28:39] stuarta: at least it's all in one directory
[19:29:09] peterbennett: plus revert one commit
[19:31:26] peterbennett: actually it is still version in the xml, because of teh way it writes it to the attribute
[19:31:47] stuarta: win win
[19:31:48] peterbennett: I will leave it that way
[19:33:59] DevMythNotifyBot: COMMIT: bennettpeter pushed 2 commit(s) to branch devel/http: https://github.com/MythTV/mythtv/compare/488f . . . 7f5c6073d213
[19:34:08] ** stuarta fires up builders **
[19:44:43] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 250 seconds)
[19:45:47] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[19:47:50] ** stuarta hugs MythUserSession **
[20:09:45] peterbennett (peterbennett!~peter@mythtv/developer/peterbennett) has quit (Quit: Leaving.)
[20:36:21] Steve-Goodey (Steve-Goodey!~steve@2a00:23c5:7d83:6501:6ea1:20d:5872:d872) has quit (Quit: Konversation terminated!)
[21:02:31] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 252 seconds)
[21:04:50] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[21:25:12] peterbennett (peterbennett!~peter@mythtv/developer/peterbennett) has joined #mythtv
[21:25:12] Mode for #mythtv by ChanServ!ChanServ@services.libera.chat : +v peterbennett
[21:37:43] stuarta: nice, that's the hook part done so a services class can have the calls annotated with AuthRequired=true to request authenticated access
[21:37:52] stuarta: easier than i though
[21:38:49] stuarta: *thought
[21:45:10] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 240 seconds)
[21:47:11] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[21:51:38] peterbennett (peterbennett!~peter@mythtv/developer/peterbennett) has quit (Quit: Leaving.)
[21:52:59] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 250 seconds)
[21:54:44] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[21:55:21] DevMythNotifyBot: COMMIT: stuarta pushed 1 commit(s) to branch devel/http: https://github.com/MythTV/mythtv/compare/7f5c . . . dd3fa60edfbc
[21:56:44] stuarta: right, pushed that nice bit of code
[21:56:56] stuarta: phase 2. actually hook up auth
[21:57:06] stuarta: but that's for another day
[22:13:47] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 240 seconds)
[22:14:52] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[22:20:24] warpme_ (warpme_!uid391875@helmsley.irccloud.com) has quit (Quit: Connection closed for inactivity)
[22:25:47] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 240 seconds)
[22:30:25] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[23:01:53] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 250 seconds)
[23:02:23] Steve-Goodey (Steve-Goodey!~steve@2a00:23c5:7d83:6501:6ea1:20d:5872:d872) has joined #mythtv
[23:02:31] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[23:36:10] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 240 seconds)
[23:37:21] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv
[23:52:25] Steve-Goodey (Steve-Goodey!~steve@2a00:23c5:7d83:6501:6ea1:20d:5872:d872) has quit (Quit: Konversation terminated!)
[23:52:28] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has quit (Ping timeout: 252 seconds)
[23:54:01] ijc (ijc!~ijc@benson.default.arb33.bv.iomart.io) has joined #mythtv

IRC Logs collected by BeirdoBot.
Please use the above link to report any bugs.